人工管理阶段——>文件系统阶段——>数据库系统阶段
数据的概念模型独立于具体的机器和DMBS数据库
物理数据描述:指数据在存储设备上的存储方式
逻辑数据描述:指程序员或用户用以操作的的数据形式
外部级:外部级最接近用户,是单个用户所看到的数据特性
概念级:涉及到所有用户的数据定义,是全局的数据视图
内部级:最接近物理存储设备,涉及到实际数据的存储结构
三级模式:1.外模式:用户与数据库系统的接口,由若干个外部记录构类型成,使用数据操纵语言DML对数据库系统进行操作,外模式DDL
2.模式(概念模式)1.数据库系统中全部数据的整体逻辑结构的描述,描述模式的数据定义语言称为模式DDL;2用于连接外模式与内模式,二者不会干扰3.有若干个记录类型组成。描述概念记录类型等
3.内模式:是数据库在物理存储方面的描述,定义所有内部记录文件组织形式及数据控制方面的细节
两极映像:
1. 外模式/模式映像:存在于外部级和概念级之间,用于定义外模式和概念模式的对应性,及外部记录和内部记录之间的对应,在外模式中描述。
2. 模式/内模式映像:存在于概念级和内部级之间,用于定义外模式和内模式之间的对应性,一般在内模式之间描述。
两级数据独立性
1. 数据的物理独立性:指对内模式的修改尽量不影响概念模式(对外模式的影响更小)
2. 数据的逻辑独立性:指对概念模式的修改尽量不影响外模式和应用程序
DMBS(数据库管理系统):1.数据定义,操纵功能。2.数据库的建立、运行管理和维护
DBS(数据库系统):包括DB和DBMS
DB(数据库):1.是存储在计算机内有结构的数据的集合;
2.数据库存储的是数据及数据之间的联系
3.数据库系统的核心是数据库管理系统
4.数据库恢复时,系统对已提交的事物要进行回滚/撤销处理
DBA(控制数据库整体结构的人):定义概念模式、修改模式结构,编写完整性规则
数据共享:多种应用、多种语言、多个用户相互覆盖的使用数据集合
数据模型:由数据结构、数据操作、完整性约束三部分构成
数据定义语言(DDL)(数据描述语言):用于各级数据模式的定义和描述
数据操纵语言(DML)(数据处理语言):实现对数据的查询修改删除等操作
数据控制语言(DCL)用来对数据的完整性、安全性等进行定义与检查,以及数据的并发控制和故障恢复等功能的实现
超键:能够唯一标识元组的属性或属性组
候选键:能够唯一确定一个元组的最小属性组包含在候选键中的属性称为主属性,否则为非主属性或非键属性
主键:被选作元组标识的候选键
sql数据库创建表步骤外键:在表A中存在且不为超键,但在表B中为主键的属性
关系的完整性约束1.实体完整性:元组在主键的属性上不能取空值
2.参照完整性(引用完整性):某一表的外键取值时,必须参照该外键所对应的主键所在表的值,防止引用不存在的实体
3.用户自定义完整性:根据实际情况所设定的约束条件
静态约束:包含各种数据之间的联系(称为数据依赖),主键的设计和关系值的各种限制
动态约束:主要定义如插入,删除和修改等各种操作的影响
三级模式
作用:提高数据与程序的独立性
内模式(物理模式)——>外模式——>概念模式(模式)
内模式(物理模式):他给出了数据库物理存储结构与物理存取方法
外模式——>各个用户个数视图
概念模式是数据库全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,外模式是单个用户的数据视图,视图的构造基于——>基本表或视图
一个用户可有多个外模式,但只能有一个内模式和概念模式
二级映像
概念模式/内模式(保持了物理独立性)
概念模式/外模式(保持了逻辑的独立性)
物理独立性指:用户的应用程序与存储在硬盘上数据是相互独立的
SELECT语句的执行结果是元组
//五种基本关系代数运算:
第一范式(1NF)——无重复的列
数据库表中的字段都是单一属性的,不可再分。
每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者有不能重复的属性。
不满足第一范式的数据库就不是关系数据库
第二范式(2NF)——非主属性非部分依赖于主关键字(不能依赖于主关键字)——能唯一标识一列数据库表中的每个实例或行必须可以被唯一的区分。为实现区分通常需要为表加上一个列并以存储各个实例的唯一标识。
这个唯一属性列被称为主关键字或主键,主码
实体的属性完全依赖于主关键字
所谓完全依赖指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。
所有单关键字的数据库表都符合第二范式,因为不可能存在组合关键字。
第三范式(3NF)——属性不依赖于其他非主属性,不存在非关键字对任一候选关键字段的传递函数的依赖。
所谓传递函数依赖,指的是如果存在A—>B—>C的决定关系,则C传递函数依赖于A
//BCNF 数据库表中如果不存在任何字段对任意候选关键字段的传递函数依赖
一个实体集中只能有一个主码。但可以有多个候选键   
SQL语言:非过程化,是关系数据库的语言
使用方式:交互式SQL——>嵌入式SQL
ER概念模型
建立步骤:1.确定实体类型及属性
2.确定联系类型及属性
3.把实体类型和联系类型组合成ER图   
全局ER图需要消除属性冲突,命名冲突,结构冲突,表示用户业务流程的常用方法是,数据流图(DFD),“is part of”联系是指数据间的包含关系
函数依赖:
平凡函数依赖——非平凡的函数依赖
如果x->y,单y不为x的子集,则称x->y是非平凡的函数依赖
函数依赖的公理系统
设R是一个具有属性集合U的关系模式,F是R的一个函数依赖集合  则有:
1 自反律:YXU  =>  X→Y
2 增广律:X→Y,ZU  =>  XZ→YZ
3 传递律:X→Y,Y→Z  =>  X→Z
            =========>
