课程设计报告
(2014--2015年度第2学期)
名称:数据库原理课程设计题目:图书管理信息系统院系:计算机系
班级:计科1203
学号:
学生姓名:
指导教师:熊海军
设计周数: 1
成绩:
日期:2015年6月25日
《数据库原理课程设计》课程设计
任务书
一、目的与要求
1.本实验是为计算机各专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力
而设置的实践环节。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。
为后继课程和毕业设计打下良好基础。
2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。
3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界
面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。
二、主要内容
针对一个具有实际应用场景的中小型系统(见题目附录)进行数据库设计,重点分析系统涉及的实体、实体之间的联系,实现增加、删除、更新、查询数据记录等基本操作。大致分为如下步骤:
1. 理解系统的数据库需求,分析实体及实体间联系,画出E-R图:
1.分析确定实体的属性和码,完成对该实体的实体完整性、用户自定义完整性的定义。
2.设计实体之间的联系,包括联系类型和联系的属性。最后画出完整的E-R图。
2.根据设计好的E-R图及关系数据库理论知识设计数据库模式:
1)把E-R图转换为逻辑模式;
2)规范化设计。使用关系范式理论证明所设计的关系至少属于3NF并写出证明过程;如果不属于3NF则进行模式分解,直到该关系满足3NF为止,要求写出分解过程。
3)设计关系模式间的参照完整性,要求实现级联删除和级联更新。
4)用SQL语言完成数据库内模式的设计。
3.数据库权限的设计:
1)根据系统分析,完成授权操作;
2)了解学习收回权限的操作。
4.完成用户界面的设计,对重要数据进行加密。
5.连接数据库,用宿主语言实现系统所需的各种操作:
1)实现数据记录的录入、删除、查询和修改。
2)以视图的形式完成复杂查询,比如多表、多条件等。
三、进度计划
四、设计(实验)成果要求
1.在DBMS(如oracle,SQL Server 2005/2008,DB2等)上完成完整的数据库的设计;
2.使用可视化开发平台完成信息系统,要求可以正确运行;
3.完成实验报告。
五、考核方式
1.在微机上检查数据库模式的设计、三大完整性的设计、关系属于几范式等;
2.在微机上检查系统的运行结果,要求学生阐述使用的相关技术;
3.实验报告的检查。
六、题目附录
1.学生信息管理信息系统
2.图书管理信息系统
3.物资管理信息系统
4.汽车销售管理信息系统
5.超市管理信息系统
6.通讯录管理信息系统
7.工资管理信息系统
8.酒店管理信息系统
9.小区物业管理信息系统
学生姓名:
指导教师:
年月日
一、课程设计(综合实验)的目的与要求
1.本实验是为计算机科学与技术等专业的学生在学习数据库原理后,为培养更好的解决问题和实际动手能力而设置的实践环节。通过这个环节,使学生具备应用数据库原理对数据库系统进行设计的能力。为后继课程和毕业设计打下良好基础。
2.通过该实验,培养学生在建立数据库系统过程中使用关系数据理论的能力。
3.通过对一个数据库系统的设计,培养学生对数据库需求分析、数据库方案设计、系统编码、界面设计和软件调试等各方面的能力。是一门考查学生数据库原理、面向对象设计方法、软件工程和信息系统分析与设计等课程的综合实验。
二、设计(实验)正文
1、系统功能图
系统详细描述与E-R图设计
一个借阅者可以借阅多种图书,每种图书可以被多个借阅者借阅(假设每种馆藏副本不止一本)。每种图书有一个唯一的ID号作为标志,每一个借阅者和管理员有一个唯一的借阅者或管理员号,每一个图书对应一个图书类别,每一个图书类别有一个唯一的图书类别编号来定义不同的图书类别。通过设置管理员和借阅者不同权限使管理员对图书信息和管理员信息具有增删改的权限,借阅者可以借阅图书。
根据用户需求,对象的类描述如下:
1.4根据以上分析设计出系统的E-R 图如下:
管理
管理员
借阅者
图书
借阅
更新
1 1
1
n
n
n 帐号
姓名 密码
姓名 帐号 密码 性别 出生年月
名称
状态 作者
出版社 出版日期 描述
借阅日期
借阅编号
2、系统逻辑结构设计
2.1根据以上E-R图得到系统逻辑模型如下:
借阅者(借阅者帐号,借阅者姓名,借阅者密码,借阅者性别,借阅者出生年月)
图书(图书编号,名称,作者,类别名称,状态,出版社,出版日期,描述)
管理员(管理员编号,管理员姓名,管理员密码)
类别(类别编号,类别名称)
借阅(借阅编号,借阅者帐号,图书编号,借阅日期)
说明:以上关系中,下划线部分为对应关系的主码,加黑部分为外码,且所有属性均非空。
2.2满足三范式的证明:
2.3参照完整性
各个关系间的参照情况如下图所示:
2.4 SQL语言创建各表
借阅者表:
CREATE TABLE TB_Reader
(
Rnum varchar(20)primary key,
Rname varchar(20)not null,
Rpwd varchar(20)not null,
Rsex varchar(20)not null,
Rbirth varchar(20)not null
)
图书表:
CREATE TABLE TB_Book
(
Bnum varchar(20)primary key,
Bname varchar(20)not null,
Bstate int not null,
Btype varchar(20)not null,
Bauthor varchar(20)not null,
Bpublisher varchar(20)not null,
Bpublish varchar(20),
Bdescrib varchar(20) ,
foreign key(Btype)references TB_Type(typename)
)
管理员表:
CREATE TABLE TB_Admin
(
Anum varchar(20)primary key,
Aname varchar(20)not null,
Apwd varchar(20)not null,
)
借阅表:
CREATE TABLE TB_Borrow
(
Id int primary key,
Bnum varchar(20)not null,
Rnum varchar(20)not null,
Rtime varchar(20)not null,
Rtime varchar(20),
foreign key(Bnum)references Book(Bnum),
foreign key(Rnum)references Reader(Rnum),
on delete cascade
on update cascade
)
权限表:
CREATE TABLE TB_Type
(
Typenum varchar(20)primary key,
Typename varchar(20)not null,
)
建表结果: