数据库设计讲义.docx

上传人:b****0 文档编号:9431144 上传时间:2023-05-19 格式:DOCX 页数:20 大小:68.81KB
下载 相关 举报
数据库设计讲义.docx_第1页
第1页 / 共20页
数据库设计讲义.docx_第2页
第2页 / 共20页
数据库设计讲义.docx_第3页
第3页 / 共20页
数据库设计讲义.docx_第4页
第4页 / 共20页
数据库设计讲义.docx_第5页
第5页 / 共20页
数据库设计讲义.docx_第6页
第6页 / 共20页
数据库设计讲义.docx_第7页
第7页 / 共20页
数据库设计讲义.docx_第8页
第8页 / 共20页
数据库设计讲义.docx_第9页
第9页 / 共20页
数据库设计讲义.docx_第10页
第10页 / 共20页
数据库设计讲义.docx_第11页
第11页 / 共20页
数据库设计讲义.docx_第12页
第12页 / 共20页
数据库设计讲义.docx_第13页
第13页 / 共20页
数据库设计讲义.docx_第14页
第14页 / 共20页
数据库设计讲义.docx_第15页
第15页 / 共20页
数据库设计讲义.docx_第16页
第16页 / 共20页
数据库设计讲义.docx_第17页
第17页 / 共20页
数据库设计讲义.docx_第18页
第18页 / 共20页
数据库设计讲义.docx_第19页
第19页 / 共20页
数据库设计讲义.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据库设计讲义.docx

《数据库设计讲义.docx》由会员分享,可在线阅读,更多相关《数据库设计讲义.docx(20页珍藏版)》请在冰点文库上搜索。

数据库设计讲义.docx

数据库设计讲义

本章应考点拨:

本章在考试中一般出现3-5个小题。

本章内容概括性强,比较抽象,难于理解,因此建议考生在复习的时候,首先熟读讲义,其次对数据库系统的基本概念及原理等知识要注意理解、加强记忆。

第四章数据库设计基础

一、学习目标与要求

1.了解数据库系统的基本概念,以及数据库系统的发展;

2.了解数据模型的基本概念,并对E-R模型、层次模型、网状模型和关系模型进行了解,并掌握关系模型的数据结构、关系的操作和数据约束等知识;

3.了解关系模型的基本操作,掌握关系模型的基本运算及扩充运算;

4.了解数据库的设计与管理,掌握数据库设计的几个阶段的方法和特点。

 

4.1数据库系统的基本概念

1、数据、数据库、数据管理系统

(1)数据:

实际上就是描述事物的符号记录。

数据的特点:

有一定的结构,有型与值之分。

数据的型给出了数据表示的类型,如整型、实型、字符型等。

而数据的值给出了符合给定型的值,如整型(INT)值15。

(2)数据库(DB):

是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。

数据库存放数据是按数据所提供的数据模式存放的,具有集成与共享的特点,亦即是数据库集中了各种应用的数据,进行统一的构造和存储,而使它们可被不同应用程序所使用。

(3)数据库管理系统(DBMS):

一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,是数据库的核心。

数据库管理系统功能:

1)数据模式定义。

数据库管理系统负责为数据库构建模式,也就是为数据库构建其数据框架。

2)数据存取的物理构建。

数据库管理系统负责为数据模式的物理存取与构建提供有效的存取方法与手段。

3)数据操纵。

数据库管理系统为用户使用数据库中的数据提供方便,它一般提供如查询、插入、修改以及删除数据的功能。

此外,它自身还具有做简单的算术运算及统计的能力,而且还可以与某些过程性语言结合,使其具有强大的过程性操作能力。

4)数据的完整性、安生性定义与检查。

数据库中的数据具有内在语义上的关联性与一致性,它们构成了数据的完整性,数据的完整性是保证数据库中数据正确的必要条件,因此必须经常检查以维护数据正确。

数据库中的数据具有共享性,而数据共享可能会引发数据的非法使用,因此必须要对数据正确使用做出必要的规定,并在使用时做检查,这就是数据的安全性。

数据完整性与安全性的维护是数据库系统的基本功能。

5)数据库的并发控制与故障恢复。

数据库是一个集成、共享的数据集合体,它能为多个应用程序服务,所以就存在着多个应用程序对数据库的并发操作。

在并发操作中如果不加控制和管理,多个应用程序间就会相互干扰,从而对数据库中的数据造成破坏。

因此,数据库管理系统必须对多个应用程序的并发操作做必要的控制以保证数据不受破坏,这就是数据库的并发控制。

