数据库设计要求解析_第1页
数据库设计要求解析_第2页
数据库设计要求解析_第3页
数据库设计要求解析_第4页
数据库设计要求解析_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库设计相关要求与示例第一部分相关要求1、目的和意义通过课程设计,使学生掌握数据库的基本概念,结合实际的问题和设计,巩 固课堂教学内容,使学生掌握数据库系统的基本概念、 原理和技术,将理论与实 际相结合,应用现有的数据建模工具,规范、科学地完成一个小型数据库的设计。2、具体要求课程设计以小组为单位,一般 23人为一组,第10周各组确定选题。要求 学生根据题目的需求描述,进行实际调研,提出完整的需求分析报告,建立概念 模型、物理模型,在物理模型中根据需要添加必要的约束、视图等数据库对象, 最后生成创建数据库的脚本。小组成员之间,分工明确,密切合作,培养良好的 互相帮助和团队协作精神。各组要按时

2、完成规定的工作,不得弄虚作假,不准抄 袭他人内容,否则成绩以不及格计。3、选题原则课程设计题目以选用学生相对比较熟悉的业务模型为宜,要求通过本次设计环节,能较好地巩固数据库的基本概念、基本原理、关系数据库的设计理论、设 计方法等主要相关知识点,针对实际问题设计概念模型,并应用现有的工具完成 小型数据库的设计。具体选题可参考下文表格中的题目,也可自行选题。4、评分标准评分标准:(以百分制为例)(1) 85-100:完成题目中的所有内容,功能完善,文档详细,数据库设计 合理。(2) 70-84:完成题目中的大部分内容,功能基本完善,文档较详细,数据 库设计基本合理。(3) 60-69:基本完成上述

3、内容,只有基本功能文档。(4) 0-59:未按时完成上述内容,或者抄袭(雷同者全部为不及格)。5、参考题目(不局限于表中题目)学生学籍信息管理系统通讯录管理器客户信息管理系统学生成绩智能管理信息系统物资管理系统员工培训管理系统酒店管理系统汽车租借信息系统物资管理系统企业工资管理系统产品质量管理系统宾馆管理系统住院收费信息管理系统火车卧铺订票管理系统房产销售管理系统书刊租借信息管理系统选修课管理系统职工管理系统学生缴费注册管理系统高校科研管理系统毕业生管理系统维修信息管理系统订单生成系统进销存管理系统工资信息管理系统考勤信息管理系统饭店餐饮收费信息系统图书库存管理系统出版社信息管理系统医药连锁店

4、系统电脑书店信息管理系统旅行社综合管理系统物流配送中心管理系统地区图书馆管理系统水电收费管理系统电信收费管理系统电信产品发布网站教材管理系统学生宿舍管理系统6、撰写设计报告第16周之前提交报告打印版和电子版电子版发送至:qinhuilin14级信技一班数据库设计选题表序号题目小组成员(学号、姓名)1234567891011121314第二部分 数据库设计报告模板xx 管理信息系统一、需求分析分析清楚系统用户、功能、涉及的数据二、概念结构设计绘制 e-r 图确定实体、属性和联系三、逻辑结构设计将 e-r 图转换为数据模型;关系规范化;设计视图(根据需要确定)四、数据库物理结构设计对各表进行详细设

5、计,包括字段名、数据类型、长度、是否为空、默认值、 索引、约束五、数据库实施编写 sql 代码创建数据库、数据表、加载数据(所有数据表中的记录总数 不低于 50 条) 。 六、总结说明小组成员分工情况以及本次课程设计的收获和体会。第三部分 设计报告示例 (仅供参考)以综合教务系统为例, 说明数据库应用系统的设计过程。 本系统的分析和设计过程主要包括:需求分析;概念结构设计;逻辑结构设计等。本例以系统分析和数据库设计为主,没有给出操作界面设计。综合教务系统一、需求分析1、系统目标:实现一个计算机综合教务管理系统,完成班级信息管理,学生信息管理,课程信息管理和学生选课管理等功能。2、系统功能需求:

6、本系统的用户分为超级用户和普通用户两类,超级用户负责系统维护,包括对班级信息,学生个人信息,课程信息的录入,修改,查询,删除等。普通用户即选课学生则只具有为自己选课的权限。( 1) 功能划分用户通过身份验证后进入主界面。主界面为超级用户提供 6 项选择:学生信息管理,课程信息管理,班级信息管理,选课,口令修改和退出系统。普通用户有 4 项功能选择:选课,课程查询,口令修改和退出系统。( 2) 功能描述班级信息管理给出所有班级的列表, 超级用户可以实现增加, 修改, 查找, 删除班级信息,维护指定班级所有学生信息, 为指定班级设定必修课和选课学分限制等功能。 在维护指定班级学生信息功能中,超级用

