数据库设计要求解析.docx

上传人:b****4 文档编号:11581907 上传时间:2023-03-19 格式:DOCX 页数:15 大小:45.87KB
下载 相关 举报
数据库设计要求解析.docx_第1页
第1页 / 共15页
数据库设计要求解析.docx_第2页
第2页 / 共15页
数据库设计要求解析.docx_第3页
第3页 / 共15页
数据库设计要求解析.docx_第4页
第4页 / 共15页
数据库设计要求解析.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

数据库设计要求解析.docx

《数据库设计要求解析.docx》由会员分享,可在线阅读,更多相关《数据库设计要求解析.docx(15页珍藏版)》请在冰豆网上搜索。

数据库设计要求解析.docx

数据库设计要求解析

数据库设计相关要求与示例

第一部分相关要求

1、目的和意义

通过课程设计,使学生掌握数据库的基本概念,结合实际的问题和设计,巩固课堂教学内容,使学生掌握数据库系统的基本概念、原理和技术,将理论与实际相结合,应用现有的数据建模工具,规范、科学地完成一个小型数据库的设计。

2、具体要求

课程设计以小组为单位,一般2~3人为一组,第10周各组确定选题。

要求学生根据题目的需求描述,进行实际调研,提出完整的需求分析报告,建立概念模型、物理模型,在物理模型中根据需要添加必要的约束、视图等数据库对象,最后生成创建数据库的脚本。

小组成员之间,分工明确,密切合作,培养良好的互相帮助和团队协作精神。

各组要按时完成规定的工作,不得弄虚作假,不准抄袭他人内容,否则成绩以不及格计。

3、选题原则

课程设计题目以选用学生相对比较熟悉的业务模型为宜,要求通过本次设计环节,能较好地巩固数据库的基本概念、基本原理、关系数据库的设计理论、设计方法等主要相关知识点,针对实际问题设计概念模型,并应用现有的工具完成小型数据库的设计。

具体选题可参考下文表格中的题目,也可自行选题。

4、评分标准

评分标准:

(以百分制为例)

(1)85-100:

完成题目中的所有内容,功能完善,文档详细,数据库设计合理。

(2)70-84:

完成题目中的大部分内容,功能基本完善,文档较详细,数据库设计基本合理。

(3)60-69:

基本完成上述内容,只有基本功能文档。

(4)0-59:

未按时完成上述内容,或者抄袭(雷同者全部为不及格)。

5、参考题目(不局限于表中题目)

学生学籍信息管理系统

通讯录管理器

客户信息管理系统

学生成绩智能管理信息系统

物资管理系统

员工培训管理系统

酒店管理系统

汽车租借信息系统

物资管理系统

企业工资管理系统

产品质量管理系统

宾馆管理系统

住院收费信息管理系统

火车卧铺订票管理系统

房产销售管理系统

书刊租借信息管理系统

选修课管理系统

职工管理系统

学生缴费注册管理系统

高校科研管理系统

毕业生管理系统

维修信息管理系统

订单生成系统

进销存管理系统

工资信息管理系统

考勤信息管理系统

饭店餐饮收费信息系统

图书库存管理系统

出版社信息管理系统

医药连锁店系统

电脑书店信息管理系统

旅行社综合管理系统

物流配送中心管理系统

地区图书馆管理系统

水电收费管理系统

电信收费管理系统

电信产品发布网站

教材管理系统

学生宿舍管理系统

6、撰写设计报告

第16周之前提交报告打印版和电子版

电子版发送至:

qinhuilin@

14级信技班数据库设计选题表

序号

题目

小组成员(学号、姓名)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

第二部分数据库设计报告模板

XX管理信息系统

一、需求分析

分析清楚系统用户、功能、涉及的数据

二、概念结构设计

绘制E-R图确定实体、属性和联系

三、逻辑结构设计

将E-R图转换为数据模型;关系规范化;设计视图(根据需要确定)

四、数据库物理结构设计

对各表进行详细设计,包括字段名、数据类型、长度、是否为空、默认值、索引、约束

五、数据库实施

编写SQL代码创建数据库、数据表、加载数据(所有数据表中的记录总数不低于50条)。

六、总结

说明小组成员分工情况以及本次课程设计的收获和体会。

第三部分设计报告示例(仅供参考)

以综合教务系统为例,说明数据库应用系统的设计过程。

本系统的分析和设计过程主要包括:

需求分析;概念结构设计;逻辑结构设计等。

本例以系统分析和数据库设计为主,没有给出操作界面设计。

