数据库第二章ppt

合集下载

(第二讲)数据库(第二章:关系数据库的基本概念)

(第二讲)数据库(第二章:关系数据库的基本概念)
表2-5 学生表 XS_Sex XS_Age ZY_Id
类型 char(10) char(10) char(2) Int char(4) 学号,主码 姓名:字符类型
说明
性别:只能为男或女 年龄:整形 所在专业编号,外码,参照专业表
4. 选课表(XK_Tab):记录学生的选课结果,对于任意一门课,每 个学生一年最多只能选一次,因此用课程编号、学号和年份联合作为 选课表的主码。选课表通过学号参照学生表,通过课程编号参照课程 表。
2. 课程表(KC_Tab):存放多门课程,主码为课程编号。
表2-4 课程表(KC_Tab)
列名 KC_Id KC_Name KC_KC_Id KC_Point
类型 char(4) char(50) char(4) Float
说明 课程编号,主码 课程名称 先修课课程编号 课程的学分
3. 学生表(XS_Tab):记录学生的基本信息,主码为学号,通过专业 编号参照专业表。
2.3 关系模型规范化
关系模型规范化的目的是为了消除存储异常,减少数据冗余, 保证数据的完整性和存储效率。 关系数据库中的关系是要满足一定的规范化要求的。对于不 同规范化程度,可以使用“范式”来衡量。满足最低要求的为I范 式。。在I范式的基础上,进一步满足一些要求的为II范式,以次 类推。一般情况下,在实践中关系模式满足3范式就基本可以。
元素的每一个值 di 叫作一个分量。关系模型中要求每一 个分量必须属于某种基本数据类型,如整形或字符串型。
关系:笛卡尔积的子集就是一个关系。
R( D1 , D2 ,, Dn )
这里R表示关系的名字,n是关系的目或度。
例: 我们给出如下三个域: D1 =导师集合。导师={王新,赵阳} D2=专业集合。专业={计算机,通信} D3=学生集合。学生={(张三,101),(李四,201)} 则笛卡尔积为: D1XD2XD3={(王新,计算机,张三,101), (王新,计算机,李四,201),

第2章 数据库-关系模型1

第2章 数据库-关系模型1

• 在关系数据模型中一般将数据完整性分为三类
– 实体完整性
– 参照完整性 – 用户定义完整性
需要说明两点
• 关系是元组的集合,集合(关系)中的元素(元组) 是无序的;而元组不是分量di的集合,元组中的分量
是有序的。
例如,在关系中(a,b)≠(b,a),但在集合中{a,b}={b,a}。
• 若一个关系的元组个数是无限的,则该关系称为无限
实体完整性规则
• 实体完整性是要保证关系中的每个元组都是可识别和唯一的。 • 实体完整性规则要求关系中元组的主键值不可以为空值。
• 实体完整性是关系模型必须满足的完整性约束条件,也称作是
关系的不变性。 • 关系数据库管理系统用主键实现实体完整性,这是由关系系统 自动支持的。
对实体完整性规则的几点说明
关系数据语言
• 关系代数语言:如ISBL
• 关系演算语言:
– 元组关系演算语言(如Aplha,Quel)
– 域关系演算语言(如QBE)
• 具有关系代数和关系演算双重特点的语言:如SQL
返回
关系完整性约束
• 在数据库中数据完整性是指保证数据正确的特性。
它包括两方面的内容:
– 与现实世界中应用需求的数据的相容性和正确性; – 数据库内数据之间的相容性和正确性。
部门表(R1)
部门编号 01 02 03 04 部门名称 经理办公室 人事部 公关部 技术部 …
02 03
外部关系键
主关系键
注意事项:
• 外部关键字和相应的主关键字可以不同名,只要 定义在相同值域即可。 • 两个关系(R和S)也可以是同一个关系模式,表 示了属性之间的联系。 • 外部关键字的值是否为空,应视具体问题而定。

第02章 数据仓库原理

第02章 数据仓库原理
第4 页
2.2 数据预处理
1、数据预处理(data preprocessing) 在多数据源集成为统一数据集之前进行的数据清洗、数据
变换、数据规约等数据处理过程。 2、预处理的目的
消除多数据源集成存在的问题,为数据仓库或数据挖掘提 供一个完整、干净、准确、且有针对性的数据集合。
第5 页
2.2 数据预处理
第 10 页
2.2 数据预处理
(2) 分箱技术的步骤: ① 对数据集的数据进行排序; ② 确定箱子个数k、选定数据分箱的方法并对数据集中数据进行
分箱; ③ 选定处理箱子数据的方法,并对其重新赋值。
(3) 常用分箱方法 等深分箱、等宽分箱、自定义区间和最小熵分箱法。 (4)一般假设
箱子数为k,n(nk)个数据的数据集且按非减方式排序为 S={a1,a2,…,an),即ai[ a1, an]。
第6 页
2.2 数据预处理
① 重命名属性:对数据仓库或数据挖掘需要的属性重新赋给它 们含义明确,便于理解记忆和使用的属性名称。
数据源使用“WHCD”和“CSRQ”分别作为公民“文化程度 ”和“出生日期”的属性名。
在数据仓库中我们选用“Education” 和“Birthday”来代替 ,不仅含义明确,且可读性强,使用方便。
第 12 页
2.2 数据预处理
例2-1:设A={1, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9,11}共14个 数据, 请用等深分箱法将其分成k=4个箱子。
解:因为k=4,n=14,所以p=n/k=14/4=3,q=143*4=2。由于数据集A已排序,因此前2个箱放4个,后为2 个箱放3个数据。 第1个箱子B1={1, 2, 3, 3}, B2={ 4, 4, 5, 6,}, B3={6, 7, 7}, B4={8, 9, 11}。

第二章 数据库管理与网络应用

第二章  数据库管理与网络应用

第二章 数据库管理与网络应用
第一节 数据库基础知识 一、数据管理技术的发展
数据管理技术的发展过程大致可分如下四个阶段: 人工管理阶段 文件系统阶段 这一阶段的特点: 数据库系统阶段 (1)数据以文件形式可以长期保存在计算机中并由操作系统 来管理,文件组织方式由顺序文件逐步发展到随机文件 高级数据库技术阶段 (2)操作系统的文件管理系统提供了对数据的输入和输出操 作接口,即提供数据存取方法。 (3)一个应用程序可以使用多个文件,一个文件可被多个应 用程序使用,数据可以共享。 (4)数据仍然是面向应用的,文件之间彼此孤立,不能反映 数据之间的联系,因而仍存在数据大量冗余和不一致性
第二章 数据库管理与网络应用
第一节 数据库基础知识 四、数据库系统的组成
(三)操作系统 主要负责计算机系统的进程 管理、作业管理、存储器管 理、设备管理以及文件管理 等,因此可以给DBMS的数据 组织、管理和存取提供支持。
(四)数据库应用系统
(五)数据库应用开发工具 (六)数据库管理员及其他人员(DBA)
数据管理技术的发展过程大致可分如下四个阶段: 人工管理阶段 文件系统阶段 数据库系统阶段 高级数据库技术阶段 具有代表性的是
分布式数据库
面向对象数据库
第二章 数据库管理与网络应用
第一节 数据库基础知识 一、数据管理技术的发展
数据管理技术的发展过程大致可分如下四个阶段: 人工管理阶段 文件系统阶段 数据库系统阶段 高级数据库技术阶段 具有代表性的是
(5)有功能强大的关系数据库语言SQL的支持。
第二章 数据库管理与网络应用
第一节 数据库基础知识 三、数据库模型
(三)面向对象模型(Object—Oriented Model) 在面向对象的数据模型中,最重要的概念是对象(Object) 和类(Class)。 面向对象数据 模型比网状、 层次、关系数 据模型具有更 加丰富的表达 能力。

数据库原理第二章关系数据库

数据库原理第二章关系数据库

关系代数小结
❖ 传统的集合运算
▪ 并、差、交、笛卡尔积
❖ 专门的关系运算
▪ 选择、投影、连接、除
❖ 5种基本运算
▪ 并、差、笛卡尔积、投影、选择
二、关系演算
❖ 关系演算是以数理逻辑中的谓词演算为基础的,通过谓词 形式来表示查询表达式。
❖ 根据谓词变元的不同,可将关系演算分为元组关系演算和 域关系演算。前者以元组为变量,简称元组演算;后者以 域为变量,简称域演算。
❖ 元组关系演算
▪ Tuple Relational Calculus ,简称TRC ▪ 元组关系演算语言ALPHA ▪ 元组关系表达式
❖ 域关系运算
▪ Domain Relational Calculus ,简称DRC ▪ 域关系演算语言QUE
1、元组关系演算
❖ 元组关系演算是以元组变量作为谓词变元的基本对象。 ❖ 元组关系演算语言的典型代表是E.F.Codd提出的ALPHA
例2:查询一名男同学的教师号和姓名,并使他的年龄最小。
GET W (1) (Student) : Student. Ssex = ‘男’ up Student.Sage
▪ 所谓的定额查询就是通过在W后面的括号中加上定额数量, 限定查询出元组的个数。
▪ 这里(1)表示查询结果中男同学的个数,取出学生表中第一 个男同学的学号和姓名。
RANGE Course CX SC SCX
GET W (Student.Sname): SCX (SCX.Sno=Student.Sno∧ CX (o=o∧CX.Pcno='6'))
例5:查询选修全部课程的学生姓名。
RANGE SC X Course CX
GET W (Student.SN) : CXSCX (SCX.SNO=Student.SNO∧O=O)

数据库第2章SQL_Server数据库的管理与使用教学课件

数据库第2章SQL_Server数据库的管理与使用教学课件
] [ LOG ON { < filespec > [ ,...n ] } ] [ COLLATE collation_name ] [ FOR LOAD | FOR ATTACH ]
指定数据库的 默认排序规则
支持该子句是为了与早期版 本的 Microsoft SQL Server 兼 容。
附加数据库
•22
2.3.2 使用T-SQL语言修改数据库
• 在查询分析器中的状态
•23
2.4 数据库的删除
• 2.4.1 使用快捷菜单删除数据库 • 2.4.2 使用Transact-SQL语言删除数据库
•24
2.4.1 使用快捷菜单删除数据库
(1)在企业管理器中删除数据库 (2)在查询分析器中删除数据库
•25
2.4.2 使用T-SQL语言删除数据库
• 语句格式
– DROP DATABASE database_name [ ,...n ] – 例2-10:删除Test_db1
DROP DATABASE Test_db1
– 例2-11:删除Test_db2和Test_db3.
DROP DATABASE Test_db2,Test_db3
• 即分离数据库的逆操作,通过附加数据库,可以将没有加 入SQL Server服务器的数据库文件添加到服务器中。还可 以很方便地在SQL Server 服务器之间利用分离后的数据 文件和事务日志文件组成新的数据库。
•29
2.6 数据备份和还原
• 2.6.1数据备份 • 2.6.2数据还原 • 2.6.3数据备份和还原操作
– 备份的策略 • 是指确定需备份的内容、备份的时间及备份的方式。
– 完全 (全库)备份 – 完全备份加日志备份 – 完全备份加差异备份再加日志备份。

