数据库实验报告

上传人:无*** 文档编号:78385706 上传时间:2022-04-21 格式:DOC 页数:49 大小:1.46MB
返回 下载 相关 举报
数据库实验报告_第1页
第1页 / 共49页
数据库实验报告_第2页
第2页 / 共49页
数据库实验报告_第3页
第3页 / 共49页
点击查看更多>>
资源描述
实 习 名 称: 数据库系统概述 实 习 性 质: 08060031 实 习 时 间: 2010 实 习 地 点: 学 生 姓 名: 学 号: 学 院: 学 系: 专 业: 指 导 教 师: 教 师 单 位: 数学系 2009 年 3月 1 日 数据库系统概述 课程实验项目目录 序号实验项目编号实验项目名称*实验项目类型成绩指导教师10806003101认识DBMS验证20806003102交互式SQL语言验证30806003103交互式SQL综合实训设计交互式SQL综合实训40806003104数据控制(安全性部分)验证50806003105数据控制(完整性部分)验证60806003106课程设计信息系统设计设计789101112131415*实验项目类型:演示性、验证性、综合性、设计性实验。*此表由学生按顺序填写。 (一)实验目的和要求(1) 安装SQL Server 2000软件,建立今后的实验平台;(2) 熟悉SQL Server 2000环境及操作。(二)实验原理和主要内容(1) 根据安装文件的说明安装SQL Server 2000数据库管理系统,在安装过程中记录安装的选择,并且对所作的选择进行思考,为何要进行这样的配置,对今后运行数据库管理系统有什么影响;(2) 学会启动和停止数据库服务;(3) 初步了解SQL Server 2000环境及系统架构;(4) 了解SQL Servers 2000的主要工具和它们的功能。特别是如果在其中运行交互式SQL语言、如果查看系统架构及表结构竺,为今后的实验做准备。(三)主要仪器设备硬件:计算机软件:Windows XP操作系统、SQL Server 2000/2005(四)实验步骤1、安装SQL Server 2000数据库管理系统2、一般应用数据库服务企业管理器查询分析器3、系统架构查询分析器主要用于代码编写企业管理器用于数据库的使用服务管理器用于链接企业管理器(五)实验问题、结果及分析通过数据库管理系统的安装及初步应用,了解了SQL Servers 2000的主要工具和它们的功能。学会查看系统架构及表结构,为今后的实验做准备。(六)教师评语、评分49 (一)实验目的和要求熟悉通过交互SQL语言对数据库进行操作,完成书本上相应的练习。(二)实验原理和主要内容(1) 熟悉SQL Server 2000查询分析器的使用;(2) 掌握如果利用SQL语言创建数据库;(3) 掌握如果利用SQL语言创建表、更改表及删除表;(4) 掌握如果利用SQL语言对表进行查询;(5) 掌握如果利用SQL语言在表中插入、删除、更新数据;(6) 掌握如果利用SQL语言实现视图的创建、更新及查询;(7) 掌握如果利用SQL语言实现索引的建立和删除。注:以上实验内容可以基于课本上的学生、课程及选课实例,也可以自选其它的数据库。(三)主要仪器设备硬件:计算机软件:Windows XP操作系统、SQL Server 2000/2005(四)实验步骤1创建数据库2创建表并进行相关操作3.在表中插入数据并进行相关操作4.创建视图并进行相关操作5.索引的建立与删除(五)实验结果及分析按照书本例子使用SQL语言,从中学习语句格式以及实现功能,如书本所示的功能基本能通过手工输入并实现。(六)教师评语、评分主要语句CREATE DATABASE studCREATE TABLE Student(Sno CHAR(9)PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20)CREATE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname char (40),Cpno char (4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno);CREATE TABLE SC(Sno char(9),Cno char(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),foreign key(Sno)REFERENCES Student(Sno),foreign key(Cno)REFERENCES Course(Cno);INSERTINTO studentVALUES(200215121,李勇,男,20,CS);INSERTINTO studentVALUES(200215122,刘晨,女,19,CS);INSERTINTO studentVALUES(200215123,王敏,女,18,MA);INSERTINTO studentVALUES(200215125,张立,男,19,IS);INSERTINTO courseVALUES(2,数学,NULL,2);INSERTINTO courseVALUES(6,数据处理,NULL,2);INSERTINTO courseVALUES(4,操作系统,6,3);INSERTINTO courseVALUES(7,PASCAL语言,6,4);INSERTINTO courseVALUES(5,数据结构,7,4);INSERTINTO courseVALUES(1,数据库,5,4);INSERTINTO courseVALUES(3,信息系统,1,4);INSERTINTO SCVALUES(200215121,1,92);INSERTINTO SCVALUES(200215121,2,85);INSERTINTO SCVALUES(200215121,3,88);INSERTINTO SCVALUES(200215122,2,90);INSERTINTO SCVALUES(200215122,3,80);ALTER TABLE Student ADD S_entrance DATETIME;ALTER TABLE Student ALTER COLUMN Sage INT;ALTER TABLE Course ADD UNIQUE(Cname);CREATE Clustered INDEX Stusname ON Student (Sname);SELECT Sno,SnameFROM Student; (一)实验目的和要求通过完成以下实验,熟悉对关系数据库的SQL操作。(二)实验原理和主要内容现有图书管理系统数据库(bookmanager)中的表结构和数据如下(带下划线的列构成表的主码),试给出创建这些数据库对象的SQL命令。表readers(读者信息表)结构属 性 名数 据 类 型宽 度小 数 位 数编号char8姓名char8读者类型int2已借数量int2表readers(读者信息表)数据编 号姓 名读者类型已借数量2006060001王晓奇322006060002张刚352006060003李亚茜332006160426刘超2102005060328王立群118表borrowinf(借阅信息表)结构属 性 名数 据 类 型宽 度小 数 位 数读者编号char8图书编号char15借期date8还期date8表borrowinf(借阅信息表)数据读 者 编 号图 书 编 号借 期还 期2006060002F12.2452007-6-292005060328F23.552007-5-262007-12-222006160426G11.112007-10-212005060328G12.082007-8-262005060328G11.222007-9-012006160426G12.102007-9-142007-11-08表books(图书信息表)结构属 性 名数 据 类 型宽 度小 数 位 数编号char15书名char42作者char8出版社char28出版日期date8定价float82表books(图书信息表)数据编 号书 名作 者出 版 社定 价F12.245计算机文化基础刘凌志青山21.80F33.33数据结构实用教程王云晓蓝天22.00G22.12Visual Basic实用教程梁晓峰碧水28.00G11.22Java程序设计实用教程张大海碧水20.80F23.55数据结构(C语言版)马志刚青山24.50G11.11C语言程序设计张大海蓝天26.30G12.08C语言程序设计梁晓峰青山22.00G12.09C语言程序设计梁晓峰青山22.00G12.10C语言程序设计梁晓峰青山22.00表readertype(读者类型表)结构属 性 名数 据 类 型宽 度小 数 位 数类型编号int2类型名称char8限借阅数量int2借阅期限int2表readertype(读者类型表)数据类 型 编 号类 型 名 称限借阅数量借 阅 期 限1教师507202研究生201803学生8452) 写出完成下列操作的SQL命令。(1) 分别建立表readers、books上的主键索引。(2) 给出借阅超期信息单。(3) 查询编号为“2005060328”的读者的借阅信息。(4) 查询姓名为“王立群”的读者的借阅信息。(5) 查询类型为“研究生”的读者信息。(6) 查询书名中包含文字“程序设计”的图书信息。(7) 查询图书馆的藏书量。(8) 查询图书馆的图书总值。(9) 查询出版社的馆藏图书数量。(10) 查询“2007-1-1”至“2007-12-31”各类读者的借阅数量。(11) 查询“2007-1-1”至“2007-12-31”作者为“梁晓峰”的图书的借阅情况。(12) 查询借阅了作者为“张大海”的图书的读者编号和图书编号。(13) 查询所有教师的借阅图书情况,包括读者编号、姓名和已借数量。(14) 查询所有书名为“C语言程序设计”的读者编号和借阅日期。(15) 查询借阅日期与至少一位读者借阅日期相同的所有读者编号和姓名。(16) 查询所有研究生借阅图书的情况,包括姓名、已借数量、所借书名、借期和还期。(17) 查询“蓝天”出版社出版的图书借阅情况,包括读者编号、借期、还期。用连接查询和子查询两种方法实现。(18) 查询没有借阅“青山”出版社图书的读者编号。(三)主要仪器设备硬件:计算机软件:Windows XP操作系统、SQL Server 2000/2005(四)实验步骤1、建立相关表并输入数据CREATE TABLE readers(读者编号 CHAR(10) PRIMARY KEY, 姓名 CHAR(20) UNIQUE, 读者类型 INT,已借数量 INT);CREATE TABLE books(图书编号 CHAR(15) PRIMARY KEY,书名 CHAR(42),作者 CHAR(8),出版社 CHAR(28),出版日期 DATETIME,价格 float(8);CREATE TABLE borrowinf(读者编号 CHAR(10),图书编号 CHAR(15),借期 DATETIME,还期 DATETIME,PRIMARY KEY (读者编号,图书编号),FOREIGN KEY (读者编号) REFERENCES readers(读者编号),FOREIGN KEY (图书编号) REFERENCES books(图书编号);CREATE TABLE readertype(类型编号 INT,类型名称 CHAR(8),限借阅数量 INT,借阅期限 INT);CREATE TABLE readers(读者编号 CHAR(10) PRIMARY KEY, 姓名 CHAR(20) UNIQUE, 读者类型 INT,已借数量 INT);CREATE TABLE books(图书编号 CHAR(15) PRIMARY KEY,书名 CHAR(42),作者 CHAR(8),出版社 CHAR(28),出版日期 DATETIME,价格 float(8);INSERT INTO readers VALUES(2006060001,王晓奇,3,2);INSERT INTO readers VALUES(2006060002,张刚,3,5);INSERT INTO readers VALUES(2006060003,李亚茜,3,3);INSERT INTO readers VALUES(2006160426,刘超,2,10);INSERT INTO readers VALUES(2005060328,王立群,1,18);INSERT INTO books VALUES(F12.245,计算机文化基础,刘凌志,青山,21.80);INSERT INTO books VALUES(F33.33,数据结构实用教程,王云晓,蓝天,22.00);INSERT INTO books VALUES(G22.12,Visual Basic实用教程,梁晓峰,碧水,28.00);INSERT INTO books VALUES(G11.22,Java程序设计实用教程,张大海,碧水,20.80);INSERT INTO books VALUES(F23.55,数据结构(C语言版),马志刚,青山,24.50);INSERT INTO books VALUES(G11.11,C语言程序设计,张大海,蓝天,26.30);INSERT INTO books VALUES(G12.08,C语言程序设计,梁晓峰,青山,22.00);INSERT INTO books VALUES(G12.09,C语言程序设计,梁晓峰,青山,22.00);INSERT INTO books VALUES(G12.10,C语言程序设计,梁晓峰,青山,22.00);INSERT INTO borrowinf VALUES (2006060002,F12.245,2007-6-29);INSERT INTO borrowinf VALUES (2005060328,F23.55,2007-5-26,2007-12-22);INSERT INTO borrowinf VALUES (2006160426,G11.11,2007-10-21);INSERT INTO borrowinf VALUES (2005060328,G12.08,2007-8-26);INSERT INTO borrowinf VALUES (2005060328,G11.22,2007-9-01);INSERT INTO borrowinf VALUES (2006160426,G12.10,2007-9-14,2007-11-08);2、进行相关查询(1) 分别建立表readers、books上的主键索引。CREATE UNIQUE INDEX 编号索引 ON readers(读者编号);CREATE UNIQUE INDEX 编号索引 ON books(图书编号);(2) 给出借阅超期信息单。SELECT 图书编号FROM borrowinfWHERE 还期0 (3) 查询编号为“2005060328”的读者的借阅信息。SELECT 图书编号,借期,还期FROM borrowinfWHERE 读者编号= 2005060328(4) 查询姓名为“王立群”的读者的借阅信息。SELECT 图书编号,借期,还期FROM borrowinfWHERE 读者编号 IN(SELECT 读者编号FROM readersWHERE 姓名=王立群(5) 查询类型为“研究生”的读者信息。SELECT *FROM readersWHERE 读者类型 IN(SELECT 类型编号FROM readertypeWHERE 类型名称= 研究生)(6) 查询书名中包含文字“程序设计”的图书信息。SELECT *FROM booksWHERE 书名 LIKE%程序设计(7) 查询图书馆的藏书量。SELECT COUNT(DISTINCT 图书编号)FROM books(8) 查询图书馆的图书总值。SELECT SUM(定价)FROM books(9) 查询出版社的馆藏图书数量。SELECT COUNT(图书编号)FROM booksGROUP BY 出版社(10) 查询“2007-1-1”至“2007-12-31”各类读者的借阅数量。SELECT COUNT(图书编号)FROM borrowinfWHERE 借期2007-1-1AND 还期2007-1-1AND 还期 2007-12-31 AND 图书编号 IN(SELECT 图书编号FROM booksWHERE 作者=梁晓峰)(12) 查询借阅了作者为“张大海”的图书的读者编号和图书编号。SELECT 读者编号,图书编号FROM borrowinfWHERE 图书编号 IN(SELECT 图书编号FROM booksWHERE 作者=张大海)(13) 查询所有教师的借阅图书情况,包括读者编号、姓名和已借数量。SELECT 读者编号,姓名,已借数量FROM readersWHERE 读者类型=(SELECT 类型编号FROM readertypeWHERE 类型名称=教师)(14) 查询所有书名为“C语言程序设计”的读者编号和借阅日期。SELECT 读者编号,借期FROM borrowinfWHERE 图书编号 IN(SELECT 图书编号FROM booksWHERE 书名=C语言程序设计)(15) 查询借阅日期与至少一位读者借阅日期相同的所有读者编号和姓名。SELECT DISTINCT X.读者编号,姓名FROM borrowinf X ,readersWHERE 图书编号=(SELECT 图书编号FROM borrowinf YWHERE X.借期=Y.借期 AND X.读者编号=readers.读者编号)(16) 查询所有研究生借阅图书的情况,包括姓名、已借数量、所借书名、借期和还期。SELECT DISTINCT 姓名,已借数量,书名,借期,还期FROM borrowinf,readers,books,readertypeWHERE readers.读者编号=borrowinf.读者编号 AND borrowinf.图书编号=books.图书编号 AND readers.读者类型 IN (SELECT 类型编号FROM readertypeWHERE 类型名称=研究生)(17) 查询“蓝天”出版社出版的图书借阅情况,包括读者编号、借期、还期。用连接查询和子查询两种方法实现。SELECT 读者编号,借期,还期FROM borrowinf,booksWHERE borrowinf.图书编号=books.图书编号 AND books.出版社=蓝天SELECT 读者编号,借期,还期FROM borrowinfWHERE borrowinf.图书编号 IN(SELECT 图书编号FROM booksWHERE 出版社=蓝天)(18) 查询没有借阅“青山”出版社图书的读者编号。SELECT 读者编号FROM borrowinfWHERE NOT EXISTS(SELECT *FROM booksWHERE books.图书编号=borrowinf.图书编号 AND 出版社=青山)(五)实验结果及分析(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)(11)(12)(13)(14)(15)(16)(17)(18)(六)教师评语、评分 (一)实验目的和要求了解数据库安全性方面的基础知识,掌握如何通过交互SQL语言对数据库进行安全管理。(二)实验原理和主要内容(1) 掌握如果利用SQL Server 2000企业管理器实现用户的创建及管理;(2) 掌握如果利用SQL Server 2000企业管理器实现角色的创建及管理;(3) 掌握如果利用SQL Server 2000企业管理器实现用户的授权及回收;或者(1) 安装开源数据库MySQL 5.0;(2) 利用交互式SQL语言创建及管理用户;(3) 利用交互式SQL语言创建及管理角色;(4) 利用交互式SQL语言进行用户的授权及回收;(三)主要仪器设备硬件:计算机软件:Windows XP操作系统、SQL Server 2000/2005或者MySQL(四)实验步骤1启动SQL Server企业管理器,打开“SQL Server企业管理器”窗口,并在左边的目录树结构中选择“数据库”文件夹。2选择“操作”菜单(或右键菜单)中的“新建数据库”命令,打开 “数据库属性” 对话框,并在“常规”选项卡的 “名称”框内输入数据库名称创建角色右击角色选择新建数据库角色权限管理双击“用户”选择“权限”(五)实验结果及分析实现用户角色的建立以及管理,实现权限的设置。(六)教师评语、评分 (一)实验目的和要求1了解数据库完整方面的基础知识,掌握如何通过交互SQL语言对数据进行完整性定义及检验。2. 了解触发器的使用。(二)实验原理和主要内容1. 利用课本上介绍的几种方法对数据库的完整性进行定义和检验,掌握Constraint,Check等短句的用法;2. 在SQL Server或者MySQL中练习触发器的使用;a) 在northwind数据库中建立2个表,cust和order,表定义如下:表cust列名类型及长度其它CustomerIDchar(5)主键CustcityChar(24)CustnameChar(64)非空CStatusint客户状态Cstorageint库存量CdateDate日期表order:列名类型及长度其它Orderidchar(5)主键OrderNamesChar(24)非空OStatusint状态Ordersint定购量OdateDate日期b) 要求根据以上表完成以下作业: 在cust表中建立删除触发器,实现上述2表的级联删除。 在order表建立insert触发器,当向order表插入一行,如果cust表中对应记录status值为1,说明处于准备状态不能写入该数据; 在order表上建立一个插入触发器,在添加一个订单时,减少cust表的相应货物的记录的库存量。 在order表上建立一个插入触发器,规定订单日期(Odate)不能手工修改。 要求订购的物品一定要在仓库中有的,并且数量足够。 在order表上建立一个插入触发器,同时插入多行数据时,要求订购的物品一定要在仓库中有的。 查看触发器情况:1. sp_helptrigger 触发器名2. sp_helptext 触发器名3. 设置某一触发器的无效和重新有效4. 删除触发器(三)主要仪器设备硬件:计算机软件:Windows XP操作系统、SQL Server 2000/2005或者MySQL(四)实验步骤1.利用课本上介绍的几种方法对数据库的完整性进行定义和检验,掌握Constraint,Check等短句的用法;CheckCONSTRAINT:2在SQL Server或者MySQL中练习触发器的使用; 在cust表中建立删除触发器,实现上述2表的级联删除。create trigger cust_orders_del1on Custafter deleteasdelete from orderselect CustomerID from deleted 在order表建立insert触发器,当向order表插入一行,如果cust表中对应记录status值为1,说明处于准备状态不能写入该数据;create trigger cust_orders_ins2on orderafter insertasif (select cstatus from cust_test,inserted wherecust_test.customerid=inserted.customerid)=1beginprint The Goods is being processedrollback transactionend 在order表上建立一个插入触发器,在添加一个订单时,减少cust表的相应货物的记录的库存量。 create trigger cust_orders_ins3on orderafter insertasupdate cust set cstorage=cstorage-inserted.ordersfrom cust,insertedwhere cust.customerid=inserted.customerid 在order表上建立一个插入触发器,规定订单日期(Odate)不能手工修改。create trigger orderdateupdateon orderafter updateasif update (odate)beginraiserror(Error,10,1)rollback transactionend 要求订购的物品一定要在仓库中有的,并且数量足够。create trigger order_insert5on orderafter insertasbeginif(select count(*)from cust,insertedwhere cust.customerid=inserted.customerid)=0beginprint No entry in goods for your orderrollback transactionendif(select cust.cstorage from cust,insertedwhere cust_test.customerid=inserted.customerid)(select inserted.orders from cust,insertedwhere cust.customerid=inserted.customerid)beginprint No enough entry in goods for your orderrollback transactionend 在order表上建立一个插入触发器,同时插入多行数据时,要求订购的物品一定要在仓库中有的。create trigger order_insert6on order_testafter insertasif(select count(*) from cust_test,insertedwhere cust_test.customerid=inserted.customerid) 查看触发器情况:1. sp_helptrigger 触发器名2 sp_helptext 触发器名3 设置某一触发器的无效和重新有效4 删除触发器(五)实验结果及分析了解数据库完整方面的基础知识,掌握如何通过交互SQL语言对数据进行完整性定义及检验,了解了触发器的使用。(六)教师评语、评分 1. 题目要求在某个RDBMS软件基础上,利用合适的应用系统开发工具为某个部门或单位开发一个数据库应用系统。l RDBMS可以选用SQL Server 2000、MYSQL以及其它;l 开发环境:VB、Delphi、VC、Java、.NET、JSP、PHP自选一种l 应用的主题可以从下面选择一个或者自定 学生学籍管理系统 学生成绩管理系统 教学计划管理系统 图书馆图书管理系统 毕业设计管理系统 银行基本帐户管理系统 单位人事管理系统 企业仓储管理系统 档案管理系统 选修课网上报名系统 医院档案管理系统 小型超市收银系统 小区物业管理系统 酒店管理系统 物流管理系统 其它l 时间:13周17周2. 实验目的l 通过实践,掌握数据库的设计方法;l 学会在一个实际的RDBMS软件平台上创建及管理数据库;l 通过实践,掌握如何将SQL语言使用到实践的应用中;l 培养团队合作精神,要求56个同学组成一个开发小组、每位同学承担不同的角色(如:项目管理员、DBA、系统分析员、系统设计员、系统开发员、系统测试员)3. 实验内容与具体要求l 整个数据库系统中表的数量至少在5个以上;l 要求用户界面友好,可以选择B/S或者C/S方式;l 至少要实现数据的查询、插入、删除、修改功能;例如增加、删除、更新学生信息、l 可选功能:n 实现用户的建立及授权机制;n 实现数据的备份l 每个小组选择一个同学作口头报告,要求准备510分钟的Powerpoint,介绍整个系统的设计、系统架构、数据库设计及软件开发等,另外包括系统功能演示(时间安排在第16周);4. 实验报告要求:l 用ER图说明整个各个关系(表)的设计;l 给出整个系统设计架构;数据库的组成;表与表间的关系;l 给出数据库设计各阶段的详细设计报告;l 说明系统的主要功能和使用说明;l 提交建立数据库的SQL语言文本文件及可以运行的系统;l 写出收获和体会,包括已经解决和尚末解决的问题,进一步完善系统的设想和建议;l 实验报告每人一份,说明自己在小组中的角色及功能;l 报告作为实验报告的最后一个部分,在学期末与其它上机报告一起装订、打印提交;l 报告提交时间:17周底本小组选择做的项目是图书信息管理系统(JAVA)ER图:读者编号姓名读者类型已借数量图书书名定价出版日期出版社编号借还用户管理管理账号密码编号权限修改添加删除添加修改删除借期读者编号还期图书编号系统设计架构:用户类型: 字段名称数据类型字段长度是否为空说明ID int4No编号namechar50No 登录用户名Passwordchar50No 登录密码unitchar50No用户类型图书信息:字段名称数据类型字段长度是否为空说明bnochar50No图书编号booknamechar50No书名authorchar20Yes作者pricefloat20No图书价格companychar50No出版社pressdatadatatime8YES出版日期conunint4NO数量字段名称数据类型字段长度是否为空说明Idint10No编号namechar20No 姓名readertypechar11No读者类型conunint4NO已借数目读者信息:读者类型:字段名称数据类型字段长度是否为空说明ID int10No编号readernamechar50No 类型名numberint4No 可借图书本数timeint4NO借阅期限借阅信息:字段名称数据类型字段长度是否为空说明ID int4No字段ID号readerIDchar10No 读者编号bookIDint10No 图书编号borrowTimedate8No 借出时间backTimedate8No 应归还时间数据库分析:1、需求分析1)信息要求: 用户在图书馆管理系统中先建立自己的账号和权限,包括用户名和密码;管理员可添加和修改新书信息,包括书名、图书号码、出版社、作者、出版日期、价格、新书数量、备注;当用户借书和还书的时候,可在数据库中获得用户名、书名和借书(还书)日期;2)处理要求: 管理者可以在图书馆管理系统中添加和修改新书的信息、添加和删除新用户、借书和还书的用户信息。3)安全性和完整性要求: 新建用户需要密码,有助于增强系统的安全性。对所有可能出现的输入数据的响应予以定义,对合法和非合法的输入值的响应做出错误的提示。2、概念结构设计创建五个表(1)读者信息表读者信息表是为了图书馆管理员对读者进行管理,包括编号、姓名、读者类型、已借数量。(2)借阅信息表借阅信息表是用于对读者借阅图书进行管理,包括读者编号、图书编号、借期、还期。(3)图书信息表图书信息表主要用于存储图书馆中所藏图书的相关信息,包括编号、书名、出版社、出版日期、定价。(4)读者类型表读者类型表是为了对不同身份的读者进行分类方便读者的管理,包括类型编号、类型名称、限借阅数量、借阅期限。(5)用户类型表用户类型表是为了让系统识别不同类型用户登录后所具有的权限,包括用户编号、账号、密码、权限。3、逻辑结构设计图书(编号,书名,出版社,出版日期,定价,作者,数量)此为图书实体所对应的关系模式读者(编号,类型编号,类型名称,限借阅数量,借阅期限)此为读者实体所对应的关系模式用户(权限,账号,密码 )此为用户实体所对应的关系模式借还(读者编号,图书编号,借期,还期)此为联系“借还”所对应的关系模式查询(书名,编号,出版社,出版日期,新书数,定价)此为联系“查询”所对应的关系模式归还(图书编号,借期,还期)此为联系“归还”所对应的关系模式设置(权限,账号,密码)此为联系“查询”所对应的关系模式注:带下划线表示主键4、物理设计关系模式的存取方法:聚集索引方法5、实施与维护通过手工输入图书信息数据,先输入小批量数据以测试,待成功运行后逐步输入其他数据,同时使用程序调试以及调整 。系统的主要功能和使用说明; (1)登录 读者、图书管理员,系统管理员进入该系统必须登录,身份验证正确了才可以进入该系统,以不同身份进入该系统所对应的系统使用权限是不同的。 (2)图书设置功能 系统管理员可以实现对图书信息的添加、更新、删除等操作。(3)用户管理功能 对系统用户进行添加,修改,删除,权限设置等操作。 (4)查询功能 对图书信息、借阅情况、用户信息进行查询。 (5)借阅管理功能 实现对借书、借书信息修改、还书、还书信息修改等操作。建立数据库的SQL语言文本文件及可以运行的系统优点:本图书管理系统采用图形化的界面为图书馆工作人员提供方便、快捷的管理系统、实现了图书入库、借还书管理、查询的自动化,界面友好,使用方便。是一个具有很好代表性的MIS。特点:1. 程序GUI界面的代码控制2. 加入大量注释方便学习所使用3. 用户权限、管理员登陆、修改用户和删除用户不足之处:采用的JDBC-ODBC桥连接方式效率较低、平台移植性差。系统界面的友好性还需进一步完善,完善用户界面的使用方便性。登陆管理中可以增加非管理员的登陆权限,如匿名登录、免注册登陆,同时可以减少权限,这样可以增加该系统的用户的数量,提供更多用户功能。建议:对于图书借阅者延迟还书,系统还需有延迟提示,并可根据延迟还书的时间自动增加惩罚功能如禁止借书、缩短借阅时间等。 建表的SQL代码:CREATE TABLE readers(rno char(10) primary key,rname char(8),rtype int,borrowed int,foreign key (rtype) references readertype(rtype);create table readertype(rtype int primary key,tname char(8),maxbook int,btime int,);select rname from readerscreate table books(bno char(15) primary key,bname char(42),bwriter char(8),bpubs char(28),bptime datetime,bprice float(8);create table borrowinf(rno char(10) ,bno char(15) ,borrowtime datetime,returntime datetime,Primary key (rno, bno,borrowtime),foreign key (rno) references readers(rno),foreign key (bno) references books(bno);Create table user(Uno char(10),Password char(10),Uint int,);数据文件:读者类型数据:insert into readertype values(1,教师,50,720);insert into readertype values(2,研究生,20,180);insert into readertype values(3,学生,8,45);图书数据:insert into books values(中级微观经济学,机械工业出版社,安德鲁.斯科特,2010,58,2,F11.145);insert into books values(微观经济学,北京大学出版社,道格拉斯伯恩海姆,2010,65,2,本书分为绪论、经济决策、市场三篇,F12.103);insert into books values(这才是经济学,机械工业出版社,纳瑞蒙.贝尔拉夫什,2010,39,1,F04.22);insert into books values(幸福经济学,社会科学文献出版社,安尼尔斯基,2010,35,2,G16.33);insert into books values(大国经济之路,中信出版社,王志浩,2010,26,2,本书描绘和分析了中国经济之路,G14.21);insert into books values(播音主持艺术论,中国传媒大学出版社,张颂,2009,35,3,H25.154);insert into books values(电视节目主持人的人才资本运营,上海人民出版社,王朝晖,2009,28,1,H24.142);insert into books values(通信管道与线路工程设计,国防工业出版社,刘强,2006,33,2,H25.66);insert into books values(客户资信管理,中国对外经济贸易出版社,谢旭,2003,30,4,F31.28);insert into books values(畜牧业,化学工业出版社,侯水生,2005,40,4,G11.58);insert into books values(有机电子学概论,化学工业出版社,吴世康,2010,33,2,G22.36);insert into books values(电子商务安全与管理,中国人民大学出版社,单智勇,2010,36.8,2,G23.10);insert into books values(中国行政区划通史,复旦大学出版社,周振鹤,2009,62.8,1,国家自然科学基金项目,H15.504);insert into books values(中国行政法概要,中国人民
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!