数据库设计(结构化设计方法)

您所在的位置:网站首页 数据字典主要包括哪些内容和功能 数据库设计(结构化设计方法)

数据库设计(结构化设计方法)

2024-07-13 15:53:53| 来源: 网络整理| 查看: 265

文章目录 作业要求一、需求分析1.1、需求说明1.2、数据流图1.2.1、系统的顶层数据流图1.2.2、系统的第0层数据流图 1.3、数据字典1.3.1、数据流1.3.2、数据存储1.3.3、处理过程逻辑 二、概念设计2.1、实体2.2、系统局部E-R图2.2.1、教师实体、课程实体和考核点实体的联系2.2.2、学生实体与课程实体的联系 2.3、系统全局E-R图 三、逻辑结构设计3.1、ER图到关系模式的转换3.2、关系模式的规范及调整3.3、各数据表的表结构设计3.3.1、数据库中的表清单3.3.2、教师信息表Teacher字段信息3.3.3、管理员信息表Admin字段信息3.3.4、学生信息表Student字段信息3.3.5、课程信息表Course字段信息3.3.6、教师授课表TeaCourse字段信息3.3.7、学生选课表StuCourse字段信息3.3.8、考核点信息表ScorePoint字段信息3.3.9、考核点成绩Score字段信息

作业要求

登录管理模块:

权限控制:学生不能访问系统管理模块。登录错误信息提示。

系统管理模块:

系统管理员登录系统后,可以维护课程基础信息,如课程名字、开课时间(学期)等,对课程信息进行增、删、改、查。以设定课程的考试成绩的计算方法:能够在页面上对某课程动态增加考核点,并填入该考核点的分值比例。(**如:**对J2EE课程,可新增3个考核点,考核点1为到课情况,分值比例为20%;考核点2为作业,分值比例为20%;考核点3为考试,分值比例为60%。能够验证分值比例之和是否等于100%。)维护某门课程每次开课的信息,包括开课时间(具体的学年度)、任课教师、选修人数统计等。对学生基础信息进行管理,学生信息的增、删、改、查。以列表的方式填入选修某门课程的每个学生的成绩,需要针对每个考核点填写,并计算出总成绩。只有选修了该门课的学生才显示。能够对管理帐号进行管理,如增、删、改、查,修改密码等。

学生模块:

可以修改自己的基本信息。可以察看每个学年度每个学期开的课程,并选修。可查询自己选修的所有课程的成绩。

注意:不考虑学生年级因素。

一、需求分析

本阶段的成果的内容形式主要包括数据流图(Data Flow Diagram)和数据字典(DataDictionary)。

数据流图和数据字典是描述用户需求的重要工具以及阶段成果表达形式。它作为需求分析的成果和用户交流的主要手段和依据,是后续数据库设计的前提。

设计人员从数据流图中可以比较充分地了解软件的结构,所以也是软件设计的重要依据。

1.1、需求说明

作业要求中,把系统分为了三个模块,即登入管理模块、系统管理模块、学生模块。

对这三个模块的内容进行分析之后,可以得知学生考试管理系统主要满足来自三方面的需求,这三个方面分别是学生用户、教师用户和管理员用户。

因此,从原先的三个模块分解为如下四个模块:

登入管理模块(权限控制以及登入错误信息提示等)管理员模块(对教师信息、学生信息、课程信息进行管理等)教师模块(对课程考核点进行管理、录入学生成绩以及修改个人信息等)学生模块(选课以及退选、查看个人成绩以及修改个人信息等) 1.2、数据流图 1.2.1、系统的顶层数据流图

系统的全局数据流图,也称为顶层数据流图,主要是从整体上描述系统的数据流,反映系统中数据的整体流向,是设计者针对用户和开发者表达出的一个总体描述。

在这里插入图片描述

1.2.2、系统的第0层数据流图

第0层数据流图是对顶层数据流图的细化,它的每一处理还可能继续细化,形成子图。

根据需求可将顶层数据流程图作细化,画出第0层数据流程图,如下图所示。

在这里插入图片描述

根据需求分析结果,明确了该系统的主要功能,分别为:

管理员设置课程并指定任课教师。任课老师设置课程的考核点以及各考核点期末占分。学生根据自己的兴趣选择课程。任课老师录入学生的各考核点成绩。 1.3、数据字典