《数据库整理》第2章 关系数据库

《数据库整理》第2章 关系数据库

关系体
随数据更新不断变化
15
.
• 例如,在第1章的图1-22所示的教学数据库中,共有五个关 系,其关系模式可分别表示为:
– 学生(学号,姓名,性别,年龄,系别) – 教师(教师号,姓名,性别,年龄,职称,工资,岗位津贴,系
别)
– 课程(课程号,课程名,课时) – 选课(学号,课程号,成绩) – 授课(教师号,课程号)
• 给定一组域D1,D2,…,Dn(它们可以包含相同的元素, 即可以完全不同,也可以部分或全部相同)。D1,D2,… ,Dn的笛卡尔积为
D1×D2×……×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n}
每一个元素(d1,d2,…,dn)中的每一个值di叫做一个 分量(Component) ,di∈Di 每一个元素(d1,d2,…,dn)叫做一个n元组(n-Tuple ),简称元组(Tuple) (注意:元组是按序排列的)
5
.
笛卡尔积D1×D2×…×Dn的基数M(即元素(d1,d2, …,dn)的个数)为所有域的基数的累乘之
n
积,即M= m i 。 i1
例如,上述表示教师关系中姓名、性别两个域的笛卡尔 积为:
D1×D2={(李力,男),(李力,女),(王平,男),(王平 ,女),(刘伟,男),(刘伟,女)}
分量:李力、王平、刘伟、男、女 元组 :(李力,男),(李力,女) ,M=m1×m2=3×2=6
第2章 关系数据库
.
• 本章主要按数据模型的三个要素讲述关系数据库的一
些基本理论(关系模型的数据结构、关系的定义和性 质、关系的完整性、关系代数、关系数据库等 )
• 掌握关系的定义及性质、关系键、外部键等基本概念
以及关系演算语言的使用方法

