数据库所涉及的主要考点是ER模型、键(码)、函数依赖与数据库三范式、关系代数、元祖演算及SQL语言。前三个用于建立数据表后三个则用于对表的操作。
在ER模型中,是要我们找到业务所涉及的实体,并找出各自的属性及实体间的联系。他们往往存在一对一、一对多、多对多的联系。而这种联系往往是靠实体中的一个或多个属性形成的。找到这种联系,我感觉他们只是业务逻辑上的关系,还不能用来对其操作,我们必须将这种联系转化为可以触及的关系模式。
依据ER模型转化为关系模式的转化原则,通常这种联系可以转化为一种独立的关系模式,也可以将这种联系与联系的某端对应的实体(关系)合并成一个关系模式。有了转化原则,可以实现这种转化,但同时带来了数据冗余、更新异常、插入异常、删除异常等问题。
解决上述问题的关键就是要使我们的关系模式符合数据库三范式。在此要先了解超键、候选键、主键、外键、主属性、非主属性、函数依赖、传递函数依赖等概念。
第一范式很好理解,第二范式与第三范式的不同在于前者是要非主属性完全依赖与主键,后者则是非主属性传递函数依赖于码。
为了达到符合三范式规范,我们往往会对已转化好的关系模式进行分解,在此我们要保证这种分解是无损连接分解。掌握公式 R1交R2—>(R1-R2)或R1交R2—>(R2-R1)和分解为两个关系以上的无损分解的判断方法。
前面是我们对数据库建表结果的分析过程,而后面的知识则是对数据库对象(或集合)的操作了。
关系代数运算包括并、差、笛卡尔积、投影、选择、交、连接、除等操作。这些从数学意义上说明了对集合的操作。元祖演算从实现功能上说通关系代数运算时等价的,它使我们的更靠近对集合(表、视图)等操作了。上面的运算主要用在查询上,它们是SQL语句的数学基础,SQL语句则是计算机的语言表现。
在关系代数中要注意连接与笛卡尔积、选择及投影的关系;在sql语句中要掌握关键字的拼写和用法(其中any和all寄予关注!)
在今后的工程实践中既要据此建立合理的关系,也要在集合操作上合理运用sql语句。