数据库第二章
数据库复习纲要(第二章)

第二章1、关系的性质,关系模式的形式化表示、各参数的含义。
答:关系数据库中的关系必须具有下列一些性质。
(1)任意两个元组(两行)不能完全相同;(2)关系中元组(行)的次序是不重要的,即行的次序可以任意交换。
(3)关系属性(列)的次序也是不重要的,即列的次序可以任意交换。
(4)同一列中的分量必须来自同一个域,是同一类型的数据;(5)属性必须有不同的名称,但不同的属性可出自相同的域,即它们的分量可以取值于同一个域。
(6)每一分量必须取原子值,即每一个分量都必须是不可再分的数据项。
关系模式的形式化表示:关系的描述称为关系模式(Relation Schema)。
它的形式化表示为:R( U, D, DOM, F)其中,R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,DOM为属性向域的映象集合,F为属性间数据的依赖关系集合。
2、关系数据语言的特点及分类。
答:关系数据语言可以分为三类:○1关系代数语言,如ISBL元组关系演算语言,如ALPHA、QUEL○2关系演算语言域关系演算语言如 QBE○3具有关系代数和关系演算双重特点的语言,如 SQL这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。
3、完整性约束的分类,3类完整性规则的含义。
答:关系模型中有3类完整性约束:实体完整性、参照完整性和用户定义的完整性。
为了维护数据库中数据的完整性,在对关系数据库执行插入、删除和修改操作时,必须遵循下述3类完整性原则。
(1)实体完整性规则:关系中的元组在主属性上不能有空值。
(2)参照完整性规则:外键的值不允许参照不存在的相应表的主键的值。
(3)用户定义的完整性规则:用户定义的完整性规则是用户根据具体应用语义要求,利用DBMS提供的定义的完整性规则的机制,用户自己定义的完整性规则。
4、关系代数中传统的集合运算有哪些,专门的关系运算有哪些。
答:关系代数中传统的集合运算有:并、差、交、笛卡尔积4种运算○1并(Union):设有同类关系R和S,则它们的并记为R∪S,仍然是R和S的同类关系,由属于R或属于S的元组组成,但必须除去重复的元组R∪S={t∣t∈R∨t∈S},其中t为元组。
(第二讲)数据库(第二章:关系数据库的基本概念)

类型 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),
数据库应用基础第二章数据库的基本操作

指定关联的<filespec>
定义主文件
10
指定建立数据库的 日志文件
Log On
数据库的启动位置, 也是数据库中其他 文件的入口位置
{
(Name=logical_file_name,
Filename=’os_file_name’
指定文件的
[,Size=size]
操作系统文
[,Maxsize={max_size|unlimited}] 件名和路径
])
默认权限为 sa,dbo
缩减master系统数 据库
25
例:缩减My_DB数据库的容量
Exec Sp_dboption‘my_db’,’single User’,true Go Use My_db Go DBCC Shrinkdatabase(‘my_db’) Go Exec Sp_dboption ‘My_db’,’single User’,false Go
复习
1 数据 2 数据库 3 数据库管理系统
第二章 数据库的基本操作
2.1 文件和文件组
1 文件
– 主要数据文件:该文件包含数据库的启动信息,并用于存储数据,扩 展名是 .mdf
– 次要数据文件(可选):由用户定义并存储,这些文件含有不能置于主
要数据文件中的所有数据,扩展名是 .ndf – 事务日志文件:这些文件包含用于恢复数据库的日志信息。每个数据
Select Databasepropertyex (’My_db’,’collation’) Go Exec Sp_helpdb ‘My_db’ Go
16
2.3 管理数据库
打开数据库 增加数据库容量 查看及修改数据库选项 缩减数据库容量 更改数据库名称 查看数据库个数 删除数据库
第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)也可以是同一个关系模式,表 示了属性之间的联系。 • 外部关键字的值是否为空,应视具体问题而定。
数据库原理第二章关系数据库

关系代数小结
❖ 传统的集合运算
▪ 并、差、交、笛卡尔积
❖ 专门的关系运算
▪ 选择、投影、连接、除
❖ 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)
数据库系统原理第二章基本概念及课后习题有答案

