正文内容

图书借阅系统数据库设计实验报告-文库吧

2023-09-03 16:51 本页面


【正文】 、当前日期(或还书日期)。①列出当前借阅表中超期未归还图书的借书记录(Book_Current_Overdue)  ②读者的借阅期为90天。③计算应还书日期用DATEADD或DATEDIFF函数。④getdate()函数返回当前数据库系统日期,返回值的类型为 datetime。⑤列出历史借阅表中有超期未归还图书的还书记录(Book_History_Overdue)。 7.备份与恢复设计(1)设计思想:在图书借阅系统中,分为四个用户定义文件组和一个主文件组,其中操作最为频繁的是文件组4(存放历史借阅表)、文件组3(存放借阅表)、其次为,文件组2(存放图书表)、文件组1(存放读者表)。但是主文件组又是整个数据库可以启动、运行的基础,所以不可忽视。备份操作由授予固定服务器角色 db backupoperator(允许进行数据库备份的用户)来操作,完全备份时间,在每周二上午,图书馆内务整理时进行,文件组的差异备份与事务日志备份在每天闭馆后进行。(2) 具体实现:综合以上考虑,在本地计算机上,指定一个单独的磁盘,存放每周二进行的数据库完全备份(包括主文件组、用户定义文件组、事务日志),在本地局域网内另设一台主机专门用来存放完全备份,该主机权限只能由系统管理员登录。由属于固定服务器角色db backupoperator用户进行完全备份操作。文件组差异备份与事务日志备份在每天闭馆后进行。主要针对四个用户自定义文件组、主文件组、事务日志进行差异备份,指定备份在本地计算机一个单独的磁盘。8.数据库安全设计(1)设计思想:①在图书借阅系统中,在服务器级别,可以分为系统管理员(sysadmin)、安全管理员(securityadmin)、服务器管理员(serveradmin)、设置管理员(setupadmin)、进程管理员(processadmin)、管理磁盘文件(diskadmin)、数据库创建者(dbcreator)、指定格式复制数据文件(bulkadmin)。②在数据库级别,可以分为数据库所有者(db_owner)、数据库访问权限管理者(db_accessadmin)、数据库安全管理员(db_securityadmin)、数据库DDL管理员(db_ddladmin)、数据库备份操作员(db_backupoperator)、数据库数据读取者(db_datareader)、数据库数据写入者(db_datawriter)。③此外还包括自定义数据库角色(学生、教师、图书馆普通员工、图书馆借阅处工作人员、图书馆采编部工作人员)、应用程序角色(图书馆网站)。④自定义数据库角色都具有对图书表的查询权限、具有对图书ID与ISBN对应表的查询权限。⑤学生对与自己的借书记录、还书记录有查询权限、读者信息中的地址(Addr)字段有更新权利、其他字段只允许查询。学生借阅数量设置为(0=Num=10),借书期限为 90天。⑥教师对与自己的借书记录、还书记录有查询权限、读者信息中的地址(Addr)字段有更新权利、其他字段只允许查询。教师借阅数量设置为(0=Num=15),借书期限为 120天。⑦图书馆普通员工对与自己的借书记录、还书记录有查询权限、读者信息中的地址(Addr)字段有更新权利、其他字段只允许查询。普通员工借阅数量设置为(0=Num=10),借书期限为 90天。⑧图书馆借阅处工作人员同时属于普通员工、借阅处工作人员两个角色,新增权限当读者借书、还书时,借阅处工作人员可以提交借书、还书记录。对读者表的借阅量字段、图书表的库存量字段,通过应用程序角色可以进行更新。⑨图书馆采编部工作人员同时属于普通员工、采编部工作人员两个角色,新增权限对历史借阅表所有行具有查询权限,可以根据统计数据,决定新增上架图书、下架某些图书,具有对图书表中数据的更新、删除。(2) 具体实现: 测试:以SQL Server 用户:201107024218,登录服务器:ADMINISTRATOR 默认数据库:MBook203,数据库用户:201107024218,属于角色:学生 具有权限:对图书表(Book)的查询权限。执行图书检索存储过程,执行结果如下:五、体会 在图书借阅系统数据设计的库综合实验中,由于需求分析不够深入,对图书借阅系统的业务流程,以及所涉及到的角色没有做到深入的了解。比如读者,图书馆工作人员、管理员,他们应该具有详细的角色划分,由此设计数据表、以及对应数据表中的各个字段,比如借阅数量,可以根据角色设置不同的约束条件。对于不同的角色也可以分配不同的权限,也方便了管理员对用户权限的管理。在设计表结构时存在一些不足,比如,在历史借阅表中,为了保证实体完整性,而将读者号、图书ISBN、图书ID、借书日期、还书日期都设置为了主键,可以考虑加入一个字段作为标志列,用标识列作为主键,可以保证还书记录在历史借阅表中的唯一性,标志列可以唯一的标志一行。另外一个是图书ID与ISBN的对应表,在该表中同一个ISBN对应了不同的ID,表中用图书ID作为主键不太合理。在图书表中,图书应该是分类存放,所以应该考虑添加分类标号,这样在图书检索的时候可以提高检索效率,同时图书按类存放,也使得图书表中数据便于维护。对于服务器固定角色、数据库固定角色、用户自定义角色、应用程序角色的理解也不够,对于他们应有权限以及权限的分配不清楚,在为图书借阅数据库创建了学生角色后,指定学生角色所有者为dbo,为学生角色授权可以查询图书表,将创建的SQL Server登录用户对应的数据库用户添加到学生角色,使用该用户登录后,对其他表中数据仍然具有查询权限,还可以操作借书、还书存储过程。对于读者登录验证,可以单独创建一个表,包含读者号、读者登录密码,对于登录密码在数据库中可以采用加密存储,保证读者个人信息的安全性。管理员的权限也要有明确的分配,对管理员的操作也要具有审计功能。 总体而言,对于数据设计,应该遵循数据库设计的理论指导,需求分析、概念结构设计、逻辑结构设计、物理设计,结合实际系统在数据库设计的每一步都应该认真分析、设计,是后期投入运行的重中之重。六、参考文献 SQL Server实用教程(第3版)郑阿奇 主编 七、SQL 代码/* MBook203 */CREATE DATABASE MBook203 ON PRIMARY ( NAME = 39。MBook203_DATA39。, FILENAME = 39。D:\db\39。, SIZE = 10MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10% ), FILEGROUP MyDB_FG1 ( NAME = 39。MyDB_FG1_Data139。, FILENAME = 39。D:\db\39。, SIZE = 10MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10% ), FILEGROUP MyDB_FG2 ( NAME = 39。MyDB_FG2_Data139。, FILENAME = 39。D:\db\39。, SIZE = 10MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10% ), FILEGROUP MyDB_FG3 ( NAME = 39。MyDB_FG3_Data139。, FILENAME = 39。D:\db\39。, SIZE = 10MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10% ), FILEGROUP MyDB_FG4 ( NAME = 39。MyDB_FG4_Data139。, FILENAME = 39。D:\db\39。, SIZE = 10MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10% ) LOG ON ( NAME = 39。MBook203_LOG39。, filename = 39。D:\db\39。, size = 10MB, maxsize = unlimited, filegrowth = 10% )。 /*,读者表、(图书表、BookID_ISBN)、借阅表、历史借阅表 分别放在 文件组 MyDB_FG MyDB_FG MyDB_FG MyDB_FG4 读者表(Reader)、图书表(Book)、图书ID与ISBN对应表(BookID_ISBN)、借阅表(Lend)和借阅历史表(HistoryLend)*/USE MBook203GOCREATE TABLE Reader( ReaderID char(12) NOT NULL PRIMARY KEY, Name varchar(8) NOT NULL, Sex bit CHECK(Sex = 39。039。 OR Sex = 39。139。), 1: 男 0: 女 Born date not null, Dept varchar(20), Spec varchar(20), Num int NOT NULL DEFAULT 0, Photo varbinary(MAX) NULL, Addr xml NULL)ON MyDB_FG1GOCREATE TABLE Book( ISBN varchar(16) NOT NULL PRIMARY KEY, Bname varchar(40) NOT NULL, Author varchar(16) NOT NULL, Pub varchar(30) NOT NULL, Price float NOT NULL, Copnum int NOT NULL DEFAULT 0, Invnum int NOT NULL DEFAULT 0, Photo varbinary(MAX) NULL, Summary xml NULL) ON MyDB_FG2GOCREATE TABLE BookID_ISBN( ISBN varchar(16) NOT NULL FOREIGN KEY REFERENCES Book(ISBN), BookID varchar(10) NOT NULL PRIMARY KEY,) ON MyDB_FG2GOCREATE TABLE Lend( ReaderID char(12) NOT NULL FOREIGN KEY REFERENCES Reader(ReaderID), ISBN varchar(16) NOT NULL FOREIGN KEY REFERENCES Book(ISBN), BookID varchar(10) NOT NULL FOREIGN KEY REFERENCES BookID_ISBN(BookID), bbt date NOT NULL, PRIMARY KEY(ReaderID,ISBN,BookID) ) ON MyDB_FG3GOCREATE TABLE HistoryLend( ReaderID char(12) NOT NULL FOREIGN KEY REFERENCES Reader(ReaderID), ISBN varchar(16) NOT NULL FOREIGN KEY REFERENCES Book(ISBN), BookID varchar(10) NOT NULL FOREIGN KEY REFERENCES BookID_ISBN(BookID), bbt date NOT NULL, rbbt date NOT NULL, PRIMARY KEY(ReaderID,ISBN,BookID,bbt,rbbt)) ON MyDB_FG4/*Reader 表插入数据*/insert reader(ReaderID,Name,Sex,Born,Dept,Spec,Num,Photo,Addr)values(39。20080702420139。,39。王林39。,39。139。,39。199208239。,39。计算机学院39。,39。网络工程39。,39。039。,null, 39。联系方式 xmlns= 姓名 = 王林 WL@/ 电话13900081101/电话 地址 邮政编码211101/邮政编码 省或直辖市江苏省/省或直辖市 市或县南京市/市或县 详细地址鼓楼区上海路3号/详细地址 /地址 /联系方式 39。)GOinsert reader(ReaderID,Name,Sex,Born,Dept,Spec,Num,Photo,Addr)values(39。20080702412239。,39。张强民39。,39。139。,39。199103239。,39。计算机学院39。,39。网络工程39。,39。039。,null, 39。联系方式 xmlns= 姓名 = 张强民 ZQM@/ 电话13900081102/电话 地址 邮政编码211100/邮政编码 省或直辖市江苏省/省或直辖市 市或县镇江市/市或县 详细地址**区**镇**村/详细地址 /地址 /联系方式 39。)GOinsert reader(ReaderID,Name,Sex,Born,Dept,Spec,Num,Photo,Addr)values(39。20080701420239。,39。程明39。,39。139。,39。198906839。,39。计算机学院39。,39。计算机科学与技术39。,39。039。,null, 39。联系方式 xmlns= 姓名 = 程明 CM@/ 电话13900081103/电话 地址 邮政编码211103/邮政编码 省或直辖市上海市/省或直辖市 市或县崇明县/市
点击复制文档内容
环评公示相关推荐
文库吧 www.wenkub.com
备案图鄂ICP备17016276号-1