数据库中的数据一旦遭到破坏,数据库管理系统必须有能力及时进行恢复,这就是数据库的故障恢复。

6)数据的服务。

数据库管理系统提供对数据库中数据的多种服务功能,如数据拷贝、转存、重组、性能监测、分析等。

(4)数据库管理员(DBA):

对数据库进行规划、设计、维护、监视等的专业管理人员。

(5)数据库系统(DBS):

由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成的运行实体。

(6)数据库应用系统:

由数据库系统、应用软件及应用界面三者组成。

数据库技术的根本目标是解决数据的共享问题。

2、数据库系统的发展

数据库管理发展至今已经历了三个阶段:

人工管理阶段、文件系统阶段和数据库系统阶段。

下表是数据管理三个阶段的比较:

 

人工管理阶段

文件系统阶段

数据库系统阶段

应用背景

科学计算

科学计算、管理

大规模管理

硬件背景

无直接存取存储设备

磁盘、磁鼓

大容量磁备盘

软件背景

没有操作系统

有文件系统

有数据库管理系统

处理方式

批处理

联机实时处理、批处理

联机实时处理、分布处理、批处理

数据的管理者

用户(程序员)

文件系统

数据库管理系统

数据面向的对象

某一应用程序

某一应用

现实世界

数据的共享程度

无共享,冗余度极大

共享性差,冗余度大

共享性高,冗余度小

数据的独立性

不独立,完全依赖于程序

独立性差

具有高度的物理独立性和一定的逻辑独立性

数据的结构化

无结构

记录内有结构,整体无结构

整体结构化,用数据模型描述

数据控制能力

应用程序自己控制

应用程序自己控制

由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力

3、数据库系统的基本特点

(1)数据的高集成性。

(2)数据的高共享性与低冗余性。

数据库系统可以减少数据冗余,但无法避免一切冗余。

(3)数据独立性:

数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。

也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。

数据独立性一般分为物理独立性与逻辑独立性两级。

1)物理独立性:

物理独立性即是数据的物理结构(包括存储结构,存取方式等)的改变,如存储设备的更换、物理存储的更换、存取方式改变等都不影响数据库的逻辑结构,从而不致引起应用程序的变化。

2)逻辑独立性:

数据库总体逻辑结构的改变,如修改数据模式、增加新的数据类型、改变数据间联系等,不需要相应修改应用程序,这就是数据的逻辑独立性。

(4)数据统一管理与控制。

数据统一管理与控制主要包含以下三个方面:

1)数据的完整性检查:

检查数据库中数据的正确性以保证数据的正确。

2)数据的安全性保护:

检查数据库访问者以防止非法访问。

3)并发控制:

控制多个应用的并发访问所产生的相互干扰以保证其正确性。

4、数据库系统的内部结构体系

(1)数据库系统的三级模式:

1)概念模式:

数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图。

2)外模式:

也称子模式或用户模式,它是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出。

3)内模式:

又称物理模式,它给出了数据库物理存储结构与物理存取方法。

内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。

内模式对一般用户是透明的,但它的设计直接影响数据库的性能。

(2)数据库系统的两级映射:

1)概念模式/内模式的映射:

实现了概念模式到内模式之间的相互转换。

当数据库的存储结构发生变化时,通过修改相应的概念模式/内模式的映射,使得数据库的逻辑模式不变,其外模式不变,应用程序不用修改,从而保证数据具有很高的物理独立性。

  2)外模式/概念模式的映射:

实现了外模式到概念模式之间的相互转换。

当逻辑模式发生变化时,通过修改相应的外模式/逻辑模式映射,使得用户所使用的那部分外模式不变,从而应用程序不必修改,保证数据具有较高的逻辑独立性。

  注释1:

在一个集合中的重复数据称为数据冗余。

注释2:

视图是从一个或几个基本表(或视图)导出的表,它与基本表不同,是一个虚表。

数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍然存放在原来的基本表中。

 

4.2数据模型

1、数据模型

(1)数据模型的概念:

是数据特征的抽象,它从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供一个抽象的框架。

(2)数据模型所描述的内容有三个部分,它们是数据结构、数据操作与数据约束。

1)数据结构:

数据结构是所研究的对象类型的集合,包括与数据类型、内容、性质有关的对象,以及与数据之间联系有关的对象。

它用于描述系统的静态特性。

2)数据操作:

数据操作是对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作的含义、符号、操作规则及实现操作的语句等。

它用于描述系统的动态特性。

3)数据的约束条件:

数据的约束条件是一组完整性规则的集合。

完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符号数据模型的数据库状态及状态的变化,以保证数据的正确、有效和相容。