数据流图表达了数据与处理的关系,数据流图作为直观的了解系统运行机理的手段,并没有具体描述各类数据的细节,只有通过数据字典进一步细化才能对系统的需求得到具体而确切的了解。数据字典用来说明数据流图中出现的所有元素的详细的定义和描述,包括数据流、加工处理、数据存储、数据的起点和终点或外部实体等。 数据字典包括的项目有:数据项、数据结构、数据流、数据存储、加工逻辑和外部实体。

1.3.1、数据流 序号数据流名来源流向组成备注F1课程信息管理员P2课程信息处理课程号+课程名称+任课老师工号+开课时间F2教师信息管理员P3教师信息处理工号+姓名+性别+登入密码+电子邮箱+电话号码F3学生信息管理员P4学生信息处理学号+姓名+性别+登入密码+电子邮箱+电话号码F4登入信息管理员P1登入系统账号+密码+账户类别F5管理员信息P5显示个人信息管理员账号+姓名+性别+登入密码+电子邮箱+电话号码F6登入信息学生P1登入系统账号(学号)+密码+账户类别F7账户信息P1登入系统P5显示个人信息账号(学、工号)+姓名+性别+登入密码+电子邮箱+电话号码F8已处理的课程信息P2课程信息处理S1课程信息课程号+课程名称+开课时间F9任课教师P2课程信息处理S6教师任课信息课程号+教师工号F10已处理的教师信息P3教师信息处理S2教师信息工号+姓名+性别+登入密码+电子邮箱+电话号码F11已处理的学生信息P4学生信息处理S3学生信息学号+姓名+性别+登入密码+电子邮箱+电话号码F12课程信息P6显示课程信息学生课程号+课程名称+任课老师工号+任课老师名称+开课时间F13选课信息学生P7选课学号F14退课信息学生P8退课学号F15成绩信息P11显示学生成绩学生学号+课程号+考核点名称+考核点分数+总成绩F16学生个人信息P5显示个人信息学生学号+姓名+性别+登入密码+电子邮箱+电话号码F17登入信息教师P1登入系统账号(工号)+密码+账号类别F18教师个人信息P5显示个人信息教师工号+姓名+性别+登入密码+电子邮箱+电话号码F19考核点信息教师P9设置考核点信息考核点名称+考核点占分F20选课结果P7选课S7学生选课信息课程号+学号F21退课结果P8退课S7学生选课信息课程号+学号F22学生考核点成绩教师P10计算学生成绩考核点分数F23学生成绩P10计算学生成绩S8学生成绩学号+课程号+考核点名称+考核点分数F24任课课程信息P12显示任课信息教师课程号+课程名称+任课老师工号+开课时间F25课程考核点信息P9设置课程考核点S5课程考核点信息课程号+考核点名称+考核点占分F26选课学生信息P13显示选课学生信息教师学号+姓名+性别+登入密码+电子邮箱+电话号码 1.3.2、数据存储 序号数据文件文件组成关键标识S1课程信息课程号+课程名称+开课时间课程号S2教师信息工号+姓名+性别+登入密码+电子邮箱+电话号码工号S3学生信息学号+姓名+性别+登入密码+电子邮箱+电话号码学号S4登入账户信息账号(学、工号)+密码全部S5课程考核点信息课程号+考核点名称+考核点占分全部S6教师任课信息课程号+教师工号全部S7学生选课信息课程号+学号全部S8学生成绩学号+课程号+考核点名称+考核点分数全部 1.3.3、处理过程逻辑 序号处理过程输入输出处理逻辑P1登入系统账号和密码以及用户类型账户信息检验登入账户的正确性P2课程信息处理课程信息处理之后的课程信息检验课程信息的正确性以及增删改查操作P3教师信息处理教师信息处理后的教师信息检验教师信息的正确性以及增删改查操作P4学生信息处理学生信息处理后的学生信息检验学生信息的正确性以及增删改查操作P5显示个人信息账户信息用户的个人信息根据登入账户不同显示不同的用户个人信息P6显示课程信息教师任课信息和课程信息详细的课程信息显示课程信息以及任课教师P7选课学生选课信息和课程信息选课结果处理学生选课P8退课退课信息和学生选课信息退课结果处理学生退课P9设置考核点信息考核点信息和课程信息课程考核点信息对课程设置考核点信息P10录入学生成绩学生考核点成绩、课程考核点信息和学生选课信息学生成绩对学生所选的课程的考核点进行评分P11显示学生成绩学生成绩成绩信息计算总成绩并显示学生考核点成绩以及总成绩P12显示任课信息教师任课信息和课程信息任课课程信息显示老师所任课程的详细信息P13显示选课学生信息学生选课信息、教师任课信息、学生信息选课学生信息显示选择某门课程的所有学生信息 二、概念设计