数据库系统设计PPT课件

数据库系统设计PPT课件
4)询问:对某些调查中的问题,可以找专人询问。 5)请用户填写设计调查表:数据库设计人员可以提前设计一个合理的、详
细的业务活动及数据要求调查表,并将此表发给相关的用户。用户根据表中 的要求,经过认真思考、充分准备后填写表中的内容。如果调查表设计得合 理,则这种方法很有效,用户也易于接受。 6)查阅数据记录:调查中还需要查阅与原系统有关的数据记录,包括账本、 档案或文献等。
数据库设计过程中:
需求分析阶段,设计者的中心工作是弄清并综合各个用 户的应用需求;
概念设计阶段,设计者要将应用需求转换为与计算机硬 件无关的、与各个数据库管理系统产品无关的概念模型 (即E-R图);
逻辑设计阶段,要完成数据库的逻辑模式和外模式的设 计工作,即系统设计者要先将E-R图转换成具体的数据库 产品支持的数据模型,形成数据库逻辑模式,然后根据 用户处理的要求、安全性的考虑建立必要的数据视图, 形成数据的外模式;
3.数据库的物理模式设计
数据库的物理模式设计要求:根据库结构的动态 特性(即数据库应用处理要求),在定的DBMS 环境下,把数据库的逻辑结构模型加以物理实现, 从而得出数据库的存储模式存取方法。
-
7
前一页 休息
第2章 数据库系统设计
2.1.2 数据库系统设计应注意的问题
1.进行数据库系统设计时应考虑计算机硬件、 软件的实际情况
模块设计、 IPO表 程序编码、编译连接、测试
运行维护
性能监测、转储/恢复、数据库重 新旧系统转换、运行、维护(修正性、适
组和重构
应性、改善性维护)
-
12
前一页 休息
第2章 数据库系统设计
2.1.4 数据库系统设计的基本步骤
-
13
前一页 休息