(3)数据模型分为概念模型、逻辑数据模型和物理模型三类:

  1)概念数据模型:

简称概念模型,是对客观世界复杂事物的结构描述及它们之间的内在联系的刻画。

概念模型主要有:

E-R模型(实体联系模型)、扩充的E-R模型、面向对象模型及谓词模型等。

  2)逻辑数据模型:

又称数据模型,是一种面向数据库系统的模型,该模型着重于在数据库系统一级的实现。

逻辑数据模型主要有:

层次模型、网状模型、关系模型、面向对象模型等。

  3)物理数据模型:

又称物理模型,它是一种面向计算机物理表示的模型,此模型给出了数据模型在计算机上物理结构的表示。

  2、实体联系模型及E-R图

(1)E-R模型的基本概念:

1)实体:

现实世界中的事物。

  2)属性:

事物的特性。

  3)联系:

现实世界中事物间的关系。

实体集的关系有一对一、一对多、多对多的联系。

  E-R模型三个基本概念之间的联接关系:

1)实体集(联系)与属性间的联接关系;2)实体(集)与联系。

  *:

E-R模型的基本成分是实体和联系。

  

(2)E-R模型的图示法:

  1)实体集:

用矩形表示。

  2)属性:

用椭圆形表示。

  3)联系:

用菱形表示。

  4)实体集与属性间的联接关系:

用无向线段表示。

  5)实体集与联系间的联接关系:

用无向线段表示。

  (3)数据库管理系统常见的数据模型有层次模型、网状模型和关系模型三种。

1)层次模型的基本结构是树形结构,具有以下特点:

A、每棵树有且仅有一个无双亲结点,称为根;B、树中除根外所有结点有且仅有一个双亲。

  2)网状模型是层次模型的一个特例,从图论上看,网状模型是一个不加任何条件限制的无向图。

  3)关系模型采用二维表来表示,简称表,由表框架及表的元组组成。

一个二维表就是一个关系。

  二维表的表框架由n个命名的属性组成,n称为属性元数。

每个属性有一个取值范围称为值域。

表框架对应了关系的模式,即类型的概念。

在表框架中按行可以存放数据,每行数据称为元组,实际上,一个元组是由n个元组分量所组成,每个元组分量是表框架中每个属性的投影值。

同一个关系模型的任两个元组值不能完全相同。

  主码:

或称为关键字、主键,简称码、键,表中的一个属性或几个属性的组合、其值能唯一地标识表中一个元组的,称为关系的主码或关键字。

例如,学生的学号。

主码属性不能取空值。

  外部关键字:

或称为外键,在一个关系中含有与另一个关系的关键字相对应的属性组称为该关系的外部关键字。

外部关键字取空值或为外部表中对应的关键字值。

例如,在学生表中含有的所属班级名字,是班级表中的关键字属性,它是学生表中的外部关键字。

  (4)关系中的数据约束:

  1)实体完整性约束:

要求关系的主键中属性值不能为空值,因为主键是唯一决定元组的,如为空值则其唯一性就成为不可能的了。

  2)参照完整性约束:

关系之间相互关联的基本约束,不允许关系引用不存在的元组,即在关系中的外键要么是所关联关系中实际存在的元组,要么为空值。

  3)用户定义的完整性约束:

反映某一具体应用所涉及的数据必须满足的语义要求。

例如某个属性的取值范围在0—100之间等。

  3、从E-R图导出关系数据模型

  数据库的逻辑设计的主要工作是将E-R图转换成指定RDBMS(关系数据库管理系统)中的关系模式。

首先,从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。

实体集也可以转换成关系。

学号

姓名

性别

出生年月

班级

籍贯

2007102

张洁然

95-07-88

07动画1班

天津

2007203

李一明

95-01-87

07播音5班

广西南宁

2007305

王丽

94-09-88

07管理4班

辽宁沈阳

2007406

刘宏

92-11-88

07新闻3班

江苏南京

  *:

同一个关系模型的任两个元组值不能完全相同。

  主码:

或称为关键字、主键,简称码、键,表中的一个属性或几个属性的组合、其值能唯一地标识表中一个元组的,称为关系的主码或关键字。

例如,学生的学号。

主码属性不能取空值。

  外部关键字:

或称为外键,在一个关系中含有与另一个关系的关键字相对应的属性组称为该关系的外部关键字。

外部关键字取空值或为外部表中对应的关键字值。

例如,在学生表中含有的所属班级名字,是班级表中的关键字属性,它是学生表中的外部关键字。

  (4)关系中的数据约束:

  1)实体完整性约束:

