关系型数据库--应该还有更多的吧?[英] Relational databases - there has to be more right?

本文是小编为大家收集整理的关于关系型数据库--应该还有更多的吧?的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。

问题描述

我真的很喜欢数据库设计和从语义上管理数据的整个概念以及随之而来的所有逻辑.

然而,我在数据库方面的知识水平(我猜想)是非常基础的——我可以使用 ER 图、连接表、处理多对多、一对多等正确建模数据关系.我在一般编程方面经验丰富,我认为我的数据库知识就像了解面向对象编程的基础知识,即如何建模汽车类,从车辆类继承,包含车轮对象等等.

现在我想进一步了解关系数据库,以便我可以自信地向雇主说我可以在专业水平上处理该主题.

我现在只能处理我个人网站后端的电影数据库,如果我是亚马逊并且必须存储数百万部电影,它可能会崩溃.那么有可扩展性的主题吗?我敢肯定,如果您要在专业水平上使用数据库,那么您必须理解并能够在现实生活中应用数据库设计中的一系列非常"标准"的主题/概念.

因此,如果该领域的任何数据库专家能说出一些领域、概念、案例研究或任何有助于学习以真正擅长数据库的东西,我将不胜感激.我敢肯定这里潜藏着大量的科学,我想要它.

提前致谢!

推荐答案

我将自愿列出您可能希望考虑作为数据库编程方面的领域.我不会声称您需要精通所有这些,甚至是其中的大多数,才能使用 DBMS 进行编程,甚至也不需要对 DBMS 进行编程.但是,它们都是在某些时候具有一定相关性的主题 - 没有特定的顺序:

  • 查询语言设计
  • 查询优化
  • 查询重写
  • 数据类型
  • 存储组织
  • 事务管理
  • 通信协议
  • 加密
  • 身份验证和识别
  • 架构设计
  • 复制
  • 备份和恢复
  • 两阶段提交
  • 乐观并发控制
  • 锁定和悲观并发控制
  • 授权
  • 基于标签的访问控制
  • 集合论
  • 关系理论
  • 分布式查询
  • 布尔逻辑
  • 用户定义的类型和函数
  • 目录管理
  • 缓冲区管理
  • 排序
  • 国际化 (I18N)、本地化 (L10N)、全球化 (G11N)
  • 量词
  • 审计
  • 触发器
  • 存储过程

我也不主张完整性或最小性.

本文地址:https://www.itbaoku.cn/post/597475.html

问题描述

I really enjoy database design and the whole concept of managing data semantically and all the logic that comes with it.

My knowledge level when it comes to databases is however (I would guess) quite basic - I can model data relationships correctly with ER diagrams, connection tables, handling many-to-many, one-to-many etc etc. I'm experienced when it comes to programming in general, and I figure my database knowledge is like knowing the basics of object oriented programming, i.e how to model a car-class, inheriting from the vehicle class, containing wheel objects and so on.

Now I would like to further my knowledge about relational databases so that I may confidently say to an employer that I can handle the subject on a professional level.

All I can handle right now is probably my movie database in the back end of my personal website, which probably would collapse if I was Amazon and had to store millions of movies. So there's the subject of scalability right? I'm sure there's a pretty "standard" array of subjects/concepts within database design that you simply must understand and be able to apply in real life if you're going to work with databases on a professional level.

So, I would be very grateful if any database gurus in the field could namedrop some areas, concepts, case studies or anything that would be beneficial to study to get really good at databases. I'm sure there's a vast science lurking here, and I want it.

Thanks in advance!

推荐答案

I'll volunteer a list of areas that you might want to consider as aspects of programming with databases. I would not claim that you need to be expert at all of them, or even most of them, in order to be able to program using a DBMS, nor even to program a DBMS. However, they are all topics that are of some relevance at some times - in no particular order:

  • Query language design
  • Query optimization
  • Query rewriting
  • Data types
  • Storage organization
  • Transaction management
  • Communications protocols
  • Encryption
  • Authentication and identification
  • Schema design
  • Replication
  • Backup and restore
  • Two-phase commits
  • Optimistic concurrency control
  • Locking and pessimistic concurrency control
  • Authorization
  • Label-based access control
  • Set theory
  • Relational theory
  • Distributed query
  • Boolean logic
  • User-defined types and functions
  • Catalog management
  • Buffer management
  • Sorting
  • Internationalization (I18N), Localization (L10N), Globalization (G11N)
  • Quantifiers
  • Auditing
  • Triggers
  • Stored procedures

I make no claims of completeness or minimality, either.