02《数据库》第二章关系数据模型 #

02《数据库》第二章关系数据模型 #
• 记为 <条件F>(关系R)={t|t ∈R ∧F(t)=“真”}
• 结果关系的所有属性都是原关系的属性。 • 结果关系的所有元组都是原关系的元组。
• 例如:在学生表中将98管理班同学全部
学号 找出姓来名 。 出生年月 性别 班级
0001 • 李伟 <班19级80=.1‵2.0938管男理′>(学9生8管表理)
性、参照完整性和用户定义的完整性。 • 实体完整性:主码的任何属性值都不能为空。 • 参照完整性:若A是基本关系R1的外码。它与
基本关系R2的主码K相对应,则R1中每个元组 在A上的值必须为以下情况之一。 • 等于R2中某个元组的主码值。 • 取空值(A的每个属性值均为空值)。
• 例如:职工关系(职工号,姓名,…部门编号) 和部门关系(部门编号,部门名称,…)。
班级 98管理 98管理 98管理 98管理
学号 课程号 成绩
0001 01
85
0001 02
70
0003 01
80
0003 02
90
• 自然连接 • (学生表)(成绩表)
学号 姓名 0001 李伟 0001 李伟 0003 赵兰 0003 赵兰
出生年月 性别 1980.12.03 男 1980.12.03 男 1979.05.26 女 1979.05.26 女
《数据库技术原理与应用》
章、关系数据模型基础理论
TEL: Email:
本章教学内容
一、关系模型的基本概念 二、关系代数 三、关系演算 四、查询优化 五、关系系统
一、关系模型的基本概念
1、关系模型的数学定义: 关系模型是建立在数学理论基础上的。 定义(1)域:域(Domain)是值的集合

