二级公共基础知识第4章数据库设计基础2内容提要数据库的基本概念:数据库,数据库管理系统,数据库系统。数据模型,实体联系模型及E-R图,从E-R图导出关系数据模型。关系代数运算,包括集合运算及选择、投影、连接运算。数据库设计方法和步骤:需求分析、概念设计、逻辑设计和物理设计的相关策略。4.1数据库系统的基本概念44.1.1数据、数据库、数据库管理系统(续)1.数据数据描述事物的符号记录,用物理符号记录下来的可以鉴别的信息物理符号:数字、文字、图形、图像声音及其他特殊符号。多种表现形式:数字化计算机中数据分为两部分:临时性数据持久性数据数据有型(Type)与值(Value)之分型:数据表示的类型,如整型、实型、字符型等值:给出了符合给定型的值54.1.1数据、数据库、数据库管理系统(续)2.数据库数据库——Database,简称DB数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享按数据所提供的数据模式存放的特点:较小的冗余度较高的数据独立性易扩展性为多个用户所共享64.1.1数据、数据库、数据库管理系统(续)3.数据库管理系统数据库管理系统——DatabaseManagementSystem,简称DBMS数据库的管理机构,职能是有效地组织、存储、获取和管理数据,接受及完成用户提出的访问数据的各种请求数据库系统的核心DBMS的功能数据模式定义数据存取的物理构建数据操纵。数据的完整性、安全性定义与检查数据库的并发控制与故障恢复数据的服务74.1.1数据、数据库、数据库管理系统(续)3.数据库管理系统数据库语言数据定义语言DDL数据操纵语言DML数据控制语言DCL数据语言的使用交互式命令语言宿主型语言常见的DBMSORACLE、Sybase的PowerBuilder、IBM的DB2、微软的SQLServer微软的VisualFoxPro、Access,功能简单84.1.1数据、数据库、数据库管理系统(续)4.数据库管理员数据库管理员——DatabaseAdministrator,简称DBA对数据库的规划、设计、维护、监视等的人员其主要工作有:数据库设计数据库维护改善系统性能,提高系统效率94.1.1数据、数据库、数据库管理系统(续)5.数据库系统数据库系统——DatabaseSystem,简称DBS拥有数据库技术支持的计算机系统实现有组织地、动态地存储大量相关数据,提供数据处理和资源共享服务组成:数据库(数据)数据库管理系统(软件)数据库管理员(人员)硬件平台:计算机和网络软件平台:操作系统、数据库系统开发工具、接口软件104.1.1数据、数据库、数据库管理系统(续)6.数据库应用系统数据库应用系统——DatabaseApplicationSystem,简称DBAS组成:数据库系统+应用软件+应用界面硬件操作系统数据库管理系统应用开发工具软件应用软件114.1.2数据库系统的发展人工管理阶段用户1应用程序1应用程序2应用程序3用户2……应用程序n用户m用户3应用程序4数据组1数据组2数据组3数据组4数据组n…用户1应用程序1应用程序2应用程序3用户2……应用程序n用户m用户3应用程序4数据组1数据组2数据组3数据组4数据组n…124.1.2数据库系统的发展文件系统阶段数据文件1数据文件2数据文件3…数据文件n用户1应用程序1应用程序2应用程序3用户2……应用程序n用户mOS用户3应用程序4数据文件4134.1.2数据库系统的发展数据库系统阶段用户1应用程序1应用程序2应用程序3用户2……应用程序n用户mDBMS数据库用户3应用程序4144.1.3数据库系统的基本特点数据的集成性数据的高共享性与低冗余性数据独立性物理独立性逻辑独立性数据统一管理与控制数据的完整性检查:数据的安全性保护并发控制154.1.4数据库系统的内部结构体系三级模式概念级模式内部级模式外部级摸式二级映射概念级到内部级的映射外部级到概念级的映射内模式DB逻辑模式外模式1外模式2外模式3应用A应用B应用C应用D应用E外模式/逻辑模式映象内模式/逻辑模式映象164.1.4数据库系统的内部结构体系l.数据库系统的三级模式概念级模式数据库中全体数据逻辑结构和特征的描述,是所有用户的公共数据视图一个数据库只有一个概念模式内部级模式又称物理模式数据库物理存储结构与物理存取方法对一般用户是透明的,直接影响数据库的性能一个数据库只有一个内模式。外部级摸式也称子模式或用户模式数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述用户的数据视图一个数据库可以有多个外模式174.1.4数据库系统的内部结构体系2.数据库系统的两级映射概念模式/内模式的映射存在于概念级和内部级之间实现了概念模式到内模式之间的相互转换保证数据具有很高的物理独立性外模式/概念模式的映射:存在于外部级和概念级之间实现了外模式到概念模式之间的相互转换保证数据具有较高的逻辑独立性4.2数据模型194.2.1数据模型的基本概念数据模型,是对现实世界中数据的模拟和抽象。数据模型的分类概念模型:现实世界在人脑中的反映;逻辑模型:按计算机系统的观点对数据建模;物理模型:反映数据的存储结构。数据模型的组成要素数据结构:所研究的对象类型的集合;数据操作:对数据库中各种对象的值允许执行操作的集合;数据的约束条件:一组完整性规则的集合。204.2.2E-R模型1.基本概念实体属性联系一对一(1:1)一对多(1:M或M:1)多对多(M:N)2.三个基本概念之间的联接关系实体集与属性间的联接关系实体与联系11学校校长S_Pn1班级学生C_Smn老师学生T_S(a)1:1(b)1:n(c)m:n214.2.2E-R模型3.E-R型的图示法实体集:用矩形表示属性:用椭圆形表示联系:用菱形表示实体集与属性间的联接关系:用无向线段表示实体集与联系间的联接关系:用无向线段表示学生课程选课MN学号姓名性别出生年月系课号课程名学分成绩选修时间224.2.3层次模型一种树形结构数据结构比较简单,操作简单对于实体间联系是固定的、且预先定义好的应用系统,有较高的性能可以提供良好的完整性支持不适合表示非层次性的联系,对于插入和删除操作的限制比较多管理部门销售员工商品234.2.4网状模型一个不加任何条件限制的无向图优于层次模型使用时设计系统内部的物理因素较多,用户操作不方便,其数据模式与系统实现不甚理想设备工人使用维护(b)工作与设备(a)教学关系E-R图领导学校领导教师班组教学管理学生244.2.5关系模型1.关系的数据结构学号姓名性别出生年月籍贯20054102张洁然男07-07-87上海20054103李一明男05-01-86安徽合肥20069301王文燕女11-06-88山东青岛20069302刘宏男10-17-87江苏南京属性元组表框架254.2.5关系模型主要术语关系:一个关系就是一张二维表元组:表中的一行属性:表中的一个列属性域:属性的取值范围分量:元组中的一个属性值主码:唯一地标识表中一个元组,主码属性不能取空值外部关键字:与另一个关系的关键字相对应的属性组关系模式:对一个关系的结构描述关系名(属性1,属性2,......,属性n)264.2.5关系模型关系的性质元组个数有限性元组的惟一性元组的次序无关性元组分量的原子性属性名惟一性属性的次序无关性分量值域的同一性274.2.5关系模型2.关系操纵数据查询数据删除数据插入数据修改284.2.5关系模型3.数据完整性约束实体完整性约束主键中属性值不能为空值参照完整性约束实体及实体间的联系用户定义的完整性约束具体应用要求来定义的约束条件4.3关系代数304.3关系代数1.关系模型的基本操作四种基本操作插入、删除、修改和查询进一步分解成六种基本操作关系的属性指定关系的元组的选择两个关系的合并关系的查询关系元组的插入关系元组的删除314.3关系代数2.传统的集合运算关系代数是以对关系的集合运算为基础,分为传统的集合运算和专门的关系运算,其运算对象是关系,运算结果也是关系。传统的集合运算包括并、交、差、广义笛卡尔积四种运算。其中并、交、差要求参与运算的两个关系的属性个数相同,且相应的属性出自同一个域;广义笛卡尔积则无此限制。324.3关系代数(1)并(Union)关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合。可表示为:(2)差(Difference)关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合。可表示为:}|{StorRttSR}|{StandRttSR334.3关系代数(3)交(Intersection)关系R和S具有相同的关系模式,R和S的交是由属于R且属于S的元组构成的集合。可表示为:(4)广义笛卡尔积设关系R和S的属性个数分别为n、m,则R和S的广义笛卡尔积是一个有(n+m)列的元组的集合。每个元组的前n列来自R的一个元组,后m列来自S的一个元组,记为R×S。)(}|{SRRStandRttSR}|{StandRtttSRsrsr344.3关系代数例:有两个关系R和S,分别进行并、差、交和广义笛卡尔积运算。354.3关系代数3.专门的关系运算(1)选择(Selection)在关系中选择满足某些条件的元组,即消去某些行,可表示为:(2)投影(Projection)在关系中选择某些属性列,即消去某些列,可表示为:}'')(|{)(真tFandRttRF}|],,,[{)(21,,,21RtAAAtRikiiAAAikii364.3关系代数例:在学生关系中查询1980年以后出生的学生名单,表达式为:查询所有学生的“姓名”、“性别”,表达式为:)(1980学生出生年份)(学生姓名,性别374.3关系代数(3)连接(Join)当一个查询需要来自两个或多个关系的数据时就要用连接操作。连接是从两个关系的笛卡尔积中选取属性间满足一定条件的元组。可表示为:其含义是,从关系R和S的广义笛卡尔积R×S中选取R关系在A属性组上的值与S关系在B属性组上的值满足比较关系θ的元组。1)等值连接:当连接条件中的比较运算符θ为“=”。可表示为:2)自然连接:要求连接时两个关系中进行相等比较的分量必须是相同属性组,且在结果中将相同的属性列去掉。即若关系R和S具有相同属性组B,则自然连接可记作:]}[][|{BtAtandStandRtttSRsrsrsrBA]}[][|{BtAtandStandRtttSRsrsrsrBA]}[][|{BtBtandStandRtttSRsrsrsr384.3关系代数例如,有两个关系R和S关系T:条件为“R.学号S.学号”的连接运算关系U:条件为“R.学号=S.学号”的等值连接关系V:进行自然连接394.3关系代数404.3关系代数(4)除(Division)笛卡尔乘积的逆运算4.4数据库设计与管理424.4.1数据库设计概述设计一个能满足用户要求,性能良好的数据库基本任务:根据用户对象的信息需求、处理需求和数据库的支持环境设计出数据模式两种方法:以信息需求为主,兼顾处理需求(面向数据的方法)以处理需求为主,兼顾信息需求(面向过程的方法)面向数据的设计方法已成为主流方法434.4.1数据库设计概述一般采用生命周期法,分若干阶段需求分析阶段概念设计阶段逻辑设计阶段物理设计阶段编码阶段测试阶段运行阶段进一步修改阶段在数据库设计