第4讲 数据库设计基础
第4讲 数据库设计基础
●问题 在软件开发过程中,数据库如何设计? 在设计过程中要注意什么问题? 基本概 ●实体与联系 9实体:客观存在并可以相互区分的 事物称为实体 9属性:实体所具有的某一特性 联系:就是实体与实体之间的联系 联系的类型
基 本 概 念 问题 在软件开发过程中,数据库如何设计? 在设计过程中要注意什么问题? 实体与联系 实体:客观存在并可以相互区分的 事物称为实体 属性:实体所具有的某一特性 联系:就是实体与实体之间的联系 联系的类型
名 课程 成绩 学生 选课 课程 (学号](姓名](年龄](课程号]课程名(学分 图
E - R 图 学生 选课 课程 学号 姓名 年龄 课程号 课程名 学分 学名 课程号 成绩
●关系模型概念 ●ER模型转换为关系模型 方法:是一个实体或联系转换为一个表,属 性就是表的列(字段) 关系模型规范化 关系模型 Ⅰ范式(1NF) 每个属性都是不可再分的基本数据项。则 称该关系是Ⅰ范式。 关键字 是能唯一标识每一行的列或列的组 一个表可能有多个关键字,选 定其中一个作为主关键字。其余的 称为候选关键字
关 系 模 型 关系模型概念 E-R模型转换为关系模型 方法:是一个实体或联系转换为一个表,属 性就是表的列(字段) 关系模型规范化 ❖ I范式(1NF) 每个属性都是不可再分的基本数据项,则 称该关系是I范式。 ❖ 关键字 是能唯一标识每一行的列或列的组 合。一个表可能有多个关键字,选 定其中一个作为主关键字。其余的 称为候选关键字
◆函数依赖 完全函数依赖 部分函数依赖 传递函数依赖 关系模型 冷∏范式(2NF) II范式首先是I范式,而且每一个非 主属性完全依赖于任何关键字 冷I∏范式(3NF) I∏范式首先是∏范式,且关系中 的任何一个非主属性都不传递依赖 于任何关键字
关 系 模 型 ❖ 函数依赖 完全函数依赖 部分函数依赖 传递函数依赖 ❖ II范式(2NF) II范式首先是I范式,而且每一个非 主属性完全依赖于任何关键字。 ❖ III范式(3NF) III范式首先是II范式,且关系中 的任何一个非主属性都不传递依赖 于任何关键字
数据完整性 数据完整性就是关系(表)中数据 的正确性和一致性。 冷域完整性(用户定义的完整性) 数据完整性 要求表中列的值满足一定要求。如 性别列的值只能是男或女 表完蓬性(实体完整性):要求表 中的行有一个唯一标识符,即表有 主关鍵字。 参照完性(引用完整性):要求 有关系的表数据保持一致
数 据 完 整 性 数据完整性 数据完整性就是关系(表)中数据 的正确性和一致性。 ❖ 域完整性(用户定义的完整性): 要求表中列的值满足一定要求。如 性别列的值只能是男或女。 ❖ 表完整性(实体完整性):要求表 中的行有一个唯一标识符,即表有 主关键字。 ❖ 参照完整性(引用完整性):要求 有关系的表数据保持一致
外关键字(外鍵) 外键作用 u1.当在从表作 Insert时,要保证外 外关键字⌒外键 关键字的值一定在主表中存在。 u2.当在主表中修改了主关键字值, 则在从表中要同步修改,或禁止修 改主表。 u3.当在从表中修改外关键字值 要保证修改的值在主表中存在。 4.当删除主表记录,要注意从表 中是否引用主关键字。若有,则禁 止删除或同步删除从表记录
外 关 键 字 ( 外 键 ) 外关键字(外键) 外键作用: u 1.当在从表作Insert时,要保证外 关键字的值一定在主表中存在。 u 2.当在主表中修改了主关键字值, 则在从表中要同步修改,或禁止修 改主表。 u 3.当在从表中修改外关键字值, 要保证修改的值在主表中存在。 4.当删除主表记录,要注意从表 中是否引用主关键字。若有,则禁 止删除或同步删除从表记录
练习 对图书借阅管理作简单的畀求分析, 建立实体关系模型,画ER图,然 后转换为合理的数据库表。 要求 练习 1.确定各表主键 2.按照3NF的要求验证表结构是否合 理 3.确定表间关系,明确外键 4.考虑数据完整性
练 习 练习 对图书借阅管理作简单的需求分析, 建立实体关系模型,画E-R图,然 后转换为合理的数据库表。 要求: 1.确定各表主键 2.按照3NF的要求验证表结构是否合 理 3.确定表间关系,明确外键。 4. 考虑数据完整性
实体和关系模型 eER图三要素。 ·关系模型要规范到3NF、主键、外 键 本节小节 保证数据完整性
本 节 小 节 实体和关系模型。 E-R图三要素。 关系模型要规范到3NF、主键、外 键 保证数据完整性