《数据库原理及应用》教学课件 第二章关系数据库基础

《数据库原理及应用》教学课件 第二章关系数据库基础

01
列是同质的,即每一列中的分量必须来自同一个域且必须是同 一类型的数据。
02
不同的属性可来自同一个域,但不同的属性有不同的名字。
03
列的顺序可以任意交换,但交换时应连同属性名一起交换,否则 将得到不同的关系。
13
2.1 关系模型
04 05 06
2.1.3 关系的性质
元组的顺序可任意交换。在关系数据库中,可以按照各种排序 要求对元组的次序重新排列。
关系中不允许出现相同的元组。关系中的一个元组表示现实世界 中的一个实体或一个实体间的联系,如果元组重复则表示实体或 实体间的联系重复,这样不仅会造成数据库中数据的冗余,也可 能造成数据查询与统计的结果出现错误。
关系中的每一个分量必须是不可再分的数据项,即所有属性值都 是一个单独的值,而不是值的集合。
例如,在没有重名学生的情况下,学生关系中的属性“学号”与“姓名” 都是学生关系的候选码。如果选定属性“学号”作为数据操作的依据,则属 性“学号”为主码;如果选定属性“姓名”作为数据操作的依据,则属性 “姓名”为主码。
22
2.2 关系模型的完整性约束
2.2.1 关系的码
03 主属性与非主属性
包含在任一候选码中的属性称为主属性,不包含在任一候选码中的属性称为非主属性。 例如,在没有重名学生的情况下,学生关系的属性“学号”与“姓名”都是学生关系的候选码, 则它们都是学生关系的主属性。而属性“性别”与“系别”不包含在任一候选码中,则它们都是学 生关系的非主属性。 在最简单的情况下,关系的候选码只包含一个属性;在最极端的情况下,关系的候选码是所有 属性的组合,这时称为全码。 例如,设有关系演出(演奏者编号,乐器编号,演播室编号),其中的3个属性分别为演奏者 关系、乐器关系及演播室关系的主码,它们共同唯一标识了一个演出,则演出关系的主码为它们的 组合,即为全码。

数据库原理第2章E-R模型

