数据库
随便看看
小概念集合(好像有很多大概念)
基本概念
数据库的基本概念
数据data:描述事物的符号,数据库中存储的基本对象
数据库DataBase,DB:长期存储在计算机内的、有组织的、可共享的大量数据的集合
数据库管理系统DataBase Management System,DBMS:位于用户与操作系统之间的一层数据管理软件
数据库系统DataBase System,DBS:由数据库、数据库管理系统、应用程序和数据库管理员(DBA)组成
数据库的特点
数据结构化
数据的共享性高,冗余度低且容易扩充
数据独立性高:物理独立性(应用程序与物理存储相互独立,数据的物理存储改变,应用程序不改变)、逻辑独立性(应用程序与逻辑结构互相独立,数据的逻辑结构改变,应用程序不改变)
数据由数据库管理系统统一管理和控制
数据模型
数据模型包括概念模型和逻辑模型/物理模型
概念模型按用户的观点建模,用于数据库设计,表示方法有E-R模型
逻辑模型按计算机的观点建模,用于DBMS实现,包括网状模型、层次模型、关系模型等等
物理模型是对数据最底层的抽象
数据模型的组成要素:数据结构、数据操作、数据的完整性约束条件
数据结构:描述系统的静态特性->描述数据库的组成对象以及对象之间的联系
数据操作:描述系统的动态特性->是对数据库中各种对象的实例所允许的操作的集合,其类型有查询和更新
数据的完整性约束条件:用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效与相容,完整性约束条件是一组完整性规则的集合。
数据库系统的三级模式结构:外模式、模式(逻辑模式)、内模式
外模式(子模式/用户模式):数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,数据库用户的数据视图,是与某应用有关的数据的逻辑表示
模式(逻辑模式):数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图
内模式(存储模式):数据物理结构和存储方法的描述,是数据在数据库内部的组织方式
数据库的二级映像功能与数据独立性
外模式/模式映像:保证了数据的逻辑独立性当模式改变时,对外模式/模式的映像做出改变,保证外模式不变,应用程序由外模式编写,从而应用程序不变
模式/内模式映像:保证了数据的物理独立性,当数据库的存储结构改变时,对模式/内模式映像做出改变,使模式不变,进而应用程序不变
数据库完整性
定义
数据库的完整性是指数据的正确性和相容性
正确性:符合现实世界语义
相容性:同一对象在不同表中的数据符合逻辑
三大完整性
实体完整性
主码唯一旦非空
检査与违约处理:检査主码是否唯一,如果不唯一则拒绝插入或修改;检査主码各个属性是否为空,只要有一个为空就拒绝插入或修改
参照完整性
外码的约束
检查:对被参照表和参照表进行增删改操作时可能会破坏参照完整性,必须检查以保证两个表的相容性违约处理:外码约束可以在创建参照表时说明不同的违约策略
用户定义的完整性
1.属性上的约束条件
非空 NOT NULL
列值唯- UNIQUE
检查列值是否满足一个表达式 CHECK
检査和违约处理:当向表中插入元组或者修改属性值时,关系数据库管理系统将检査属性上的约束条件是否被满足
如果不满足则操作被拒绝
2.元组上的约束条件
在 CREATE TABLE 语句中可以用 CHECK短语定义元组上的约束条件,元组级的限制可以设置不同属性之间的取值
的相互约束条件
检查和违约处理:当向表中插入元组或者修改属性值时,关系数据库管理系统将检査元组上的约束条件是否被满足如果不满足则操作被拒绝
最小函数依赖集
注:例题的step2中,在CG->B被去掉后,CG能得到的只有CGA,因此保留。
函数依赖
完全函数依赖:除X能推出Y之外,其任何真子集都无法推出Y,则称Y完全函数依赖于X。
部分函数依赖:除X能推出Z之外,XY也能推出Z,那么Z就是部分函数依赖于XY。这种情况容易造成数据冗余。
传递函数依赖:X->Y,Y->Z,得到X->Z,此时称Z对X有传递函数依赖。
一堆很键的码
候选键(候选码):是一个属性组(或者属性),通过该属性组能推出所有的属性,并且该属性组的任意子集都不能再推出所有属性。即在满足完全函数依赖的前提下还得是最小属性组。
闭包运算:
超键(超码):能推出所有属性的属性组的集合,候选码是最小的超码,是超码集的子集。
主键(主码):在多个候选码之中选择一个作为主码,简称码。
外码:在一个表中的某个字段(或一组字段),其值来源于另一个表的主键。其主要目的是建立两个表之间的关联,确保引用的完整性。
主属性:包含在任何一个候选码中的属性。
非主属性:不包含在任何一个候选码中的属性。
全键(全码):最极端情况下,整个属性组都是码,成为全码。
平凡函数依赖与非平凡函数依赖:大推小为平凡函数依赖,小推大为非平凡函数依赖
范式
(1)1NF(第一范式):所有属性都是不可分割的数据项
(2)2NF:在满足1NF的前提下,不包含非主属性对码的部分函数依赖(即每一个非主属性都完全依赖于码)
(3)3NF:在满足2NF的前提下,不包含非主属性对码的传递函数依赖(即码直接决定非主属性,不能间接决定)
(4)BCNF:消除任何属性对候选码的传递依赖,即每一个元素都包含码(表现为在函数依赖集中,左边的都包含候选码)
数据库设计的步骤
1、需求分析
调查机构情况与熟悉业务活动,明确用户的需求,确定系统的边界,生成数据字典和用户需求规格说明书
2、概念结构设计
将需求分析得到的用户需求抽象为概念模型,绘制E-R 图
3、逻辑结构设计
将 E-R图转换为与 DBMS 相符合的逻辑结构(包括数据库模式和外模式),例如 E-R图向关系模型转换,再根据规范化理论对数据模型进行优化,设计用户子模式
4、物理结构设计
通常关系数据库物理设计的内容包括关系模式选择存取方法、以及设计关系、索引等数据库文件的物理存储结构
5、数据库实施
建立实际数据库结构、试运行、装入数据
6、数据库运行和维护
维护数据库的安全性、完整性控制以及系统的转储和恢复;性能的监督、分析和改进;增加新功能;发现错误和修改错误
关系语言
关系代数语言
集合运算符
设有关系R和关系S
R并S:由属于R或S的元组构成,同时去掉重复的元组
R差S:由属于R但不属于S的元组构成
R交S:由属于R又属于S的原则构成
笛卡尔积(×):由R中每个元组与S中的所有元组进行组合
关系运算符
选择(σ):得到表中的指定行
投影(π):得到表中的指定列
连接(⨝):将两个表根据指定条件连接在一起,写作R⨝S
等值连接是指条件为属性R.A=S.B
自然连接是指条件为R.A=S.A,并且要去掉重复列
悬浮元组是指自然连接时由于S中不匹配而在R中被舍弃的元组
外连接是指保留悬浮的连接,不匹配的位置填NULL
左外连接是指只保留R中的悬浮元组的连接
右外连接是指只保留S中的悬浮元组的连接
除:设关系R除以关系S的结果为关系T,则T包含所有在R但不在S中的属性及其值,且T的元组与S的元组的所有组合都在R中。
解题方法
格式:π(σ(表名⨝表名))
数据库设计
E-R图
实体:方框
关系:菱形
属性:椭圆 (注:实体和关系都可以有属性)
联系可以有,1对1联系,1对n联系,n对m联系
E-R图转换为关系模型(逻辑结构设计)
-
将各个实体的名字转换为各个关系模式的名字
-
实体的属性就是关系的属性,尸体的码就是关系的码
-
实体间联系的转换
1对1联系:在任意一方加入对方的主码并设为其外码,并加入联系本身的属性
1对n联系:将1方的主码加入n方作为外码,并同时将联系的属性加入n方
n对m联系:将联系本身转换为一个关系模式,将联系双方的主码加入其中设为码,并将联系的属性也加入其中
N;**//若添加该句,则表示对视图惊醒增删改时要满足子查询中的条件表达式
空值
数据库设计
E-R图
实体:方框
关系:菱形
属性:椭圆 (注:实体和关系都可以有属性)
联系可以有,1对1联系,1对n联系,n对m联系
E-R图转换为关系模型(逻辑结构设计)
-
将各个实体的名字转换为各个关系模式的名字
-
实体的属性就是关系的属性,尸体的码就是关系的码
-
实体间联系的转换
1对1联系:在任意一方加入对方的主码并设为其外码,并加入联系本身的属性
1对n联系:将1方的主码加入n方作为外码,并同时将联系的属性加入n方
n对m联系:将联系本身转换为一个关系模式,将联系双方的主码加入其中设为码,并将联系的属性也加入其中