上述的数据流图和数据字典共同构成了对用户需求的表达,它们是系统分析员(数据库管理员)在需求调查过程中和用户反复交互得到的。

建设系统实际要处理的数据基本上已经在数据流图中得到体现,整个设计过程的后续步骤提供基础和依据。

在概念设计阶段,主要采用的设计手段目前还是实体联系模型(E-R Model)。绘制E-R图的关键是确定E-R图的各种结构,包括实体、属性和联系。

2.1、实体

要建立系统的E-R模型的描述,需进一步从数据流图和数据字典中提取系统所有的实体及其属性。为了简化E-R图的处置,现实世界的事物能作为属性对待的尽量作为属性对待,实体的指导原则如下:

属性必须是不可分的数据项,即属性中不能包含其它的属性或实体。E-R图中的关联必须是实体之间的关联,属性不能和其它实体之间有关联。

由前面分析得到的数据流图和数据字典,可以抽象得到实体主要有3个:管理员、教师、学生、课程、考核点。其中,

管理员实体属性有:账号、姓名、性别、登入密码、电子邮箱、电话号码。教师实体属性有:工号、姓名、性别、登入密码、电子邮箱、电话号码。学生实体属性有:学号、姓名、性别、登入密码、电子邮箱、电话号码。课程实体属性有:课程号、课程名称、开课时间。考核点实体属性有:考核点名称、考核点占分。 2.2、系统局部E-R图

在需求分析阶段我们采用的是自上而下的分析方法,那么要在其基础上进一步作概念设计我们面临的是细化的分析数据流图以及数据字典,分析得到实体及其属性后,进一步可分析各实体之间的联系。

2.2.1、教师实体、课程实体和考核点实体的联系

一名教师可以讲授多门课程,而每门课只能被一名教师讲授,所以它们之间是一对多的联系(1:n)。

每门课程可以包含多个考核点,而一个考核点只能属于一门课程,所以它们之间的联系是一对多的(1:n)。

在这里插入图片描述

2.2.2、学生实体与课程实体的联系

一个学生可以选修多个课程,而每一个课程都能够被多个学生选修,因此,它们之间也属于一对多的关系。当学生实体与课程实体联系之后,产生考核点成绩属性。

在这里插入图片描述

2.3、系统全局E-R图

系统的局部E-R图,仅反映系统局部实体之间的联系,但无法反映系统在整体上实体间的相互联系。而对于一个比较复杂的应用系统来说,这些局部的E-R图往往有多人各自分析完成的,只反映局部的独立应用的状况,在系统整体的运作需要时,他们之间有可能存在重复的部分或冲突的情况,如实体的划分、实体或属性的命名不一致等,属性的具体含义(包括数据类型以及取值范围等不一致)问题,都可能造成上述提到的现象。 为解决这些问题,必须理清系统在应用环境中的具体语义,进行综合统一,通过调整消除那些问题,得到系统的全局E-R图。

在这里插入图片描述

三、逻辑结构设计

逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构。

3.1、ER图到关系模式的转换

首先,课程实体以及它们的联系。任课教师与课程之间是一对多的联系类型,因此,将任课教师和课程分别设计成如下的关系模式:

教师(工号,姓名,性别,登入密码,电子邮箱,电话号码)课程(课程号,课程名称,开课时间,工号)

学生与课程之间是多对多的联系类型,所以将学生和选修分别设计成如下的关系模式:

学生(学号,姓名,性别,登入密码,电子邮箱,电话号码)选修(学号,课程号)

将管理员的关系模式设计为:

管理员(账号,姓名,性别,登入密码,电子邮箱,电话号码)