数据库原理第2章E-R模型
• 如果每笔贷款正好为一个客户所有,并且正好同一个分行相联系, 用联系表示贷款可以。但不能方便地表示多个客户共有一笔贷款。 为此,为共有贷款的每个人分别定义一个联系,并且具有相同的 描述性属性值。
• 这种重复有两个问题:数据多次存储,浪费空间;更新可能导致 不一致状态。一法就没有这种问题。
customer
例如:
Hayes
depositor
A-102
姓名(客户实体) 储户(联系集) (帐目实体)
联系集:是两个以上实体间的数学关系(所有实体来自实体集)。
{(e1, e2, … en) | e1 E1, e2 E2, …, en En} 其中(e1, e2, …, en) 是联系。 – 例如:
(Hayes, A-102) depositor
role
E-R Diagram with a Ternary Relationship
三个实体间关系的E-R图表示
在非二元联系集中,可以标明一些多对一联系类型。假设一个员工在每个支 行最多只能有一份工作(比如,Jones不能在同一支行又当经理又当审计员)。 这种约束可以从联系集拉出一个箭头指向job来表示。
Chapter 2: Entity-RelationshipModel第二章:实体联系模型
Entity Sets实体集 Relationship Sets联系集 Design Issues 模型设计 Mapping Constraints 映射约束 Keys码 E-R Diagram E-R图 Extended E-R Features 扩展E-R功能 Design of an E-R Database Schema E-R数据库模式的设计 Reduction of an E-R Schema to Tables E-R模式转换成表时的缩减

数据库第2章 数据模型

数据库第2章  数据模型
能在一个实体集中惟一标识一个实体的属性称为码。码可以只包含一个属性, 也可以同时包含多个属性。有多个码时,选择一个作为主码。最极端的一种 情况就是所有属性组成主码,称为全码。
4.域(Domain)
某个(些)属性的取值范围称为该属性的域。例如,性别的域为(男,女), 姓名的域为字符串集合,学院名称的域为学校所有学院名称的集合。
4.文件集(File Set) 文件集是若干文件的集合,即由计算机操作系统通过文件系统来组织和管理。它 与信息世界中的对象集相对应。
文件系统通过对文件、目录、磁盘的管理,可以对文件的存储空间、读写权限等 进行管理。
2.1.4 三种世界的转换
信息的三种世界之间是可以进行转换的。人们常常首先将现实世界抽象为信 息世界,然后将信息世界转换为计算机世界。也就是说,首先将现实世界中 客观存在的事物或对象抽象为某一种信息结构,这种结构并不依赖于计算机 系统,是人们认识的概念模型;然后再将概念模型转换为计算机上某一具体 的DBMS支持的数据模型。这一转换过程如图2-1所世界抽象为信息世界的过程中,实际上是抽象出 现实系统中有应用价值的元素及其关联。这时所形成的信 息结构就是概念模型。这种信息结构不依赖于具体的计算 机系统。
2.2.1 概念模型的基本概念
1.实体(Entity)
客观存在并且可以互相区别的事物称为实体。实体可以是人,也可以是物, 也可以是抽象的概念;可以指事物本身,也可以指事物的联系。例如,一名 学生,一门课、一次选课、学生和课程的关系等,都是实体。实体是信息世 界的基本单位。
2.1.4 三种世界的转换
信息的三种世界在转换过程中,每种世界都有自己对象的概念描述,但是它 们之间又相互对应。信息的三种世界之间的对象对应关系见表2-1。

第二章生物分子数据库PPT课件

第二章生物分子数据库PPT课件
蛋白质序列数据库
1、PIR(Protein Information Resource)
2020/12/12
32
二、各大类主要数据库介绍 蛋白质序列数据库
2、SWISS-PROT (/swissprot/ 曾经的网址)
/
3、 TrEMBL (/trembl/index.html 曾经的网 址) /
TrEMBL是一个计算机注释的蛋白质数据库,作为SWISS-PROT
数据库的补充。该数据库主要包含从EMBL/ Genbank/DDBJ 核酸数 据库中根据编码序列(CDS)翻译而得到的蛋白质序列,并且这些序列 尚未集成到SWISS-PROT 数据库中。
人类基因组图谱(包括细胞遗传图谱、连接图谱、
放射性杂交图谱、content contig图谱和综合图谱
等);人类基因组内的变异(包括突变和多态性,加上
等位基因频率数据)。
2020/12/12
11
二、各大类主要数据库介绍 基因组数据库
2020/12/12
12
二、各大类主要数据库介绍 基因组数据库
2020/12/12
2020/12/12
22
(一)Genbank
2020/12/12 23
(一)Genbank
2020/12/12
24
(二)EMBL
EMBL核酸序列数据库由欧洲生物信息 学研究所(EBI)维护的核酸序列数据构成,由 于与Genbank和DDBJ的数据合作交换,它也 是一个全面的核酸序列数据库。该数据库由 Oracal数据库系统管理维护,查询检索可以通 过因特网上的序列提取系统(SRS)服务完成。
13
二、各大类主要数据库介绍 基因组数据库
2020/12/12