数据库系统原理第二章基本概念及课后习题有答案一、数据库系统生存期1.数据库系统生存期:数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间。
2.数据库系统生存期分七个阶段:规划、需求分析、概念设计、逻辑设计、物理设计、实现、运行维护。
3.规划阶段三个步骤:系统调查、可行性分析、确定数据库系统总目标。
4.需求分析阶段:主要任务是系统分析员和用户双方共同收集数据库系统所需要的信息内容和用户对处理的需求,并以需求说明书的形式确定下来。
5.概念设计阶段:产生反映用户单位信息需求的概念模型。
与硬件和DBMS无关。
6.逻辑设计阶段:将概念模型转换成DBMS能处理的逻辑模型。
外模型也将在此阶段完成。
7.物理设计阶段:对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程。
数据库的物理结构主要指数据库的存储记录格式、存储记录安排和存取方法。
8.数据库的实现:包括定义数据库结构、数据装载、编制与调试应用程序、数据库试运行。
二、ER模型的基本概念ER模型的基本元素是:实体、联系和属性。
2.实体:是一个数据对象,指应用中可以区别的客观存在的事物。
实体集:是指同一类实体构成的集合。
实体类型:是对实体集中实体的定义。
一般将实体、实体集、实体类型统称为实体。
3.联系:表示一个或多个实体之间的关联关系。
联系集:是指同一类联系构成的集合。
联系类型:是对联系集中联系的定义。
一般将联系、联系集、联系类型统称为联系。
4.同一个实体集内部实体之间的联系,称为一元联系;两个不同实体集实体之间的联系,称为二元联系,以此类推。
5.属性:实体的某一特性称为属性。
在一个实体中,能够惟一标识实体的属性或属性集称为实体标识符。
6. ER模型中,方框表示实体、菱形框表示联系、椭圆形框表示属性、实体与联系、实体与其属性、联系与其属性之间用直线连接。
实体标识符下画横线。
联系的类型要在直线上标注。
注意:联系也有可能存在属性,但联系本身没有标识符。
数据库第2章2.1-2.3

候选码主码Fra bibliotek有意义的关系及其值:
导师 专业 研究生姓名 研究生学号 1001 1002 1003
张清玫 信息专业 李 勇 张清玫 信息专业 刘 晨 刘 逸 信息专业 王 敏
关系(续)
2) 关系的表示
关系也是一个二维表,表的每行对应一个元 组,表的每列对应一个域(属性)。
表 2.2 SAP 关系
SUPERVISOR 张清玫 张清玫 刘逸 SPECIALITY 信息专业 信息专业 信息专业 POSTGRADUATE 李勇 刘晨 王敏
是 型
是值 关系模式是对关系的描述
数据库系统型与值的概念
5) 基本关系的性质
① 同列同质性,不同列可同域,不同名 ② 主码唯一性 ③ 行列无序性 ④ 分量原子性
2.1 关系数据结构
2.1.1 关系
2.1.2 关系模式 2.1.3 关系数据库
2.1.2 关系模式
1.什么是关系模式 2.定义关系模式
3. 关系模式与关系
1.什么是关系模式
关系模式 关系
第二章 关系数据库
2.1 2.2 2.3 2.4 2.5 关系数据结构及形式化定义 关系操作 关系的完整性 关系代数 小结
第二章 关系数据库
2.1 2.2 2.3 2.4 2.5 关系数据结构及形式化定义 关系操作 关系的完整性 关系代数 小结
2.1 关系数据结构
关系数据库系统是支持关系模型 的数据库系统 关系模型的三大组成部分 关系数据结构 关系操作集合 关系完整性约束
4)对关系的几点说明
笛卡尔积不满足交换律,即
(d1,d2,…,dn )≠(d2,d1,…,dn ) 但关系附加的属性名使得关系满足交换律, (d1,d2, …,di,dj ,…,dn)= (d1, d2, …,dj,di ,…,dn) ( i , j = 1 , 2 , …, n ) 例如 : (学号,姓名,性别,年龄)= (学号,姓名,年龄,性别)
第2章 数据库创建

