当前课程知识点:数据库技术应用 > 学习情境一、银行存取款机数据库创建与管理 > 模块4、银行存取款机数据库的设计 > 1.4.2数据库的数据模型设计
大家好
欢迎来到数据库技术应用在线开放课程
首先大家回忆一下上节课
我们已经学习的概念模型设计的内容
概念模型设计的成果是E-R图
我们在画时候
首先要找到实体、联系和属性
然后将实体画在矩形框里
将联系画在菱形框里
将属性画在我们的椭圆里
另一个知识点就是主键
它是唯一标识
每个实体的属性或者属性集合
它是不能重复的
也不能为空
做了简单的回顾之后
我们来看今天要完成的任务
设计数据库BankDB的数据模型
这是上节课我们已经完成的
概念模型设计当中产生的BankDB的E-R图
那有了这个E-R图
我们怎么来设计数据模型呢
数据模型有哪些种呢
我们接下来来一起学习一下
本节课的目标就是
理解数据库数据模型设计的意义
掌握E-R图转换成关系模式的方法
首先我们进入知识技能的学习
对于数据模型来说
我们现在比较熟悉的有三种模型
第一个叫层次模型
就是大家熟悉的树状结构
大家可以看一下这个表
第二个叫网状模型
它用来诠释比较复杂的一种关系
第三个呢叫关系模型
通常用这样的二维表来形容
表和表之间实体和实体之间的关系
那么我们实际上现在用到的就是关系模型
关系模型当中也涉及到它里面的一些术语
第一个叫关系
既然是用二维表来表示这个关系
那实际上关系就是二维表
那二维表当中的行
我们把它叫做是关系当中的元组
或者交记录那二维表当中的列
我们把它叫关系当中的属性
那么对于E-R来说
我们把它转换成数据模型
就是要把它写成关系模式的形式
那关系模式
它的写法是这样的
首先关系模式的名称
然后小括号
括号里需要把属性一一罗列出来
中间用逗号隔开
那怎么将E-R图转换成关系模式呢
有四个原则
第一个对于E-R图当中每一个实体来说
都应该转换成一个关系模式
该关系包括对应实体的全部属性
第二个原则对E-R图当中
一对一的联系
可以和任意一端相合并
合并的方法就是加对应端的主键
而E-R图当中的一对多联系
它可以和N端相合并
合并的方法是加对应1端的主键
而对于E-R图当中的多对多联系来说
它需要单独转换成一个关系模式
关系模式的主键是
两边连接的实体的主键的集合
也就是说四个原则
一个是用来解决实体的
而另外三个是用来解决联系的
那有了这样的原则
我们就可以把前面我们做好的E-R图
转换成关系模式了
比如说上节课
我们做到的宿舍学生这样一个E-R图
怎么转换成关系模式呢
根据原则
第一条实体
实体要求是单独转换成关系模式
所以宿舍是一个关系模式
学生是另外一个关系模式
它具有的属性呢
就作为关系模式的属性出现
所以对于宿舍来说
有楼号房间号人数
还有什么没有了对吧
就三个属性
所以在宿舍里
我就把三个属性全部写出来就可以了
那对于学生来说
几个属性
也是三个
包括我们的学号姓名和性别
那接下来我们需要解决的就是
中间的菱形联系的问题了
住宿
它作为一个名称一个关系模式的名称出现
它是一对多的联系
按照我们的转换原则和多端合并
那什么意思
就是和我们的学生端合并
那么学生端加什么呢
加对应1端的主键
1端是什么
是宿舍
宿舍的主键是楼号
那么我们需要把楼号放在我们学生端
那么
转换后的数据模型就是宿舍一个
学生一个
是两个关系模式
那还有一个问题
我没有解决
有一个住宿费的问题
那这个住宿费放在什么地方呢
住宿费放在我们的多端
放在多端
那进入我们的任务实施环节
设计我们数据库BankDB的数据模型
我们上节课已经把E-R图做好了
根据这个E-R图呢
我们还是遵循四个原则
首先实体其次是联系
根据四个原则进行转换
那么用户是一个关系模式
银行卡是一个关系模式
还有我们的交易信息是一个关系模式
那对于用户银行卡和交易信息来说
每两个实体之间都是一对多的联系
所以按照我们的原则需要和N端合并
也就是说
在银行卡端需要加用户端的主键
在交易信息端需要加银行卡端的主键
这样我们的关系模式就出来了
那么用户包括用户编号、用户名、身份证号、
联系电话和地址
对于银行卡来说
包含银行卡号、用户编号、密码、
货币类型、余额、开户日期、是否挂失、
而交易信息
包括交易编号、银行卡号、交易日期、
交易类型、交易金额和备注
那今天的拓展任务是
员工管理数据库EmployeeDB的数据模型设计
感谢大家的聆听
-模块1、数据库的基础知识
--数据库的基础知识
-模块2、MYSQL介绍与安装
--MYSQL介绍与安装
-模块3、银行存取款机数据库的创建与维护
--银行存取款机数据库的创建与维护
-模块4、银行存取款机数据库的设计
--银行存取款机数据库的设计
-模块1、表的创建
--2.1表的创建
--表的创建
-模块2、表的管理
--2.2表的管理
--表的管理
-模块3、索引
--2.3索引
--索引
-实践小课堂:宠物电商管理平台数据库和表的创建
-模块1、银行存取款机数据插入、修改和删除
--银行存取款机数据插入、修改和删除
-模块2、银行存取款机简单查询
--银行存取款机简单查询和统计查询
-模块3、银行存取款机连接查询
--3.3连接查询
--银行存取款机连接查询
-模块4、银行存取款机子查询
--3.4子查询
--银行存取款机子查询
-模块5、银行存取款机分类汇总与排序
--银行存取款机分类汇总与排序
-模块6、银行存取款机视图
--银行存取款机视图
-模块1、银行存取款机存储过程
--4.1.2事务
--银行存取款机存储过程
-模块2、银行存取款机触发器
--银行存取款机触发器
-模块1、MYSQL用户管理
--MYSQL用户管理
-模块2、MYSQL权限管理
--MYSQL权限管理
-模块3、MYSQL数据库的锁机制
--MYSQL数据库的锁机制
-模块4、MYSQL备份和恢复
--MYSQL备份和恢复