ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:50.06KB ,
资源ID:5064119      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5064119.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ORACLE大型数据库技术图书管理系统.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

ORACLE大型数据库技术图书管理系统.docx

1、ORACLE大型数据库技术图书管理系统ORACLE大型数据库技术题 目: 图书管理系统学生姓名: 雷丰悦学 号: 专业班级: 计科14101同组姓名: 指导教师: 设计时间: 指导老师意见:评定成绩: 签名: 日期:一、 需求分析读者到图书馆电子查询处查询图书,查找读者需要的图书。如果有满足读者要求的图书,查看该图书是否存在馆藏,如存在,读者凭借索书号进入馆藏室取书交给管理员,管理员在系统记录读者信息并记录借出图书信息,如果不在馆,则无法提供图书。1.系统功能实现:实现图书的查询、借出、归还、交罚款功能。1) 流程图根据系统功能的需求分析,经过模块化的分析得到如下所示系统功能模块结构图。读者借

2、阅图书,系统查询图书是否在馆。图书已借出,显示已借出;未借出显示下一步,图书管理员管理图书,登记读者信息,借出图书。图 1-1 借阅图书模块流程图二、 数据库设计 1. 概念结构设计:1) 局部ER图读者借阅图书借阅关系E-R图2) 全局ER图全局完整E-R图2. 逻辑结构设计:数据库的逻辑设计过程就是把ER图转化为关系模式的过程。1)将E-R图转化为关系模式 读者(借书证号,姓名,性别,联系电话,系别,违章状况) 图书(ISBN,索书号,书名,作者,出版社,出版日期,简介,数量) 管理员(工作编号,姓名,性别,电话,工资) 借阅(读者编号,ISBN,工作编号,是否续借,借书日期,还书日期)

3、管理员_书籍(工作编号,ISBN,添加时间,是否在馆)2)设计数据表读者信息表READER字段名数据类型长度约束属性姓名VARCHAR30NOT NULL非主属性性别CHAR4NOT NULL非主属性系别VARCHAR30NOT NULL非主属性借书证号VARCHAR20NOT NULL主码联系电话CHAR11非主属性违章状况CHAR4非主属性图书信息表BOOK字段名数据类型长度约束属性ISBNVARCHAR30NOT NULL主码索书号VARCHAR30NOT NULL非主属性书名VARCHAR50NOT NULL非主属性作者VARCHAR30NOT NULL非主属性出版社VARCHAR50

4、非主属性出版日期DATE非主属性简介VARCHAR50非主属性数量INT非主属性管理员信息表MASTER字段名数据类型长度约束属性工作编号VARCHAR20NOT NULL主码姓名VARCHAR30NOT NULL非主属性性别VARCHAR2NOT NULL非主属性电话CHAR11非主属性借阅关系表R-B字段名数据类型长度约束属性ISBNVARCHAR30NOT NULL外码借书证号VARCHAR20NOT NULL外码工作编号VARCHAR20NOT NULL外码借书日期DATENOT NULL非主属性还书日期DATENOT NULL非主属性是否续借CAHR4NOT NULL非主属性确认归还

5、CHAR4NOT NULL非主属性管理员_书籍表M-B字段名数据类型长度约束属性工作编号VARCHAR20NOT NULL外码ISBNVARCHAR30NOT NULL外码添加时间DATE非主属性是否在馆CHAR4非主属性三、 创建表空间和用户CREATE TABLESPACE TEST DATAFILE D:TEST.ORA SIZE 100M;/创建表空间DROP TABLESPACE TEST; /删除表空间CREATE USER TEST IDENTIFIED BY 123456 DEFAULT TABLESPACE TEST QUOTA 100M ON USERS;/创建用户赋予密码

6、及分配表空间GRANT ALL PRIVILEGES TO TEST; /赋予用户全部权限四、 在表空间中创建表且插入数据1. 创建表创建读者-READER表:CREATE TABLE READER( 借书证号 VARCHAR(20) PRIMARY KEY NOT NULL,姓名 VARCHAR(30) NOT NULL, 性别 CHAR(4) NOT NULL,系别 VARCHAR(30) NOT NULL, 联系电话 CHAR(11), 违章状况 CHAR(4);杰伦, 男, 计算机科学与技术否);张华, 男, 地理科学否);蔡依林,女, 音乐与艺术否);李明,男,数学与应用数学否);那

