第一章--数据库技术基础
1.1、数据库基础知识
1.2、关系数据库
1.3、数据库设计第一章目录
1.信息信息是指现实世界事物的存在方式或运动状态的表征,是客观世界在人们头脑中的反映,是可以传播和加以利用的一种知识。信息具有可感知、
可存储、可加工、可传递和可再生等自然属性。信息也是社会各行各业不可或缺的资源,这是它的社会属性。
1.1.1,信息、数据与数据管理
1.1、数据库基础知识第一章
2.数据数据是信息的载体,是描述事物的符号记录,信息是数据的内容。
描述事物的符号可以是数字,也可以是文字、图形、声音、语言等。
数据有多种表现形式,人们通过数据来认识世界、了解世界。数据可以经过编码后存入计算机加以处理。
3.数据管理数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。而数据的管理是指对数据进行的分类、组织、
编码、存储、检索和维护。它是数据处理的中心问题。
1.1.2,数据管理技术的发展数据库技术是 20世纪 60年代开始兴起的一门信息管理自动化的新兴学科,是数据管理的产物,随着计算机及其应用的不断发展,数据管理技术经历了人工管理、文件系统、
数据库系统三个阶段。
1,人工管理阶段
2,文件系统阶段
3,数据库系统阶段第一章
1,数据库通俗地讲,数据库 ( Data Base) 是存放数据的仓库 。 严格的定义是:数据库是长期存储在计算机内的,有组织的,可共享的数据集合 。 这种集合具有如下特点:
(1)数据库中的数据按一定的数据模型组织,
描述和存储 。
(2)具有较小的冗余度 。
(3)具有较高的数据独立性和易扩充性 。
(4)为各种用户共享。
1.1.3 数据库、数据库管理系 统、数据库系统第一章
2,数据库管理系统数据库管理系统 (DataBase
Management System,简称
DBMS)是位于用户与操作系统之间的一层数据管理软件,是帮助用户创建、维护和使用数据库的软件系统。
(1)数据定义功能。
(2)数据操纵功能。
(3)数据库的运行管理。
数据库管理系统是数据库系统的一个重要组成部分。
数据库管理系统应具有如下功能,
第一章数据库系统( DataBase System,简称 DBS)
是指采用数据库技术的计算机系统,狭义地讲,是由数据库、数据库管理系统构成的;
广义地讲,是由数据库、数据库管理系统及开发工具、数据库应用程序、数据库管理员和用户组成,如图 1.1所示。数据库管理员
( DataBase Administrator,简称 DBA)是专门从事数据库的建立、使用和维护等工作的数据库专业人员,他们在数据库系统中起着非常重要的作用。一般情况下,数据库系统简称为数据库。
3,数据库系统第一章用户 用户 用户应用系统应用开发工具数据库管理系统操作系统数据库数据库管理员图 1.1 数据库系统构成数据模型是现实世界数据特征的抽象,是现实世界的模拟 。 数据模型同样是现实世界中数据和信息在数据库中的抽象与表示 。
数据模型应满足三方面的要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机中实现 。
根据模型应用目的的不同,数据模型可以分为两类:一类是概念模型,它是按用户的观点来对数据和信息进行抽象,主要用于数据库设计;
另一类是结构数据模型,它是按计算机的观点建模,主要用于 DBMS的实现 。
1.1.4 数据模型第一章
1,信息世界的基本概念
(1)实体 ( Entity) 。
(2)属性 ( Attribute) 。
(3)码 ( Key) 。
(4)域 ( Domain) 。
(5)实体型 ( Entity Type) 。
(6)实体集 ( Entity Set) 。
(7)联系( Relationship)。
第一章两个实体型之间的联系可以分为三类:
·一对一联系 ( 1,1) 。
·一对多联系 ( 1,n) 。
·多对多联系 ( n:m) 。
第一章
2,概念模型的表示方法概念模型是信息世界比较真实的模拟,容易为人所理解 。 概念模型应该方便,准确地表示出信息世界中常用的概念 。 概念模型的表示方法很多,其中比较著名的是实体 - 联系方法 ( Entity-
Relationship),该方法用 E-R图来描述现实世界的概念模型 。
E-R图提供了表示实体型,属性和联系的方法 。
第一章
3,常用的结构数据模型结构数据模型直接描述数据库中数据的逻辑结构,又称为基本数据模型 。 目前,
常用的结构数据模型有 4种,它们是:
·层次模型 ( Hierarchical Model)
·网状模型 ( Network Model)
·关系模型 ( Relational Model)
·面向对象模型 ( Object Oriented Model)
第一章
1.1.5 数据库系统的体系结构
1,数据库的三级模式两级映像结构 它由外模式,
模式和内模式构成 。
(1)模式 。 模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,也是所有用户的公共数据视图 。
(2)外模式 。 外模式又称子模式或用户模式,是模式的子集,是数据的局部逻辑结构,也是数据库用户看到的数据视图 。
(3)内模式 。 内模式也称存储模式,是数据在数据库中的内部表示,即数据的物理结构和存储方式描述 。
第一章外模式 /内模式映像 B
应用 1 应用 2 应用 3 应用 4 应用 5
外模式 A 外模式 B
外模式 /内模式映像 A
模式模式/内模式映像内模式数据库数据库管理系统
OS
由数据库管理员建立和维护图 1.3 数据库的三级模式两级映像结构第一章
2.数据库的数据独立性数据库管理系统在这三级模式中提供了两级映像:
( 1) 外模式 /模式映像 。 所谓外模式 /模式映像,就是存在外模式与模式之间的某种对应关系,这些映像定义通常包含在外模式的描述中 。
( 2)模式 /内模式映像。所谓模式 /内模式映像,就是数据库全局逻辑结构与存储结构之间的对应关系,简称数据的物理独立性。
第一章
1.2 关系数据库
1.2.1 关系模型关系模型由三部分组成:
数据结构、
关系操作、
关系的完整性。
关系数据库是当前信息管理系统中最常用的数据库,关系数据库采用关系模式,应用关系代数的方法来处理数据库中的数据。
本节介绍关系模型、关系数据理论与关系数据库标准语言。
第一章
(1)关系模型:( Relational Model)。
(2)属性和值域,( Attribute) ( Domain) 。
(3)关系模式,( Relation Schema) 。
(4)元组与关系,( Tuple),
(5)关键字或码,( Key) 。
(6)候选关键字或候选码,( Candidate
Key) 。
1,关系模型的基本术语第一章
(7)主关键字或主码:( Primary Key)。
(8)非主属性或非码属性:( Non Primary
Attribute)。
(9)外部关键字或外键,( Foreign Key) 。
(10)从表与主表:是指以外键相关联的两个表,以外键为主键的表称为主表,
外键所在的表称为从表。
第一章
2,关系模型的数据结构关系模型的数据结构是一种二维表格结构,在关系模型中现实世界的实体与实体之间的联系均用二维表格来表示,如图 1.4
所示。
学号 姓名 性别 出生日期 系部代码 入学时间
010101001001 张斌 男 1970-5-4 01 2001-9-18
010102002001 周红瑜 女 1972-7-8 01 2001-9-18
010201001001 贾凌云 男 1974-9-1 02 2002-9-18
关系 属性(列) 关系名 学生表 属性(列)和属性名 关系模式主键(码)
图 1.4 关系模型数据结构第一章
3,关系模型的数据完整性数据完整性是指关系模型中数据的正确性与一致性 。 关系模型允许定义三类完整性约束:实体完整性,参照完整性和用户自定义完整性约束 。
(1) 实 体 完 整 性 规 则 ( Entity Integrity
Rule) 。
(2)参照完整性规则 ( Reference Integrity
Rule) 。
(3)用户自定义完整性规则 。
第一章
4,关系操作关系操作有选择操作 ( Select),投影
( Project ),连接 ( Join ),除
( Divide ),并 ( Union ),交
( Intersection),差 (Difference)等查询
( Query) 操作和增加 ( Insert),删除
( Delete),修改 ( Update) 等更新操作两大部分 。
SQL(Structured Query Language)语言是关系数据库的标准语言,它提供了数据定义、数据查询和数据控制功能。
第一章
(1)SQL的数据定义功能。 ·SQL定义基本表的语句有:
CREATE TABLE 创建表
DROP TABLE 删除表
ALTER TABLE 修改表
·SQL定义视图的语句有
CREATE VIEW 创建视图
DROP VIEW 删除视图
·SQL定义索引的语句有:
CREATE INDEX 创建索引
DROP INDEX 删除索引
(2)SQL的数据查询功能 。
(3)SQL的数据更新功能 。
SQL的数据更新功能主要包括 INSERT,
DELETE,UPDATE等三个语句 。
(4)SQL的访问控制功能 。 SQL的数据控制功能是指控制用户对数据的存取权力 。
(5)SQL嵌入式使用方式 。 SQL具有两种使用方式,既可以作为独立的语言在终端交互方式下使用,又可以将 SQL语句嵌入某种高级语言 ( 如 C,C++,Java等 ) 之中使用 。
第一章第一章前面已经讨论了数据库系统的一些基本概念、关系模型的三个部分以及关系数据库的标准语言。那么,针对一个具体的数据库应用问题,应该构造几个关系模式?
每个关系由哪些属性组成?即如何构造适合于它的数据模式?这是关系数据库逻辑设计的问题。为了解决上述问题并使数据库设计走向规范,1971年 E.F.Codd提出了规范化理论。关系数据理论就是指导产生一个具体确定的、好的数据库模式的理论体系。
1.2.2 关系数据理论第一章
1.问题的提出例如,给出如下一组关系实例 。
学生关系:学生 ( 学号,姓名,性别,出生日期,
入学时间,系部代码 )
课程关系:课程 ( 课程号,课程名,学时数,学分 )
选课关系:选课 ( 学号,课程号,成绩 )
现构造以下两种数据模式 。
(1)只有一个关系模式:
学生 -选课 -课程 ( 学号,姓名,性别,出生日期,
入学时间,系部代码,课程号,课程名,学时数,学分,成绩 )
(2)用三个关系模式:学生,课程,选课 。
比较这两种设计方案?见教材 )
第一章
2,数据依赖
(1)函数依赖。
函数依赖的定义:设 R( U) 是属性集 U上的关系模式,X与 Y是 U的子集,若对于 R( U) 的任意一个可能的关系 r,r中不可能存在两个元组在 X上的属性值相等,而在 Y上的属性值不等 ( 即若它们在
X上的属性值相等,在 Y上的属性值也一定相等 ),
则称,X函数决定 Y”或,Y函数依赖于 X”,记作 X→Y,
并称 X为决定因素 。
(2)函数依赖的分类 。
关系数据库中函数依赖主要有如下几种:
平凡函数依赖和非平凡函数依赖。
完全函数依赖和部分函数依赖。
多值依赖。
第一章
3、关系模式的规范化
( 1),第一范式。
如果关系模式 R的每一个属性都是不可分解的,
则 R为第一范式的模式,记为,R∈1NF 。
( 2),第二范式。
如果关系模式 R是第一范式,且每个非主属性都完全函数依赖于码,则称 R为满足第二范式的模式,记为,R∈ 2NF。
( 3),第三范式。
如果关系模式 R是第二范式,且没有一个非码属性是传递函数依赖于候选码属性,则称 R为满足第三范式的模式,记为,R∈3NF 模式。
第一章
( 4),扩充第三范式。
如果关系模式 R是第三范式,且每一个决定因素都包含有码,则称 R为满足扩充第三范式的模式,记为,R∈ BCNF。
( 5)、第四范式。
如果关系模式 R是第三范式,且每个非平凡多值依赖 X→→ Y( Y不是 X的子集),X都含有码,则称 R为满足第四范式的模式,记为:
R∈ 4NF。
1NF
2NF
3NF
BCNF
4NF
消除非主属性对码的部分函数依赖消除非主属性对码的传递函数依赖消除主属性对码的部分和传递函数依赖消除非平凡且非函数依赖的多值依赖消除决定因素非码的非平凡函数依赖图1.
8
各种范式及规范化过程
1.3 数据库设计
1.3.1 数据库设计的任务、特点和步骤
1,数据库设计的任务
2,数据库设计的特点数据库设计主要包括,
I 结构特性设计
II 行为特性设计第一章
3、数据库设计的基本步骤按照规范设计的方法
,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段
:如图 1.9所示 。
·需求分析;
·概念结构设计;
·逻辑结构设计;
·物理结构设计;
·数据库实施;
·数据库运行和维护不满意不满意物理设计应用需求
(数据,处理
)
转换规则、
DBMS功能、
优化方法
DBMS的详细功能书
(数据,处理
)
需求收集和分析概念设计逻辑设计物理设计系统实施试运行运行和维护概念设计逻辑设计实施运行和维护需求分析图 1.9 数据库设计步骤第一章
1.3.2 需求分析的任务
1,需求分析的任务获得用户对数据库的如下要求:
( 1) 信息要求 。 指用户要从应用系统中获得信息的内容与性质 。 由信息的要求可以导出数据的要求,
即在数据库中存储哪些数据 。
( 2) 处理要求 。 指用户要完成什么处理功能,对处理的响应时间有什么要求,是什么样的处理方式
( 批处理还是联机处理 ) 。
( 3) 安全性与完整性要求 。
第一章
2,需求分析的方法需求分析一般要经过如下几个步骤:
( 1) 需求的收集:
( 2) 需求的分析整理:
数据业务流程分析 ;
数据分析统计 ;
分析数据的各种处理功能,
3,阶段成果需求分析阶段成果是系统需求说明书,此说明书主要包括数据流图、数据字典、系统功能结构图和必要的说明。
第一章
1.3.3 概念结构设计
1,概念结构 设计 的方法和步骤概念结构设计的方法有如下几种 。
·自顶向下:首先定义全局概念结构的框架,然后逐步细化 。
·自底向上:先定义每一局部应用的概念结构,然后按一定的规则把它们集成,得到全局的概念结构 。
·逐步扩张:首先定义核心结构,然后向外扩展 。
·混合结构:就是将自顶向下和自底向上结合起来,
先用前一种方法确定概念结构的框架,再用自底向上设计局部概念结构,然后再结合起来 。
第一章
2,采用 E-R方法的数据库概念设计步骤采用 E-R方法的数据库概念设计步骤分三步 。
( 1) 设计局部 E-R模型,局部
E-R图 的设计步骤如图 1.10所示 。
·属性不能与其他实体具有联系
( 2)设计全局 E-R模型。
( 3)全局 E-R模型的优化。
采用以下优化方法:
·合并相关的实体类型。
·消除冗余属性与联系。
需求分析说明书确定局部结构范围定义实体定义联系定义属性属性分配完否
Y
N
图 1.10 局部 E-R模型设计步骤第一章
1.3.4 逻辑结构设计
1,逻辑结构设计的步骤由于现在设计的数据库应用系统都普遍采用关系模型的 RDBMS,所以这里仅介绍关系数据库逻辑结构设计 。 关系数据库逻辑结构设计一般分三步:
·将概念结构向一般的关系模型转换 。
·将转换来的关系模型向特定的 RDBMS
支持的数据模型转换 。
·对数据模型进行优化 。
第一章
2,E-R模型向关系数据库的转换规则
E-R模型向关系数据库的转换规则是:
( 1) 一个实体型转换为一个关系模式 。 实体的属性就是关系的属性,实体的码就是关系的码 。
( 2) 一个 1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并 。 如果转换为一个独立的关系模式,则相连的每个实体的码及该联系的属性是该关系模式的属性,每个实体的码是该关系模式的候选码 。
第一章
( 3)一个 1:n联系可以转换为一个独立的关系模式,也可以与 n段对应的关系模式合并。如果转换为一个独立的关系模式,与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,
而关系的码为 n端实体的码。
( 4)一个 m:n联系转换为一个关系模式,与该联系相连的各个实体的码及联系本身的属性转换为关系的属性,而该关系的码为各实体的码的组合。
( 5)三个以上的实体间的一个多元联系可以转换为一个关系模式,与该多元联系相连的各实体的码及联系本身的属性转换为关系的属性,而该关系的码为各实体码的组合。
3,关系数据库的逻辑设计关系数据库逻辑设计的过程如下:
( 1) 导出初始的关系模式:将 E-R模型按规则转换成关系模式 。
( 2) 规范化处理:消除异常,改善完整性,一致性和存储效率,一般达到 3NF就可以了 。
( 3) 模式评价:检查数据库模式是否能满足用户的要求,它包括功能评价和性能评价 。
( 4) 优化模式:采用增加,合并,分解关系的方法优化数据模型的结构,提高系统性能 。
( 5) 形成逻辑设计说明书 。
第一章
1.3.5 数据库设计案例案例如下:高校学分制选课管理信息系统要求,学生根据开课目录填写选课单进行选课。系统根据教学计划检查应修的必修课及其他课程并自动选择;检查是否存在未取得学分的必修课,如果存在,则提示重选;学生按学分制选课规则选修课程;查询学生的各门课程的成绩、学分及绩点。
1,画选课管理信息系统数据流图;
2.画选课管理信息系统 E-R图;
3.画选课管理信息系统关系模式;
第一章谢谢各位同学!
返回主页第一章
1.1、数据库基础知识
1.2、关系数据库
1.3、数据库设计第一章目录
1.信息信息是指现实世界事物的存在方式或运动状态的表征,是客观世界在人们头脑中的反映,是可以传播和加以利用的一种知识。信息具有可感知、
可存储、可加工、可传递和可再生等自然属性。信息也是社会各行各业不可或缺的资源,这是它的社会属性。
1.1.1,信息、数据与数据管理
1.1、数据库基础知识第一章
2.数据数据是信息的载体,是描述事物的符号记录,信息是数据的内容。
描述事物的符号可以是数字,也可以是文字、图形、声音、语言等。
数据有多种表现形式,人们通过数据来认识世界、了解世界。数据可以经过编码后存入计算机加以处理。
3.数据管理数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的总和。而数据的管理是指对数据进行的分类、组织、
编码、存储、检索和维护。它是数据处理的中心问题。
1.1.2,数据管理技术的发展数据库技术是 20世纪 60年代开始兴起的一门信息管理自动化的新兴学科,是数据管理的产物,随着计算机及其应用的不断发展,数据管理技术经历了人工管理、文件系统、
数据库系统三个阶段。
1,人工管理阶段
2,文件系统阶段
3,数据库系统阶段第一章
1,数据库通俗地讲,数据库 ( Data Base) 是存放数据的仓库 。 严格的定义是:数据库是长期存储在计算机内的,有组织的,可共享的数据集合 。 这种集合具有如下特点:
(1)数据库中的数据按一定的数据模型组织,
描述和存储 。
(2)具有较小的冗余度 。
(3)具有较高的数据独立性和易扩充性 。
(4)为各种用户共享。
1.1.3 数据库、数据库管理系 统、数据库系统第一章
2,数据库管理系统数据库管理系统 (DataBase
Management System,简称
DBMS)是位于用户与操作系统之间的一层数据管理软件,是帮助用户创建、维护和使用数据库的软件系统。
(1)数据定义功能。
(2)数据操纵功能。
(3)数据库的运行管理。
数据库管理系统是数据库系统的一个重要组成部分。
数据库管理系统应具有如下功能,
第一章数据库系统( DataBase System,简称 DBS)
是指采用数据库技术的计算机系统,狭义地讲,是由数据库、数据库管理系统构成的;
广义地讲,是由数据库、数据库管理系统及开发工具、数据库应用程序、数据库管理员和用户组成,如图 1.1所示。数据库管理员
( DataBase Administrator,简称 DBA)是专门从事数据库的建立、使用和维护等工作的数据库专业人员,他们在数据库系统中起着非常重要的作用。一般情况下,数据库系统简称为数据库。
3,数据库系统第一章用户 用户 用户应用系统应用开发工具数据库管理系统操作系统数据库数据库管理员图 1.1 数据库系统构成数据模型是现实世界数据特征的抽象,是现实世界的模拟 。 数据模型同样是现实世界中数据和信息在数据库中的抽象与表示 。
数据模型应满足三方面的要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机中实现 。
根据模型应用目的的不同,数据模型可以分为两类:一类是概念模型,它是按用户的观点来对数据和信息进行抽象,主要用于数据库设计;
另一类是结构数据模型,它是按计算机的观点建模,主要用于 DBMS的实现 。
1.1.4 数据模型第一章
1,信息世界的基本概念
(1)实体 ( Entity) 。
(2)属性 ( Attribute) 。
(3)码 ( Key) 。
(4)域 ( Domain) 。
(5)实体型 ( Entity Type) 。
(6)实体集 ( Entity Set) 。
(7)联系( Relationship)。
第一章两个实体型之间的联系可以分为三类:
·一对一联系 ( 1,1) 。
·一对多联系 ( 1,n) 。
·多对多联系 ( n:m) 。
第一章
2,概念模型的表示方法概念模型是信息世界比较真实的模拟,容易为人所理解 。 概念模型应该方便,准确地表示出信息世界中常用的概念 。 概念模型的表示方法很多,其中比较著名的是实体 - 联系方法 ( Entity-
Relationship),该方法用 E-R图来描述现实世界的概念模型 。
E-R图提供了表示实体型,属性和联系的方法 。
第一章
3,常用的结构数据模型结构数据模型直接描述数据库中数据的逻辑结构,又称为基本数据模型 。 目前,
常用的结构数据模型有 4种,它们是:
·层次模型 ( Hierarchical Model)
·网状模型 ( Network Model)
·关系模型 ( Relational Model)
·面向对象模型 ( Object Oriented Model)
第一章
1.1.5 数据库系统的体系结构
1,数据库的三级模式两级映像结构 它由外模式,
模式和内模式构成 。
(1)模式 。 模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,也是所有用户的公共数据视图 。
(2)外模式 。 外模式又称子模式或用户模式,是模式的子集,是数据的局部逻辑结构,也是数据库用户看到的数据视图 。
(3)内模式 。 内模式也称存储模式,是数据在数据库中的内部表示,即数据的物理结构和存储方式描述 。
第一章外模式 /内模式映像 B
应用 1 应用 2 应用 3 应用 4 应用 5
外模式 A 外模式 B
外模式 /内模式映像 A
模式模式/内模式映像内模式数据库数据库管理系统
OS
由数据库管理员建立和维护图 1.3 数据库的三级模式两级映像结构第一章
2.数据库的数据独立性数据库管理系统在这三级模式中提供了两级映像:
( 1) 外模式 /模式映像 。 所谓外模式 /模式映像,就是存在外模式与模式之间的某种对应关系,这些映像定义通常包含在外模式的描述中 。
( 2)模式 /内模式映像。所谓模式 /内模式映像,就是数据库全局逻辑结构与存储结构之间的对应关系,简称数据的物理独立性。
第一章
1.2 关系数据库
1.2.1 关系模型关系模型由三部分组成:
数据结构、
关系操作、
关系的完整性。
关系数据库是当前信息管理系统中最常用的数据库,关系数据库采用关系模式,应用关系代数的方法来处理数据库中的数据。
本节介绍关系模型、关系数据理论与关系数据库标准语言。
第一章
(1)关系模型:( Relational Model)。
(2)属性和值域,( Attribute) ( Domain) 。
(3)关系模式,( Relation Schema) 。
(4)元组与关系,( Tuple),
(5)关键字或码,( Key) 。
(6)候选关键字或候选码,( Candidate
Key) 。
1,关系模型的基本术语第一章
(7)主关键字或主码:( Primary Key)。
(8)非主属性或非码属性:( Non Primary
Attribute)。
(9)外部关键字或外键,( Foreign Key) 。
(10)从表与主表:是指以外键相关联的两个表,以外键为主键的表称为主表,
外键所在的表称为从表。
第一章
2,关系模型的数据结构关系模型的数据结构是一种二维表格结构,在关系模型中现实世界的实体与实体之间的联系均用二维表格来表示,如图 1.4
所示。
学号 姓名 性别 出生日期 系部代码 入学时间
010101001001 张斌 男 1970-5-4 01 2001-9-18
010102002001 周红瑜 女 1972-7-8 01 2001-9-18
010201001001 贾凌云 男 1974-9-1 02 2002-9-18
关系 属性(列) 关系名 学生表 属性(列)和属性名 关系模式主键(码)
图 1.4 关系模型数据结构第一章
3,关系模型的数据完整性数据完整性是指关系模型中数据的正确性与一致性 。 关系模型允许定义三类完整性约束:实体完整性,参照完整性和用户自定义完整性约束 。
(1) 实 体 完 整 性 规 则 ( Entity Integrity
Rule) 。
(2)参照完整性规则 ( Reference Integrity
Rule) 。
(3)用户自定义完整性规则 。
第一章
4,关系操作关系操作有选择操作 ( Select),投影
( Project ),连接 ( Join ),除
( Divide ),并 ( Union ),交
( Intersection),差 (Difference)等查询
( Query) 操作和增加 ( Insert),删除
( Delete),修改 ( Update) 等更新操作两大部分 。
SQL(Structured Query Language)语言是关系数据库的标准语言,它提供了数据定义、数据查询和数据控制功能。
第一章
(1)SQL的数据定义功能。 ·SQL定义基本表的语句有:
CREATE TABLE 创建表
DROP TABLE 删除表
ALTER TABLE 修改表
·SQL定义视图的语句有
CREATE VIEW 创建视图
DROP VIEW 删除视图
·SQL定义索引的语句有:
CREATE INDEX 创建索引
DROP INDEX 删除索引
(2)SQL的数据查询功能 。
(3)SQL的数据更新功能 。
SQL的数据更新功能主要包括 INSERT,
DELETE,UPDATE等三个语句 。
(4)SQL的访问控制功能 。 SQL的数据控制功能是指控制用户对数据的存取权力 。
(5)SQL嵌入式使用方式 。 SQL具有两种使用方式,既可以作为独立的语言在终端交互方式下使用,又可以将 SQL语句嵌入某种高级语言 ( 如 C,C++,Java等 ) 之中使用 。
第一章第一章前面已经讨论了数据库系统的一些基本概念、关系模型的三个部分以及关系数据库的标准语言。那么,针对一个具体的数据库应用问题,应该构造几个关系模式?
每个关系由哪些属性组成?即如何构造适合于它的数据模式?这是关系数据库逻辑设计的问题。为了解决上述问题并使数据库设计走向规范,1971年 E.F.Codd提出了规范化理论。关系数据理论就是指导产生一个具体确定的、好的数据库模式的理论体系。
1.2.2 关系数据理论第一章
1.问题的提出例如,给出如下一组关系实例 。
学生关系:学生 ( 学号,姓名,性别,出生日期,
入学时间,系部代码 )
课程关系:课程 ( 课程号,课程名,学时数,学分 )
选课关系:选课 ( 学号,课程号,成绩 )
现构造以下两种数据模式 。
(1)只有一个关系模式:
学生 -选课 -课程 ( 学号,姓名,性别,出生日期,
入学时间,系部代码,课程号,课程名,学时数,学分,成绩 )
(2)用三个关系模式:学生,课程,选课 。
比较这两种设计方案?见教材 )
第一章
2,数据依赖
(1)函数依赖。
函数依赖的定义:设 R( U) 是属性集 U上的关系模式,X与 Y是 U的子集,若对于 R( U) 的任意一个可能的关系 r,r中不可能存在两个元组在 X上的属性值相等,而在 Y上的属性值不等 ( 即若它们在
X上的属性值相等,在 Y上的属性值也一定相等 ),
则称,X函数决定 Y”或,Y函数依赖于 X”,记作 X→Y,
并称 X为决定因素 。
(2)函数依赖的分类 。
关系数据库中函数依赖主要有如下几种:
平凡函数依赖和非平凡函数依赖。
完全函数依赖和部分函数依赖。
多值依赖。
第一章
3、关系模式的规范化
( 1),第一范式。
如果关系模式 R的每一个属性都是不可分解的,
则 R为第一范式的模式,记为,R∈1NF 。
( 2),第二范式。
如果关系模式 R是第一范式,且每个非主属性都完全函数依赖于码,则称 R为满足第二范式的模式,记为,R∈ 2NF。
( 3),第三范式。
如果关系模式 R是第二范式,且没有一个非码属性是传递函数依赖于候选码属性,则称 R为满足第三范式的模式,记为,R∈3NF 模式。
第一章
( 4),扩充第三范式。
如果关系模式 R是第三范式,且每一个决定因素都包含有码,则称 R为满足扩充第三范式的模式,记为,R∈ BCNF。
( 5)、第四范式。
如果关系模式 R是第三范式,且每个非平凡多值依赖 X→→ Y( Y不是 X的子集),X都含有码,则称 R为满足第四范式的模式,记为:
R∈ 4NF。
1NF
2NF
3NF
BCNF
4NF
消除非主属性对码的部分函数依赖消除非主属性对码的传递函数依赖消除主属性对码的部分和传递函数依赖消除非平凡且非函数依赖的多值依赖消除决定因素非码的非平凡函数依赖图1.
8
各种范式及规范化过程
1.3 数据库设计
1.3.1 数据库设计的任务、特点和步骤
1,数据库设计的任务
2,数据库设计的特点数据库设计主要包括,
I 结构特性设计
II 行为特性设计第一章
3、数据库设计的基本步骤按照规范设计的方法
,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段
:如图 1.9所示 。
·需求分析;
·概念结构设计;
·逻辑结构设计;
·物理结构设计;
·数据库实施;
·数据库运行和维护不满意不满意物理设计应用需求
(数据,处理
)
转换规则、
DBMS功能、
优化方法
DBMS的详细功能书
(数据,处理
)
需求收集和分析概念设计逻辑设计物理设计系统实施试运行运行和维护概念设计逻辑设计实施运行和维护需求分析图 1.9 数据库设计步骤第一章
1.3.2 需求分析的任务
1,需求分析的任务获得用户对数据库的如下要求:
( 1) 信息要求 。 指用户要从应用系统中获得信息的内容与性质 。 由信息的要求可以导出数据的要求,
即在数据库中存储哪些数据 。
( 2) 处理要求 。 指用户要完成什么处理功能,对处理的响应时间有什么要求,是什么样的处理方式
( 批处理还是联机处理 ) 。
( 3) 安全性与完整性要求 。
第一章
2,需求分析的方法需求分析一般要经过如下几个步骤:
( 1) 需求的收集:
( 2) 需求的分析整理:
数据业务流程分析 ;
数据分析统计 ;
分析数据的各种处理功能,
3,阶段成果需求分析阶段成果是系统需求说明书,此说明书主要包括数据流图、数据字典、系统功能结构图和必要的说明。
第一章
1.3.3 概念结构设计
1,概念结构 设计 的方法和步骤概念结构设计的方法有如下几种 。
·自顶向下:首先定义全局概念结构的框架,然后逐步细化 。
·自底向上:先定义每一局部应用的概念结构,然后按一定的规则把它们集成,得到全局的概念结构 。
·逐步扩张:首先定义核心结构,然后向外扩展 。
·混合结构:就是将自顶向下和自底向上结合起来,
先用前一种方法确定概念结构的框架,再用自底向上设计局部概念结构,然后再结合起来 。
第一章
2,采用 E-R方法的数据库概念设计步骤采用 E-R方法的数据库概念设计步骤分三步 。
( 1) 设计局部 E-R模型,局部
E-R图 的设计步骤如图 1.10所示 。
·属性不能与其他实体具有联系
( 2)设计全局 E-R模型。
( 3)全局 E-R模型的优化。
采用以下优化方法:
·合并相关的实体类型。
·消除冗余属性与联系。
需求分析说明书确定局部结构范围定义实体定义联系定义属性属性分配完否
Y
N
图 1.10 局部 E-R模型设计步骤第一章
1.3.4 逻辑结构设计
1,逻辑结构设计的步骤由于现在设计的数据库应用系统都普遍采用关系模型的 RDBMS,所以这里仅介绍关系数据库逻辑结构设计 。 关系数据库逻辑结构设计一般分三步:
·将概念结构向一般的关系模型转换 。
·将转换来的关系模型向特定的 RDBMS
支持的数据模型转换 。
·对数据模型进行优化 。
第一章
2,E-R模型向关系数据库的转换规则
E-R模型向关系数据库的转换规则是:
( 1) 一个实体型转换为一个关系模式 。 实体的属性就是关系的属性,实体的码就是关系的码 。
( 2) 一个 1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并 。 如果转换为一个独立的关系模式,则相连的每个实体的码及该联系的属性是该关系模式的属性,每个实体的码是该关系模式的候选码 。
第一章
( 3)一个 1:n联系可以转换为一个独立的关系模式,也可以与 n段对应的关系模式合并。如果转换为一个独立的关系模式,与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,
而关系的码为 n端实体的码。
( 4)一个 m:n联系转换为一个关系模式,与该联系相连的各个实体的码及联系本身的属性转换为关系的属性,而该关系的码为各实体的码的组合。
( 5)三个以上的实体间的一个多元联系可以转换为一个关系模式,与该多元联系相连的各实体的码及联系本身的属性转换为关系的属性,而该关系的码为各实体码的组合。
3,关系数据库的逻辑设计关系数据库逻辑设计的过程如下:
( 1) 导出初始的关系模式:将 E-R模型按规则转换成关系模式 。
( 2) 规范化处理:消除异常,改善完整性,一致性和存储效率,一般达到 3NF就可以了 。
( 3) 模式评价:检查数据库模式是否能满足用户的要求,它包括功能评价和性能评价 。
( 4) 优化模式:采用增加,合并,分解关系的方法优化数据模型的结构,提高系统性能 。
( 5) 形成逻辑设计说明书 。
第一章
1.3.5 数据库设计案例案例如下:高校学分制选课管理信息系统要求,学生根据开课目录填写选课单进行选课。系统根据教学计划检查应修的必修课及其他课程并自动选择;检查是否存在未取得学分的必修课,如果存在,则提示重选;学生按学分制选课规则选修课程;查询学生的各门课程的成绩、学分及绩点。
1,画选课管理信息系统数据流图;
2.画选课管理信息系统 E-R图;
3.画选课管理信息系统关系模式;
第一章谢谢各位同学!
返回主页第一章