- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
广义笛卡尔积
σ
选择 投影 连接 除 大于 大于等于 小于 小于等于 等于 不等于 非 与 或
几个记号及举例
关系R
C a1 a1 a2 D b1 b2 b2 E c1 c2 c1
关系STUDENT
sno 95001 95002 95003 95004 sname 赵四 李阳 刘广 刘地 ssex 女 男 男 男 sdept sage CS 19 CS 18 IS 20 CS 21
分量
笛卡尔积基数 m= 3× 2 ×2=12 二维表中元组的个数是12 家庭关系 (父亲,母亲,孩子)
Õ ¶ Å þ õ È Í ý
¶ Ã ¡ · õ · Í ¼
Å Õ ¢ Ó õ Í À Ê
3目关系
属性:表的每列都对应一个域,由于域可以相同, 必须为每列起一个名字,称为属性。 候选码(candidate key码):若关系中的某一属性组的 值能唯一标识每一个元组,则称该属性组为候选码。 主码: (primary key)若一个关系中有多个候选码, 则选定一个为主码。 主属性:(primary attribute)主码的诸属性。 非码属性:不包含在任何候选码中的属性。 全码:(all –key)关系模式的所有属性组是这个关系 模式的候选码。 外码:设F是基本关系R的一个或一组属性,但不是 关系R的码,如果F与基本关系S的主码KS相对应,则 称F是基本关系R的外码(foreign key)。
课堂练习:试指出下列关系的候选码、主码、主属性、 若有全码、外码,请指出。 关系1 学生(学号,身份证号,姓名,性别,系名) 关系2 系别(系名,系主任,系学生人数) 关系3 存折(日期,账号,户名,单位,取款额,余额) 关系4 片约(影院名,日期,片名)
关系1 学生(学号,身份证号,姓名,性别,系名) 关系2 系别(系名,系主任,系学生人数) 关系3 存折(日期,账号,户名,单位,取款额,余额) 关系4 片约(影院名,日期,片名)
被参照关系
规则:若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码KS 相对应,则对于R中每个元组在F上的值必须为: l 或者取空值(F的每个属性值均为空值) l 或者等于S中某个元组的主码值 前两条规则在使用时,应注意三点: l 外码和相应主码可以不同名,只要在同一域 l R和S可以是同一关系模式,表示属性间联系 l 外码F是否允许为空,视具体情况 前两类规则是由系统自动支持的,即:在建立关系(表)时,只要指明了主码、 外码,系统将自动进行此类完整性检查。
例:{0,1}和{0,1,1}等 价基数都为2
一列,表示一个字段。
元组:每一个(d1,d2,…dn) 域基数:域中数据个数。(注:在域中相同的值被视为同一值)
度(目、元数):属性的个数就是关系的度。
D1=男人的集合={张二,王三,李四}
D2=女人的集合={丁梅,王芳} D3=孩子的集合={张英,王世}
例: 定义一个关系S1(SNO,AGE),要求“年龄大于等于15,且小于等于25” 定义一个关系S2(SNO,SEX,NAME),要求SEX为“男”或“女” 定 义 一 个 关 系 S3(SNO,NAME,ADDRESS,TEL),ADDRESS 不 为 空,TEL(字符型):位数为8位,且第一位数字为8
1 . 学生(学号,姓名,性别,专业号,年龄)
专业(专业号,专业名)
2 .学生(学号,姓名,性别,专业号,年龄) 课程(课程号,课程名) 选修(学号,课程号,成绩) 3.学生2(学号,姓名,性别,专业号,年龄,班长学号)
规则:
专业号 学号 课程号
学生关系
专业关系
学生关系
选修关系
课程关系
参照关系
关系的参照图
参照完整性
又称为引用完整性。它保证主表(被参照表) 中的数据与从表(参照表)中数据的一致性。 在SQL Server中,它通过主键约束PRIMARY KEY和外键FOREIGN KEY 约束实现。在数 据库管理系统中,保证数据库的完整性是非 常重要的。参照完整性确保键值在所有表中 一致。 在被参照的表中,当其主键值被其他表参照 时,该行记录既不能被删除,也不允许被改 变。
引入:
前面介绍了数据模型的分类,基 本层次模型、网状模型、 关系数据模 型。那么 ,关系数据模型又是什么样 的呢?
为什么关系数据模型能够成为当 今市场的主流呢?
一、关系数据库概述
关系数据库系统是支持关系模型的数据库系统。 关系模型组成:关系数据结构、关系操作集合、完整性约束。(从形 式上定义) 1、关系数据结构:二维表 2、关系操作集合:操作的对象和结果都是集合。 常用的关系操作:选择、投影、连接、除、并、交、差等查询操作 和增、删、改更新操作。 关系代数语言----例如ISBL 关系数据语言 关系演算语言(元组关系演算语言(APLHA)和域关系 演算语言(QBE)) 具有关系代数和关系演算双重特点的语言(SQL) 3、完整性约束 实体完整性、参照完整性、用户定义的完整性 。
实体完整性
又称为行完整性。它把表中的每行都看作一个实体, 要求所有行都具有惟一标识。在SQL Server中,可以 通过建立PRIMARY KEY约束. 例如,对“客户信息表”,客户编号就可以作为主键, 每个客户的编号能够惟一地确定该客户对应的记录信 息,那么在输入数据时,则不能有相同客户编号的记 录存在,通过对客户编号这一字段建立主键约束,可 实现“客户信息表”的实体完整性。
例:学生(学号,姓名,性别,班级, 年龄,入学成绩,专业号) 专业(专业号,专业名)
CREATE TABLE 专业 (专业号 varchar(10) PRIMARY KEY, 专业名 varchar(50)) CREATE TABLE 学生 ( 学号 int PRIMARY KEY,姓名 varchar(50), 性别 bit, 班 级 varchar(50),年龄 INT, 入学成绩 float, 专业号 varchar(10) FOREIGN KEY REFERENCES 专业 (专业号), )
CREATE TABLE 客户信息表 (客户编号 int, 客户名称 varchar(50), PRIMARY KEY (客户编号) )
2、参照完整性(referential integrity)
一个关系中的某个属性的取值应参照另一关系中的某个属性的取值。 定义:外码、参照关系、被参照关系 设F是基本关系R的一个或一组属性,但不是关系R的码,如果F与基 本关系S的主码KS相对应,则称F是基本关系R的外码(foreign key),并称基本关系R为参照关系,基本关系S为被参照关系或目 标关系。关系R和S不一定是不同的关系。
用户定义的完整性
例: CREATE TABLE 学生 ( 记录编号 int IDENTITY(1,1), --定义该列为标识列 姓名 varchar(50) NOT NULL, 性别 bit DEFAULT(0), --定义该列的默认值为0 班级 varchar(50) NOT NULL, 入学成绩 float DEFAULT(0), 所属院系 int NOT NULL PRIMARY KEY (记录编号), UNIQUE (姓名), CHECK (入学成绩>=0) )
用户用来从数据库中请求获取信息的语言
关系代数是一种抽象的查询语言,是用对关系的 运算来表达查询的。
运算的三个要素:运算对象、运算符、运算结果 关系代数运算:
运算对象:关系
运算结果:关系
运算符:集合运算符、专门的关系运算符、
算术比较符和逻辑运算符。
关系代数运算符
运算符 ∪ 集合运 ∩ 算符 × 专门的 关系运 ∏ 算符 ∞ ÷ > ≥ 比较运 < 算符 ≤ = ≠ 逻辑运 ∧ 算符 ∨ 含义 并 交 差
第2章 关系数据库数学模型
一、教学要求:
1. 熟悉关系的数据模型及其相关的概念术语。
2. 掌握关系的运算:并、差、交和选择、投影、连接等 3. 掌握关键字和外关键字的概念。
二、教学重点:
1. 关系的数据模型及其相关的概念术语。
2. 关系的运算:并、差、交和选择、投影、连接
三、教学难点:关系代数表达式的运用技巧
3.用户定义的完整性(user-defined integrity) 附加约束——用户定义的约束 某些属性的取值有特定的要求 这是针对某一应用环境的完整性约束条件,它反映了某 一具体应用所涉及的数据应满足的要求。系统提供定义和 检验这类规则的机制(一般在建立表的同时进行定义), 其目的是用统一的方式由系统来处理它们,不再由应用程 序来完成这项工作。
关系的完整性
实体完整性、参照完整性、用户定义的完整性 1、实体完整性(entity integrity) 规则:若属性 A 是关系 R 的主属性,则属性 A 不能取空值。 例: 1 . 学生(学号,姓名,性别,专业号,年龄)
2. 专业(专业号,专业名)
3 . 课程(课程号,课程名) 4.选修(学号,课程号,成绩) 5. 存折(日期,账号,户名,单位,取款额,余额) 6. 片约(影院名,日期,片名)
候选码
主码
外码
全码
关系类型:基本关系(基本表)、查询表 (查询结果结应的表)和视图(虚表)。 人(张二,王三,李四,丁 基本关系性质: 梅,王芳,张英,王世), 家庭关系 (父亲,母亲, Ø 列是同质的 孩子) Ø 不同列可出自同一个域 Ø 列的顺序无关 Ø 任意两个元组不能相同 Ø 行的顺序无关 Ø 分量必须取原子值(不能再分)
笛卡尔积D1 × D2 × D3={(张二,丁梅, 张英), (张二,王芳,王世),……}
用二维表表示笛卡尔积 D1× D2 × D3 元组
男人 张二 张二 张二 张二 王三 王三 王三 王三 李四 李四 李四 李四 女人 丁梅 丁梅 王芳 王芳 丁梅 丁梅 王芳 王芳 丁梅 丁梅 王芳 王芳 孩子 张英 王世 张英 王世 张英 王世 张英 王世 张英 王世 张英 王世