1.数据库的设计过程
数据库的设计需要经过需求分析、概念设计、实现设计和物理设计4个阶段。
需求分析是分析系统的需求,该过程的主要任务是从数据库的所有用户那里收集对数据的需求和对数据的处理需求,并把这些需求写成需求说明书。
概念设计是将需求说明书中关于数据的需求,综合为一个统一的概念模型,其过程是首先根据单个应用的需求,画出能反映每一个应用需求的局部模型。然后把这些图合并起来,消除冗余和可能存在的矛盾,得出系统总体的模型。
实现设计是将E-R模型转换成某一特定的数据库管理系统能够接受的逻辑模式。对关系数据库来说,主要是完成表的结构和关联的设计。
物理设计主要是确定数据库的存储结构,包括确定数据库文件和索引文件的记录格式和物理结构,选择存取方法等,这个阶段的设计最困难,不过现在这些工作基本上由数据库管理系统来完成,操作起来非常简单。
对于一般的数据库管理员和编程人员来说,主要关心的是中间两个阶段,即概念设计和实现设计,这两个阶段分别对应着关系数据库模式结构中的模式和外模式。而模式设计通常采用的设计方法是实体—联系(E-R)图。
2.E-R图的构成
E-R图是P.P.S.Chen于1976年提出的用于表示概念模型的方法,该方法把世界看做是由实体和联系构成的。
1)实体:指客观存在、可相互区分的事物。实体可以是具体的对象,如一个学生、一门课程、一艘船、一幢房子、一件产品、一座仓库等;实体也可以是抽象的事件,如一次选课、一次购房、一次订货等。在关系模型中实体通常是以表的形式来表现的。表的每一行描述实体的一个实例,表的每一列描述实体的一个特征或属性。
2)实体集:指同类实体的集合。例如,某个公司的所有产品、某个公司的所有仓库、某个学校的所有学生等。一个实体集的范围可大可小,主要取决于要解决的应用问题所涉及的范围的大小。例如,为解决某个学校的应用问题,那么该校全体学生组成的集合就是一个学生实体集,但如果应用问题与北京市所有的学校有关,那么学生实体集包含的就是北京市的所有学生。
3)属性。实体集中的所有实体都具有一组相同的特性,如学生实体集中的每个实体都有学号、姓名、年龄、性别、系、籍贯等特性,把实体所具有的某一特性称为属性。
4)实体型和实体值。实体有类型和值之分。用于描述和抽象同一实体集共同特征的实体名及其属性名的集合称为实体型,如学生(学号,姓名,年龄,性别,系,籍贯)就是一个实体型。相应的,实体集中的某个实体的值即为实体值,如(“20021280”,“李明”,18,“男”,“信息管理系”,“江苏”)就是一个实体值。
5)实体间的联系。实体间的联系就是实体集与实体集之间的联系,这种联系共有以下3种:
●一对一联系。如果对于实体集E1中的每个实体,在实体集E2中至多只有一个实体与之相对应,反之亦然,则称实体集E1与E2之间的联系是一对一联系,记为“1︰1”。例如,影剧院中观众和座位之间就具有一对一的联系,因为在一个座位上最多坐一个观众,而一个观众也只能坐在一个座位上。
●一对多联系。如果对于实体集E1中的每个实体,在实体集E2中有任意个(零个或多个)实体与之相对应,而对于E2中的每个实体却至多和E1中的一个实体相对应,则称实体集E1与E2之间的联系是一对多联系,记为“1︰n”。例如,学校的专业与学生之间、公司的部门与其职工之间、球队与球员之间都具有一对多的联系。
●多对多联系。如果对于实体集E1中的每个实体,在实体集E2中有任意个(零个或多个)实体与之相对应,反之亦然。则称实体集E1与E2之间的联系是多对多联系,记为“m︰n”。例如,学校的学生与课程之间就具有多对多的联系,因为一个学生可以选修多门课,一门课程也可被多个学生选修。公司的产品与其客户之间也具有多对多联系,因为一个产品可以被多个客户订购,一个客户也可以订购多个产品。(www.xing528.com)
E-R图又称为E-R模型,直接从现实世界抽象出实体及其相互间的联系,在E-R图中,实体、属性及实体间的联系用以下方式来表示。
1)实体:用标有实体名的矩形表示。
2)属性:用标有属性名的椭圆形表示,并用一条直线与其对应的实体相连。
3)实体间的联系:用标有联系名的菱形表示,并用直线将联系与相应的实体相连,且在直线靠近实体的那端标上1或n等,以表明联系的类型(1︰1、1︰n或m︰n)。
3.学生管理系统的E-R模型设计
在设计学生管理系统时首先要进行该系统的需求分析,而需求分析主要是确定该系统中有哪些数据,以及这些数据之间具有何种关系,通过分析发现该系统需要有学生的基本信息、课程的基本信息、教师的基本信息等,而学生与课程的关系是学生选择课程进行学习并最终获得这些课程的成绩,这里一个学生可以选修多门课程,而一门课程也可以被多个学生选择;课程与教师的关系是教师讲授课程,一个教师可以讲授多门课程,一门课程也可以由多个教师讲授;教师与学生的关系是教师给学生授课,一个学生可以听多个教师的课,一个教师也可以给多个学生上课。
基于上面的需求分析确定了学生管理系统数据库中应存放的数据以及这些数据的关系,接下来进行概念设计。数据库概念设计需要用E-R图将学生成绩管理系统数据库的数据描述出来,绘制E-R图的步骤如下:
1)将学生实体、教师实体和课程实体采用矩形描述出来。实体一般是名词。
2)确定实体的属性,并将它们用椭圆描述。采用连线与对应的实体连接。如学生实体具有学号、姓名、性别、系别等属性,课程实体有课程号、课程名等属性,教师有教师编号、姓名、系别、教研室等属性。
3)将实体间的联系采用菱形描述出来。如学生与课程采用学习来联系,教师与学生采用上课来联系,教师与课程采用授课来进行联系,并需要在联系的两端标注实体的联系类型,如学生与课程是多对多类型的联系,则标注为m︰n。联系一般是动词,也需要有属性,如学习上可设置学号、课程编号、成绩等属性。
学生实体、教师实体和课程实体的相互联系的E-R图如图1-1所示。
图1-1 学生实体、教师实体和课程实体的相互联系的E-R图
在用E-R图描述概念模型时,应该根据具体的应用环境来决定图中包含哪些实体、实体间又包含哪些联系。联系与实体间的连接方法可以是多样的,上面所举的例子都是两个实体集间的联系,称为二元联系。也可以是多个实体集间的联系,称为多元联系。
从E-R图可以看出,用E-R图来描述概念模型非常接近人的思维,易被人理解,而且E-R图与具体的计算机系统无关,易被不具有计算机知识的最终用户接受。因此,E-R图是数据库设计人员与用户进行交流的最有效工具之一。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。