数据库 第二章 关系数据库

数据库 第二章 关系数据库
(1)关系模式的定义:
关系的描述称为关系模式,在上图中二维表的表头那行
称为关系模式,又称表的框架。
(2)形式化定义 :
R(U,D,Dom,F)
其中:R表示关系名;
U表示组成该关系的属性集合;
D表示U中属性所来自的域;
Dom表示属性向域的映像的集合
F表示属性间数据的依赖关系集合
上一页 下一页 第一页 最末页
退出
第一节 关系数据结构及形式化定义
一、和”关系”相关的概念定义 二、“关系”相关的概念 三、关系数据库中关系的类型 四、数据库中基本关系的性质
上一页 下一页 第一页 最末页
退出
一、和”关系”相关的概念定义
1、域:P47 2、笛卡儿积:P48 3、关系:P48
上一页 下一页 第一页 最末页
退出
域的定义
专业号 001 002
专业名 计算机应用 信息管理
二、DBMS在维护完整性方面具备的功能
1、提供定义完整性约束条件的机制 2、提供完整性检查的方法 3、违约处理
1、实体完整性
(1)定义:Primary key ->主键 (2)检查:
①对基本表插入一条记录 ②对基本表的主码进行更新 (3)违约处理 ① 若主码不唯一则拒绝插入或修改 ②若主码的各个属性有一个为空则拒绝插入或修改
3、参照完整性(Referential Integrity)
(1)外码 (2)参照完整性规则
外码(Foreign Key)
• 外码的定义:设F是基本关系R的一个或一组属性,但 不是R的码,如果F与基本关系S的主码相对应,则 称F为基本关系R的外码。并称R为参照关系,S为被 参照关系。
• 外码举例: 学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名)

数据库 第二章 关系代数

数据库 第二章 关系代数

名称 奶粉 火腿 白糖
厂家 地北 西山 北山
不合格商品表S
表 本店商品表R
2013-5-22 18
① 本店中的合格商品表
品牌 106001 205008 302034
名称 奶粉 白糖 食盐
表 新关系R-S
厂家 天南 南山 西山
2013-5-22
19
② 本店内不合格的商品表
品牌 103026
名称 奶粉
2013-5-22
37

一般的连接操作是从行的角度进行运算。
R
S
AθB

自然连接还需要取消重复列,所以是同时从行和 列的角度进行运算。
2013-5-22 38

例:
A a1 a1 a2 a2
B b1 b2 b3 b4
C 5 6 8 12
B b1 b2 b3
b3 b5 S
E 3 7 10
2 2
R
2013-5-22
2013-5-22
7
例:

通过并运算,可以实现关系数据库中记录的插入
2013-5-22 8

参加并操作的两个关系必须满足如下条件: 两个关系具有相同数目的属性,即属性集相同 两个关系的各个属性的类型(即域)必须匹配 两个关系的属性次序完全相同。如果它们的次 序不同,那么在进行并操作之前,必须对两个 关系的列进行排序。
2.7.4

投影(Projection)
关系R上的投影运算:从R中选择若干属性列形成 新的关系,即对关系R进行垂直分割,获取一个 可能包含有重复行的表,然后删去重复的元组, 形成新的关系,其结果关系是列的子集。 A(R) = {t[A]|t∈R} 其中A为R关系属性集的子集
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

