<数据库>
·数据库 (Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合。
·数据库管理系统(Database Management System,简称DBMS)是位于用户与操作系统之间的一层数据库管理软件。
·数据库系统(Database System,DBS)是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。
·数据库系统的构成 由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员(和用户)构成。 ·文件系统管理数据的缺点 随着数据管理规模的扩大,数据量急剧增加,文件系统显露出三个缺陷:数据冗余。 数据与应用的独立性差。数据联系弱
·文件系统阶段的不足之处 共享性是有一定局限,当不同的应用程序使用具有部分相同的数据时,仍必须建立各自的文件,而不能共享相同的数据,造成数据的冗余度大,不能确保数据的一致性。
数据库系统特点(对比文件系统)①数据由DBMS统一管理与控制。②数据的整体性。③数据的共享性高,冗余少。④数据的独立性高。⑤数据的整体结构化。 优点 便于数据的集中管理,减少数据冗余,提高数据的利用率和一致性。可以大大提高应用开发的效率,减少开发人员的工作量。维护方便,可以减轻数据库系统管理人员维护系统的负担。
应用A 应用B 应用C 应用D 应用E 数据库系统的三级模式结构 外模式1 外模式2 外模式3 外模式/模式映象的用途
外模式/模式映象 保证数据的逻辑独立性。
模式 (当模式改变时,数据库管理员修改有关的
模式/内模式映象 外模式,使外模式保持不变。应用程序是依
内模式 据数据的外模式编写的,从而应用程序不必
修改,保证了数据与程序的逻辑独立性,简称
数据库 数据的逻辑独立性。) 模式/内模式映象的用途 保证数据的物理独立性。(当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。)
数据结构 描述数据的组成对象以及对象之间的联系。
两类对象 与数据类型、内容、性质有关的对象。与数据之间联系有关的对象
现实世界中的信息如何能够进入计算机 现实世界 系统分析 信息世界 数据库设计 计算机世界
数据模型的两个层次 概念模型/信息模型,按用户的观点来对数据和信息建模。概念模型不依赖计算机及DBMS。
结构模型/逻辑模型,按计算机系统的观点对数据建模,受到计算机平台、DBMS的限制,直接影响数据库的最终实现。主要包括网状模型、层次模型、关系模型等。
通常人们按结构模型来区分不同的数据库,称之为数据模型。 常用的三种数据模型p6 1关系模型。
非关系:2层次模型。3网状模型。(数据结构:以基本层次联系为基本单位。基本层次联系:两个记录以及它们之
事物及联系 信息化 概念模型 数据化 结构模型
间的一对多。包括一对一的联系) 概念模型中的基本概念 (1) 实体(Entity) 客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。 (2) 属性(Attribute) 实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。 (3) 码(Key) 唯一标识实体的属性集称为码,其中的属性称主属性。 ?
关系数据库
关系的性质 1) 同一属性的数据具有同质性。2) 同一关系中,属性名不能重复性。因为属性名具有标识作用。3) 关系中的列位置具有顺序无关性。4) 关系具有元组无冗余性。5) 关系中的元组位置具有顺序无关性。6) 关系中每一个分量都必须是不可分的数据项。 关系操作的特点 (1)关系操作语言操作一体化 具有数据定义、查询、更新和控制一体化的特点,既可以作为宿主语言嵌入到主语言中,又可以作为独立语言交互使用。
(2) 关系操作的方式是一次一集合方式 其他系统的操作是一次一记录方式,而关系操作的方式则是一次一集合方式。关系操作数据结构单一的特点,能够使其利用集合运算和关系规范化等数学理论进行优化和处理操作,但关系操作与其他系统配合时需要解决处理方式的矛盾。
(3) 关系操作语言是高度非过程化的语言 具有强大的表达能力。用户使用关系语言时,只需要指出做什么,而不需要指出怎么做,数据存取路径的选择、数据操作方法的选择和优化都由DBMS自动完成。 关系的完整性具体应用
1实体完整性——若属性A是基本关系R的主属性,则属性A的值不能为空值。 如:学生(学号,姓名,性别,出生日期)中“学号”不能为空。
选修(学号,课程号,成绩)“学号、课程号”为主码,则两个属性都不能取空值。 2参照完整性 ①关系间的引用 实体及实体间联系用关系来描述,存在关系与关系间的引用。 例: 学生实体、专业实体学生(学号,姓名,性别,专业号,年龄)专业(专业号,专业名)
? 学生关系引用了专业关系的主码“专业号”。 学生关系中的“专业号”值必须是确实存在的专业的专业号 ,即
专业关系中有该专业的记录。
②外码 例: 选修关系的“学号” 与学生关系的主码“学号”相对应。选修关系的“课程号”与课程关系的主码“课程号”相对应。“学号”和“课程号”是选修关系的外码。学生关系和课程关系均为被参照关系。选修关系为参照关系 ③用户定义的完整性。例:课程(课程号,课程名,学分)。非主属性“课程名”也不能取空值。“学分”属性只能取值在0~6之间
参照完整性规则 例: 选修(学号,课程号,成绩)“学号”和“课程号”可能的取值 : (1)选修关系中的主属性,不能取空值(2)只能取相应的被参照关系中已经存在的主码值 如何来实现上述的关系数据库完整性约束? 1实体完整性:给每个关系定义主码。2参照完整性:建立关联。3用户自定义的完整性:定义有效性规则、应用程序控制。 ?
数据库设计
数据库系统设计包括哪些内容?p175 数据库系统设计的各个步骤的任务1需求分析的任务:p177 2概念结构设计p186 就是将需求分析得到的用户需求抽象为信息结构即概念模型的过程。3逻辑结构设计的任务:把概念结构设计阶段产生的系统基本E-R图转换为某种具体的DBMS所支持的数据模型相符合的逻辑结构。4物理结构设计:根据具体的DBMS的特点和应用处理的需要,将逻辑结构设计的关系模式进行物理存储安排,建立索引,形成数据库的内模式。5数据库的实施:设计人员使用具体的关系数据库管理系统提供的数据定义语言DDL和其他的实用程序将数据库逻辑结构设计和物理结构设计严格地描述出来,在计算机上建立起实际数据库结构,然后装入数据、进行测试和试运行。6数据库的运行和维护:由于应用环境在不断的变化,数据库运行过程中物理存储也会不断的变化,因此对数据库设计进行评价、调整、修改等维护工作
概念设计(画E-R图) 逻辑设计(转换为关系模型) 例题:概念设计 假设工厂中有如下实体: 产品(产品编号,产品名,规格)
工人(工人编号,姓名,性别,年龄,职称) 车间(车间编号,车间名称,负责人) 上述实体中存在如下联系:
一个车间可生产多种产品,一种产品可由多个车间生产; 一个车间可有多个工人,一个工人只能属于一个车间。
画出E-R图,用下划线标明各实体的主码,并标明实体间的联系的类型(1:n,m:n,1:1)。
例题:逻辑设计
逻辑设计
读者(借书证号,姓名,单位) 图书(书号,书名,位置,出版社名) 出版社(出版社名,地址,电话,邮编) 借阅(借书证号,书号,借书日期,还书日期)
外码:借书证号 引用读者关系中的借书证号 ,书号引用图书关系中的书号. 关系代数 ∪(并运算)-(差运算)∩(交运算)σ(选择)π(投影)∞(连接) 学生选课库的关系模式为:
学生(学号,姓名,性别,年龄,所在系);课程(课程号,课程名,先行课);选课(学号,课程号,成绩). 查询选修了课程名为“数据库”的学生的学号和姓名。