1、数据库原理与应用数据库原理与应用锦州师范高等专科学校锦州师范高等专科学校计算机系计算机系2022-3-24第一章第一章 关系数据库原理关系数据库原理1.1数据库系统的基本概念数据库系统的基本概念1.2 数据库系统的特点数据库系统的特点1.3 E-R概念模型概念模型1.4 关系数据模型关系数据模型1.5 基本关系运算基本关系运算1.6 关系的规范化关系的规范化第一章第一章 关系数据库原理关系数据库原理1.1数据库系统的基本概念数据库系统的基本概念1、数据(、数据(DATA):数据库中存储的基本对象。):数据库中存储的基本对象。 数字化数字化 文字、图形、图像、声音、语言文字、图形、图像、声音、语
2、言 计算机计算机 (李明,男,(李明,男,22,1968,江苏,计算机系,江苏,计算机系,1990) 定义:描述事物的符号记录。定义:描述事物的符号记录。2、数据库(、数据库(Data Base,DB):存储在一起的相关数据的集合):存储在一起的相关数据的集合(一个表内,表间直接关联,表间间接关联),无有害的或不(一个表内,表间直接关联,表间间接关联),无有害的或不必要的冗余(重复),可为多种应用服务,数据可以共享,对必要的冗余(重复),可为多种应用服务,数据可以共享,对于拆、删、改、查等操作均可按照一种公共的可控制(权利范于拆、删、改、查等操作均可按照一种公共的可控制(权利范围内)的方法进行
3、。数据被结构化。围内)的方法进行。数据被结构化。 2022-3-24第一章第一章 关系数据库原理关系数据库原理3、数据库管理系统(数据库管理系统(Data Base Management System,简称,简称DBMS):):主要功能:(主要功能:(1)、数据定义功能()、数据定义功能(DDL,Data Definnition Language);); (2)、数据操纵功能()、数据操纵功能(DBMS,Data Manipulation Language);); 例:例:fird,insert,change,delete (3)、数据库的运行管理:建立、运行、维护,管)、数据库的运行管理:建
4、立、运行、维护,管 理、控制,保证正常;理、控制,保证正常; (4)、数据库的建立和维护功能;)、数据库的建立和维护功能;用户用户用户用户DBMS数据管理软件数据管理软件2022-3-24第一章第一章 关系数据库原理关系数据库原理4、数据库系统(、数据库系统(Data Base System,DBS):): 组成:数据库(组成:数据库(DB)、)、DBMS(开发工具)、应用系统、(开发工具)、应用系统、DBA、User(如下图如下图)图图1-1 数据库系统层次示意图数据库系统层次示意图 数据库应用系统数据库应用系统应用系统开发工具应用系统开发工具数据库管理系统数据库管理系统操作系统操作系统硬件
5、硬件数据库管理员数据库管理员专业用户专业用户最终用户最终用户2022-3-24第一章第一章 关系数据库原理关系数据库原理1.2 数据库系统的特点数据库系统的特点1、数据结构化、数据结构化 是数据库的主要特征之一。是数据库的主要特征之一。 面向全组织,具有整体的结构化。面向全组织,具有整体的结构化。2、数据的共享性、冗余度低,易扩展、数据的共享性、冗余度低,易扩展 数据数据面向整个系统面向整个系统被多用户、多应用共享使用被多用户、多应用共享使用 数据共享数据共享减少数据的冗余,节约空间减少数据的冗余,节约空间 3、数据的独立性高、数据的独立性高 物理独立性:磁盘上,物理独立性:磁盘上,DBMS,
6、变,变应用程序不变;应用程序不变; 数据数据 逻辑独立性:变逻辑独立性:变用户程序不变。用户程序不变。 简化了编程。简化了编程。 2022-3-24第一章第一章 关系数据库原理关系数据库原理4、数据有、数据有DBMS统一管理和控制统一管理和控制 DBMS的数据控制功能:的数据控制功能: (1) 数据的安全性(数据的安全性(Security)保护:泄密,破坏;)保护:泄密,破坏; (2) 数据的完整性(数据的完整性(Integrity)检查:正确,有效,相)检查:正确,有效,相容性;容性; (3) 开发(开发(Concurrency)控制:控制,协调;)控制:控制,协调; (4) 数据库恢复(数
7、据库恢复(Recovery):数据错误状态):数据错误状态正确正确状态(完整状态(完整“或一致性或一致性”) 2022-3-24第一章第一章 关系数据库原理关系数据库原理 应用程序与数据库间关系应用程序与数据库间关系应用程序应用程序1应用程序应用程序2应用程序应用程序nDBMSDB2022-3-24第一章第一章 关系数据库原理关系数据库原理1.3 E-R概念模型概念模型 模型:数据的转换模型:数据的转换 概念模型:概念模型: DBSA 用户用户 (有力工具)(有力工具) 交流语言(强语言表达能力,简单,清晰)交流语言(强语言表达能力,简单,清晰) 概念模型表示法:概念模型表示法: 实体实体联系
8、方法(联系方法(Entity-Relationship Approach):):E-R方法。方法。 抽象抽象抽象抽象现实世界现实世界概念模型概念模型信息世界信息世界数据模型数据模型机器世界机器世界2022-3-24第一章第一章 关系数据库原理关系数据库原理1、实体(、实体(Entity):客观存在并可以相互区别的事物。):客观存在并可以相互区别的事物。2、属性(、属性(Attribute):实体所具有的某些特性,通过属性对实):实体所具有的某些特性,通过属性对实 体刻画。体刻画。3、联系(、联系(Relationship):): (1)、一对一联系()、一对一联系(1:1):电影院座位):电影
9、院座位观众观众 (2)、一对多联系()、一对多联系(1:n):班级):班级学生学生 (3)、多对多联系()、多对多联系(m:n):课程):课程学生学生2022-3-24第一章第一章 关系数据库原理关系数据库原理4、实训:计算机系的教学管理、实训:计算机系的教学管理 (1)、实体及属性为)、实体及属性为教师:教师号、姓名、性别、年龄、职称、专业,码为教师号。教师:教师号、姓名、性别、年龄、职称、专业,码为教师号。学生:学号、姓名、性别、年龄、籍贯、专业,码为学号。学生:学号、姓名、性别、年龄、籍贯、专业,码为学号。课程:课程号、课号、学时数、学分、教材,码为课号。课程:课程号、课号、学时数、学分
10、、教材,码为课号。 (2)、实体间存在如下联系)、实体间存在如下联系 教师教师 课程课程 该联系命名为:授课。该联系命名为:授课。 m:n 学生学生 课程课程 该联系命名为:选课。该联系命名为:选课。 m:n 教师教师 学生学生 该联系命名为:指导。该联系命名为:指导。 1:n2022-3-24第一章第一章 关系数据库原理关系数据库原理 (3)、在)、在E-R图中规定:图中规定:实体名实体名实体属实体属性性联系名联系名2022-3-24第一章第一章 关系数据库原理关系数据库原理1nnmmn学生学生课程课程教师教师选选课课教教学学讲讲授授姓姓名名性性别别性性别别年年龄龄课程号课程号课程名课程名学
11、时学时数数年年龄龄专专业业姓姓名名职职称称教师教师号号学学号号籍籍贯贯专专业业学学分分教教材材成成绩绩时时间间地地点点(4)、教学管理)、教学管理E-R图图 2022-3-24第一章第一章 关系数据库原理关系数据库原理(5)、注意的问题:)、注意的问题: 实体联系模型要全面正确地刻画事物;实体联系模型要全面正确地刻画事物; 码要唯一(可以为多个属性);码要唯一(可以为多个属性); 考虑如何实现实体间的联系;考虑如何实现实体间的联系; 注意通过实体间的联系外反映出来的属性;注意通过实体间的联系外反映出来的属性; 联系可以存在于多个实体之间。联系可以存在于多个实体之间。 2022-3-24第一章第
12、一章 关系数据库原理关系数据库原理1.4 关系数据模型关系数据模型 1、关系数据模型的基本概念、关系数据模型的基本概念 (1)关系()关系(Relation):二维表,关系名。组成:表名,表结):二维表,关系名。组成:表名,表结 构(框架)由若干属性(列名)组成,值(若干记构(框架)由若干属性(列名)组成,值(若干记 录)。录)。 (2)元组()元组(Tuple,记录):每一行为一元组。,记录):每一行为一元组。 (3)属性(字段)和属性值()属性(字段)和属性值(Attribute and Attribute Value):每一列称为属性,属性名。):每一列称为属性,属性名。 (4)域()域
13、(Domain):属性的取值范围。):属性的取值范围。 (5)关系模式()关系模式(Relation Mode):对关系的信息结构及语义):对关系的信息结构及语义 限制的描述。限制的描述。 关系模式:对关系结构的定义;关系模式:对关系结构的定义; 关系:对值的描述。关系:对值的描述。 2022-3-24第一章第一章 关系数据库原理关系数据库原理 (6)关系字或码()关系字或码(Key):惟一标识元组的属性或属性组合。):惟一标识元组的属性或属性组合。 (7)候选关键字或候选码()候选关键字或候选码(Candidate Key):多个属性(或):多个属性(或 属性组合)都能用来惟一标识关系中的元
14、组。属性组合)都能用来惟一标识关系中的元组。 (8)主关键字或主码()主关键字或主码(Primary Key):指定为关键字的候选):指定为关键字的候选 关键字。关键字。 (9)主属性:包含在任何一个候选码中的属性称主属性。)主属性:包含在任何一个候选码中的属性称主属性。 (10)非主属性或非码属性()非主属性或非码属性(Non Primary Key):不组成码):不组成码 的属性。的属性。 (11)外部关键字或外码()外部关键字或外码(Foreign Key):不是该关系的关):不是该关系的关 键字或只是关键字的一部分,但却是另一个关系的键字或只是关键字的一部分,但却是另一个关系的 关键字
15、。关键字。 (12)主表和从表:以外码作为主码的表)主表和从表:以外码作为主码的表-主表;外码所在的主表;外码所在的 表表-从表。从表。 2022-3-24第一章第一章 关系数据库原理关系数据库原理 2、E-R图转化为表图转化为表 应遵从以下原则:应遵从以下原则: (1)、对实体,直接按其属性转化成关系表。)、对实体,直接按其属性转化成关系表。 (2)、对联系,属性包含以下部分:一是联系本身的属)、对联系,属性包含以下部分:一是联系本身的属性;二是与联系有关的实体的主关键字。性;二是与联系有关的实体的主关键字。2022-3-24第一章第一章 关系数据库原理关系数据库原理1.5 基本关系运算基本
16、关系运算1、选择、选择 选择行形成新表。选择行形成新表。 :选择运算符;:选择运算符; F:条件表达式;:条件表达式; R:被操作的表。:被操作的表。2、投影、投影 选择列形成新表。选择列形成新表。 :投影运算符;:投影运算符; A:属性名(列名);:属性名(列名); R:表名。:表名。 )(RF)(RA2022-3-24第一章第一章 关系数据库原理关系数据库原理3、连接、连接 将两个表中的行按给定条件进行拼接成一个新表。将两个表中的行按给定条件进行拼接成一个新表。 R、S:被操作的表;:被操作的表; F:条件。:条件。 (1)、等值连接:某些列值相等。)、等值连接:某些列值相等。 (2)、自
17、然连接:两个表有共同属性(列);等值连接后,去)、自然连接:两个表有共同属性(列);等值连接后,去除重复的属性后的新表。除重复的属性后的新表。 SRF2022-3-24第一章第一章 关系数据库原理关系数据库原理1.6 关系的规范化关系的规范化1、第一范式(、第一范式(1NF)(1)、定义:如果)、定义:如果R中的每个属性都是不可分解的,则称中的每个属性都是不可分解的,则称R是第是第一范式。一范式。 (2)、记为:)、记为:R1NF。 (3)、不能表中套表)、不能表中套表2022-3-24第一章第一章 关系数据库原理关系数据库原理2、第二范式(、第二范式(2NF)(1)、定义:)、定义:R为第一
18、范式,且每个非码属性都完全依赖于码为第一范式,且每个非码属性都完全依赖于码属性,则称属性,则称R是第二范式。是第二范式。 (2)、记为:)、记为:R2NF。 (3)、分解的方法:)、分解的方法:、把关系模式中对码完全函数依赖的非主属性与决定它们的码、把关系模式中对码完全函数依赖的非主属性与决定它们的码放在一个关系模式中;放在一个关系模式中;、把对码部分函数依赖的非主属性和决定它们的主属性放在一、把对码部分函数依赖的非主属性和决定它们的主属性放在一个关系模式中;个关系模式中;、检查分解后的新模式,如果仍不是、检查分解后的新模式,如果仍不是2NF,则继续按照前面的,则继续按照前面的方法进行分解,直
19、到达到要求。方法进行分解,直到达到要求。2022-3-24第一章第一章 关系数据库原理关系数据库原理3、第三范式(、第三范式(3NF)(1)、定义:)、定义:R为第二范式,且没有一个非码属性传递依赖于为第二范式,且没有一个非码属性传递依赖于码,则称码,则称R是第三范式。是第三范式。(2)、记为:)、记为:R3NF。(3)、分解的方法:)、分解的方法: 、把直接对码函数依赖的非主属性与决定它们的码放在一个关、把直接对码函数依赖的非主属性与决定它们的码放在一个关系模式中;系模式中;、把造成传递函数依赖的决定因素连同被它们决定的属性放在、把造成传递函数依赖的决定因素连同被它们决定的属性放在一个关系模
20、式中;一个关系模式中;、检查分解后的新模式,如果仍不是、检查分解后的新模式,如果仍不是3NF,则继续按照前面的,则继续按照前面的方法进行分解,直到达到要求。方法进行分解,直到达到要求。2022-3-24第一章第一章 关系数据库原理关系数据库原理4、Boyce-Codd范式(范式(BCNF)(1)、定义:如果关系模式)、定义:如果关系模式R中的所有决定因素都是码,则称中的所有决定因素都是码,则称R是是BCNF范式。范式。(2)、记为:)、记为:RBCNF。(3)、分解的方法:)、分解的方法:、在各个、在各个3NF模型中,去掉一些主属性,只保留主码,使它们模型中,去掉一些主属性,只保留主码,使它们
21、只有惟一的后选码;只有惟一的后选码;、把从各个模型中去掉的主属性,分别同各自的非主属性组成、把从各个模型中去掉的主属性,分别同各自的非主属性组成新的关系模式;新的关系模式;、检查分解后的新模式,如果仍不是、检查分解后的新模式,如果仍不是BCNF,则继续按照前面,则继续按照前面的方法进行分解,直到达到要求。的方法进行分解,直到达到要求。 2022-3-24第一章第一章 关系数据库原理关系数据库原理 作业:作业: 1、数据库系统有哪些特点?、数据库系统有哪些特点? 2、试给出三个实际情况的、试给出三个实际情况的E-R图,要求实体图,要求实体之间具有一对一、一对多、多对多各种不同的联系。之间具有一对一、一对多、多对多各种不同的联系。 实验指导:实验实验指导:实验1,实验,实验2,实验,实验3