7、户可以实现增加,修改,删除学生信息,察看某一学生选课情况, 为学生更改口令等功能。 在指定班级必修课功能中, 以课表形式列出班级所有必修课的课程信息, 实现为一个班级增加或删除必修课的功能。学生信息管理给出所有学生的列表,超级用户可以增加,修改,删除,查找学生信息,察看某个学生选课情况, 为学生修改口令等功能。 本项功能与班级信息维护功能中的维护指定班级学生信息功能相似, 不同的是本项功能中将列出所有班级的所有学生信息。课程信息管理用于添加,修改,删除课程纪录,查看某门课的选课情况,查询指定的课程信息。选课以课表的形式列出学生选课情况, 学生可以为自己选修或者退选课程, 而超 级用户可以为任何

8、学生选修或者退选课程。每个班级都有选课的学分限制,不允 许学生选择课程的总学分超过所在班级的选课最大学分限制, 而当退出选课功能 时,如果选取课程总学分未达到所在班级选课最小学分限制则给出警告信息 (学 生可以多次进入选课界面进行选课)。修改口令用户输入原口令,并且两次输入新口令一致后,系统即用新口令代替旧口令。 退出系统当用户退出系统时,如果选取的课程总学分未达到所在班级选课最小学分限 制,则给出警告信息。3、开发工具(可略)该综合教务系统的数据库采用了 microsoft的sql server2005企业版,前 台应用程序采用了 as喻写,提供了 web#面方便学生从网上使用。由于采用了

9、ado据库接口,因此很容易修改为支持 oraclesybase db2等数据库,该系 统的结构为b/s结构,即浏览器/服务器结构。二、概念结构设计1、系统概念模型图1选课系统概念模型 e-r图(注:本例中上课时间可以抽象成实体,也可以抽象成属性。 )2、详细说明( 1)系统涉及的实体集班级实体集:具有属性班级名称和选课学分限制。学生实体集:具有属性学号、姓名、性别和生日。课程实体集:具有属性课程号、课程名、学分、授课教师、接纳人数。上课时间实体集:具有属性时间。( 2)系统涉及的联系一个班级可以有多个学生,一个学生只能属于一个班级,所以班级和学生之间的联系为 1: m 的联系。一个班级可以有多

10、门必修课程,一门课程是多个班级的必修课,所以班级和课程之间的必修联系是m : n 的联系。一个学生课以选修多门课程,一门课程可以被多个学生选修,所以学生和课程之间的联系是m : n 的联系。一门课程可以有多个上课时间,同一时间内可以有多门课程在上课,所以课程和上课时间的联系是m : n 的联系。三、逻辑结构设计将 e-r 模型转换为关系模式( 1)班级实体集可以转换为关系class ( classname,maxcredit,mincredit )classname 表 示 班 级 名 称 , maxcredit 表 示 最 大 学 分 限 制 , mincredit 表示最小学分限制。( 2

11、)学生实体集可以转换为关系student (studentid , name , sex , birthday )studentid 表示学号, name 表示姓名, sex 表示性别, birthday 表 示生日( 3)课程实体可以转换为关系course( courseid, coursename, credit, teacher, acception )courseid 表示课程号,coursenam 表示课程名,credit 表示学分,teacher 表示授课教师, acception 表示接纳人数。( 4)班级和学生之间的联系是1: m 的联系,所以没有必要为其建立一个关系,可以通过

12、扩展学生关系来表示。student(studentid , name , sex , birthday , classname) classname 表示学生所在班级名。(5)班级和课程之间的必修联系可以转换为关系classcourse(classname , courseid)classname表示班级名称,courseid表示课程号。(6)学生和课程之间的选修联系可以转化为关系studentcouse(studentid, courseid , grade)studentid表示学号,courseid表示课程号,grade表示成绩(7)课程和上课之间的联系可以转化为关系coursetime

13、(courseid , time)courseid表示课程号,time表示上课时间。(注:若将上课时间抽象成属性,则不必有关系(7)0)四、数据库物理结构设计1、把关系模型转化为表结构(1)班级信息表(class):包含所有的班级信息。表1-班级信息表结构域名含义数据类型例子备注classname班级名称字符类型121131001主码maxcredit最大学分限制数值类型30mincredit最小学分限制数值类型20(2)学生信息表(student):包含所有学生的个人信息表2-学生信息表结构域名含义数据类型例子备注studentid学号字符类型1211310015主码name姓名字符类型王强

14、sex性别字符类型男birthday生日日期类型95/07/15classname班级名称字符类型121131001外码(3)课程信息表(course):包含所有课程信息表3-课程信息表结构域名含义数据类型例子备注courseid球杠勺字符类型000001主码coursename课程名称字符类型数值分析credit学分数值类型4teacher任课教师字符类型刘强acception接纳人数数值类型30(4)班级必修课表(classcourse):包含所有班级的必修课信息表4-班级必修课表结构域名含义数据类型例子备注classname班级名称字符类型121131001外码courseid球杠勺字符

15、类型000001外码(5)学生选课表(studentcourse):包含所有学生的选课信息表5-学生选课表结构域名含义数据类型例子备注studentid学号字符类型1211310015外码courseid球杠勺字符类型000001外码grade成绩数值类型85(6)上课时间表(coursetime):包含所有课程的上课时间表6-上课时间表结构域名含义数据类型例子备注courseid球杠勺字符类型000001外码coursetime上课时间数值类型21表示星期2第1节注:coursetime是一个整数,整除10的商表示星期几上课,余数表示当天的第几节 课。(7)用户账号表(user):包含所有用

