数据库系统基础教程_期末复习_第二章

目录

2.1数据模型概述

2.1.1数据结构(静态特性)

2.1.2.数据操作(动态特性)

2.1.3.数据上的约束

2.1.4重要的数据模型

2.2关系模型基础

2.2.1 关系数据结构

2.2.2 关系操作集合

2.2.3 关系完整性约束

2.3SQL中定义关系模式

2.4关系代数查询语言

大题:查询表达式和表达式树

2.5关系代数的扩展操作

2.6作为约束语言的关系代数 


2.1数据模型概述

数据模型:对现实世界数据特征的模拟和抽象

数据模型三要素:

2.1.1数据结构(静态特性)

定义:数据结构:描述数据库的组成对象以及对象之间的联系

是刻画一个数据模型性质最重要的方式

(层次结构,网状结构,关系结构的数据模型→层次模型,网状模型,关系模型)

2.1.2.数据操作(动态特性)

定义:数据操作:对数据库中数据允许执行的操作的集合及其规则

主要操作:查询,更新(插入,删除,修改)

2.1.3.数据上的约束

定义:数据约束条件:一组完整性规则的集合

完整性:数据模型中数据及其联系所具有的制约和依存规则,用以限定状态及变化。保证数据的正确,有效,相容


2.1.4重要的数据模型

1.关系数据模型 2.半结构化数据模型(XML) 3.其他(层次,网状)

2.2关系模型基础

关系模型——提供一种描述数据的方法即称为“关系”的二维表

2.2.1 关系数据结构

关系模型中数据的逻辑结构是一张二维表

基本概念的罗列:

  1. 关系:命名了的二维表:描述事物之间的联系
  2. 属性:每一列的名字 
  3. 关系模式:关系名和属性的集合(无序)
  4. 关系数据库模式:一项关系模型包括一个或多个关系模式
  5. 域:属性的数据类型与取值范围
  6. 元组:除了属性之外的每一行
  7. 分量:一个元组中的其中一个量(每个元组中的每个分量都有特定的次序)
  8. 键:关系中的某个属性或者属性组可以唯一确定一个元组
  9. 候选码:存在多个属性(组)可以唯一标识该元组;从该属性组中去掉一个就不具备该属性了;则这些属性(组)都是候选码
  10. 主属性:候选码中的属性;非主属性:不包含在候选码中的属性
  11. 主码/主键:在多个候选码中指定一个作主码;每个表只有一个主键且不为空,用下划线标记
  12. 全码:所有属性在一起构成的码
  13. 外键:将一个表的主键作为数据之间的联系纽带放到另一个表中;这个用于联系的非主属性就是外键(外部关键字)
  14. 关系是元组的集合(无序),不是列表(有序)。所以可以改变次序。
  15. 关系实例:元组的集合;当前实例:当前版本的关系的元组集合
  16. 模式:关系名与属性,不变;实例:元组的集合,会变

2.2.2 关系操作集合

查询,插入,删除,修改

2.2.3 关系完整性约束

(1)实体完整性约束——必须满足

定义:如果属性A是基本关系的主属性,则属性A不能取空值

(2)参照完整性约束——必须满足

定义:简单来说就是——如果一个属性(组)是一个关系A的外码,也就是关系B的主码。那么关系B叫做被参照关系。

同时在关系A中,每个元组在这个属性(组)上的值必须满足:每个属性值为空值;等于关系B中某个元组的主码值

(3)用户定义的完整性——自行定义的约束

对于关系数据库中的数据定义的约束条件

2.3SQL中定义关系模式

SQL数据定义
定义基本表CREATE TABLE
修改基本表定义ALTER TABLE
删除基本表DROP TABLE
创建索引CREATE INDEX
删除索引DROP INDEX

创建基本表:

CREATE TABLE Movies(
         title        CHAR(100),
         year         INT,
         length       INT,
         genre        CHAR(10),
         studioName   CHAR(30),
         producerC#   INT
    );

建表的同时通常还定义完整性约束条件:

1) NOT NULL /NULL约束:不允许/允许该列存在空值

2) UNIQUE约束:不允许表中的一列或者某些列有重复值

3) DEFAULT约束:默认值约束,即向表中插入一个新行时,如果对于特定列没有指定数值,则使用DEFAULT子句指定的默认值。(多为NULL)

4) CHECK约束:检验约束,为插入列中的数据指定约束条件。即该列上的值必须满足这个条件,否则返回一个错误信息

5) PRIMARY KEY约束:主键约束。主键可以是一列或列组。(与UNIQUE约束相比,PRIMARY KEY约束的列不能为空)

6) FOREIGN KEY约束:参照完整性约束,约束外键。

修改基本表:

删除基本表:

2.4关系代数查询语言

关系的集合运算:

交,并,差:(略,只需要注意是集合的运算,没有重复的即可)

投影:R的投影是从R中选择若干个属性组成新的关系(无重复)记为:πA1,A2,A3..An (R)

选择:R的选择运算就是从指定关系中选择满足一定条件的元组,得到新的关系。记为σC(R)

条件C可以用大于,小于,AND,OR等

笛卡尔积:关系R和S的笛卡尔积是有序对的集合,记作R×S

当R和S有公共属性A时,分别用R.A和S.A表示。

自然连接:由关系R和S在公共属性上相同的元组成对链接构成(去掉重复的列)记作:R⋈S

 (R1⋈R2)⋈R3 等价于  R1⋈(R2⋈R3)     可简记为 R1⋈R2⋈R3

θ连接:即R和S基于条件C的自然连接,记为Rc⋈S


大题:查询表达式和表达式树

就是给出一个要查询的目标对象,根据这个条件写查询语句,再把语句画成树。

语句画成树——由内向外拆解:自下而上:关系→对关系的操作→集合运算→运算结果的操作

思路就是“先条件再目标,先选行再选列”,例如如下:

“学分大于3”就是条件;课程号和课程名就是目标;

查询语句由内到外先解决条件,也就是选行;再确定要选择的目标,也就是选列。

前者利用“选择σ”确定行,后者利用“投影π”确定列

同时,如果需要的目标在两个表中,需要先将两个表自然连接:

改名:ρs(A1,A2...An)(R),将关系R的名字改成S,并且将属性改名为A1,A2...

2.5关系代数的扩展操作

(1) 消重复操作符:δ(R)返回没有重复元组的关系R

(2) 聚集操作符:用于汇总或者聚焦某一列的数值

求和/平均/最小/最大/“种类”数 

(3) 分组操作:对R中的一个属性应用操作,并且对取得的结果命名:

γL(R中的一个属性)→newname(R)

(4) 扩展投影:在投影的途中增加操作得到新属性并命名

(5) 排序操作符:τL(R)按照L的顺序排序

排序操作符是关系代数中唯一一个结果是元组列表的操作符

(6) 悬浮元组和外连接算符

悬浮元组:在连接中不能和任何一个另外关系的元组配队的元组,该元组一般舍弃。例如:

保留悬浮元组并填入NULL值的连接就是外连接: 

左外连接:只保留左边关系中要舍弃的元组。右外连接同理

半连接:只取第一个关系中的属性

2.6作为约束语言的关系代数 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值