第03章 关系运算和完整性约束
- 格式:ppt
- 大小:269.00 KB
- 文档页数:43


第一章 绪论
4个基本概念:数据、数据库、数据库管理系统、数据库系统
数据:描述事物的符号记录
数据的含义称为数据的语义
计算机系统层次结构:硬件、操作系统、数据库管理系统、应用开发工具、应用系统
数据库发展阶段:人工管理阶段、文件系统阶段、数据库系统阶段。从文件系统到数据库系统标着着数据管理技术的飞跃。
数据库是计算机的基础软件
数据库系统特点:
数据结构化
数据共享性高、冗余度低且易扩充
数据独立性高
物理独立性:指用户的应用程序与数据库中数据的物理储存时相互独立的。
逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。
数据由数据库管理系统统一管理和控制
数据模型: 是数据库系统的核心和基础。描述了系统的静态特性、动态特性和完整性约束条件。
第一类:概念模型
第二类:逻辑模型和物理模型
概念模型表示法:实体联系方法:用E-R图表示。
数据模型的组成要素:
数据结构
数据操作
数据的完整性约束条件
常用数据模型:
层次模型
网状模型
关系模型:最重要的数据模型,是用二维表的形式表示实体和实体间联系的数据模型。
面向对象数据类型
对象关系的数据模型
半结构化数据模型
实体:客观存在且相互可区别的事物。实体间联系:一对一、一对多、多对多。
基本层次联系:指两个记录以及它们之间一对多(包括一对一)的联系。
关系模型要求关系必须是规范化的。
模式:是数据库中全体数据的逻辑结构和特征的描述。只涉及“型”,不涉及值。
实例:模式的一个具体值。
模式是相对稳定的、实例是相对变动的。
三级模式结构:
模式,也称为逻辑模式
外模式,也称为子模式或用户模式。
内模式:也曾内存储模式。一个数据库中只能有一个内模式。
两种映像:外模式/模式映像、模式/内模式映像。
第二章 关系数据库
数据模型一般来说是由三个部分组成:
数据结构
数据操作
数据约束
域:一组具有相同数据类型的值的集合。
一个域允许不同取值的个数称为这个域的基数。
第3章关系数据库
1. 试述关系模型的三个组成部分。 解: 关系模型的三个组成部分 (1) 关系数据模型的数据结构 (2) 关系数据模型的操纵与完整性约束 (3) 关系数据模型的存储结构 2. 解释下列术语的含义: ①笛卡尔积;②主码;③候选码; ④外码;⑤关系;⑥关系模式;⑦关系数据库 解: ①笛卡尔积:两个分别为n目和m目的关系R和S的笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有K2个元组,则关系R和关系S的笛卡尔积有k1×k2个元组。记作: R×S={trts|tr∈R⋀ts∈S} ②主码:若关系中的某一属性组的值能唯一的标识一个元组,则称该属性组为候选码。若一个关系有多个候选码,则选定其中一个为主码。 ③候选码:若关系中的某一属性组的值能唯一的标识一个元组,则称该属性组为候选码。 ④外码:如果关系模式R中的某属性集是另一个关系模式S的主码,则该属性集为关系模式R的外码。 ⑤关系:关系是集合论的一个概念,也是关系模型的数据结构,它只包含单一的数据结构——关系。在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。在用户看来,一个关系就是一张二维表,这种简单的数据结构能够表达丰富的语义。 ⑥关系模式:关系的描述称为关系模式。它可以形式化地表示为R(U,D,DOM,F)其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映像集合,F为属性间数据的依赖关系集合。 ⑦关系数据库:在关系模型中,实体以及实体之间的联系都是通过关系来表示的。因此,在一个给定的应用领域中,所有实体以及实体之间的联系所对应的关系的集合就构成一个关系数据库。 3. 关系数据库的三个完整性约束是什么?各是什么含义? 解: 关系模式中有3类完整性约束:实体完整性、参照完整性和用户自定义完整性。 实体完整性:若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值。 参照完整性:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS相对应(基本关系R与S不一定是不同的关系),则对于R中每个元组在F上的值必须为: 或者取空值(F的每个属性值均为空值)。 或者等于S中某个元组的主码值。 用户自定义完整性:用户定义的完整性就是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。 4. 连接运算有哪些?等值连接和自然连接的区别是什么? 解: 连接运算中有两种最为重要、也最为常用的连接:一种是等值连接(Equivalent join),另一种是自然连接(Natural join)。连接运算称为等值连接。 等值连接是从关系R和S的笛卡尔积中选取关系A和关系B属性值相同的那些元组。 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。 5. 对参与并、交、差运算的两个关系R、S有什么要求? 答:关系R和S具有相同的目n(即两个关系都有n个属性),其相应的属性取自同一个域。 6. 关系代数运算分为哪两大类?说明每种运算的操作含义。 解: 关系代数的运算根据运算符的不同可分为传统的集合运算和专门的关系运算两大类。 在传统的集合运算将关系看成是元组的集合,它包括集合的并运算、交运算、差运算和笛卡尔积运算。 专门的关系运算除了把关系看成是元组的集合外,还通过运算表达了查询的要求,它包括选择、投影、连接和除运算。 各种运算的操作含义: (1) 并关系R与关系S的并记为:R∪S=*t|t∈R⋁t∈S+。关系R与关系S的并由属于R或属于S的所有元组组成。 (2) 交关系R与关系S的交记为:R∩S=*t∈R⋀t∈S+。关系R与关系S的交由属于R又属于S的所有元组组成。 (3) 差关系R与关系S的差记为:R-S=*t|t∈R⋀t∉S+。关系R与关系S的差由属于R而不属于S的所有元组组成。 (4) 笛卡尔积两个分别为n目和m目的关系R和S的笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有K2个元组,则关系R和关系S的笛卡尔积有k1×k2个元组。记作:R×S=*trts|tr∈R⋀ts∈S+ (5) 选择选择运算是一个单目运算,它是在关系r中查找满足给定谓词(即选择条件)的所有元组,记作: σFR=*t|t∈R⋀Ft='真'} (6) 投影投影运算也是一个单目运算,它是从一个关系R中选取所需要的列组成一个新关系,记作: πAR=*t,A-|t∈R+ (7) 连接连接运算是一个二目运算,它是从二个关系的笛卡儿积中选取满足一定连接条件的元组,记作: R⋈SAθB={trts|tr∈R⋀ts∈S⋀tr,A-θts,B-} (8) 除给定关系R(X,Y)和S(Y,Z),其中X、Y、Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X) ,P是R中满足下列条件的元组在X属性列上的投影:元组在X上的分量值x的像集YX包含S在Y上投影的集合。记作 R÷S=*tr,X-|tr∈R⋀πrS⊆Yx+ 7. 设有一零件供应关系数据库,它包括S,P,J,SPJ四个关系模式: 供应商表:S(Sno(供应商代码),Sname(供应商名),Status(供应状态),City(供应商所在城市))。 零件表:P(Pno(零件代码),Pname(零件名),Color(颜色),Weight(重量)。 工程项目表:J(Jno(工程项目代码),Jname(工程项目名),City(工程项目所在的城市)。 零件供应情况表:SPJ(Sno(供应商代码),Pno(零件代码),Jno(工程项目代码),QTY(供应数量))。 今有数据如下表S,P,J,SPJ所示: 试分别用关系代数、元组演算和域演算表示如下查询: ① 找出供应工程J1零件的供应商号。 ② 找出供应工程J1零件P1的供应商号。 ③ 找出供应工程J1红色零件的供应商号。 ④ 找出没有使用杭州供应商生产的绿色零件的工程号。 ⑤ 找出用了S2供应商所供应的全部零件的工程号。 ⑥ 找出供应红色的P1零件且其供应量大于200的供应商号。 表S Sno Sname Status City S1 S2 S3 S4 S5 S6 利群 同方 天远 精诚 华缘 弘治 30 20 60 10 80 50 广州 杭州 北京 上海 重庆 太原 表P Pno Pname Color Weight P1 P2 P3 P4 P5 P6 P7 钉子 螺丝 螺母 螺栓 螺钉 齿轮 传送带 绿 蓝 橙 紫 红 绿 红 34 25 12 27 53 17 28 表J Jno Jname City J1 J2 J3 J4 J5 J6 J7 一建 三汽 拉链厂 无限电厂 机床厂 螺钉厂 机械厂 济南 广州 杭州 北京 上海 重庆 天津 表SPJ Sno Pno Jno QTY S1 S1 S1 S1 S1 S2 S2 S2 S2 S2 S2 S2 S3 S3 S4 S4 S4 S4 S5 S5 S6 S6 S6 P1 P1 P2 P2 P2 P2 P3 P4 P4 P5 P5 P6 P7 P1 P3 P4 P4 P5 P7 P7 P2 P2 P6 J3 J2 J5 J6 J7 J1 J2 J3 J4 J7 J5 J6 J1 J1 J2 J3 J4 J4 J5 J7 J2 J3 J1 340 250 120 270 530 170 280 100 120 310 560 200 300 400 410 330 650 150 230 280 350 420 310
关系模型的完整性约束
⼀,定义
定义关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。完整性通常包括域完整性,实体完
整性、参照完整性和⽤户定义完整性,其中域完整性,实体完整性和参照完整性,是关系模型必须满⾜的完整性约束条件。
⼆,域完整性约束
域完整性是保证数据库字段取值的合理性。
属性值应是域中的值,这是关系模式规定了的。除此之外,⼀个属性能否为NULL,这是由语义决定的,也是域完整性约束的主要内容。
域完整性约束 (Integrity constrains)是最简单、最基本的约束。在当今的关系DBMS中,⼀般都有域完整性约束检查功能。包括主键
(PRIMARY KEY)、检查(CHECK)、默认值(DEFAULT)、唯⼀(UNIQUE)、不为空(NOT NULL)、外键(FOREIGN KEY)等
约束。
三,实体完整性约束
实体完整性(Entity integrity)是指关系的主关键字不能重复也不能取“空值"。
⼀个关系对应现实世界中⼀个实体集。现实世界中的实体是可以相互区分、识别的,也即它们应具有某种惟⼀性标识。在关系模式中,以
主关键字作为惟⼀性标识, ⽽主关键字中的属性(称为主属性)不能取空值,否则,表明关系模式中存在着不可标识的实体(因空值是“不确定\"的),这与现实世界的实际情况相⽭盾,这 样的实体就不是⼀个完整实体。按实体完整性规则要求,主属性不得取空值,如主关键字是多个
属性的组合,则所有主属性均不得取空值。如表1.1将编号作为主关键字,那么,该列不得有空值,否则⽆法对应某个具体的职⼯,这样的
表格不完整,对应关系不符合实体完整性规则的约束条件。
四,参照完整性约束
参照完整性(Referential Iintigrity)是定义建⽴关系之间联系的主关键字与外部关键字引⽤的约束条件。参照完整性主要指主表不能任意删
除或修改,从表不能任意添加。
关系数据库中 通常都包含多个存在相互联系的关系,关系与关系之间的联系是通过公共属性来实现的。所谓公共属性,它是⼀个关系
……………………………………………………………最新资料推荐…………………………………………………
word完美格式 第一章 绪论
Ⅰ、学习要点
1、准确掌握数据、数据库、数据库系统、数据库管理系统等基本术语、概念;
2、数据独立性的概念、分类及实现途径;
3、数据模型的概念、分类、要素及作用;
4、数据库三级模式体系结构的含义及作用;
5、关系数据模型的三要素内容。
Ⅱ、习题
一、选择题:
1、使用二维表格结构表达数据和数据间联系的数据模型是( )
A、层次模型 B、网状模型 C、关系模型 D、实体—联系模型
2、DB、DBS、DBMS间的关系是( )
A、DB包括DBMS和DBS B、DBMS包括DB和DBS
C、DBS包括DB和DBMS D、DBS与DB和DBMS无关
3、在数据库中存储的是( )
A、数据 B、数据模型 C、数据及数据之间的联系 D、信息
4、数据库系统中,用( )描述全部数据的整体逻辑结构。
A、外模式 B、模式 C、内模式 D、数据模式
5、数据库中,导致数据不一致的根本原因是( )
A、数据量太大 B、数据安全性不高
C、数据冗余 D、数据完整性约束不强
6、划分层次型、网状型和关系型数据库的原则是( )
A、记录的长度 B、文件的大小
C、联系的复杂程度 D、数据及联系的表示方式
7、数据库三级模式体系结构的划分,主要有利于保持数据库的( )
A、数据安全性 B、数据独立性 C、结构规范化 D、操作可行性
8、数据库系统中,用( )描述用户局部数据的逻辑结构,它是用户和数据库系统间的接口。
A、外模式 B、模式 C、内模式 D、数据模式