8
2.1.1 Basic Structure (38)
• Formally, given sets D1, D2, …. Dn a relation r is a subset of D1 x D2 x … x Dn (Cartesian product) • Thus, a relation is a set of n-tuples (a1, a2, …, an) where each ai Di. • Example: If customer_name = {Jones, Smith, Curry, Lindsay} customer_street = {Main, North, Park} customer_city = {Harrison, Rye, Pittsfield} Then r = { (Jones, Main, Harrison), (Smith, North, Rye), (Curry, North, Rye), (Lindsay, Park, Pittsfield) } is a relation over customer_name x customer_street x 9 customer_city
15
2.1.3 Keys (码)(42)
• A superkey (超码)is a set of one or more attributes that allow us to identify a unique tuple in the relation.
– Example: {customer_name, customer_id},
Attribute Types
• Each attribute of a relation has a name • The set of allowed values for each attribute is called the domain of the attribute • Attribute values are (normally) required to be atomic; that is, indivisible. • Several attributes have the same domain. • The special value null is a member of every domain • The null value causes complications in the definition of many operations – We shall ignore the effect of null values in our main presentation and consider their effect later
20
Select Operation (选择运算) (P46)
Notation: p(r) p is called the selection predicate (选择谓词/条件). r is a relation name Defined as: p(r) = {t | t r and p(t)} Where p is a formula in propositional calculus consisting of terms connected by : (and), (or), (not) Each term is one of: <attribute> op <attribute> or <constant> where op is one of: =, , >, . <. (比较运算符) • Example of selection: (Figure 2.6 & 2.9 ) • • • •
Example: customer (Customer_schema)
11
Relation Instance (40)
• The current values (relation instance) of a relation are specified by a table. • An element t of r is a tuple, represented by a row in a table.
12
Relations are Unordered
Order of tuples is irrelevant (tuples may be stored in
an arbitrary order) (figure 2-1, 2-2)
Example: account relation with unordered tuples.
• Six basic operators
– select: (选择) – project: (投影) – union: (并) – set difference: – (集合差) – Cartesian product: x (笛卡尔积) – rename: (更名)
• The operators take one or two relations as inputs and produce a new relation as a result.
account : stores information about accounts. depositor : stores information about which customer owns which account. customer : stores information about customers. Figure 2.1,2.3,2.4,2.5,2.6,2.7
{customer_name} and {customer_id} are superkeys of customer relation (P12-F1.2), if no two customers can possibly have the same name.
16

Keys (Cont.)
• If K is minimal superkey, K is named a candidate key (候选码).
branch_name=―Perryridge‖(loan)
21
Select Operation – Example
Relation r
A B C
10
Relation Schema (40)
• A1, A2, …, An are attribute names R = (A1, A2, …, An ) is a relation schema
Example:
Account_schema = (account_number, branch _street, balance) r(R) is a relation on the relation schema R
13
Database_ brief design process
• A database consists of multiple relations.
• Information about an enterprise is broken up into parts, with each relation storing one part of the information.
– E.g. customer_name and account_number attributes of depositor are foreign keys to customer and account respectively.
• Schema diagram: along with primary key and foreign key dependencies in a database schema.
18
Query Language(查询语言) (45)
• Language in which user requests information from the database. • Categories(种类) of languages
– Procedural – Non-procedural, or declarative
select: project: union: set difference: – Cartesian product: x rename:
2
Relation
3
Attribute
4
Domain
5
Tuple
6
“Relational Models” and “Tables”
7
Example of a Relation: account (P38)
attributes (or columns) customer_name customer_street customer_city
Jones Smith Curry Lindsay
Main North North Park customer
Harrison Rye Rye Pittsfield
tuples (or rows)
14
Database (Cont.)
• Storing all information as a single relation, such as
bank (account_number, balance, customer_name, ..)
results in – Repetition(重复) of information (e.g., two customers own an account) – the need for null values (e.g., represent a customer without an account) • Chapter 7 deals with how to design relational schemas.
相关文档
最新文档