数据库系统(课件)_02_关系数据结构.关系模式.关系操作.数据库设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
笛卡尔积 的一个例子
D1× D2× D3 = 张清玫, { (张清玫,计算机专业,李勇 , 张清玫 计算机专业,李勇), (张清玫,计算机专业,刘晨 , 张清玫, 张清玫 计算机专业,刘晨), (张清玫,计算机专业,王敏 , 张清玫, 张清玫 计算机专业,王敏), (张清玫,信息专业,李勇), 张清玫,信息专业,李勇 , 张清玫 (张清玫,信息专业,刘晨 , 张清玫, 张清玫 信息专业,刘晨), (张清玫,信息专业,王敏 , 张清玫, 张清玫 信息专业,王敏), (刘逸,计算机专业,李勇 , 刘逸, 刘逸 计算机专业,李勇), (刘逸,计算机专业,刘晨 , 刘逸, 刘逸 计算机专业,刘晨), (刘逸,计算机专业,王敏), 刘逸,计算机专业,王敏 , 刘逸 (刘逸,信息专业,李勇 , 刘逸, 刘逸 信息专业,李勇), (刘逸,信息专业,刘晨 , 刘逸, 刘逸 信息专业,刘晨), (刘逸,信息专业,王敏 刘逸, 刘逸 信息专业,王敏) }
• 模式(Schema) )
– 数据库逻辑结构和特征的描述 – 是型的描述 – 反映的是数据的结构及其联系 – 模式是相对稳定的
• 模式的一个实例(Instance) )
– 模式的一个具体值 – 反映数据库某一时刻的状态 – 同一个模式可以有很多实例 – 实例随数据库中的数据的更新而变动
2.2 模式与关系模式
2.2 模式与关系模式
什么是关系模式? 什么是关系模式?
关系模式( 关系模式(Relation Schema)是型 ) 关系( 关系(Relation)是值 ) 关系模式是对关系的描述
第二章 关系数据库
2.1 2.2 2.3 2.4 2.5
关系数据结构及形式化定义 模式与关系模式 关系操作 关系的完整性 关系数据库表的设计
2.5 关系数据库表的设计
根据已知需求,设计符合要求的数据库。 根据已知需求,设计符合要求的数据库。
待开发系统名称:创新基地成员信息管理系统 功能描述: 各级别管理员可以登录系统查看各工作室成员信息,其 中包括成员编号、姓名、性别、班级、学号、手机号码、QQ 号码、电子邮箱、所在工作室、基地职务等信息。 各工作室名称为:综合工作室、ACM/ICPC程序设计工作 室、经纬工作室、嵌入式系统工作室、图形图像工作室。 基地职务有:基地负责人、基地主任、基地副主任、工 作室负责人、基地秘书、基地成员、见习成员。 各级别管理人员,可以管理成员信息。
2.1 关系数据结构及形式化定义
笛卡尔积 的相关概念
基数 (Cardinal number)
• 若Di(i=1,2,…,n)为有限集,其基数为 (i ( = , , , )为有限集,其基数为mi( 的基数M为 =1,2,…,n),则D1×D2×…×Dn的基数 为: , , , ) × × × 的基数
值(Value) )
是型的一个具体赋值
例如: 例如:学生记录 记录型: 记录型: 学号,姓名,性别,系别,年龄,籍贯) (学号,姓名,性别,系别,年龄,籍贯) 该记录型的一个记录值: 该记录型的一个记录值: 计算机, ,江苏) (900201,李明,男,计算机,22,江苏) ,李明,
2.2 模式与关系模式
D1×D2×…×Dn= {(d1,d2,…,dn)|di∈Di,i=1,2,…,n}
2.1 关系数据结构及形式化定义
笛卡尔积 的一个例子
给出三个域: D1 = 导师集合 = { 张清玫,刘逸 } D2 = 专业集合 = {计算机专业,信息专业} D3 = 研究生集合 = {李勇,刘晨,王敏}
2.1 关系数据结构及形式化定义
模式的定义
• 数据的逻辑结构(数据项的名字、类型、取值范围等) • 数据之间的联系 • 数据有关的安全性、完整性要求
2.2 模式与关系模式
外模式
• 面向具体的应用程序,定义在逻辑模式之上 面向具体的应用程序, • 但独立于存储模式和存储设备
内模式
• 依赖于全局逻辑结构,但独立于数据库的用户视图即外模 依赖于全局逻辑结构, 也独立于具体的存储设备。 式,也独立于具体的存储设备。
2.1 关系数据结构及形式化定义
什么是 关系数据库? 关系数据库?
关系数据库是支持关系模型的数据库系统
关系数据库的组成? 关系数据库的组成?
–关系数据结构 –关系操作集合 –关系完整性约束
2.1 关系数据结构及形式化定义
关系的数据结构
• 单一的数据结构---关系
现实世界的实体以及实体间的各种联系 均用关系来表示
n
M = Π mi i= 1
在上例中,基数:2×2×3=12 在上例中,基数: × × = 共有2× × = 个元组 即D1×D2×D3共有 ×2×3=12个元组 × × 共有
2.1 关系数据结构及形式化定义
笛卡尔积 的表示方法
笛卡尔积可表示为一个二维表。 表中的每行对应一个元组, 表中的每列对应一个域。
2.1 关系数据结构及形式化定义
关系 的相关概念: 的相关概念:
主码 (Primary key)
• 若一个关系有多个候选码,则选定其中一个为主码 若一个关系有多个候选码,
主属性( 候选码的诸属性称为主属性(Prime attribute)。 )
第二章 关系数据库
2.1 2.2 2.3 2.4 2.5
候选码(Candidate key)
• 若关系中的某一属性组的值能唯一地标识一个元组, 若关系中的某一属性组的值能唯一地标识一个元组, 则称该属性组为候选码。 则称该属性组为候选码。 • 在最简单的情况下,候选码只包含一个属性。 在最简单的情况下,候选码只包含一个属性。 全码(All-key)
• 在最极端的情况下,关系模式的所有属性是这个关系模式的候选 在最极端的情况下, 称为全码。 码,称为全码。
2.4 关系的完整性
主码、外码、主关键字、公共关键字 主码、外码、主关键字、
外码? 什么是 外码?
设F是基本关系R的一个或一组属性,但不是关系R的码。 如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码。
什么是 主关键字 主关键字(Primary Key)? ?
主关键字(又称“主键”)是表中的一个或多个字段,它的值 用于惟一地标识表中的某一条记录。在数据库中,多用ID表 示。 设计数据库时,默认情况下:主键 = 主码
在上例中,12个元组可列成一张二维表, 如下页图所示:
2.1 关系数据结构及形式化定义
2.1 关系数据结构及形式化定义
什么是 “关系” (Relation) ? 关系”
D1×D2×…×Dn的子集叫作在域 D1,D2,…,Dn上的关系,表示为 R(D1,D2,…,Dn)
R:关系名 n:关系的目或度(Degree)
设计数据库的步骤如下:
2.5 关系数据库表的设计
1、根据已知需求,写出实体型 根据已知需求,
若实体没有任何属性,即属性全为空, 则无须对该实体建表。
Байду номын сангаас
2.4 关系的完整性
参照完整性
关系间的引用: 在关系模型中实体及实体间的联系都是用关系来描述 的,因此可能存在着关系与关系间的引用。
例:学生、课程、学生与课程之间的多对多联系。 学生(学号,姓名,性别,专业号,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩)
2.3 关系操作
关系操作
• 常用的关系操作 ? • 关系操作的特点? • 关系数据语言?
2.3 关系操作
常用的关系操作: 常用的关系操作:
查询
• 选择、投影、连接、除、并、交、差
数据更新
• 插入、删除、修改 查询的表达能力是其中最主要的部分
2.3 关系操作
关系操作的特点: 关系操作的特点:
集合操作方式 即操作的对象 结果 对象和结果 对象 结果都是集合。
关系数据结构及形式化定义 模式与关系模式 关系操作 关系的完整性 关系数据库表的设计
2.2 模式与关系模式
• “型” 和 “值”的概念 ? • 什么是模式、内模式、外模式? • 什么是关系模式?
2.2 模式与关系模式
“型” 和 “值” 的概念: 的概念: 型(Type) )
对某一类数据的结构和属性的说明
公共关键字(Foreign Key) ? 什么是 公共关键字
如果公共关键字在一个关系中是主关键字,那么这个公共关 键字被称为另一个关系的外键.
2.4 关系的完整性
第二章 关系数据库
2.1 2.2 2.3 2.4 2.5
关系数据结构及形式化定义 模式与关系模式 关系操作 关系的完整性 关系数据库表的设计
• 整数 • 实数 • 介于某个取值范围的整数 • 长度指定长度的字符串集合 • {‘男’,‘女’} • 介于某个取值范围的日期
“考试成绩” 是域吗?
2.1 关系数据结构及形式化定义
什么是 笛卡尔积 (Cartesian Product) ?
给定一组域D1,D2,…,Dn,这些域中可以 有相同的。D1,D2,…,Dn的笛卡尔积为:
数 据 库 系 统
第二章 关系数据库
第二章 关系数据库
2.1 2.2 2.3 2.4 2.5
关系数据结构及形式化定义 模式与关系模式 关系操作 关系的完整性 关系数据库表的设计
2.1 关系数据结构及形式化定义
关系数据库产生的背景
• 关系数据库应用数学方法来处理数据库中 的数据 • 80年代后,关系数据库系统成为最重要、 最流行的数据库系统 • 著名的关系数据库: ORACLE , SYBASE , SQL Server
关系数据语言: 关系数据语言:
对数据 数据库 数据、数据库 数据 数据库以及数据模式 数据模式操作的语言 数据模式
SQL语言
2.3 关系操作
关系数据语言的特点: 关系数据语言的特点:
关系语言是一种高度非过程化的语言
• 存取路径的选择由DBMS的优化机制来完成 • 用户不必用循环结构就可以完成数据操作
2.1 关系数据结构及形式化定义
笛卡尔积 的相关概念
元组(Tuple)
• 笛卡尔积中每一个元素(d1,d2,…,dn)叫作一 笛卡尔积中每一个元素( , , , ) 元组( 个n元组(n-tuple)或简称元组。 元组 )或简称元组。
分量(Component)
• 笛卡尔积元素(d1,d2,…,dn)中的每一个值 笛卡尔积元素( , , , ) 中的每一个值di 叫作一个分量。 叫作一个分量。
关系模型的完整性规则是对关系的某种约束条件。 。
关系模型中三类完整性约束: 关系模型中三类完整性约束:
–实体完整性 –参照完整性 –用户定义的完整性
2.4 关系的完整性
实体完整性
实体完整性规则(Entity Integrity) 若属性A是基本关系R的主属性,则属性A不能取空值。
所谓空值(null),就是“不知道”或者“不存在”的值。
• 数据的逻辑结构----二维表
从用户角度,关系模型中数据的逻辑结构 是一张二维表。
2.1 关系数据结构及形式化定义
关系的操作集合
• • • • 什么是 “域” ? 什么是笛卡尔积? 什么是关系? 什么是候选码?
2.1 关系数据结构及形式化定义
什么是 “域” (Domain) ?
“域” 是一组具有相同数据类型的值的集合。
能够嵌入高级语言中使用 关系代数、元组关系演算和域关系演算 三种语言在表达能力上完全等价
第二章 关系数据库
2.1 关系数据结构及形式化定义 2.2 模式与关系模式 2.3 关系操作 2.4 关系的完整性 2.5 关系数据库表的设计
2.4 关系的完整性
关系的三类完整性约束: 关系的三类完整性约束:
2.1 关系数据结构及形式化定义
关系 的表示: 的表示:
关系也是一个二维表,表的每行对应一 个元组,表的每列对应一个域。
2.1 关系数据结构及形式化定义
关系 的相关概念: 的相关概念:
属性 (Attribute)
• 定义:关系中不同列可以对应相同的域,为了加以区 定义:关系中不同列可以对应相同的域, 必须对每列起一个名字,称为属性(Attribute) 分,必须对每列起一个名字,称为属性 • n目关系必有n个属性。
数据库系统的三级模式结构
2.2 模式与关系模式
模式(也称逻辑模式) 模式(也称逻辑模式)
• 数据库中全体数据的逻辑结构和特征的描述 • 所有用户的公共数据视图,综合了所有用户的需求
一个数据库只有一个模式 模式的地位: 模式的地位:是数据库系统模式结构的中间层
• 与数据的物理存储细节和硬件环境无关 • 与具体的应用程序、开发工具及高级程序设计语言无关
相关文档
最新文档