16、户的账号和口令信息表7-用户账号表结构域名含义数据类型例子备注userid用户账号字符类型adminuserpasswd用户密码字符类型adminuserauth用户权限数值类型0studentid用户学号字符类型1211310015注:userauth用0, 1表示用户权限,0表示管理员,1表示普通用户。其中普通用 户的studentid为学生的学号。2、实现数据完整性可以通过各种约束,缺省值,规则和触发器实现数据的完整性。由于教务系 统的重要性,以及各个数据之间的复杂相关性,保证数据的完整性显得更为重要。 不能让用户随意进行删除、修改数据。(1) chec的束保证最大限选学分要大于最小限选

17、学分。(2)各种外码约束保证数据的完整性,不能随意删除。外码的设置在上面数据 库建表时已经提到。(3)主码约束保证实体的完整性,主码的设置在上面数据表的设计时已提到了。(4)创建规则保证学生的年龄在 18岁到35岁之间(出生日期在1997-1-1到 1980-12-31日之间),不会输入错误数据。(5)创建触发器,保证在添加学生信息的时候,自动将该班级的必修课添加到选课表中。实际上要考虑的还有(以上只是该教务系统中实现数据完整性的部分方法。很多方面,实现手法也是多种多样。在此留给学生自己思考。 )五、创建数据库代码use mastercreate database studyon primar

18、y (name=study_data,filename='c:program filesmicrosoft sqlservermssqldatastudy.mdf', size=10mb,maxsize=unlimited,filegrowth=1mb )log on (name=study_log,filename='c:program filesmicrosoft sqlservermssqldatastudy.ldf',size=2mb,maxsize=unlimited,filegrowth=1mb )use studycreate table clas

19、s (classname char(9) primary key,maxcreadit smallint, mincreadit smallint )create table student (studentid char(10) primary key,name char(10), sex char(2), birthday datetime, classname char(9), foreign key(classname) references class(classname) )create table course(courseid char(6) primary key,cours

20、ename char(20),credit smallint,teacher char(10), acception smallint)create table classcourse(classname char(9),courseid char(6),primary key(classname, courseid),foreign key(classname) references clase(classname), foreign key(courseid) references course(courseid) )create table studentcourse(studentid

21、 char(10),courseid char(6),grade smallint,primary key(studentid,courseid),foreign key(studentid) references student(studentid), foreign key(courseid) references course(courseid) )create table coursetime(courseid char(6),coursetime smallint,primary key(courseid, coursetime),foreign key(courseid) refe

22、rences course(coueseid)create table user(uesrid char(10),userpasswd char(10),userauth smallint, studentid char(10)-use studyinsert into class values('121131001',50,40)insert into class values('121131002',50,40)insert into class values('131131002',50,40)insert into student val

23、ues('1211310001',' insert into studentvalues('1211310002',' insert into student values('1211310048',' insert into student values('1311310048','李平 ',' 男',1995-08-05,'121131001')刘晓东 ',' 男',1996-01-15,'121131001')王静

24、 ',' 女',1996-02-10,'121131002')李月 ',' 女',1996-5-25,'131131002')insert into course values('000001', insert into course values('000002', insert into course values('000003', insert into course values('000004', insert into course va

25、lues('000005',计算机基础',3, ' 李建国 ',40)大学英语 ',5, ' 孙晓丽 ',30)数值分析',3, '吴东 ',30)政治经济学 ',3, ' 张欣 ',50)离散数学',3, '刘明',30)insert into classcourse values('121131001', '000001') insert into classcourse values('121131002'

26、, '000001') insert into classcourse values('131131002', '000001') insert into classcourse values('121131001', '000002') insert into classcourse values('121131002', '000002') insert into classcourse values('131131002', '000002')

27、insert into classcourse values('121131001', '000003') insert into classcourse values('121131002', '000003') insert into classcourse values('121131001', '000004') insert into classcourse values('121131002', '000004') insert into classcou

28、rse values('131131002', '000004') insert into classcourse values('121131001', '000005') insert into classcourse values('121131002', '000005') insert into studentcourse values('1211310001', '000001',85) insert into studentcourse values(&

29、#39;1211310001', '000002',72) insert into studentcourse values('1211310001', '000003',null) insert into studentcourse values('1211310001', '000004',null) insert into studentcourse values('1211310001', '000005',null) insert into studentcours

30、e values('1211310002', '000001',80) insert into studentcourse values('1211310002', '000002',78) insert into studentcourse values('1211310002', '000003',null) insert into studentcourse values('1211310002', '000004',null) insert into stud

31、entcourse values('1211310002', '000005',null) insert into studentcourse values('1211310048', '000001',88) insert into studentcourse values('1211310048', '000002',85) insert into studentcourse values('1211310048', '000003',null) insert into studentcourse va

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论