1.1概述1.2数据模型1.3数据库系统结构1.4数据库系统组成1.5现代数据库系统第一章绪论第一章绪论本章要点:DB、DBMS、DBS及其关系数据模型的三要素、三种数据模型的比较概念模型,E-R模型DBS三级模式和两层映像的作用DBS的组成大家都接触过数据库系统吗?用过或了解哪种数据库管理系统?初识数据库简单:FoxBase,FoxPro,Access复杂:SQLServer,Sybase,Informix,DB2,MySQL,Oracle…1.交通售票系统2.金融业务系统3.商业销售业务系统4.工厂的管理信息系统5.学校教学管理系统6.图书管理系统7.…数据库系统应用第一章绪论数据库技术是研究数据管理的技术。即如何妥善地保存和科学地管理数据。数据管理是指对数据进行分类、组织、编码、存储、检索和维护等操作。目的:在妥当的时候以妥当的形式给妥当的人提供妥当的数据。数据管理技术好坏评判的标准:(1)数据冗余:指同一数据多次存放问题有:①浪费空间②修改麻烦③引起不一致(2)数据共享数据共享体现在:①多个应用可以使用同一数据、记录、数据项;第一章绪论②在同一时刻多个用户可存取同一数据;③可以开发新的应用而不用增加新的存储空间;④可以为社会开放,成为社会的一种信息资源。(3)数据独立性数据独立性是指应用程序和数据之间相互独立,不受影响。即数据结构的修改不引起应用程序修改的特性。数据独立性包括:①逻辑独立性;②物理独立性。(4)数据统一集中管理1.1概述相关的几个概念数据(Data):数据及语义不可分数据库(DB):按一定结构组织存储的、集成的、可共享的数据的集合。数据库管理系统(DBMS):管理和维护数据库的系统软件。数据库系统(DBS):具有管理数据库功能的计算机系统,即计算机中引入数据库后的系统。由DB、DBMS、应用系统、DBA和用户组成。DBDBMS主机外存关系?1.1概述DBMS的软件地位DBS的层次关系用户、应用软件DBMSOSDB开发工具OS硬件用户DBMS应用软件?DB数据库技术产生于二十世纪六十年代末期,是数据管理的最新技术,是计算机科学的一个重要分支;数据库系统与操作系统一样是计算机系统的基础软件。它的出现极大的促进了计算机在各行各业的应用。数据库系统是信息系统的基础,因此它是信息化建设的基础设施。1.1概述数据集1应用程序1数据集2应用程序2应用程序n数据集n应用程序1应用程序2应用程序nDBMS1.1概述数据管理技术的产生和发展数据管理的三个阶段:人工管理文件系统数据库系统文件系统文件1应用程序1文件2应用程序2文件n应用程序n1.1概述数据库系统的特点(1)数据结构化例:某系统涉及人事、科研、教学、工资四个部门。假定每个部门只有一种登记表。其结构如下:序号姓名性别年龄职称单位工龄工资人事文件科研文件序号姓名性别年龄职称单位科研名称经费教学文件序号姓名性别年龄职称单位课程名学时工资文件序号姓名单位工资工龄补贴房租水电1.1概述试建立该系统的数据结构。文件系统:建立与上述结构相同的四个文件。数据库系统:(分三步进行)第一步:建立全局数据逻辑结构。数据的组织、存储与应用程序相分离独立进行,全面综合地考虑数据的组织,从整个系统的效率、性能出发来组织数据。第二步:建立局部数据逻辑结构。面向各个具体用户,从满足用户的需求出发,从全局数据逻辑结构导出各自所需的基本结构。1.1概述第三步:建立数据物理结构。面向物理存储、在保证全局数据逻辑结构的前提下,权衡系统的空间利用、效率等,按物理存储的最佳形式来组织文件结构。第一层水电房租学时课程名经费科研名称工资工龄单位职称年龄性别姓名序号第二层单位职称年龄性别姓名序号经费科研名称序号学时课程名序号水电房租工资工龄序号第三层1.1概述(2)数据的共享性高、冗余度低、易扩充数据库的共享是并发的共享。(3)数据独立性高这是由数据库系统的体系结构决定的。(4)数据由DBMS统一管理和控制DBMS应提供下列功能:①数据的安全性保护②数据的完整性检查③并发控制④数据库恢复1.2数据模型数据库是一个结构化的数据集合,这个结构要使用数据模型来描述现实世界中事物间的联系。数据模型—是表示数据及其联系的模型。数据模型分类概念模型(也称语义模型)(常用E-R模型)数据模型(逻辑模型+物理模型)注意:语义模型强调语义表达能力,建模容易、方便、概念简单、清晰,易于用户理解。它是一种独立于计算机系统的模型。1.2数据模型信息的三个世界现实世界认识、分析、抽象DBMS支持的数据模型机器世界概念模型信息世界描述规范转换1.概念模型◆实体(Entity)客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系,如学生、部门、课程、银行账户、选课、订货、演出、比赛等。◆属性(Attribute)实体所具有的某一特性称为属性。如学生实体可以由学号、姓名、性别、出生年月、系、入学时间等属性组成。◆域(Domain)属性的取值范围称为该属性的域。例如学号的域为10位整数,姓名的域为字符串集合,性别的域为(男,女),成绩的域为(0~100)的整数。◆码(关键字,Key)唯一标识实体的(最小的)属性集称为码。例如学号是学生实体的码。信息世界中的基本概念1.2数据模型◆实体型(EntityType)具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻划同类实体,称为实体型。例如:学生(学号,姓名,性别,出生年月,系,入学时间)。◆实体集(EntitySet)同型实体的集合称为实体集。例如,全体学生就是一个实体集。◆联系(Relationship)在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。即组成实体的各属性之间以及不同实体集之间的联系。信息世界中的基本概念(续)1.2数据模型三个世界术语间关系实体内联系学生学号姓名年龄性别籍贯学生1990927胡伟22男湖南学生2990652张春明24男湖北学生3991091程会军23男山西学生4990676王翌22女四川实体值1→型→实体值2实体值3→实体值4→←值1←值2←值3←值4←型↑事物↑特征现实世界实体↓↓属性记录↓项↓机器世界信息世界实体之间的联系→逻辑数据和物理数据术语的对应关系示意图实体属性标识符实体集元组数据项键码关系位字节块字卷物理数据逻辑数据实体两个实体型之间的联系可以分为三类:◆一对一联系(1:1)◆一对多联系(1:n)◆多对多联系(m:n)两个以上的实体型之间,以及同一实体集内的各实体之间也可以存在上述的三种联系。实体之间的联系1.2数据模型两个实体型间的联系实体型1联系名实体型2111:1联系实体型1联系名实体型2mnm:n联系实体型1联系名实体型21n1:n联系1.2数据模型两个实体型间的联系(续)一对一联系如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。实例班级与班长之间的联系:一个班级只有一个正班长,一个班长只在一个班中任职1.2数据模型两个实体型间的联系(续)一对多联系如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系记为1:n实例班级与学生之间的联系:一个班级中有若干名学生,每个学生只在一个班级中学习1.2数据模型两个实体型间的联系(续)多对多联系(m:n)如果对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n实例课程与学生之间的联系:一门课程同时有若干个学生选修,一个学生可以同时选修多门课程1.2数据模型多个实体型间的联系多个实体型间的一对多联系若实体集E1,E2,...,En存在联系,对于实体集Ej(j=1,2,...,i-1,i+1,...,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,...,Ei-1,Ei+1,...,En之间的联系是一对多的。1.2数据模型多个实体型间的联系(续)实例课程、教师与参考书三个实体型如果一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用课程与教师、参考书之间的联系是一对多的多个实体型间的一对一联系多个实体型间的多对多联系1.2数据模型同一实体型内各实体间的联系一对多联系实例职工实体集内部具有领导与被领导的联系某一职工(干部)“领导”若干名职工,一个职工仅被另外一个职工直接领导这是一对多的联系一对一联系多对多联系1.2数据模型1、概念模型的表示方法概念模型的表示方法很多实体-联系方法(E-R方法,P.P.S.Chen1976年提出)用E-R图来描述现实世界的概念模型E-R方法也称为E-R模型1.2数据模型2.E-R图设计实体型用矩形表示,矩形框内写明实体名。学生教师1.2数据模型属性用椭圆形表示,并用无向边将其与相应的实体连接起来学生学号年龄性别姓名1.2数据模型联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。1.2数据模型联系的表示方法示例班级班级-班长班长111:1联系课程选修学生mnm:n联系班级组成学生1n1:n联系1.2数据模型联系的表示方法示例(续)职工领导1n同一实体型内部的1:n联系课程讲授教师1m多个实体型间的1:n联系参考书n1.2数据模型联系属性的表示方法课程选修学生mn成绩1.2数据模型例:工厂物资管理E-R图1.2数据模型3.数据模型的组成与分类数据模型组成的要素(1)数据结构(描述系统的静态特性)是指实体类型和实体间联系的表达和实现。(2)数据操作(描述系统的动态特性)是指对数据库各种对象允许执行的操作集合。(3)数据的约束条件是一组完整性规则的集合。1.2数据模型数据模型的分类(1)三种基本数据模型层次模型、网状模型、关系模型。(2)面向对象模型(3)谓词模型(4)扩充的数据模型1.2数据模型4.层次模型(1)数据结构树结构(1)有且只有一个结点没有双亲结点,这个结点称为根结点;(2)根以外的其他结点有且只有一个双亲结点。记录类型1:n的联系R1R3R2R4R5选课联系任课联系课程号课程名学分学号姓名性别年龄籍贯教师号教师名职称课程学生教师没有一个子女记录值能够脱离双亲记录值而独立存在型层次数据库的型与值值层次数据库的型与值1.2数据模型4.层次模型(1)数据结构树结构(1)有且只有一个结点没有双亲结点,这个结点称为根结点;(2)根以外的其他结点有且只有一个双亲结点。记录类型1:n的联系R1R3R2R4R5选课联系任课联系课程号课程名学分学号姓名性别年龄籍贯教师号教师名职称课程学生教师层次数据库的型与值:层次模型的基本特点:需按路径查看给定记录的值。1.2数据模型(2)多对多联系转换为层次树结构的方法①引入冗余结点将一个多对多联系转换为两个一对多联系。优点:结构清晰,允许结点改变存储位置。缺点:需额外占用存储空间,有潜在的不一致性存在。1.2数据模型②引入虚拟结点法方法:造树过程与引入冗余结点法相似,不同的是对已出现过的结点用该结点的虚拟结点代之。虚拟结点是一个指针,指向所代替的结点。(2)多对多联系转换为层次树结构的方法①引入冗余结点将一个多对多联系转换为两个一对多联系。1.2数据模型②引入虚拟结点法方法:造树过程与引入冗余结点法相似,不同的是对已出现过的结点用该结点的虚拟结点代之。虚拟结点是一