综合教务系统

一、需求分析

1、系统目标:

实现一个计算机综合教务管理系统,完成班级信息管理,学生信息管理,课程信息管理和学生选课管理等功能。

2、系统功能需求:

本系统的用户分为超级用户和普通用户两类,超级用户负责系统维护,包括对班级信息,学生个人信息,课程信息的录入,修改,查询,删除等。

普通用户即选课学生则只具有为自己选课的权限。

(1)功能划分

用户通过身份验证后进入主界面。

主界面为超级用户提供6项选择:

学生信息管理,课程信息管理,班级信息管理,选课,口令修改和退出系统。

普通用户有4项功能选择:

选课,课程查询,口令修改和退出系统。

(2)功能描述

●班级信息管理

给出所有班级的列表,超级用户可以实现增加,修改,查找,删除班级信息,维护指定班级所有学生信息,为指定班级设定必修课和选课学分限制等功能。

在维护指定班级学生信息功能中,超级用户可以实现增加,修改,删除学生信息,察看某一学生选课情况,为学生更改口令等功能。

在指定班级必修课功能中,以课表形式列出班级所有必修课的课程信息,实现为一个班级增加或删除必修课的功能。

●学生信息管理

给出所有学生的列表,超级用户可以增加,修改,删除,查找学生信息,察看某个学生选课情况,为学生修改口令等功能。

本项功能与班级信息维护功能中的维护指定班级学生信息功能相似,不同的是本项功能中将列出所有班级的所有学生信息。

●课程信息管理

用于添加,修改,删除课程纪录,查看某门课的选课情况,查询指定的课程信息。

●选课

以课表的形式列出学生选课情况,学生可以为自己选修或者退选课程,而超级用户可以为任何学生选修或者退选课程。

每个班级都有选课的学分限制,不允许学生选择课程的总学分超过所在班级的选课最大学分限制,而当退出选课功能时,如果选取课程总学分未达到所在班级选课最小学分限制则给出警告信息(学生可以多次进入选课界面进行选课)。

●修改口令

用户输入原口令,并且两次输入新口令一致后,系统即用新口令代替旧口令。

●退出系统

当用户退出系统时,如果选取的课程总学分未达到所在班级选课最小学分限制,则给出警告信息。

3、开发工具(可略)

该综合教务系统的数据库采用了Microsoft的SQLServer2005企业版,前台应用程序采用了ASP编写,提供了Web界面方便学生从网上使用。

由于采用了ADO数据库接口,因此很容易修改为支持ORACLE,SYBASE,DB2等数据库,该系统的结构为B/S结构,即浏览器/服务器结构。

二、概念结构设计

1、系统概念模型

 

图1选课系统概念模型E-R图