1 合并规则:X→Y,X→Z  =>  X→YZ
2 伪传递规则:X→Y,Y→WZ  =>  XW→Z
3 分解规则:X→Y,ZY    =>  X→Z
事物的概念及性质
事务是用户定义的数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位,性质:原子性,一致性,隔离性,持续性
日志文件的用途:
可以用来进行事务故障恢复和系统故障恢复,并协助后备副本进行介质故障恢复
SQL数据库定义语句
数据库创建:create database 修改:alter,擅长:drop
表 table 视图 view 索引 index
主键子句:primary key 检查子句:check 外键子句:foreign key
索引的分类:1.聚簇索引:数据表的物理顺序和索引表的顺序相同,他根据表的一列或多列值的组合排列记录:每张表只能有一个聚簇索引,由于聚簇索引改变表的物理顺序,所以应先建立聚簇索引,后建立非聚簇索引,创建索引所需的空间来自用户数据库,主键是聚簇索引的良好候选者
2.非聚簇索引:数据表的物理顺序和索引表的顺序不相同,索引表仅仅指向数据表的指针,这些指针本身是有序的,用于在表中快速定位数据:创建非聚簇索引实际上是能够建一个表的逻辑顺序的对象,索引包含指向数据页上的行的指引,一张表可创建多达249个非聚簇索引,创建索引时,缺省为非聚簇索引
数据库完整性:指数据库一致性,完备性和一致性,是衡量数据库质量好坏的重要指标,包括实体完整性,参照完整性和用户自定义完整性三种类型
非空约束:表中的某些列必须存在有效值,不允许有控制的存在
缺省约束:当向数据库的表插入数据时,如果用户没有明确给出某列的值时,系统将自动为该列输入指定值
检查约束:限制插入列中的指定值的范围
主键约束:要求主键的列上的值唯一且不能为空值
唯一约束:要求所有行在指定的列上没有完全相同的列值
外键约束:要求正被插入或更新的列(外键)的新值必须在被参照表(主表)的相应列(主键)中存在
唯一约束和主键约束之间的区别:
1. 唯一约束与主键约束都为指定的列建立唯一索引,即不允许唯一索引的列上有相同的值。主键约束更加严格,不但不允许有重复的值,而且不允许有空值
2. 唯一约束与主键约束产生的索引可以是聚簇索引也可以是非聚簇索引,但在缺省情况下唯一约束产生非聚簇索引,主键约束产生聚簇索引。
连接查询:select s.sno,sname
          From s,sc
          Where s,sno=sc.sno
          And cno=’c1’
嵌套查询:select sno,sname
          From s
          Where sno in
          (select sno
From sc
Where cno=’c1’)
1.数据依赖数据依赖指的是通过一个关系中属性间的相等与否体现出来的数据间的相互关系,其中最重要的是函数依赖和多值依赖。
2.函数依赖设X,Y是关系R的两个属性集合,当任何时刻R中的任意两个元组中的X属性值相同时,则它们的Y属性值也相同,则称X函数决定Y,或Y函数依赖于X。
3.平凡函数依赖
当关系中属性集合Y是属性集合X的子集时(Y?X),存在函数依赖X→Y,即一组属性函数决定它的所有子集,这种函数依赖称为平凡函数依赖。
4.非平凡函数依赖
当关系中属性集合Y不是属性集合X的子集时,存在函数依赖X→Y,则称这种函数依赖为非平凡函数依赖。
5.完全函数依赖
设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’→Y,则称Y完全函数依赖于X。
6.部分函数依赖
设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。
7.传递函数依赖
参考资料:数据库原理及应用
函数依赖简单点说就是:某个属性集决定另一个属性集时,称另一属性集依赖于该属性集。
部分函数依赖:(学号,课程号)→ 学生宿舍 因为 学号 → 学生宿舍 成立
设一个关系为R(U),X和Y为属性集U上的子集,若X→Y且X不包含Y,则称X→Y为非平凡函数依赖,否则若XY则必有X→Y,称此X→Y为平凡函数依赖.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。