数据库表是属于数据模型,用来描述数据的结构关系。
通常我们数据库的设计要经过下面这个过程:
现实世界-〉概念模型-〉数据模型
一般项目的设计中,首先通过需求分析的人员根据客户抽象出 ER图,然后由数据库的设计人员根据ER图和用户对查询等方面的需求设计出数据库的表结构,以及相关的视图和索引。
如何画数据库ER图
数据库设计中重要的一环首先就是概念设计,也就是说,要从实际问题出发,排除非本质的东西,抽象出现实的数据结构之客观规律——即画出数据结构图——ER图。这是数据库设计的重点,也是数据库设计的难点。
那么,如何才能正确地反映客观现实,将ER图画好呢?
答案是,必须进行正确的需求分析。那么如何进行需求分析呢?需求分析一般有两种方法,一种是结构化分析(SA),一种是面向对象分析(OOA).通过这两种方法的实施以后,都可以得到比较正确的ER图。现在以下面的实际问题为例,通过结构化分析(SA)方法的应用,讲述如何得到比较正确的ER图。
( 一 ) 校务管理系统
在要建立的系统中,有以下功能:
1.管理老师的功能:录入老师情况(姓名.地址.所教课程), 老师缺课记录(名字.时间.原因. 课程)
2.管理学生的功能: 录入学生情况 ( 姓名 . 所选课程 . 成绩 )
3.教务主任的功能 : 查询统计 1: 教师情况 2: 学生总成绩 3: 学生平均成绩
要求:
1)用结构化方法画出系统顶层图、 0 层图,数据字典。
2)画出该系统的数据模型ER图。
一、结构化分析的需求分析
1) 分析实际情况
根据实际情况,我们得到一下情况:
(一)教师任课流程:
(二)学生选择课程流程:
2)画数据流图
(一、)顶层数据流图
(二)0层数据流图
3)画数据字典DD(略)和软件初始结构图
1基本数据=学生基本信息|教师基本信息|课程基本信息|教室基本信息
2教师任课信息=教师任课数据|教师考勤信息
3学生选课请求和成绩=学生选课请求|学生成绩
学生基本信息=学号+姓名+性别+年龄+专业+班级
。。。。。。
1、分析你所要描述的对象,也就要要进行需求分析,因为你做的系统不一样,同样的东西,可能描述得也不一样,比如:做一个工资系统,和做一个人事管理系统,对于工资这个实体,他的描述就完全不一样。2.把你所了解的实体及其属性,一个个的理出来,比如说:教师,班级,学生,院系等实体,那么教师有什么属性呢,学生有什么属性呢,教师(教师号,姓名,性别,院系,职称,联系电话。。。),学生(学号,姓名,性别,院系,班级,电话。。。。)
3、把实体与实体间得联系整理一下,比如,教师与学生,它是一个多对多的关系(n:m),通过什么途径建立联系呢,当然是通过授课,那么他们的联系就是”授课“
4、最后建立er图,把实体以矩形描述,属性用椭圆型描述,联系用菱形描述,然后把这些对象连接起来,构成一个完整的ER图。当然也可以用图表的方式来描述它(显得紧凑美观)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)