(注:

本例中上课时间可以抽象成实体,也可以抽象成属性。

2、详细说明

(1)系统涉及的实体集

●班级实体集:

具有属性班级名称和选课学分限制。

●学生实体集:

具有属性学号、姓名、性别和生日。

●课程实体集:

具有属性课程号、课程名、学分、授课教师、接纳人数。

●上课时间实体集:

具有属性时间。

(2)系统涉及的联系

●一个班级可以有多个学生,一个学生只能属于一个班级,所以班级和学生之间的联系为1:

M的联系。

●一个班级可以有多门必修课程,一门课程是多个班级的必修课,所以班级和课程之间的必修联系是M:

N的联系。

●一个学生课以选修多门课程,一门课程可以被多个学生选修,所以学生和课程之间的联系是M:

N的联系。

●一门课程可以有多个上课时间,同一时间内可以有多门课程在上课,所以课程和上课时间的联系是M:

N的联系。

三、逻辑结构设计

将E-R模型转换为关系模式

(1)班级实体集可以转换为关系

CLASS(CLASSNAME,MAXCREDIT,MINCREDIT)

CLASSNAME表示班级名称,MAXCREDIT表示最大学分限制,MINCREDIT表示最小学分限制。

(2)学生实体集可以转换为关系

STUDENT(STUDENTID,NAME,SEX,BIRTHDAY)

STUDENTID表示学号,NAME表示姓名,SEX表示性别,BIRTHDAY表示生日

(3)课程实体可以转换为关系

COURSE(COURSEID,COURSENAME,CREDIT,TEACHER,ACCEPTION)

COURSEID表示课程号,COURSENAM表示课程名,CREDIT表示学分,TEACHER表示授课教师,ACCEPTION表示接纳人数。

(4)班级和学生之间的联系是1:

M的联系,所以没有必要为其建立一个关系,可以通过扩展学生关系来表示。

STUDENT(STUDENTID,NAME,SEX,BIRTHDAY,CLASSNAME)

CLASSNAME表示学生所在班级名。

(5)班级和课程之间的必修联系可以转换为关系

CLASSCOURSE(CLASSNAME,COURSEID)

CLASSNAME表示班级名称,COURSEID表示课程号。

(6)学生和课程之间的选修联系可以转化为关系

STUDENTCOUSE(STUDENTID,COURSEID,GRADE)

STUDENTID表示学号,COURSEID表示课程号,GRADE表示成绩。

(7)课程和上课之间的联系可以转化为关系

COURSETIME(COURSEID,TIME)

COURSEID表示课程号,TIME表示上课时间。

(注:

若将上课时间抽象成属性,则不必有关系(7)。

四、数据库物理结构设计

1、把关系模型转化为表结构

(1)班级信息表(class):

包含所有的班级信息。

表1-班级信息表结构

域名

含义

数据类型

例子

备注

CLASSNAME

班级名称

字符类型

121131001

主码

MAXCREDIT

最大学分限制

数值类型

30

MINCREDIT

最小学分限制

数值类型

20

(2)学生信息表(student):

包含所有学生的个人信息。

表2-学生信息表结构

域名

含义

数据类型

例子

备注

STUDENTID

学号

字符类型

1211310015

主码

NAME

姓名

字符类型

王强

SEX

性别

字符类型

BIRTHDAY

生日

日期类型

95/07/15

CLASSNAME

班级名称

字符类型

121131001

外码

(3)课程信息表(course):

包含所有课程信息。

表3-课程信息表结构

域名

含义

数据类型

例子

备注

COURSEID

课程号

字符类型

000001

主码

COURSENAME

课程名称

字符类型

数值分析

CREDIT

学分

数值类型

4

TEACHER

任课教师

字符类型

刘强

ACCEPTION

接纳人数

数值类型

30

(4)班级必修课表(classcourse):

包含所有班级的必修课信息。

表4-班级必修课表结构

域名

含义

数据类型

例子

备注

CLASSNAME

班级名称

字符类型

121131001

外码

COURSEID

课程号

字符类型

000001

外码

(5)学生选课表(studentcourse):

包含所有学生的选课信息。

 

表5-学生选课表结构

域名

含义

数据类型

例子

备注

STUDENTID

学号

字符类型

1211310015

外码

COURSEID

课程号

字符类型

000001

外码

GRADE

成绩

数值类型

85

(6)上课时间表(coursetime):

包含所有课程的上课时间。

表6-上课时间表结构

域名

含义

数据类型

例子

备注

COURSEID

课程号

字符类型

000001

外码

COURSETIME

上课时间

数值类型

21

表示星期2第1节

注:

COURSETIME是一个整数,整除10的商表示星期几上课,余数表示当天的第几节课。

(7)用户账号表(user):

包含所有用户的账号和口令信息。

表7-用户账号表结构

域名

含义

数据类型

例子

备注

USERID

用户账号

字符类型

ADMIN

USERPASSWD

用户密码

字符类型

ADMIN

USERAUTH

用户权限

数值类型

0

STUDENTID

用户学号

字符类型

1211310015

注:

USERAUTH用0,1表示用户权限,0表示管理员,1表示普通用户。

其中普通用户的STUDENTID为学生的学号。

2、实现数据完整性

可以通过各种约束,缺省值,规则和触发器实现数据的完整性。

由于教务系统的重要性,以及各个数据之间的复杂相关性,保证数据的完整性显得更为重要。

不能让用户随意进行删除、修改数据。

(1)CHECK约束保证最大限选学分要大于最小限选学分。

(2)各种外码约束保证数据的完整性,不能随意删除。

外码的设置在上面数据库建表时已经提到。

(3)主码约束保证实体的完整性,主码的设置在上面数据表的设计时已提到了。

(4)创建规则保证学生的年龄在18岁到35岁之间(出生日期在1997-1-1到1980-12-31日之间),不会输入错误数据。

(5)创建触发器,保证在添加学生信息的时候,自动将该班级的必修课添加到选课表中。

(以上只是该教务系统中实现数据完整性的部分方法。

实际上要考虑的还有很多方面,实现手法也是多种多样。

在此留给学生自己思考。

五、创建数据库代码

USEmaster

CREATEDATABASEstudy

ONPRIMARY

NAME=study_data,

FILENAME='C:

\ProgramFiles\MicrosoftSQLServer\MSSQL\data\study.mdf',

SIZE=10MB,

MAXSIZE=UNLIMITED,

FILEGROWTH=1MB

LOGON

NAME=study_log,

FILENAME='C:

\ProgramFiles\MicrosoftSQLServer\MSSQL\data\study.ldf',

SIZE=2MB,

MAXSIZE=UNLIMITED,

FILEGROWTH=1MB

USEstudy

CREATETABLEclass

classnamechar(9)primarykey,

maxcreaditsmallint,

mincreaditsmallint

CREATETABLEstudent

studentidchar(10)primarykey,

namechar(10),

sexchar

(2),

birthdaydatetime,

classnamechar(9),

ForeignKey(classname)Referencesclass(classname)

CREATETABLEcourse

courseidchar(6)primarykey,

coursenamechar(20),

creditsmallint,

teacherchar(10),

acceptionsmallint

CREATETABLEclasscourse

classnamechar(9),

courseidchar(6),

PrimaryKey(classname,courseid),

ForeignKey(classname)Referencesclase(classname),

ForeignKey(courseid)Referencescourse(courseid)

CREATETABLEstudentcourse

studentidchar(10),

courseidchar(6),

gradesmallint,

PrimaryKey(studentid,courseid),

ForeignKey(studentid)Referencesstudent(studentid),

ForeignKey(courseid)Referencescourse(courseid)

CREATETABLEcoursetime

courseidchar(6),

coursetimesmallint,

PrimaryKey(courseid,coursetime),

ForeignKey(courseid)Referencescourse(coueseid)

CREATETABLEuser

uesridchar(10),

userpasswdchar(10),

userauthsmallint,

studentidchar(10)

--USEstudy

insertintoclassvalues('121131001',50,40)

insertintoclassvalues('121131002',50,40)

insertintoclassvalues('131131002',50,40)

insertintostudent

values('1211310001','李平','男',1995-08-05,'121131001')

insertintostudent

values('1211310002','刘晓东','男',1996-01-15,'121131001')

insertintostudent

values('1211310048','王静','女',1996-02-10,'121131002')

insertintostudent

values('1311310048','李月','女',1996-5-25,'131131002')

insertintocoursevalues('000001','计算机基础',3,'李建国',40)

insertintocoursevalues('000002','大学英语',5,'孙晓丽',30)

insertintocoursevalues('000003','数值分析',3,'吴东',30)

insertintocoursevalues('000004','政治经济学',3,'张欣',50)

insertintocoursevalues('000005','离散数学',3,'刘明',30)

insertintoclasscoursevalues('121131001','000001')

insertintoclasscoursevalues('121131002','000001')

insertintoclasscoursevalues('131131002','000001')

insertintoclasscoursevalues('121131001','000002')

insertintoclasscoursevalues('121131002','000002')

insertintoclasscoursevalues('131131002','000002')

insertintoclasscoursevalues('121131001','000003')

insertintoclasscoursevalues('121131002','000003')

insertintoclasscoursevalues('121131001','000004')

insertintoclasscoursevalues('121131002','000004')

insertintoclasscoursevalues('131131002','000004')

insertintoclasscoursevalues('121131001','000005')

insertintoclasscoursevalues('121131002','000005')

 

insertintostudentcoursevalues('1211310001','000001',85)

insertintostudentcoursevalues('1211310001','000002',72)

insertintostudentcoursevalues('1211310001','000003',null)

insertintostudentcoursevalues('1211310001','000004',null)

insertintostudentcoursevalues('1211310001','000005',null)

insertintostudentcoursevalues('1211310002','000001',80)

insertintostudentcoursevalues('1211310002','000002',78)

insertintostudentcoursevalues('1211310002','000003',null)

insertintostudentcoursevalues('1211310002','000004',null)

insertintostudentcoursevalues('1211310002','000005',null)

insertintostudentcoursevalues('1211310048','000001',88)

insertintostudentcoursevalues('1211310048','000002',85)

insertintostudentcoursevalues('1211310048','000003',null)

insertintostudentcoursevalues('1211310048','000004',null)

insertintostudentcoursevalues('1211310048','000005',null)

insertintostudentcoursevalues('1311310048','000001',null)

insertintostudentcoursevalues('1311310048','000002',80)

insertintostudentcoursevalues('1311310048','000004',null)

insertintocoursetimevalues('000001',13)

insertintocoursetimevalues('000002',21)

insertintocoursetimevalues('000003',31)

insertintocour

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1