要求关系的主键中属性值不能为空值,因为主键是唯一决定元组的,如为空值则其唯一性就成为不可能的了。

  2)参照完整性约束:

关系之间相互关联的基本约束,不允许关系引用不存在的元组,即在关系中的外键要么是所关联关系中实际存在的元组,要么为空值。

  3)用户定义的完整性约束:

反映某一具体应用所涉及的数据必须满足的语义要求。

例如某个属性的取值范围在0—100之间等。

  3、从E-R图导出关系数据模型

  数据库的逻辑设计的主要工作是将E-R图转换成指定RDBMS(关系数据库管理系统)中的关系模式。

首先,从E-R图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R图中属性也可以转换成关系的属性。

实体集也可以转换成关系。

  注释1:

层次模型是最早发展起来的数据库模型。

 4.3关系代数

  1、关系的数据结构

  关系是由若干个不同的元组所组成,因此关系可视为元组的集合。

n元关系是一个n元有序组的集合。

  关系模型的基本运算:

1)插入;2)删除;3)修改;4)查询(包括投影、选择、笛卡尔积运算)。

  2、关系操纵

  关系模型的数据操纵即是建立在关系上的数据操纵,一般有查询、增加、删除和修改四种操作。

  3、集合运算及选择、投影、连接运算

  

(1)并(∪):

关系R和S具有相同的关系模式,R和S的并是由属于R或属于S的元组构成的集合。

  

(2)差(-):

关系R和S具有相同的关系模式,R和S的差是由属于R但不属于S的元组构成的集合。

  (3)交(∩):

关系R和S具有相同的关系模式,R和S的交是由属于R且属于S的元组构成的集合。

  (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的有序组组合而成。

  例:

有两个关系R和S,分别进行并、差、交和广义笛卡尔积运算。

  (5)在关系型数据库管理系统(注释1)中,基本的关系运算有选择、投影与联接三种操作:

  1)选择:

选择指的是从二维关系表的全部记录中,把那些符合指定条件的记录挑出来。

  2)投影:

投影是从所有字段中选取一部分字段及其值进行操作,它是一种纵向操作。

  3)联接:

联接将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足联接条件的元组。

  注释1:

关系型数据库管理系统(RDBMS)是引入基于关系型模型的一个数据库管理系统(DBMS)。

这个系统必须满足以下最小标准:

(1)对用户以关系显示数据(以表格形式显示);

(2)提供关系运算以表格形式维护这些数据。

  *:

VFP是一种关系型数据库管理系统。

 4.4数据库设计方法和步骤

  

(1)数据库设计阶段包括:

需求分析、概念分析、逻辑设计、物理设计。

  

(2)数据库设计的每个阶段都有各自的任务:

  1)需求分析阶段:

这是数据库设计的第一个阶段,任务主要是收集和分析数据,这一阶段收集到的基础数据和数据流图是下一步设计概念结构的基础。

  2)概念设计阶段:

分析数据间内在语义关联,在此基础上建立一个数据的抽象模型,即形成E-R图。

  *:

数据库概念设计的过程包括选择局部应用、视图设计和视图集成。

  3)逻辑设计阶段:

将E-R图转换成指定RDBMS中的关系模式。

  4)物理设计阶段:

对数据库内部物理结构作调整并选择合理的存取路径,以提高数据库访问速度及有效利用存储空间。