7、英,女,土木工程否);哈伦,男,酒店管理否);罗志祥,男,旅游管理否);黄渤,男,生物科学否);唐颖,女,国际经济与贸易否);雷龙,男,汉语言文学否);创建管理员-MASTER表:CREATE TABLE MASTER ( 工作编号 VARCHAR(20) PRIMARY KEY NOT NULL, 姓名 VARCHAR(30) NOT NULL, 性别 CHAR(4) NOT NULL, 电话 CHAR(11) );韩东, 男王晓丽, 女杨自鸣, 男冯冰, 女杜南珍, 女蒋华, 男刘翔, 男童诗珊, 女陈诗诗, 女夏蓉, 男创建图书-BOOK表:CREATE TABLE BOOK ( ISB

8、N VARCHAR(30) PRIMARY KEY NOT NULL,索书号 VARCHAR(30) NOT NULL, 书名 VARCHAR(50) NOT NULL, 作者 VARCHAR(30) NOT NULL, 出版社 VARCHAR(50), 出版日期 DATE, 简介 VARCHAR(50),数量 INT );INSERT INTO TEST.BOOK VALUES (978-7-111-21382-6, TP3122626, JAVA编程思想, BRUCE ECKEL, 机械工业出版社, TO_DATE(2007-08-21 00:00:00, YYYY-MM-DD HH24:

9、MI:SS), 最好的JAVA学习丛书, 5);INSERT INTO TEST.BOOK VALUES (978-7-121-05414-3, TP3127581, PHP 5项目开发实战详解, PHPCHINA, 电子工业出版社, TO_DATE(2008-08-08 00:00:00, YYYY-MM-DD HH24:MI:SS), PHP项目实战丛书, 4);INSERT INTO TEST.BOOK VALUES (978-7-115-21678-6, TP311426, PHP基础教程, LARRY ULLMAN, 电子工业出版社, TO_DATE(2010-10-01 00:00

10、:00, YYYY-MM-DD HH24:MI:SS), PHP丛书, 7);INSERT INTO TEST.BOOK VALUES (978-7-122-05978-9, TP3137781, PHP从入门到精通, 陈超, 化学工业出版社, TO_DATE(2009-09-22 00:00:00, YYYY-MM-DD HH24:MI:SS), PHP丛书, 10);INSERT INTO TEST.BOOK VALUES (978-7-121-06490-6, TP3137564, C#程序设计教程, 刘甫迎,刘光会,王蓉, 电子工业出版社, TO_DATE(2008-08-14 00:

11、00:00, YYYY-MM-DD HH24:MI:SS), C#丛书, 2);INSERT INTO TEST.BOOK VALUES (978-7-302-17882-8, TP3124567, C#从入门到精通, 王小科,吕双, 清华大学出版社, TO_DATE(2008-10-09 00:00:00, YYYY-MM-DD HH24:MI:SS), C#丛书, 3);INSERT INTO TEST.BOOK VALUES (7-121-03179-5, TN911.73, 数字图像处理, 胡学龙,许开宇, 电子工业出版社, TO_DATE(2006-07-18 00:00:00, Y

