全国计算机等级考试公共基础知识2007-8-21第四章数据库设计基础2第四章数据库设计基础2007-8-21第四章数据库设计基础34.1数据库系统的基本概念1、数据、数据库、数据管理系统数据:实际上就是描述事物的符号记录。数据的特点:有一定的结构,有型与值之分。数据的型给出了数据表示的类型,如整型、实型、字符型等。而数据的值给出了符合给定型的值,如整型(int)值15。数据库(DB):是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库存放数据是按数据所提供的数据模式存放的,具有集成与共享的特点。2007-8-21第四章数据库设计基础44.1数据库系统的基本概念数据库管理系统(DBMS):一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,是数据库的核心。数据库管理系统功能:(1)数据模式定义,即为数据库构建其数据框架。(2)数据存取的物理构建:为数据模式的物理存取与构建提供有效的存取方法与手段。(3)数据操纵:为用户使用数据库的数据提供方便,如查询、插入、修改、删除等以及简单的算术运算及统计。(4)数据的完整性、安生性定义与检查。(5)数据库的并发控制与故障恢复。(6)数据的服务,如数据拷贝、转存、重组、性能监测、分析等。2007-8-21第四章数据库设计基础54.1数据库系统的基本概念为完成以上六个功能,数据库管理系统提供以下的数据语言:(1)数据定义语言:负责数据的模式定义与数据的物理存取构建。(2)数据操纵语言:负责数据的操纵,包括查询及增、删、改等操作。(3)数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。数据语言按其使用方式具有以下两种结构形式:(1)交互式命令(又称自含型或自主型语言):它的语言简单,能在终端上即时操作。(2)宿主型语言:它一般可嵌入某些宿主语言中,如C,C++等高级过程语言中。2007-8-21第四章数据库设计基础64.1数据库系统的基本概念数据库管理员(DBA):对数据库进行规划、设计、维护、监视等的专业管理人员。数据库系统(DBS):由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成的运行实体。数据库应用系统:由数据库系统、应用软件及应用界面三者组成。数据库技术的根本目标是解决数据的共享问题。2007-8-21第四章数据库设计基础74.1数据库系统的基本概念2、数据库系统的发展数据库管理发展至今已经历了三个阶段:人工管理阶段文件系统阶段数据库系统阶段3、数据库系统的基本特点(1)数据的集成性。(2)数据的高共享性与低冗余性。(3)数据独立性。(4)数据统一管理与控制数据库系统可以减少数据冗余,但无法避免一切冗余。2007-8-21第四章数据库设计基础8(3)数据独立性数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。数据独立性一般分为物理独立性与逻辑独立性两级。物理独立性:物理独立性即是数据的物理结构(包括存储结构,存取方式等)的改变,如存储设备的更换、物理存储的更换、存取方式改变等都不影响数据库的逻辑结构,从而不致引起应用程序的变化。逻辑独立性:数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应修改应用程序,这就是数据的逻辑独立性。2007-8-21第四章数据库设计基础9(4)数据统一管理与控制数据统一管理与控制主要包含以下三个方面:1)数据的完整性检查:检查数据库中数据的正确性以保证数据的正确。2)数据的安全性保护:检查数据库访问者以防止非法访问。3)并发控制:控制多个应用的并发访问所产生的相互干扰以保证其正确性。2007-8-21第四章数据库设计基础104、数据库系统的内部结构体系数据库系统的三级模式:(1)概念模式:数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。(2)外模式:也称子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。(3)内模式:又称物理模式,它给出了数据库物理存储结构与物理存取方法。内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。内模式对一般用户是透明的,但它的设计直接影响数据库的性能。2007-8-21第四章数据库设计基础114、数据库系统的内部结构体系数据库系统的两级映射:(1)概念模式到内模式的映射;(2)外模式到概念模式的映射。概念模式到内模式的映射保证数据的物理独立性,外模式到概念模式的映射保证数据的逻辑独立性。2007-8-21第四章数据库设计基础124.2数据模型1、数据模型数据模型的概念:是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。数据模型所描述的内容有三个部分,它们是数据结构、数据操作与数据约束。数据模型分为概念模型、逻辑数据模型和物理模型三类。2、实体联系模型及E-R图E-R模型的基本概念:(1)实体:现实世界中的事物。(2)属性:事物的特性。(3)联系:现实世界中事物间的关系。实体集的关系有一对一、一对多、多对多的联系。2007-8-21第四章数据库设计基础134.2数据模型E-R模型三个基本概念之间的联接关系:1)实体集(联系)与属性间的联接关系;2)实体(集)与联系。E-R模型的图示法:实体集:用矩形表示。属性:用椭圆形表示。联系:用菱形表示。实体集与属性间的联接关系:用无向线段表示。实体集与联系间的联接关系:用无向线段表示。学生课程选课MN学号姓名性别出生年月系课号课程名学分成绩选修时间2007-8-21第四章数据库设计基础144.2数据模型层次模型的基本结构是树形结构,具有以下特点:(1)每棵树有且仅有一个无双亲结点,称为根;(2)树中除根外所有结点有且仅有一个双亲。管理部门销售员工商品2007-8-21第四章数据库设计基础154.2数据模型网状模型是层次模型的一个特例,从图论上看,网状模型是一个不加任何条件限制的无向图。设备工人使用维护(b)工作与设备(a)教学关系E-R图领导学校领导教师班组教学管理学生2007-8-21第四章数据库设计基础164.2数据模型关系模型采用二维表来表示,简称表,由表框架及表的元组组成。一个二维表就是一个关系。学号姓名性别出生年月籍贯20054102张洁然男07-07-87上海20054103李一明男05-01-86安徽合肥20069301王文燕女11-06-88山东青岛20069302刘宏男10-17-87江苏南京2007-8-21第四章数据库设计基础174.2数据模型关系模型采用二维表来表示,简称表,由表框架及表的元组组成。一个二维表就是一个关系。二维表的表框架由n个命名的属性组成,n称为属性元数。每个属性有一个取值范围称为值域。表框架对应了关系的模式,即类型的概念。在表框架中按行可以存放数据,每行数据称为元组,实际上,一个元组是由n个元组分量所组成,每个元组分量是表框架中每个属性的投影值。学号姓名性别出生年月籍贯20054102张洁然男07-07-87上海20054103李一明男05-01-86安徽合肥20069301王文燕女11-06-88山东青岛20069302刘宏男10-17-87江苏南京2007-8-21第四章数据库设计基础184.2数据模型在二维表中凡能唯一标识元组的最小属性称为键或码。从所有候选健中选取一个作为用户使用的键称主键。例如:表A中的某属性是某表B的键,则称该属性集为A的外键或外码。关系中的数据约束:(1)实体完整性约束:约束关系的主键中属性值不能为空值。(2)参照完整性约束:是关系之间的基本约束。(3)用户定义的完整性约束:它反映了具体应用中数据的语义要求。3、从E-R图导出关系数据模型数据库的逻辑设计的主要工作是将E-R图转换成指定RDBMS(关系数据库管理系统)中的关系模式。首先,从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。实体集也可以转换成关系。2007-8-21第四章数据库设计基础194.3关系代数1、关系的数据结构关系是由若干个不同的元组所组成,因此关系可视为元组的集合。n元关系是一个n元有序组的集合。关系模型的基本运算:(1)插入;(2)删除;(3)修改;(4)查询(包括投影、选择、笛卡尔积运算)。2007-8-21第四章数据库设计基础204.3关系代数2、集合运算及选择、投影、连接运算(1)并(∪):关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合。RABCa1b1c1a1b2c2a2b2c1SABCa1b2c2a1b3c2a2b2c1R∪SABCa1b1c1a1b2c2a2b2c1a1b3c22007-8-21第四章数据库设计基础214.3关系代数2、集合运算及选择、投影、连接运算(2)差(-):关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合。RABCa1b1c1a1b2c2a2b2c1SABCa1b2c2a1b3c2a2b2c1R-SABCa1b1c12007-8-21第四章数据库设计基础224.3关系代数2、集合运算及选择、投影、连接运算(3)交(∩):关系R和S具有相同的关系模式,R和S的交是由属于R且属于S的元组构成的集合。RABCa1b1c1a1b2c2a2b2c1SABCa1b2c2a1b3c2a2b2c1R∩SABCa1b2c2a2b2c12007-8-21第四章数据库设计基础234.3关系代数2、集合运算及选择、投影、连接运算(4)广义笛卡尔积(×):设关系R和S的属性个数分别为n、m,则R和S的广义笛卡尔积是一个有(n+m)列的元组的集合。每个元组的前n列来自R的一个元组,后m列来自S的一个元组,记为R×S。根据笛卡尔积的定义:有n元关系R及m元关系S,它们分别有p、q个元组,则关系R与S经笛卡尔积记为R×S,该关系是一个n+m元关系,元组个数是p×q,由R与S的有序组组合而成。2007-8-21第四章数据库设计基础244.3关系代数(4)广义笛卡尔积(×)RABCa1b1c1a1b2c2a2b2c1SABCa1b2c2a1b3c2a2b2c1R×SR_AR_BR_CS_AS_BS_Ca1b1c1a1b2c2a1b1c1a1b3c2a1b1c1a2b2c1a1b2c2a1b2c2a1b2c2a1b3c2a1b2c2a2b2c1a2b2c1a1b2c2a2b2c1a1b3c2a2b2c1a2b2c12007-8-21第四章数据库设计基础254.3关系代数在关系型数据库管理系统中,基本的关系运算有选择、投影与联接三种操作:(1)选择:选择指的是从二维关系表的全部记录中,把那些符合指定条件的记录挑出来。(2)投影:投影是从所有字段中选取一部分字段及其值进行操作,它是一种纵向操作。(3)联接:联接将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足联接条件的元组。2020/5/122007-8-21第四章数据库设计基础264.4数据库设计方法和步骤数据库设计阶段包括:需求分析、概念分析、逻辑设计、物理设计。数据库设计的每个阶段都有各自的任务:(1)需求分析阶段:这是数据库设计的第一个阶段,任务主要是收集和分析数据,这一阶段收集到的基础数据和数据流图是下一步设计概念结构的基础。(2)概念设计阶段:分析数据间内在语义关联,在此基础上建立一个数据的抽象模型,即形成E-R图。数据库概念设计的过程包括选择局部应用、视图设计和视图集成。(3)逻辑设计阶段:将E-R图转换成指定RDBMS中的关系模式。(4)物理设计阶段:对数据库内部物理结构作调整并选择合理的存取路径,以提高数据库访问速度及有效利用存储空间。2007-8-21第四章