对于考核点、课程和学生,由于课程与考核点是一对多的关系,学生选修课程之后能够拥有考核点成绩。

考核点(课程号,考核点名称,考核点占比)考核点成绩(学号,课程号,考核点名称,分数) 3.2、关系模式的规范及调整

首先,需要我们确定上面建立的关系模式中的函数依赖,一般在作需求分析时就了解到一些数据项的依赖关系,如教师的编号决定了教师的姓名和其它的数据项信息,而实体间的联系本身也是反映了一种函数依赖关系,但是这不是研究的对象,我们针对的是在一个关系模式中的函数依赖对象。

其次,对上一步确立的所有函数依赖进行检查,判别是否存在部分函数依赖以及传递函数依赖,针对有的依赖通过投影分解,消除在一个关系模式中存在的部分函数依赖和传递函数依赖。

对以上八个关系模式进行检查发现,在“课程”中存在部分函数依赖,即工号不依赖于主键课程号,因此对此进行投影分解,增加新的关系模式“授课”。

最终得到的关系模式如下,均已符合第三范式:

教师(工号,姓名,性别,登入密码,电子邮箱,电话号码)课程(课程号,课程名称,开课时间)授课(工号,课程号)学生(学号,姓名,性别,登入密码,电子邮箱,电话号码)选修(学号,课程号)管理员(账号,姓名,性别,登入密码,电子邮箱,电话号码)考核点(课程号,考核点名称,考核点占比)考核点成绩(学号,课程号,考核点名称,分数) 3.3、各数据表的表结构设计

在上述经由E-R模型得到关系模式并且得到适当的调整后,我们可以结合在需求表述中数据字典包含的数据项信息,得到数据库的表结构。

我们应该根据3.1节的内容,具体设计各个数据表的表结构,包括表名,表中各列的字段名、数据类型、数据长度和表的主键和外键;还要考虑应该建立哪些索引以及索引的类型。

3.3.1、数据库中的表清单 数据库表名关系模式名称备注Admin管理员管理员信息表Teacher教师教师信息表Student学生学生信息表Course课程课程信息表TeaCourse授课教师授课表StuCourse选修学生选课表ScorePoint考核点考核点信息表Score考核点成绩考核点成绩信息 3.3.2、教师信息表Teacher字段信息 字段名称含义属性类型长度备注teacherid工号char10主键,也可作为登录标识tname姓名varchar6非空tsex性别varchar2男、女tpassword登入密码varchar20可以是数字、英文以及符号等temail电子邮箱varchar40tphone电话号码varchar15 3.3.3、管理员信息表Admin字段信息 字段名称含义属性类型长度备注aid账号char10主键,也可作为登录标识aname姓名varchar6非空asex性别varchar2男、女apassword登入密码varchar20可以是数字、英文以及符号等aemail电子邮箱varchar40aphone电话号码varchar15 3.3.4、学生信息表Student字段信息 字段名称含义属性类型长度备注studentid学号varchar10主键,也可作为登录标识sname姓名varchar6非空ssex性别varchar2男、女spassword登入密码varchar20可以是数字、英文以及符号等semail电子邮箱varchar40sphone电话号码varchar15 3.3.5、课程信息表Course字段信息 字段名称含义属性类型长度备注courseid课程号varchar10主键cname课程名称varchar20非空ctime课程时间int5如20201 3.3.6、教师授课表TeaCourse字段信息 字段名称含义属性类型长度备注teacherid工号varchar10外键(Teacher.teacherid)courseid课程号varchar10外键(Course.courseid) 3.3.7、学生选课表StuCourse字段信息 字段名称含义属性类型长度备注studentid学号varchar10外键(Student.studentid)courseid课程号varchar10外键(Course.courseid) 3.3.8、考核点信息表ScorePoint字段信息 字段名称含义属性类型长度备注courseid课程号varchar10外键(Course.courseid)pname考核点名称varchar20非空ppercent考核点占比int3(1…100)表示所占百分比 3.3.9、考核点成绩Score字段信息 字段名称含义属性类型长度备注studentid学号varchar10外键(Student.studentid)courseid课程号varchar10外键(Course.courseid)pname考核点名称varchar20非空pscore分数int3(1…100)表示分值


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