校园风险管理网站建设方案,沃尔沃公司网站建设,有哪些做PPT背景网站,上海做网站站优云一一十六文章目录 第七章 数据库设计和E-R模型#xff08;重点#xff01;#xff01;#xff01;#xff09;~~7.1 设计过程概览#xff08;了解#xff09;~~7.1.1 设计阶段7.1.2 设计选择 7.2 实体-联系模型#xff08;重点掌握#xff09;7.2.1 实体集7.2.2 联系集联系集的… 文章目录 第七章 数据库设计和E-R模型重点~~7.1 设计过程概览了解~~7.1.1 设计阶段7.1.2 设计选择 7.2 实体-联系模型重点掌握7.2.1 实体集7.2.2 联系集联系集的度 7.2.3 属性各种属性在E-R图中的表示 7.3 约束7.3.1 映射基数7.3.2 参与约束7.3.3 码键、码的概念 7.4 从实体集中删除冗余属性7.5 实体-联系图重点7.5.1 基本结构7.5.2 映射基数7.5.3 复杂的属性7.5.4 角色7.5.5 非二元的联系集7.5.6 弱实体集7.5.7 大学的E-R图 7.6 转换为关系模式重点7.6.1 具有简单属性的强实体集表示7.6.2 具有复杂属性的强实体集表示7.6.3 弱实体集的表示7.6.4 联系集的表示 7.7 实体-联系设计问题设计数据库的步骤 ~~7.8 拓展的E-R属性~~ 第八章 关系数据库设计重点8.1 好的关系设计的特点8.1.1 设计选择更大的模式8.1.2 设计选择更小的模式 8.2 原子域和第一范式8.3 使用函数依赖进行分解8.3.1 码和函数依赖**非规范化设计的问题数据冗余插入/删除/更新异常****函数依赖的概念(Functional Dependency)** 8.3.2 Boyce-Codd 范式Boyce-Codd Normal Form, BCNF)8.3.3 BCNF和保持依赖8.3.4 第三范式~~8.3.5 更高的范式不考~~ 8.4 函数依赖理论8.4.1 函数依赖集的闭包8.4.2 属性集的闭包8.4.3 正则覆盖8.4.4 无损分解8.4.5 保持依赖 8.5 分解算法8.5.1 BCNF分解8.5.2 3NF分解8.5.3 3NF算法的正确性8.5.4 BCNF和3NF的比较 ~~8.6 使用多值依赖的分解不考~~~~8.7 更多的范式不考~~~~8.8 数据库设计过程不考~~~~8.9 时态数据建模不考~~ ~~9.10.11章不考~~第12章 查询处理考到12.5第14章 事务考到14.8事务 应试 重装系统……备份数据时把这个文件夹抛弃了……且不可能重新整理本文来源于能寻觅到的最后残骸目录如下待有缘人使用文章不宜阅读and本系列文章止于此 第七章 数据库设计和E-R模型重点
7.1 设计过程概览了解
7.1.1 设计阶段
7.1.2 设计选择
在软件开发中需要经历这几个阶段 其中设计过程中需要进行数据库设计
关于E-R模式的引入
设计E-R模型的观点是世界是由一组称为实体的基本对象和这些对象之间的联系构成的
E-R图的作用
帮助澄清用户数据需求使分析人员和用户对数据需求达成高度一致 是数据逻辑模型设计的基础
7.2 实体-联系模型重点掌握 数据库可被建模为实体集合和实体间联系。
7.2.1 实体集
实体是客观存在的对象并且与其他对象可区分例如 特定的人公司事件植物具有属性例如人具有姓名和地址并且实体集是相同类型的实体的集合他们具有相同的性质例如所有人的集合所有公司的集合。实体集的图例如下以instructor导师为例: 实体用一个属性集合来表示即实体集中所有成员都具有的描述性特性,域表示所有属性允许的值的集合。属性的种类有以下几种: 简单属性与复合属性 单值属性与多值属性 例多值属性phone-numbers 派生属性 可由其他属性计算得到例给定出生日期可计算出年龄基属性或存储属性 复合属性的图例如下: 7.2.2 联系集
联系是指多个实体之间的联系,联系集是相同类型联系的集合。
例如导师和学生的关系一个学生有一个导师一个导师可以有多个学生导师的id用s_ID表示student的id用i_ID表示导师和学生的联系可以用如下数据表表示:
advisor(s_ID,i_ID)一般联系集存放的是两个表的主键对应的图示如下: 联系集也可具有属性例如导师和学生双选的日期如下图所示: 联系集的度
联系集的度指的是参加联系的实体集的个数涉及两个实体集的联系集称为二元的联系集可以涉及多于两个的实体集例一个student在每个项目上最多只能有一位导师如下图包含三个实体集instructor、student和project三元联系(多于两个实体集之间的联系较少见数据库系统中的联系集一般多为二元的) 7.2.3 属性
简单属性不可再分的属性复合属性可以划分为更小的属性如Birthday year month day单值属性每个实体在该属性上的取值唯一多值属性每个实体在该属性上的取值可以有多个比如一个教师可能有多个电话号码派生属性可以从其它相关属性或实体派生出来的属性如教师(编号姓名出生日期年龄)其中年龄即为派生属性年龄可由当前年份-出生日期得到
各种属性在E-R图中的表示 7.3 约束
7.3.1 映射基数
二元联系集的映射基数有以下几种情况
一对一如就任总统总统国家 注意一对一不是一 一对应 一对多如分班情况班级学生多对一如就医病人医生多对多如选课学生课程 7.3.2 参与约束 7.3.3 码
键、码的概念
实体集的超码是能够唯一标识每个实体的一个或多个属性,候选码是实体集的最小超码,候选码可能存在多个我们只会选择一个候选码作为主码或主键 例:instructor (ID,name,dept_name,salary 候选码ID 超码{ID}{ID, name}{ID,…}
7.4 从实体集中删除冗余属性
自主忽略~
7.5 实体-联系图重点
E-R图E-R diagram可以图形化表示数据库的全局逻辑结构。E-R图既简单又清晰这些是致使E-R模型广泛使用的重要性质。
7.5.1 基本结构 实体集之间不可以相连必须通过联系集。
7.5.2 映射基数
在前面的7.3.1我们已经讨论过映射技术的四种形式可以说任意二元联系都属于下面四种类型现在我们用E-R图的形式表现出来。 7.5.3 复杂的属性
即上述简单-复合属性单值-多值属性派生属性等见图7-11. 7.5.4 角色 7.5.5 非二元的联系集 7.5.6 弱实体集 如果一个实体的所有属性合在一起都不足以形成主码则称这样的实体为弱实体反之称为强实体。同一类型的弱实体形成弱实体集 依赖于其他实体集的实体集都叫做弱实体集例如课程实体集course和开课学期实体集section所开课程需要依赖于课程实体集因为没有课程也就没有开课信息如下图所示: 在E-R图中弱实体集和强实体集有相似之处但有两点主要的区别
弱实体集的分辨符以虚下划线标明而不是实线关联弱实体集与强实体集的联系集用双菱形表示
7.5.7 大学的E-R图
E-R图如下图所示矩形代表实体集有阴影的第一部分包含实体集的名字 第二部分包含实体集中所有属性的名字菱形代表联系集未分割的矩形代表联系集的属性。构成主码的属性以下划线标明线段将实体集连接到联系集: 参加联系的实体集不必是互不相同的
例下图给出了course实体集和preq联系集之间的角色标识course_id和 prereq_id 上图中course_id表示课程idprereq_id表示学习某一个课程的前置课程。
在开发中一般我们使用二元联系任何非二元联系都能转换成二元联系例将如下非二元联系schooling 转换成二元联系 特化用从特化实体指向另一方实体的空心箭头来表示。这种关系为ISA关 系代表“is a”“是一个”。例如一个教师“是一个”雇员: 7.6 转换为关系模式重点
实体集和联系集都可以转化为关系模式用以存储数据库中的内容。
若数据库符合E-R图则可以表示成模式的集合。
在E-R图中每个实体集和联系集均对应一个唯一的模式。
在每个模式中均有多个列且模式内列名不重复。
步骤
1.转换强实体集 2.转换弱实体集 3.转换联系集注意分情况讨论
7.6.1 具有简单属性的强实体集表示
对于只有简单属性的强实体集直接将E-R图转换为关系模式即可 7.6.2 具有复杂属性的强实体集表示
对于复合属性将每个组合属性作为复合属性所在实体的属性 对于多值属性将其转换为新的关系所在实体的主码
复合属性全部拆开多值属性建了一张新的表 7.6.3 弱实体集的表示 7.6.4 联系集的表示
7.7 实体-联系设计问题
设计数据库的步骤 7.8 拓展的E-R属性
第八章 关系数据库设计重点
8.1 好的关系设计的特点
8.1.1 设计选择更大的模式
8.1.2 设计选择更小的模式
8.2 原子域和第一范式
如果一个域被认为是不可再分的单元那么这个域是原子的
如果一个关系模式R的所有属性都是原子的那么这个关系模式R属于第一范式1NF
注意要对这个原子性有正确的理解具体的例子课本里有
8.3 使用函数依赖进行分解
首先明确我们学习和使用函数依赖的目的是什么
利用函数依赖可以对现有关系进行分解所以函数依赖的本质作用是对现有的冗余的关系模式进行分解
关于后续相关符号的介绍
8.3.1 码和函数依赖
在现实世界中数据通常存在各种约束而满足所有这种约束的实例被称为合法实例
现实世界中的约束可以转换为数据库中的码超码候选码主码
非规范化设计的问题数据冗余插入/删除/更新异常
数据冗余(想修改一个属性就要更新多行数据)插入异常(想要插入数据,结构因为表设计的问题导致不能成功插入)删除异常(只想删除其中的某些数据 结果把不该删的也删了)更新异常(想更新一条数据结果工作量大还容易出错)
函数依赖的概念(Functional Dependency) 8.3.2 Boyce-Codd 范式Boyce-Codd Normal Form, BCNF)
8.3.3 BCNF和保持依赖
8.3.4 第三范式
8.3.5 更高的范式不考
8.4 函数依赖理论
8.4.1 函数依赖集的闭包
8.4.2 属性集的闭包
8.4.3 正则覆盖
8.4.4 无损分解
8.4.5 保持依赖
8.5 分解算法
8.5.1 BCNF分解
8.5.2 3NF分解
8.5.3 3NF算法的正确性
8.5.4 BCNF和3NF的比较
8.6 使用多值依赖的分解不考
8.7 更多的范式不考
8.8 数据库设计过程不考
8.9 时态数据建模不考
9.10.11章不考
第12章 查询处理考到12.5
第14章 事务考到14.8
事务
事务transaction由查询和更新语句的序列组成。SQL标准规定当一条SQL语句被执行就隐式地开始了一个事务。下列SQL语句之一会结束一个事务:
Commit work:提交当前事务也就是将该事务所做的更新在数据库中持久保存。在事务被提交后一个新的事务自动开始。
Rollback work回滚当前事务即撤销该事务中所有SQL语句对数据库的更新。这样数据库就恢复到执行该事务第一条语句之前的状态
数据库系统概念笔记——第十四章事务_设有两个事务t1和t2: t1从帐户a过户500元到帐户b t2从帐户a过户20%的余额到帐户b-CSDN博客
应试
方法
E是边集边集由满足先Iread(Q)后Jwrite(Q)先Iwrite(Q)后Jread(Q)先Iwrite(Q)后Jwrite(Q) 这三个条件之一的所有Ti→Tj的边组成若图无环S是冲突可串行化的等价的串行调度是按有向边出口依次截取结点