关系模型由关系数据结构,关系操作集合和完整性约束三部分组合
关系: 关系指的是一张二维表,每个关系有一个关系名。
元组: 表中的一行即为一个元组。
属性: 表中的列称为属性,每一个列有一个属性名。属性值相当于记录中的数据项或字段值。
域: 属性的取值范围。
关系模型: 关系的描述,由关系名和 属性集合构成,格式为:关系名(属性名1,属性名2,属性名3 …,属性名n)
候选码(候选键): 属性或者属性组合,其值能够唯一标识一个元组。
主码(主键): 在一个关系中可能有多个候选码,从中选出一个作为主码。
主属性: 在候选码中的属性称为主属性,不在的称为非主属性。
外码(外键): 如果一个关系中的属性或属性组不是该关系的码,但他们是另外一个关系的码,则称其为该关系的外码
全码: 一个关系模式中的所有属性都是候选码,则称全码。
超码(超键): 一个包含码的属性集称为超码,例如学号是码,则(学号,姓名)就是一个超码
实体完整性: 关系中的主码不能为空或者部分为空
参照完整性: 若一个关系R的外码是X,则这个关系R的外码必须在依赖的主码中必须存在,就好比学生信息中的专业编号,这个专业编号必须在另一个专业关系表中必须存在。
用户自定义完整性: 指用户对某一具体数据指定的约束条件进行检验。
关系模型常用的操作有:选择,投影,连接,除,并,交,差等查询操作和增加,删除操作
(1)笛卡尔积
(2)关系( 不用看 )
(3)关系的性质( 不用看 )
关系代数是施加于关系之上的一组集合代数运算,每一个运算都以一个或多个关系作为运算对象,并生成另外一个关系作为该关系运算的结果。关系代数包含传统的集合运算和专门的关系运算两类。
(1)传统的集合运算
传统的集合运算有并,差,交和笛卡尔积运算
①并
关系R和关系S所有元组的集合,删除重复的元组,组成一个新的关系
②差
关系R和关系S中的差表示,除去关系R中S中的那部分元组,剩余的组成一个新的关系
③交
关系R和关系S中公共的那部分元组
④笛卡尔积
笛卡尔积参照上面解释,表示为R×S
例如:
(2)专门的关系运算
①投影
②选择
③连接
自然连接:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8DQa2lVD-1667040996286)(D:/%E6%A1%8C%E9%9D%A2/%E7%AC%94%E8%AE%B0/%E8%BD%AF%E4%BB%B6%E8%AE%BE%E8%AE%A1%E5%B8%88%E8%B5%84%E6%96%99/image/%E6%95%B0%E6%8D%AE%E5%BA%93.assets/image-20221029181048140.png)]
自然连接:首先求出笛卡尔积,然后抽取出公共的属性列相等的元组,其得出的结果就是自然连接
④除
例题1:
答案:B,A
例题2:
答案B
例题3:
答案:C,D
例题4:
答案:C,A
例题5:
答案:C,B
例题6:
答案:D
例题7:(易错)
答案:B,D
例题8:
答案:C,B
例题6:
答案:D
例题7:(易错)
答案:B,D
例题8:
答案B