数据库系统概论 实验报告
一、实验题目
设计图书馆图书管理数据库系统
二、实验要求
进行需求分析,设计E-R图,设计数据库结构,建立必要的视图和索引,用sql语言建立表结构、视图,对表和视图进行简单的查询。
三、总的设计思想,及环境语言、工具等
1、建立系统的目的,系统总体概况的介绍
对于学校来说,图书馆的作用尤为重要,所以图书馆管理系统应该能够为用户提供充足的信息和快捷的查询手段。为了使系统功能具有更广泛的适用性,现将系统功能分为图书管理,用户管理和系统管理。
2、选用的语言
选用sql server 2005作为数据库管理系统。
3、需求分析的方法和结果
通过调查了解工作人员工作流程,发放调查表了解用户需求等方法,得到各个流程及功能图:
4、核心E-R图
各实体E-R图:
读者(身份证号,姓名,密码,性别,班级,读者类型,有效期)
读者类型(读者类型,可借数量,可借时间)
某书(条码号,书名,作者,价格,图书类型,出版社,出版日期,供应商,ISBN入库时间,馆藏数目,库存数目)
某本书(图书编号,条码号,书架号,状态)
借阅归还(图书编号,借阅卡号,借出日期,应还日期,归还日期,状态)
四、数据结构(表结构)
表的创建及说明
某书信息表:
读者信息表:
读者类型表:
某本书信息表:
借阅归还信息表:
五、索引,视图
1 为表reader创建索引readerin
Creat unique index readerin on reader(rnum);
2 为表book创建索引bookin
Create unique index bookin on book(bnum);
3 为表worker创建索引workerin
Create unique index workerin on worker(wnum);
4 创建视图bookview
CREATE VIEW bookview
AS
SELECT rnum, rname, rsex,bnum,bname,bdata,rdata
WHERE reader.rname=information.rname AND
book.bnum=information.bnum
六、模块说明(功能与框图)
图书馆管理信息系统的功能模块如图1.1所示。
图1.1 图书馆管理信息系统功能模块
(1)读者管理
1)新增读者。新增读者时要求填写其基本的信息,包括读者号、密码、读者姓名、性别、读者类型、单位、电子邮箱等。
2)读者信息维护。读者可以对自己的信息进行修改,图书管理员有权限对已有读者的信息进行修改和删除。
3)借阅历史查看。注册的读者可以在网上查询自己的图书借阅情况,一般读者只可以查阅到自己的借阅情况和图书的信息,而图书管理员可以查看任何读者的信息、借阅情况、任何图书的信息和借阅情况。
(2)书籍管理
1)新增书籍。图书管理员对新增的入库文献资料按规定进行编目、编录、加工、建库。对每本图书、杂志要登记其基本信息,包括图书名称、图书作者、ISBN号、出版地、出版社、出版时间、字数、单价、内容简介、所属分类号,馆藏地、入库时间等。
2)书籍信息维护。图书管理员可以对入库的书籍信息进行修改,或是删除该书籍信息,如采购书籍册数。
3)书籍类别管理。新增书籍按照中图法分类规则进行分类。
(3)借阅管理
1)书籍借阅管理。图书管理员根据不同类型读者的借阅情况,对书籍进行管理。
(4)查看
1)书籍信息查询。登陆本系统的读者或是图书管理员可以查看现有图书系统中任何书籍的信息。
2)读者信息查询。一般的读者只能查看自己在该系统上的信息,如借阅的书籍等,而图书管理员可以查看任何读者的信息情况。
3)借阅信息查询。读者或是图书管理员可以查看每本书籍的在图书馆的状态,是借阅中还是在馆藏地等。
七、主要算法的设计与实现
1)、各表的创建及查询:
1、表的创建:
Create table book1
( 条码号 Char(20)
书名 Char(50)
作者 Char(20)
价格 Int
图书类型 Char(50)
出版社 Char(50)
出版日期 Int
供应商 Char(50)
入库时间 Datatime
馆藏书目 Int
库存数目 Int)
Creat table book2
( 图书编号 Char(50)
条码号 Char(20)
书架号 Char(20)
状态 Char(20) )
Creat table dx
( 身份证号 Char(50)
姓名 Char(50)
密码 Char(50)
性别 Char(6)
班级 Char(50)
读者类型 Char(50)
有效期 Char(50)
)
Creat table dl
( 读者类型 Char(20)
可借数量 Int
可借时间 Char(20)
)
Create table jy
( 图书编号 Char(50)
借阅卡号 Char(20)
借出日期 Char(20)
应还日期 Char(20)
归还日期 Char(20)
状态 Char(20)
)
2、表的查询:
例如:1、查询条码号为9787040的书的书名,价格,作者。
Select ‘书名’,‘价格’‘作者’
From book1
Where ‘条码号’=‘9787040’;
查询结果:
书名 作者 价格
数据库 王珊 39.00
2)、视图的创建与删除
1、视图的创建:
Create view one
As
Select ‘书名’,‘价格’,‘出版日期’
Where ‘库存数目’<‘50’;
Create view two
As
Select ‘可借数量’,‘可借时间’
Where ‘读者类型’=‘学生’;
2、视图的查询:
例如:找出库存数目小于20本的所有书的书名,价格,出版日期
Select *
From one
Where ‘库存数目’<‘20’;
查询结果: 书名 价格 出版日期
大学语文 38.8 2011
中国近代史 40 2010
八、自我评析与总结
我通过认真的查阅资料和老师的指导终于完成了课程 设计题目,很感欣慰。回想当初一开始的时候,遇到了很多的困难,感到无从下手,后经老师指导、自己的学习思考以及和同学的交流探讨终于有了思路。后来的课程设计操作过程让我也感到边学习边实践的乐趣,经过这一段时间的努力我成功的完成了本次课程设计。但是很多的地方考虑的还是不够周全。比如对表和字段的命名以及各表之间的联系命名存在欠缺,有时不能很好的表达自己的思想。课程设计也告诉我还有许多东西需要学习,课程设计当中我意识到自己的理论及实践知识的不足,对数据库设计这方面还是缺乏自主创新的思维能力,有些简单就可实现的东西自己却需好多的步骤才能完成,例如在处理借书和还书时可用事务来处理,但由于自己理论知识的不足没能得到运用。我在以后的学习中要增强自己的自学能力,有的同学在课程设计设中用到了许多没讲到的知识,他们的自学精神值得我去学习。
课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生适应实际,实践编程的能力。在这此设计中,不光是设计的报表、表单等可以运用的页面,而且是用到了大量的代码来实现其各种功能,不仅是对以前知识的巩固,也是对刚学过的《数据库应用与设计》的一次真枪实弹的演练,真是有很多的收获,而在这次的设计中花费的大量时间和劳动量,也是希望能得到老师的一点点肯定和指导提高的机会这次课程设计使我对所学的数据库知识有了更进一步的理解,更加系统化,理论化。今后,无论对待什么问题,我一定会充满自信的面对,学习更多的知识来充实自己,争取做得更好,最后,在此感谢史老师的精心指导。
九、参考文献
[1]萨师煊,王珊。数据库系统概论(第三版)。北京:高等教育出版社,2000.
[2]黄志超,李婷婷。Visual Basic.NET项目开发实践。北京:中国铁道出版社,2003.
[3]黄明,梁旭,曹利超。Visual Basic.NET信息系统设计与开发实例。北京:机械工业出版社,2005.
[4]敬保恩,王保学,时春雨,Visual Basic.NET实例入门。北京:海洋出版社,中国青年出版社,2003.
[5]郑阿琪,刘启芬,顾韵华.SQL Sever 实用教程[M].北京:清华大学出版社,2009.
[6]付玉生 .SQL Sever 2005基础教程上机指导[M].北京:清华大学出版社,2006.
[7]李德奇 .ASP.NET程序设计[M].北京:人民邮电出版社,2007.
[8]杨海霞 .数据库原理与设计[M].北京:人民邮电出版社,2006.
十、教师评语:
实验报告打印格式说明:
1.页眉页脚:宋体小五号
2.课程名称标题: 黑体四号加粗
3.表格内容:宋体五号
4.标题:黑体小四
5.正文:宋体五号
6.页面设置:纸张A4,页边距上下2cm,左右2.8cm
指导教师签名:
第二篇:类的综合性实验报告
计算机与信息技术学院综合性、设计性实验报告
一、实验目的
掌握类的声明和对象的创建
掌握对象的封装性
掌握类的访问修饰符,继承和实现。
掌握派生类、抽象类、抽象方法的使用
掌握类的重载。
二、实验仪器或设备
计算机一台
三、实验步骤(包括主要步骤、代码分析等)
实验内容:
实验5-1
创建类MyMath,计算周长、面积、球的体积。
程序代码如下:
河南师范大学计算机与信息技术学院
运行结果为:
实验5-2 创建表示摄氏温度的类TemperatureCelsius 运行效果如下:
河南师范大学计算机与信息技术学院
程序代码为:
实验5-3:类的继承和实现:
创建基类Person和派生类Teacher。运行效果如下:
河南师范大学计算机与信息技术学院
程序代码是:
实验5-4
抽象类、抽象方法、多态性的实现
创建抽象基类Shape和派生类Rectangle、Circle。 程序代码是:
河南师范大学计算机与信息技术学院
运行结果为:
实验5-5 运算符的重载 运行结果为:
河南师范大学计算机与信息技术学院
程序代码:
实验5-6接口的实现:
声明一个接口ICDPlayer,包含4个接口方法:Play(),Stop()、NextTrack()、PreviousTrack(),以及一个只读属性Currentrack。
运行效果如下:
程序代码如下:
河南师范大学计算机与信息技术学院
实验5-7事件的实现 运行效果如下:
代码为:
河南师范大学计算机与信息技术学院
河南师范大学计算机与信息技术学院教师签名: 年 月 日