第十二节 数据库系统与应用

文章介绍了关系数据库的核心概念,包括数据结构如域、笛卡尔积和关系,以及元组、属性和码的定义。讨论了关系的分类和基本性质,强调了主码确保行不重复的重要性。此外,提到了关系操作如增、删、改、查,并阐述了实体完整性和参照完整性的规则。文章还涉及关系代数的操作,并讨论了关系的规范化,旨在减少冗余和确保数据一致性。
摘要由CSDN通过智能技术生成

第四章 关系数据库

一,关系的数据结构

  1. 笛卡尔积

  1. 关系

  1. 元组

  1. 属性

  1. 码:主码,候选码,单属性码,多属性码

  1. 主属性

  1. 关系的分类:基本表,查询表,视图表

  1. 关系的基本关系

  1. 关系中的列具有同质性(类型相同,取值范围相同)

  1. 关系中的行不能重复(主码)

  1. 关系中的列不能同名

  1. 关系中行的顺序可以调整

  1. 关系中列的顺序可以调整

  1. 关系中的分量不能再分。在一个关系中,所有的属性都是并列的关系,不能互相包含。

成绩(C语言成绩,Pascal语言成绩)

电话(家庭电话,办公电话)

二,关系操作

  1. 关系操作是一个集合操作。因为关系是元组的集合。

  1. 关系操作包括:增,删,改,查

三,关系的完整性

  1. 实体完整性

限制主码的取值:(1)不能为空 (2)不能重复

  1. 参照完整性

限制外码的取值:(1)外码可以取空值。(2)如果不取空值,必须从与之对应的父表的主码中取值。

部门和员工:把部门表的部门编号添加到员工表。部门编号在员工表中就是外码。

员工的部门要么取空值,要么从部门表的部门编号中取值。

关系的联系的表示方法:

一对多联系:把“父表”的主码添加到子表中。称为“外码“。

多对多联系:关系数据库不能直接表示。通过建立新表把多对多联系转换成多个一对多联系。

学生和选课

学生:学号(主码),性命,性别……

课程:课程编号(主码),课程名,……

选课(学号,课程编号,成绩),主码是学号+课程号

同时:学号是外码,和学生的学号对应:课程编号也是外码,和课程表的课程表的课程编号对应。

选课表中有两个外码。同时外码又是主属性。

四,关系代数

  1. 传统的集合运算:并,交,差(双目运算,运算对象为两个关系)

  1. 专门的关系运算:

选择和投影都是单目运算(运算对象为一个关系)

选择:

投影:

笛卡儿积:

连接:

除:

第七章 关系的规范化

一个规范的关系应满足的要求:

  1. 关系中的分量不能再分。属性之间是并列的关系,不能互相包含。

  1. 关系中的数据冗余尽可能少。除了“外码“这种冗余,不能有别的冗余。

冗余:“同一个数据“重复保存

  1. 不能因为数据更新操作而造成数据不一致。如果消除了数据冗余,该问题自然解决。

转专业:

  1. 转出学院,领导签字,同意。中文211班

  1. 转入学院,领导签字,同意。信管213班

  1. 教务处,领导签字,同意

  1. 更新教务系统

财务系统,图书管理系统,校医院,……

专业和班级信息

  1. 不能插入异常:

插入异常:由于主码的限制(表的设计不合理),应该插入的数据无法插入

主码:不能为空,不能重复

教学(学号,姓名,年龄,性别,系名,系主任,课程名,成绩)

主码:学号+课程名

插入一个系,该系没有学生。学号为空,无法插入。

一个学生没有选课,课程名为空,无法插入。

一门课没有学生选,学号为空,无法插入。

  1. 不能出现删除异常

删除异常:不该删除的行被删除

如果一个系的学生全部删除,系的信息就会删除。

如果一个学生选修的所有课程被删除,则学生的信息也会被删除。

如果一门课,选修该门课程学生被删除,则课程信息也会被删除。

如果一个关系不满足关系规范化的基本要求,要进行关系的规范化:所有的关系都满足第一条。

如果一个关系不是一个规范的关系,造成的原因:在一个关系中,保存多个实体集的信息。

关系规范化的方法:分解。(把一个关系分解成多个关系)

分解的原则:一事一地,保持联系!

一事一地:一个关系只保存一个实体集的信息。

保持联系:把实体集之间的联系表示出来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值