2.2.2 数据库的修改和删除
1.数据库的修改 在数据库成功创建后,数据文件名和日志文件名就不能改变了。对已存在的数 据库可以进行的修改包括以下几项。 增加或删除数据文件。 改变数据文件的大小和增长方式。 改变日志文件的大小和增长方式。 增加或删除日志文件。 增加或删除文件组。 重命名数据库。
2.2 界面方式创建数据库
2.2.1 数据库的创建
【例2.1】 创建数据库pxscj,数据文件和日志文件的属性按默认值设置。 创建该数据库的过程如下: 第1步 以系统管理员身份登录计算机,在桌面上单击“开始”→“所有程 序”→“Microsoft SQL Server 2012”,选择并启动“SQL Server Management Studio”。如图 2.1 所示,使用默认的系统配置连接到数据库服务器。
表:表是最主要的数据库对象。 视图:视图是从一个或多个基本表中引用表。 索引:表中的记录通常按其输入的时间顺序存放,这种顺序称为记录的物理顺序。 约束:约束用于保障数据的一致性与完整性。具有代表性的约束就是主键和外键。 存储过程:存储过程是一组为了完成特定功能的SQL语句集合。 触发器:触发器与表紧密关联。它可以实现更加复杂的数据操作,更加有效地保障数 据库系统中数据的完整性和一致性。 默认值:默认值是在用户没有给出具体数据时,系统所自动生成的数值。 用户和角色:用户是指对数据库有存取权限的使用者;角色是指一组数据库用户的集 合。 规则:规则用来限制表字段的数据范围。 类型:用户可以根据需要在给定的系统类型之上定义自己的数据类型。 函数:用户可以根据需要将系统若干个语句或者系统函数进行组合实现特定功能,定 义成自己的函数。
2.2.2 数据库的修改和删除
【例2.2】 在pxscj数据库中增加数据文件pxscj_2,其属性均取系统默认值。 操作方法如下: 打开“数据库属性-pxscj”窗口,在“选项”页列表中选择“文件”选项页, 单击右下角的“添加”按钮,会在数据库文件下方会新增加一行文件项,如图2.6 所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理及应用课件
2.3 关系的完整性
2.3.1 实体完整性 规则2-1:若属性A是基本关系R上的主属性,则属性A不能取空 值。
如关系学生(学号,姓名,性别,年龄,籍贯),在此关系中, 学号是主码,则学号也是主属性,如果主属性学号的取值为空, 且其他信息相同的学生,则就没有办法区分信息相同的学生。
A
B
a1
b1
a1
b2
a2
b2
(a)R
C
A
c1
a1
c2
a1
c1
a2
减去
B
C
b2
c2
b3
c2
b2
c1
(b)S
A
B
C
a1
b1
c1
R-S
数据库原理及应用课件
R×S
A
B
C
a1
b1
c1
a1
b2
c2
a2
b2
c1
A
B
C
a1
b2
c2
a1
b3
c2
a2
b2
c1
A
B
C
A
B
C
a1
b1
c1
a1
b2
c2
a1
b1
c1
a1
b3
c2
• 4.广义笛卡尔积(Extended Product) 与第二节的笛卡尔积的计算方法相同。
数据库原理及应用课件
• 例2-4 给定关系R和S,如图2-5(a)、(b)所示,求R∪S,R∩S,R-S,R×S。
A
B
a1
b1
a1
b2
a2
b2
(a)R
R∪S=R ∪(R∩S)
C
A
B
C
c1
a1
b2
c2
c2
a1
b3
c2
c1
a2
b2
c1
(b)S
A
B
C
a1
b1
c1
a1
b2
c2
a2
b2
c1
a1
b3
c2
R∪S
数据库原理及应用课件
R∩S
A
B
C
a1
b1
c1
a1
b2
c2
a2
b2
c1
(a)R
A
B
C
a1
b2
c2
a1
b3
c2
a2
b2
c1
(b)S
A
B
C
a1
b2
c2
a2
b2
c1
R∩S
数据库原理及应用课件
R-S= R-(R∩S)
2.3.3 用户自定义完整性
针对某一具体关系数据库的约束条件,它反映某一具体应用 所涉及的数据必须满足的语义要求。
数据库原理及应用课件
2.4 关系代数
• 关系代数式关系操纵语言的一种传统表示方式,它是以集合 代数为基础发展起来的,但它的运算对象和运算结果均为关 系。
• 关系代数也是一种抽象的查询语言,它通过对关系的运算来 表达查询。
÷
>
≥
< 比较运算符
≤
=
≠ ∧
逻辑运算符
∨
﹁
含义 并 交 差 广义笛卡尔积 选择 投影 连接 除法 大于 大于等于 小于 小于等于 等于 不等于 与 或 非
数据库原理及应用课件
2.4.1传统的集合运算
• 传统的集合运算是二目运算,包括并、交、差、广义笛卡尔积四 种运算。
• 1.并(Union) 要求参与运算的两个关系具有相同的列数,属性列的域要相同。 运算结果为参与运算的两个关系的所有元组,并去掉重复的元组 。此运算不会对参与运算的关系的列数造成影响。
(c)学生选课表
数据库原理及应用课件
2.2.2 关系的数学定义
• 1.域:域是一组具有相同数据类型的值的集合。 • 2.笛卡尔积 • 3.关系:D1×D2×D3×…×Dn的子集 目(或度) 数据表:关系 字段:属性 记录:元组
数据库原理及应用课件
2.2.3 关系的性质
• 1.同一属性的数据具有同质性 • 2.同一关系的属性名具有不可重复性 • 3.关系中列的位置具有顺序无关性 • 4.关系中元组的位置具有顺序无关性 • 5.关系具有元组无冗余性 • 6.关系中每一个分量都必须是不可分割的数据项
数据库原理及应用课件
第2章 关系数据库
• 2.1关系模型概述 • 2.2关系数据库的基本概念 • 2.3 关系的完整性 • 2.4 关系代数(本章重点及难点) • 2.5 关系演算 • 2.6 关系代数表达式的优化
数据库原理及应用课件
2.1关系模型概述
关系数据库系统是支持关系模型的数据库系统。
关系模型的三要素为:数据结构、关系操作、关系模型的
数据库原理及应用课件
2.2关系数据库的基本概念
2.2.1 关系模型的数据结构 2.2.2 关系的数学定义 2.2.3 关系的性质 2.2.4 几个常用术语
数据库原理及应用课件
2.2.1 关系模型的数据结构
• 在关系模型中,数据结构就是用单一的二维表结构来 表示实体集以及实体与实体之间的联系的。
学号 090101 090102 090103 090104
• 运算的三大要素:运算对象、运算符和运算结果。 • 关系代数分为:传统的集合运算和专门的关系运算。 • 传统的集合运算有:并、交、差、广义笛卡尔积四种运算。 • 专门的关系运算有:选择、投影、选择、除四种运算。
数据库原理及应用课件
表2-5 关系代数用到的运算符
运算符 ∪ ∩
集合运算符 ×
σ ∏ 专门的关系运算符
a1
b2
c2
a2
b2
c1
a1
b3
c2
a2
b2
c1
a2
b2
c1
ABCABC a1 b2 c2 a1 b2 c2 a2 b2 c1 a2 b2 c1
数据库原理及应用课件
步骤3:消除重复的属性列。
A
B
C
A
B
C
a1
b2
c2
a1
b2
c2
a2
b2
c1
a2
b2
c1
A a1 a2
取消
取消后
B
C
b2
c2
b2
c1
数据库原理及应用课件
数据库原理及应用课件
2.2.4 几个常用术语
• 1.关系模式 表示方法为R(U,D,DOM,F),其中R为关系名,U为组成该 关系的属性集合,D为属性组U中的属性所来自的域, DOM为属性向域的映像的集合,F为属性间数据的依赖关 系集合。
• 2.关系数据库:在关系数据库中,实体集以及实体间的联 系都是用关系来表示的。
• 2.差(Difference) 要求参与运算的两个关系具有相同的列数,属性列的域要相同。 假设参与运算的关系为R和S,则运算结果为R减去和S相同的元 组后剩下的元组,也可表示为R-(R∩S)。此运算不会对参与运算 的关系的列数造成影响。
数据库原理及应用课件
2.4.1传统的集合运算
• 3.交(Intersection) 要求参与运算的两个关系具有相同的列数,属性列的域要相同。 假设参与运算的关系为R和S,则运算结果为R和S相同的元组。 此运算不会对参与运算的关系的列数造成影响。
数据库原理及应用课件
(8)查询选修课程名为maths的学生学号与姓名。 (9)得到一张包括学生学号、姓名、课程名称、学分和成绩的学生成绩
单。 (10)查询选修课程号为C2或C4的学生学号。 (11)查询至少选修课程号为C2和C4的学生学号。 (12)查询不选修C2课程的学生姓名与年龄。 (13)查询学习全部课程的学生姓名。 (14)查询全体学生都选修的课程的课程号和课程名。 (15)查询所学课程包含学生S3所学课程的学生学号。 (16)查询选修课程包含Liu老师所授课程的学生学号。 (17)将新选修课程元组(‘S1’,‘C1’,‘95’)插入到关系SC中。 (18)将学号为S4、选修课程号为C4的学生的成绩改为85分。
a1
b2
c2
a2
b2
c1
a1
b3
c2
a2
b2
c1
a2
b2
c1
数据库原理及应用课件
步骤2:从笛卡尔积中找出各个属性列的值都相等的元组;
A
B
C
A
B
C
a1
b1
ห้องสมุดไป่ตู้
c1
a1
b2
c2
a1
b1
c1
a1
b3
c2
a1
b1
c1
a2
b2
c1
a1
b2
c2
a1
b2
c2
a1
b2
c2
a1
b3
c2
a1
b2
c2
a2
b2
c1
a2
b2
c1
• 4.除法
除法操作是同时从行和列的角度进行运算的。 R÷S的具体过程为: (1)求出R中的X的各个分量的象集YX; (2)求出S在Y上投影的集合∏y(S); (3)比较YX和∏y(S),选取满足∏y(S)包含于YX的分量,记作X+; (4) R÷S={X+}。 例:设有关系R、S如下表所示,求R÷S的结果。
无学号,就 无法区分两 个陆小凤。
学号 090101
090104