12、YYY-MM-DD HH24:MI:SS), 图像处理丛书, 5);INSERT INTO TEST.BOOK VALUES (978-7-300-10800-1, TP3113448, 大学音乐鉴赏, 李迎春, 中国人民大学出版社, TO_DATE(2009-08-11 00:00:00, YYYY-MM-DD HH24:MI:SS), 音乐丛书, 5);INSERT INTO TEST.BOOK VALUES (7-03-016064-9, F590.7, 旅游环境学, 颜文洪,张朝枝, 科学出版社, TO_DATE(2005-09-21 00:00:00, YYYY-MM-DD HH24

13、:MI:SS), 旅游丛书, 9);INSERT INTO TEST.BOOK VALUES (7-5338-4487-4, D920.0, 法律教程, 孙笑侠, 浙江教育出版社, TO_DATE(2004-07-23 00:00:00, YYYY-MM-DD HH24:MI:SS), 法律-中国-高等学校-教材, 8);创建管理员_书籍表M-B表:CREATE TABLE MB( ISBN VARCHAR(30) NOT NULL,工作编号 VARCHAR(20) NOT NULL,添加时间 DATE,是否在馆 CHAR(4),PRIMARY KEY(工作编号,ISBN),FOREIGN K

14、EY(工作编号)REFERENCES MASTER(工作编号),FOREIGN KEY(ISBN)REFERENCES BOOK(ISBN);韩东, 男王晓丽, 女杨自鸣, 男冯冰, 女杜南珍, 女蒋华, 男刘翔, 男童诗珊, 女陈诗诗, 女夏蓉, 男创建借阅关系表R-B表:CREATE TABLE RB( ISBN VARCHAR(30) NOT NULL, 借书证号 VARCHAR(20) NOT NULL,工作编号 VARCHAR(20) NOT NULL, 借书日期 DATE NOT NULL, 还书日期 DATE NOT NULL, 是否续借 CHAR(4) NOT NULL,确认归

15、还 CHAR(4) NOT NULL,PRIMARY KEY(ISBN,借书证号,工作编号),FOREIGN KEY(ISBN) REFERENCES BOOK(ISBN),FOREIGN KEY(借书证号)REFERENCES READER(借书证号),FOREIGN KEY(工作编号)REFERENCES MASTER(工作编号);五、 索引 1. 建立索引: CREATE INDEX READER_NAME ON READER(姓名);SELECT * FROM READER R WHERE R.姓名 = 杰伦六、 数据查询和视图 1.数据查询:1. SELECT * FROM READ

16、ER /查询读者信息表2. SELECT * FROM RB WHERE 工作编号3. SELECT * FROM RB WHERE 借书证号/查询借书证号为所借的书名4. SELECT BOOK.书名 FROM RB,BOOK WHERE RB.借书证号5. SELECT * FROM RB WHERE 是否续借=N AND SYSDATE-借书日期30 AND 确认归还=N;6. SELECT 出版社,SUM(数量) 总本数 FROM BOOK GROUP BY 出版社/查询图书馆内各出版社 各有多少本书7. SELECT * FROM READER WHERE READER.借书证号 I

17、N(SELECT 借书证号 FROM RB WHERE 是否续借=N AND SYSDATE-借书日期30 AND 确认归还=N )2.视图:1. CREATE OR REPLACE VIEW 欠费学生信息 ASSELECT READER.借书证号,READER.姓名,READER.性别,READER.系别,READER.联系电话,TO_CHAR(0.2*TO_NUMBER(SYSDATE-RB.借书日期),999.0) 欠费 FROM READER,RB WHERE 是否续借=N AND SYSDATE-借书日期30 AND 确认归还=N AND READER.借书证号=RB.借书证号SEL

18、ECT * FROM 欠费学生信息;/创建视图查询未按期归还图书的学生信息及欠费情况。 七、 存储过程的使用 学生借阅信息删除 存储过程CREATE OR REPLACE PROCEDURE P_DELETE(V_ID VARCHAR2)-定义变量IDISBEGINDELETE FROM RB WHERE 借书证号=V_ID; -执行删除操作COMMIT;END;-执行BEGINEND;学生续借书籍 存储过程 实现续借日期加一个月 续借值改为YCREATE OR REPLACE PROCEDURE P_XJ(V_ID VARCHAR2,XUJIE CHAR)-定义变量IDISBEGIN-DEL

19、ETE FROM RB WHERE 借书证号=V_ID; -执行删除操作UPDATE RB SET 是否续借=XUJIE,还书日期 = ADD_MONTHS( 还书日期, 1) WHERE 借书证号=V_ID;-执行修改操作COMMIT;END;-执行BEGINP_XJEND;-执行完上边后执行SELECT * FROM RB;创建函数统计各出版社图书的库存量-函数CREATE OR REPLACE FUNCTION GETSCOUNT(IN1 IN VARCHAR2) RETURN NUMBER AS COUNTBOOKNUM NUMBER; BEGIN SELECT 数量 INTO COU

20、NTBOOKNUM FROM BOOK WHERE 出版社 = IN1; RETURN(COUNTBOOKNUM); END;-调用函数 DECLARE COUNTNUM NUMBER:=0; BEGIN COUNTNUM:=GETSCOUNT(科学出版社); DBMS_OUTPUT.PUT(图书馆有 “科学版社” 书籍总数为:); DBMS_OUTPUT.PUT(COUNTNUM); DBMS_OUTPUT.PUT_LINE( 本); END;触发器:对READER表添加触发器 实现插入修改数据时 输出插入或修改后的记录信息CREATE OR REPLACE TRIGGER READER_O

21、NLOAD AFTER INSERT OR UPDATE ON READER FOR EACH ROW DECLARE BEGIN DBMS_OUTPUT.PUT_LINE(借书证号: | :NEW.借书证号); DBMS_OUTPUT.PUT_LINE(姓名:| :NEW.姓名); DBMS_OUTPUT.PUT_LINE(性别:| :NEW.性别); DBMS_OUTPUT.PUT_LINE(系别:| :NEW.系别); DBMS_OUTPUT.PUT_LINE(联系电话:| :NEW.联系电话); DBMS_OUTPUT.PUT_LINE(触发器已被执行); END; 雷丰悦, 男, 计

22、算机科学与技术否);八、 用户、角色1. 普通将图书信息表的查询权限授给普通读者R1GRANT SELECT ON TABLE BOOK TO R12. 将借阅关系表RB,管理员_书籍表MB的查询和修改的权限给管理员M1GRANT UPDATE,SELECT ON TABLE R-B,M-B,M-S TO M1九、 实验心得本图书管理系统的数据库分析与设计是由我们小组分工合作利用一周的课余时间完成。实验环境:Windows 7 + Navicat11 + Oracle 11g通过这本次实验,我们掌握了系统开发的数据库设计的各个步骤以及文档的书写,例如ER图的绘制,物理结构设计等,并且结合实例提高了数据库代码的编写能力。此次实验中还有不足之处在触发器的应用还待提高。总的来说动手实践后的更加深入了解到Oracle数据库的强大和美丽。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1