1) C.J. Date 的定义数据库是存储的业务数据(operational data)的集合,供某企业(enterprise)的应用系统所使用。
(2) J.Martin的定义存储在一起的相关数据的集合,这些数据没有不必要的冗余,为多种应用服务。
数据的存储独立于使用它的程序……“数据被结构化……”3) 萨师煊等人的定义数据库是一个通用的综合性的数据集合,它可以供各种用户共享且具有最小的冗余度和较高的数据与应用程序的独立性;DB技术的特点:1)数据冗余小2)数据独立性两级映射(程序与)数据的物理独立性/逻辑独立性(*)3)统一的控制与管理安全性完整性并发性(*)等1.2 数据库系统DBS (Database System):引入数据库技术的计算机系统。
由计算机硬件、系统软件、DB、DBMS、应用程序及相应人员组成。
模式(schema):对结构的描述外模式(子模式/用户模式) 局部逻辑结构模式(概念模式/逻辑模式) 全局逻辑结构内模式(存储模式) 存储结构1)外模式/模式之间的映像:定义两者对应关系(外模式定义中)模式改变改映像外模式不改由此提供数据的逻辑独立性局部逻辑结构独立于全局逻辑结构2) 模式/内模式之间的映像:定义两者对应关系(模式定义中)内模式变改映像模式不变由此提供数据的物理独立性逻辑结构独立于物理结构数据库管理员(DBA)一个或一组全面控制、管理DB的人员。
a.定义模式及外模式b.决定存储结构及存取策略(内模式)c.定义安全性,完整性约束条件d.监控DB的使用与运行,出现故障时采用的后援、恢复策略。
e.对DB进行改进与重组:原因①需求改变②长期更新性能不佳事务管理就是确保:1)事务中的操作或者都执行或者都不执行。
2)事务执行前后数据库满足所有约定的一致性条件。
3)两个事务同时执行不相互干扰。
4)事务完成后即使系统故障,事务的结果长期保存。
熟练掌握:数据库、数据库管理系统和数据库系统的概念;数据库系统三层模式结构;数据(逻辑、物理)独立性概念。
掌握:数据;数据库管理系统的结构。
数据库系统设计步骤1.需求分析对现实世界中的应用问题进行分析整理2.概念结构设计以某种形式表述的信息结构与DBMS无关可与用户交流简明避免设计出错通常:E-R模型3.逻辑结构设计全局逻辑结构局部逻辑结构含数据约束根据具体DBMS使用的数据模型进行设计与计算机软硬件相关专业人员进行应用程序设计的依据通常:一组关系模式基本表视图4.数据库物理设计存储结构方面的设计数据、索引、日志、备份的存储位置、存储结构、相应的系统配置。
5.数据库系统的实现(实施)创建数据库对象编程...6.数据库系统的运行与维护2.2 数据模型按用户观点按机器观点现实世界--------------》概念模型---------------》数据模型事物及联系抽象信息模型抽象(机器世界)(信息世界)数据模型:描述系统的静态特性(数据结构)、动态特性(数据操作)和完整性约束条件(数据上的约束)。
(二)关系模型1.数据结构——用一组表来表示事物及事物间的联系关系:命名的二维表区分关系与联系!!!元组:表中一行属性:表中一列,列名称属性名关系模式:关系名(属性名1,属性名2……属性n)实体完整性、参照完整性(引用完整性) 、用户定义完整性关系模型的优点:1) 描述的一致性——实体集与联系均用关系描述2)关系模型概念简单、易学易用、且有严格数学基础3) 可直接描述多对多联系SP(Sno,Pno,Quantity)供应商与零件联系关系SP4)存储路径透明(用户不可见)概念模型的基本概念1.实体(Entity):一个具体或抽象的事物可区分的2.属性(Attribute):事物某方面的特性3.域(Domain):属性的取值范围4.实体、实体集:实体型即类型,由实体名及属性名表示。
同型实体具有共同的性质,因此,用相同属性描述。
实体型:学生(学号,姓名,年龄)实体集:同型实体的集合如:全体学生实体集之间的联系二元联系:两个实体集之间的联系多元联系:三个或多于三个实体集之间的联系一元递归:一个实体集内部的联系例:公司内每一成员都是员工同属于员工这一实体集但:总经理管理部门经理部门经理管理普通员工员工实体集内部的“管理”联系是一个一元递归联系这里是一个一对多联系也有多对多熟练掌握:E-R图的主要概念(包括:实体、实体集、属性、域、键、主键、实体之间的联系);E-R图表示法(包括:一般实体集;一对多、多对多、多元(多路)、一元递归联系;子类实体集及其联系;弱实体集及其联系;主键和参照完整性)。
要求能够熟练地把现实世界的事物及联系抽象为E-R模型。
数据模型三要素。
掌握:数据库设计的步骤。
数据模型的概念了解:数据库设计与软件工程开发的关系;数据库设计的原则。
第3章关系数据模型与关系代数关系数据库是采用关系模型建立的数据库。
关系是命名的二维表,用来描述事物及事物间的联系。
关系有如下性质:1) 同属性(列)各分量取自同一域2) 不同属性(列)可以取自同一域3) 按属性名引用时,属性左右无序4) 元组上下无序5) 没有重复的元组6)元组分量不可再分关系是随时间变化的关系的实例: 给定的(某一时刻的) 关系中元组的集合关系模式:关系名和关系的属性集合关系模式是相对稳定的如: 学生(学号,姓名,年龄,班级)关系数据库就是相关关系组成的集合。
关系模型中,数据库设计就是设计一组关系模式-------数据库模式键(码/候选码/关键字):关系中某一属性组能够唯一地标识元组,并且从中去掉任一属性则不能唯一地标识元组,称该属性组为键。
唯一性最小性主键: 关系可以有多个键,选一个作为主键。
例:学生(学号,姓名,性别,年龄,身份证号)学号和身份证号都是键,选一个作主键。
超键:关系中某一属性组能够唯一地标识元组只满足唯一性本质:其中包含键例:供应商关系Suppliers(Sno,Sname,State,City)(Sno,Sname) 不是键, 是超键。
关系模型的完整性规则①实体完整性②参照完整性③用户定义完整性外键:若关系R的一个属性(或属性组)X,不是R的主键,而是(/对应)另一个关系S的主键,则称X为关系R的外键;称R为参照关系、称S 为被参照关系。
例:外键不是主键的组成部分(一对多)Employees(Eno,Ename,Sex,Age,Dno )Departments(Dno,Dname,Location,Phone)Employees中Dno是外键Employees参照关系Departments被参照关系例:外键是主键的组成部分(多对多)Suppliers(Sno,Sname,State,City)SP(Sno,Pno,Quantity)SP中Sno 是外键SP参照关系Suppliers被参照关系从E/R图到关系数据库模式的转换:数据库模式: 一组相关的关系模式关系模式R(A1,A2,…,An)实体集到关系模式的转换:对于每一个非弱实体集:建立一个与之同名具有相同属性集的关系模式。
联系到关系模式的转换:联系涉及的每一个实体集的键作为该关系模式的属性, 联系的属性作为该关系模式的属性。
避免属性重名多对多或带联系的属性一定单独设计关系模式例:供应商数据库SP(Sno,Pno,Quantity)“供应商”键,“零件”键,联系的属性3.2 关系代数一种抽象的查询语言关系模型数据操纵语言的一种传统的表达方式传统的集合运算专门的关系运算经典的扩展的关系代数运算分类:1. 传统集合运算:并、交、差2. 删除部分数据的运算:选择(删行)、投影(删列、…)3. 合并关系元组的运算:连接(两个关系中的元组有选择地组成对)笛卡尔积(两个关系中的元组以所有可能的方式组成对)4. 改变关系模式(关系名、属性名):改名笛卡尔积记作: R ×SR和S的笛卡尔积(即乘积)是元组对的集合,选择R的任何一个元组作为第1个元组,选择S的任何一个元组作为第2个元组构成的. 由R的元组和S的元组构成更长的元组。
R 的元组在前。
自然连接:R▷◁S由R和S在公共属性上相同的元组成对连接构成(去掉重复的列)结果关系模式的属性: R和S的属性的并集。
自然连接由笛卡尔积、选择、投影三个步骤实现的:笛卡尔积:拼接元组选择:选出公共属性上相同的行投影:去掉一组公共属性自然连接符合结合律:(R1▷◁R2)▷◁R3 等价于R1▷◁ (R2▷◁R3)可简记为R1▷◁R2 ▷◁ R3θ连接:包含笛卡尔积、选择两个操作连接条件与公共属性无关可以不是等值连接重复的列可以是组合条件例:计算机系没有选课的同学的学号丌Sno (σSdept=‘计算机’ (Students))-丌Sno (SC )一般参与运算(尤其连接运算)的数据越少速度越快熟练掌握:关系数据模型的基本概念;从E-R模型向关系模型的转换,包括:实体集、联系(一对一、一对多、多对多、多元(多路)、一元递归)的转换;子类实体集和弱实体集的转换。
关系代数运算,用关系代数表达式表示查询请求。
重点:正确使用关系代数表达式表示查询请求。
了解:查询优化。
第4章关系数据库理论函数依赖1.关系模式集性能比较方案1:各类数据放在一个关系模式中Students(Sno,Sname,Cno,Grade,Sdept,Sloc)键(Sno,Cno)问题:①冗余:一个学生选20门课学生系宿舍区的信息重复存储②潜在不一致(修改复杂) 学生改名对于所选的若干门课若干行到处修改潜在的不一致③插、删异常没选课Cno为NULL 学生信息无法插入选课信息输入错误删除同时删学生信息方案2:选课信息单独存放Students(Sno,Sname,Sdept,Sloc) 键:SnoSC(Sno,Cno,Grade) 键:(Sno,Cno)有所改进: 与选课无关的信息只存一次问题:1.冗余系与宿舍区的对应关系一个系1000个学生系与宿舍区的对应关系存放1000次2.潜在不一致系换宿舍区到处修改潜在的不一致修改1000次复杂3.删插异常有相应学生的信息才能插入系以及宿舍区的信息学生全部毕业系与宿舍区的联系同时删除2.产生冗余及更新异常的原因关系模式内部属性值之间的内在联系——数据依赖主要的数据依赖:函数依赖、多值依赖函数依赖X → Y 的含义为:任何时刻表中任一元组: 属性组X上的值(a1 a2 ...an)唯一地决定在属性组Y上的值(b1 b2 ...bm)例:Students(Sno,Sname,Sage,Class_no,Sdept) 此关系模式上有许多函数依赖如:Sno →(Sname,Sage,Class_no,Sdept)Class_no →Sdept(Sno,Sname)→(Sage,Class_no )……2.平凡函数依赖如果函数依赖X → Y,Y ⊆ X ;则称为平凡函数依赖否则称为非平凡的函数依赖例:(Sno,Sname) → Sname 平凡函数依赖(Sno,Cno) → Cno 平凡函数依赖Sno → Sname 非平凡的函数依赖包含平凡的函数依赖有时简化规则的陈述A1A2…An → B1B2…Bm平凡: B1B2…Bm是A1A2…An子集非平凡:每一个Bi不是A1A2…An子集(通常讨论)4.1.2 函数依赖与键设R(U)是一个关系模式,U 是关系R 的属性全集;X 是R 的属性组(X ⊆ U);若X → U ,且不存在X’⊂ X ,X’→ U 则称X为R的键(候选键)。