读书人

数据库的小结

发布时间: 2013-09-28 10:01:20 作者: rapoo

数据库的总结
概述

学习不要只停留在一个角色上


数据模型

概念模型,逻辑模型,物理模型

概念模型

现实世界的模型,E-R图

逻辑模型

关系模型,层次模型,网状模型,对象模型

根据逻辑模型才有了相应的数据库管理系统(三级模式组织和管理数据)

关系模型:关系模式,二维表的结构

物理模型

数据在存储器上的存储形式,OS

数据模型分别对应数据库设计的三个阶段

数据模型和数据结构的关系

数据结构:现实世界信息的抽象提取;抽象信息之间的关系;存储器存放和查找这种关系的形式。后者也可以成为算法。由此我们可以知道应用程序都要应用数据结构,初数据少,开发此处花费少,后数据多且复杂,开发此处花费多且重复(一个系统就得重新开发一次)性高,为此开发数据库管理系统,来个一劳永逸。

数据模型:模型,现实版的抽象完整版,具有结构,操作和约束,即数据模式包括数据结构(老大),数据操作和数据约束。

三级模式和两级映射(适用于所有数据库管理系统)

外模式(视图),模式(逻辑表),内模式(存储结构)

数据库应用程序依赖于外模式,外模式依赖于模式,模式依赖于内模式

两级映射:模式发生改变时,通过修改外模式—模式的映射,就可以使外模式和应用程序不用改变;内模式发生改变时,通过修改模式—内模式的映射,使模式保持不变,从而使应用程序也可以保持不变

元组:表中的一行记录就是元组

候选键:能惟一标识元组,并且不含多余属性的属性(组合属性)

主键:从若干个候选键中指定一个作为主键

超键:除可以包含一个候选键外,还可以包含其它属性

主属性:候选键中的属性为主属性

非主属性:不包含在候选键中的属性为非主属性

超键、候选键和主键

惟一标识一个元组;

超键中可能有无关的属性,而主键和候选键中属性都是必要的属性;

主键是候选键中的一个,只不过它被数据库设计者选中而称为主键而已,事实主键也是候选键

例1

学生(学号,姓名,性别,课程号)

超键:学号,课程号,姓名;学号,课程号,性别

主键:学号,课程号

候选键:学号,课程号

主属性:学号,课程号 候选键中的所有属性

非主属性:姓名,性别

函数和范式

平凡函数:属性A包含属性B

非平凡函数:属性A和属性B没有包含的关系

第一范式满足非平凡函数,

部分函数依赖:主键由多个属性组成,多个属性中的部分属性可以唯一确定其它非主属性

完全函数依赖:不存在主键中部分属性推出其它非主属性

第二范式满足完全函数依赖

传递函数:x—>y,y!—>x,且y—>z

第三范式满足非传递函数

关系性数据库设计是否合理的依据是是否满足范式

满足第三范式一定也满足第二范式,满足第二范式一定满足第三范式

E-R(局部E-R图和集成E-R图)

实体,属性,联系(可含属性)

关系模式

表结构的描述,即:表字段的描述

例:课程(课程号,课程名称),如果题中有要求就写出主键和外键,如:主键为课程号

E-R图和关系模式的转换

实体

直接转化为关系模式

联系

1对1或1对n:可以有自己的关系模式,也可以合并在一个实体的关系模式中

m对n:必须有自己的关系模式

无损链接分解(三范式,函数关系)

将一个不合理的关系模式分解为多个合理的关系模式,且信息没有损失

关系运算符

集合运算符:∪并,—差,∩交,X笛卡尔积

R和S

并:t属于R,或,t属于S;

差:t属于R,且,非t属于S;

交:t属于R,且,t属于S;

笛卡尔积:t为t1和t2组成,t1属于R,t2属于S

专门的关系运算符:6选取,投影,连接,*自然连接,÷

选取:单表的行集进行选择

投影:单表的字段进行选择

连接:多表行集的连接

自然连接:多表等值的行集连接,且去掉重复的列

除:A÷B,列:取A特有的列;行:取A表的行(A表列和B表列相等的),且去掉重复的行

算术比较运算符:大于,大于等于,小于,小于等于,等于,不等于

逻辑运算符:∧与,∨或,7非

SQL语句

非过程化语言,用户不需要用户指出怎么做,只需要用户指出做什么

例:显示文件的数据

过程化语言:定义变量,指定文件,打开文件,将数据读到变量中,关闭文件,输出数据

非过程化语言:一条语句就可以了,不需要告诉电脑如何做

填写SQL语句的问题

属性是否完成;

属性完成了,剩下的就是约束

题型和思路

题型

E-R图;实体之间的联系类型;E-R图转关系模式;联系的属性;关系模式的主键和外键;SQL语句

思路

答案在题的描述中。依据题的描述做题,写出来不用管其是否完整(不完整也不要添加题描述之外的属性和实体)

1、确定实体;2、确定属性;3、确定联系和联系的属性。


总结

上面有些具体内容没有写,有兴趣的读者可以看看我之前关于数据库方面的博客。

本篇博客主要写的是学习的结果,学习的过程没有写,但想要说的是学习的过程不是很顺利,如果坚持了,你就可以打通!

读书人网 >其他数据库

热点推荐