ER图与数据库(持续更新中.....)

来源:互联网 发布:数据挖掘相关研究生 编辑:程序博客网 时间:2024/03/29 00:18

(一)什么是ER图?

(1),概念

ER图:实体关系图,简记E-R图,是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式

(2),要素

3要素:实体、属性和关系

(3),表示 

实体型: 用矩形表示,矩形框内写明实体名;   
属性: 用椭圆形或圆角矩形表示,与相应的实体连接起来;多值属性由双线连接;
主属性名称下加下划线;   
联系:用菱形表示,菱形框内写明联系名,与有关实体连接起来,同时在无向边旁标上联系的类型
  

(4),关系

在E-R图中要明确表明1对多关系,1对1关系和多对多关系。   

1对1关系在两个实体连线方向写1;   
1对多关系在1的一方写1,多的一方写N;   
多对多关系则是在两个实体连线方向各写N,M

(二)ER图在数据库设计中有什么作用?

构建ER图属于需求数据库设计的需求分析阶段。
对于一个问题。我们分析其中的关系,确定实体,属性,制作ER图。了解实体与属性之间的关系,实体与实体的关系,才能去更好的建立更加清晰的数据库。

(三),一些常见数据库的分析:

(1),学生信息管理系统

题目:考虑学生,课程,成绩之间的关系,自行拆分需求中实体和属性,画ER 图,并考虑设计方案。

(简单的实体与属性)
1,实体为学生,奇它都作为属性:

这里写图片描述

(复杂实体与属性)
2,学生以及成绩看作2个实体,那么成绩就可以看做为两个学生–成绩之间的属性:

这里写图片描述

(多实体之间的联系,根据需求判断实体是否作为属性)
3,把成绩也作为一个实体,这样可以联系学生与成绩,科目与成绩,利用学号,课程号去查询给科目成绩

这里写图片描述

(2),题库

题目:系统设计需求,需要用户回答选择题,并存储用户的答题数据 自行拆分需求,实体,属性,画ER图,并思考设计方案。

(拆分实体属性,考虑设计方案,学会根据需求判断实体是否作为属性,为什么是关系型数据库)
1,这个需求中包括哪些实体,还有哪些隐含的实体,实体具有哪些属性。
2,如果我们把用户,做题记录,实体,答案,成绩作为实体,用户–做题记录,用户–试题,用户–成绩,试题–答案,试题–做题记录,试题–答案,答案–成绩之间应该如何区分与联系。

这里写图片描述

(三),关于学生,课程, 成绩,题目, 答案之间关系的分析:

这里写图片描述

学生,课程, 成绩,题目, 答案

学生与课程
学生: 学号,性别, 姓名
课程:课程号,课程名,教师,教室,科目类别,学号(外部属性)

课程号   课程名     教师   教室   科目类别   学号(外部属性)
math1   概率统计   sili   西424   数学       001
math1   概率统计   sili   西424   数学       003
math1   概率统计   sili   西424   数学       004

学生与成绩
学生: 学号,性别, 姓名
成绩:分数,等级,课程号(外部属性) ,学号(外部属性)

分数   等级   课程号   学号
59   不及格   math1   001
79   及格      math1   002
99   优秀      math1   004

成绩与课程

课程:课程号,课程名,教师,教室,科目类别
成绩:分数,等级,课程号(外部属性)

分数       等级    课程号
0-60     不及格   001
60-80     及格     001
80-100   优秀     001

课程与题目

课程:课程号,课程名,教师,教室,科目类别
题目:题干,题目号,难度等级,课程号(外部属性)

题目号  题干   难度等级   课程号
01         A1         4           math1
02         R2         2           math1
03         D3         5           math1

题目与答案

题目:题干,题目号,难度等级
答案:答案内容,正确标识,题目号(外部属性)

答案内容   正确标识   题目号
a                 Y            1
b                 N            1
c                 N            1
d                 N            1

学号 姓名 语 数 外 C++
1 HJ 10 10 10 10

0 0
原创粉丝点击