本文已参与[新人创作礼]活动, 一起开启掘金创作之路。
前言
数据库
顾名思义就是存放数据的仓库
但是数据需要人们的认识、理解、整理、规范和加工,然后才能被存放到数据库中。
总体来说,数据从我们的现实生活进入数据库实际上要经历三个阶段:
- 1、现实世界 ——能接触到的所有客观对象
- 2、信息世界 ——经过分类的条理化的信息
- 3、计算机世界 ——到这就是数据库了
这个时候,概念模型
出现了
概念模型是现实世界到计算机世界的一个中间层次
有什么作用呢?
详细说一下,现实世界数据进入数据库的过程:
- 1、
现实世界的事物
反应到人的脑子里 - 2、 人把这些
事物抽象
成 一种既不依赖于具体计算机系统
,也不为某种数据库操作系统
支持的概念模型
- 3、 接着才把
概念模型
转化为计算机上某一种数据库操作系统
支持的数据模型
直到现在,我们才可以真正引出本文的主角—— E-R模型
实体联系模型(E-R模型) 是被广泛采用的概念模型设计方法。
在概念模型
中最常用的是E-R模型
:她可以描述现实世界的抽象概念、属性和联系
E-R模型学习 E-R图绘制
学E-R模型,我们只需要学三个东西:
- 实体
- 联系
- 属性
实体
概念学习
实体是一个数据对象,指应用中可以区别的客观存在的事物。 如人、部门、物体、项目···这些等的。 实体既可以是实际的事物,也可以是抽象的概念
-
具体点的学生,课程这些都可以做实体
-
抽象概念比如 交通工具 涵盖所有种类的交通工具,这也可以是实体
你可能有点懵,我再说得白一点:
只要你能把一些东西给归类起来,归类成一个集合,再给这个集合起个名字,那么这个名字大概八九不离十就是实体了。
实体在E-R图中的绘制
呃,你没有看错,就这么简单,画一个矩形,然后在里面写上具体的实体名
咱们数据库学习就是这么新手友好。
属性
概念学习
属性就是实体所具有的特性 一个实体可以由若干个属性描述
- 像学号、姓名、年龄、专业···都可以作为学生实体的属性
只是属性有 属性名和属性值的区别。
这也不是很难理解,联想excel表,上面属性名,下面都是属性值
属性在E-R图中的绘制
属性画法是一个圆形,不用太在意圆润不圆润,尽量画好看点就行,然后在里面写上属性名
联系
概念学习
联系就是实体之间的联系
- 例如教师和课程之间的授课关系
- 老师和学生之间的师生关系
- 人与人之间很多很多的关系:亲戚、同学、朋友···等等关系
在现实世界中,事物与事物是有联系的,因此,这些联系同样也要被抽象和反映到信息世界中
在信息世界中被抽象成为实体型内部的联系和实体型之间的联系
属性在E-R图中的绘制
联系画法是一个菱形,然后在里面写上联系名
E-R图绘制 E-R模型转关系模型 题目练习实操
1.教学管理系统的ER图和数据库逻辑设计
设教学管理系统要处理下列实体:
(1) 学生,其属性包括学号、姓名、性别、年龄、籍贯等
(2) 教师,其属性包括工号、姓名、年龄、职称等
(3) 课程,其属性包括课程代码、课程名、学分等
假定:一位学生能选修多门课程,一门课程可由多位学生选修。学生选修每门课考试后有一个成绩。以为教师能任教多门课,一门课可由多位教师任教。
根据以上需求描述,请按下列要求进行数据库设计:
(1) 根据上述语义画出E-R图(需注明联系类型);
(2) 转换为等价的关系模型,并指出各关系的主键和外键(若不存在,则写“无”)。
2.书籍出版信息管理系统的ER图和数据库逻辑设计
设某书籍出版信息管理系统中要处理书籍、作者、出版社这3类实体的信息,且有如下事实:
-
(1)每本书籍有一个唯一的书号,可能有多位作者参与编写,但只在一家出版社出版。
-
(2)每位作者可能参与多本书籍的编写。
-
(3)作者之间可能同名,图书之间也可能同名,但出版社之间不会同名。
-
(4)书籍信息包括书号,书名;出版社信息包括出版社名,地址,联系电话;作者信息包括身份证号,姓名,性别,年龄。S
根据以上需求描述,请按下列要求进行数据库设计:
(1)根据上述语义画出E-R图(需注明联系类型);
(2)转换为等价的关系模型,并指出各关系的主键和外键(若不存在,则写“无”)。
3.商店信息管理系统的ER图和数据库逻辑设计
上海可的商业连锁集团需要建立信息系统。该系统中存在3个实体集,一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可以放在多个商店销售,每个商店销售的一种商品有月销售量;商店与职工之间存在“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和工资。
根据以上需求描述,请按下列要求进行数据库设计:
(1) 根据上述语义画出E-R图(需注明联系类型);
(2) 转换为等价的关系模型,并指出各关系的主键和外键(若不存在,则写“无”)。
一些思考
不同类型的联系,转换成表
联系分三种类型
-
1:1 一比一
-
1:n 一比多
-
n:m 多比多
这个时候存在一些转表的规律
- 不管什么类型的联系都可以单独成表
- 一比一 可以单独成表。也可以根据联系,把一张表放入另一张表 来合并表
- 一比多 可以单独成表。但是只能把一的表,放入多的表 来合并表
- 多对多 可以单独成表。这个时候合并表稍微要思考一下。
在多对多联系中,要具体分析
比如商品表 和 商店表 :
一个商品可以在多个商店售卖。
一个商店可以售卖多个商品。
这个时候,最好把商品表加入商店表。