例题分析

  1.选择题

  1)现实世界中,事物的一般特性在信息世界中称为

  A)实体

  B)实体键

  C)属性

  D)关系键

  【答案】C

  2)数据的逻辑独立性是指

  A)概念模式改变,外模式和应用程序不变

  B)概念模式改变,内模式不变

  C)内模式改变,概念模式不变

  D)内模式改变,外模式和应用程序不变

  【答案】A

  3)在关系数据库管理系统中,创建的视图在数据库三层结构中属于

  A)外模式

  B)存储模式

  C)内模式

  D)概念模式

  【答案】A

  4)不允许在关系中出现重复记录的约束是通过

  A)外部关系键实现

  B)索引实现

  C)主关系键实现

  D)惟一索引实现

  【答案】C

  5)关系R和S进行自然连接时,要求R和S含有一个或多个公共

  A)元组

  B)行

  C)记录

  D)属性

  【答案】D

  6)建立基本表结构时,定义字段的有效性规则是实现数据的

  A)实体完整性

  B)参照完整性

  C)域完整性

  D)表完整性

  【答案】C

  7)关系数据库管理系统应能实现专门的关系运算包括

  A)排序、索引和统计

  B)选取、投影和连接

  C)关联、更新和排序

  D)选取、投影和更新

  【答案】B

  8)数据库的物理独立性是指

  A)概念模式改变,外模式和应用程序不变

  B)内模式改变,外模式和应用程序不变

  C)内模式改变,概念模式不变

  D)概念模式改变,内模式不变

  【答案】C

  9)下列四项中,不属于数据库特点的是

  A)数据共享

  B)数据完整性

  C)数据冗余很高

  D)数据独立性高

  【答案】C

  10)数据库中存储的是

  A)数据

  B)数据模型

  C)数据之间的联系

  D)数据以及数据之间的联系

  【答案】D

  11)反映现实世界中实体及实体间联系的信息模型是

  A)关系模型

  B)层次模型

  C)网状模型

  D)E-R模型

  【答案】D

  12)下列四项中,可以直接用于表示概念模型的是

  A)实体-联系(E-R)模型

  B)关系模型

  C)层次模型

  D)网状模型

  【答案】A

  2.填空

  1)在传统集合运算中,假定有关系R和S,运算结果为RS。

  如果RS中的元组属于R或者属于S,则RS是_________运算的结果;

  如果RS中的元组属于R而不属于S,则RS是_________运算的结果;

  如果RS中的元组即属于R又属于S,则RS是_________运算的结果。

  【答案】并(或)差交(与)

  2)数据库系统各类用户对数据库的各种操作请求(数据定义、查询、更新及各种控制)都是由一个复杂的软件来完成的,这个软件叫做_________。

  【答案】数据库管理系统

  3)关系操作的特点是_____________操作。

  【答案】所有的操作均是建立在二维表上

  6)DBMS中的________________可防止多个用户同时对同一个数据库操作时可能对数据库造成的破坏。

  【答案】并发控制

  7)设关系R具有属性A1,A2,…,An,其属性集K=(Ai,Aj,…,Ak),当且仅当K满足唯一性和_____________时,K被称为关系键。

  【答案】非空值

  8)数据库管理系统(DBMS)通常提供__________、数据操纵、数据控制和数据库维护。

  【答案】数据存取和管理

  9)关系代数中专门的关系运算包括:

选择、__________、连接和除法。

  【答案】投影

  10)数据库的逻辑模型设计阶段,任务是将总体E-R模型转换成__________。

  【答案】关系模式

  11)实体完整性规则要求主码取值__________。

  【答案】唯一(不重复)

 

例:

某大学由一名校长主管,学校下设多个学院,每个学院又的多个系;每个系有一名系主任,负责聘任教师;每个教师可以承担多门课,同一门课又可由多个教师承担;每个系有多个班级,每个班级有一定数量的学生;学生在校期间要学习多门课程,学习结束后,每门课程对应一个成绩。

要求设计该大学的教学管理系统。

  某大学的组织结构图

  需求分析阶段,得到该学校的机构组织结构图如下图所示:

  E-R图设计

  首先,设计“院长”、“学院”和“系”之间的联系。

一个学院有一个院长,一个院长主管一个学校;一个系属于一个学院,一个学院有多个系。

院长与学院的关系是一对一的联系,学院和系之间是一对多的联系。

  在系里在,一个系会聘用多个教师,而一个教师只属于一个系,所以,系和教师之间的关系是一对多的联系;一门课可由多个教师讲授,同时,一个教师可讲授多门课,课程和教师之间的关系是多对多的联系。

  在系里,学生和课程之间的联系有,一个系有多个班,一个班只能属于一个系,它们之间的联系是一对多的联系;一个班有多个学生,同时,一个学生只属于一个班,所以,班级和学生之间的联系是一对多的联系;系和课程之间的联系,一个系可开设多门课,同时,一门课可被多个系开设,因此,课程和系之间的关系是多对多的联系;学生与课程之间,一个学生会选多门课,同时,一门课可被多个学生选取,因此,课程和学生之间的关系是多对多的联系。

  逻辑设计

  学院(学院编号,学院名,学院地址,院长编号)

  院长(院长编号,院长姓名,联系电话,办公地址)

  系(系编号,系名,联系电话,系地址,学院编号,系主任职工号)

  教师(职工号,姓名,性别,学历,职称,工资,联系电话,系编号)

  班级(班级编号,班级名称,学生人数,系名)

  学生(学号,身份证号,姓名,性别,出生日期,民族,籍贯,班级名)

  课程(课程编号,课程名称,学分)

  开课(系编号,课程号)

  授课(职工号,课程号)

  选课(学号,课程号,成绩)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2