Oracle数据库设计 图书管理系统
- 格式:docx
- 大小:77.47 KB
- 文档页数:16
基于数据库设计的图书馆管理系统图书馆是学校、社区和其他教育机构中重要的资源和知识传播中心。
在数字化时代,一个高效且功能完善的图书馆管理系统不仅可以帮助管理员更好地管理图书馆资源,还可以提供便利的借阅和查询服务给读者。
本文将介绍一个基于数据库设计的图书馆管理系统的详细设计和实施过程。
我们需要设计一个数据库来存储图书馆的相关数据。
数据库可以使用关系型数据库,如MySQL、Oracle等。
数据库中需要包含以下几个核心的数据表:1. 图书表:用于存储图书的基本信息,如图书编号、图书名称、作者、出版社、出版日期等。
每本图书对应一条记录。
3. 借阅记录表:用于记录每次借阅的信息,包括图书编号、读者编号、借阅日期、归还日期等。
每次借阅对应一条记录。
以上几个表之间存在一些关系,需要通过外键来建立关联。
图书表和图书分类表可以建立一对多的关系,一个分类可以对应多本图书。
借阅记录表中的图书编号和读者编号可以分别与图书表和读者表中的对应字段建立一对多的关系,表示这是一次借阅操作。
除了上述核心的数据表之外,我们还可以设计一些其他的数据表来增强系统的功能。
可以设计一个罚款表来记录读者的逾期罚款信息,一个预约表来记录读者的图书预约信息等。
在数据库设计完成之后,我们可以根据需求来实现相应的系统功能。
管理员可以通过查询图书表和读者表来了解图书馆的图书和读者情况;读者可以通过查询图书表来搜索和借阅图书,通过查询借阅记录表来查看借阅历史等。
在实现系统功能的过程中,需要注意数据库的安全性和性能。
可以采用一些技术手段来提高系统的安全性,如加密存储敏感信息、设置访问权限等;可以通过合理地设计数据库索引和查询语句来提高系统的性能,如合理选择索引字段、避免全表扫描等。
oracle图书管理系统课程设计一、教学目标本课程的目标是使学生掌握Oracle图书管理系统的理论知识,具备安装、配置和维护Oracle图书管理系统的实际操作能力,培养学生对信息技术的热爱和良好的职业道德。
知识目标:使学生了解Oracle图书管理系统的基本概念、功能和特点;掌握SQL语言的基本语法和常用操作;了解数据库的设计和管理方法。
技能目标:使学生能够熟练使用Oracle图书管理系统进行图书的增加、删除、修改和查询操作;能够进行数据库的创建、表空间的分配和管理;能够使用SQL*Plus等工具进行SQL编程和数据库管理。
情感态度价值观目标:培养学生对信息技术的兴趣和好奇心,提高学生运用信息技术解决实际问题的能力;培养学生团队合作的精神和良好的职业道德,使学生认识到信息技术在现代社会中的重要性和地位。
二、教学内容本课程的教学内容主要包括Oracle图书管理系统的基本概念、功能和特点,SQL语言的基本语法和常用操作,数据库的设计和管理方法。
具体的教学大纲如下:1.Oracle图书管理系统的基本概念、功能和特点2.SQL语言的基本语法和常用操作–数据类型和变量–数据插入、删除和修改–事务管理和存储过程3.数据库的设计和管理方法–数据库的创建和表空间的分配–数据库的备份和恢复–数据库的安全性和权限管理三、教学方法本课程的教学方法主要包括讲授法、案例分析法和实验法。
1.讲授法:通过教师的讲解,使学生掌握Oracle图书管理系统的基本概念、功能和特点,SQL语言的基本语法和常用操作,数据库的设计和管理方法。
2.案例分析法:通过分析实际案例,使学生了解Oracle图书管理系统在实际应用中的作用和效果,提高学生运用信息技术解决实际问题的能力。
3.实验法:通过实验操作,使学生熟练使用Oracle图书管理系统进行图书的增加、删除、修改和查询操作,掌握数据库的创建、表空间的分配和管理。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。
《ORACLE大型数据库技术》题目:图书管理系统学生姓名:雷丰悦学号:专业班级:计科14101同组姓名:指导教师:设计时间:目录一、需求分析........................... 错误!未定义书签。
1.系统功能实现: (1)二、数据库设计 (1)1. 概念结构设计: (1)2. 逻辑结构设计: (2)三、创建表空间和用户 (4)四、在表空间中创建表且插入数据 (4)1. 创建表 (4)五、索引 (6)六、数据查询和视图 (6)1.数据查询: (6)2.视图: (7)七、存储过程的使用 (7)八、用户、角色 (8)九、实验心得 (8)一、需求分析读者到图书馆电子查询处查询图书,查找读者需要的图书。
如果有满足读者要求的图书,查看该图书是否存在馆藏,如存在,读者凭借索书号进入馆藏室取书交给管理员,管理员在系统记录读者信息并记录借出图书信息,如果不在馆,则无法提供图书。
1.系统功能实现:实现图书的查询、借出、归还、交罚款功能。
1)流程图根据系统功能的需求分析,经过模块化的分析得到如下所示系统功能模块结构图。
读者借阅图书,系统查询图书是否在馆。
图书已借出,显示已借出;未借出显示下一步,图书管理员管理图书,登记读者信息,借出图书。
图1-1 借阅图书模块流程图二、数据库设计1.概念结构设计:1)局部ER图读者—借阅—图书借阅关系E-R图2)全局ER图全局完整E-R图2.逻辑结构设计:数据库的逻辑设计过程就是把ER图转化为关系模式的过程。
1)将E-R图转化为关系模式✧读者(借书证号,姓名,性别,联系电话,系别,违章状况)✧图书(ISBN,索书号,书名,作者,出版社,出版日期,简介,数量)✧管理员(工作编号,姓名,性别,电话,工资)✧借阅(读者编号,ISBN,工作编号,是否续借,借书日期,还书日期)✧管理员_书籍(工作编号,ISBN,添加时间,是否在馆)2)设计数据表读者信息表READER管理员信息表MASTER管理员_书籍表M-B三、创建表空间和用户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; //创建用户赋予密码及分配表空间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));杰伦', '男', '计算机科学与技术否');张华', '男', '地理科学否');蔡依林','女', '音乐与艺术否');李明','男','数学与应用数学否');那英','女','土木工程否');哈伦','男','酒店管理否');罗志祥','男','旅游管理否');黄渤','男','生物科学否');唐颖','女','国际经济与贸易否');雷龙','男','汉语言文学否');创建管理员-MASTER表:CREATE TABLE MASTER( 工作编号VARCHAR(20) PRIMARY KEY NOT NULL,姓名VARCHAR(30) NOT NULL,性别CHAR(4) NOT NULL,电话CHAR(11));韩东', '男王晓丽', '女杨自鸣', '男冯冰', '女杜南珍', '女蒋华', '男刘翔', '男童诗珊', '女陈诗诗', '女夏蓉', '男创建图书-BOOK表:CREATE TABLE BOOK( ISBN 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: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: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: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', 'YYYY-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: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 KEY(工作编号)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,确认归还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 READER //查询读者信息表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."借书证号" IN(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,RBWHERE "是否续借"='N' AND SYSDATE-"借书日期">'30' AND "确认归还"='N'AND READER."借书证号"=RB."借书证号"SELECT * FROM 欠费学生信息;//创建视图查询未按期归还图书的学生信息及欠费情况。
《Oracle数据库技术》Oracle综合设计实验报告选题:图书管理信息系统班级:学号:姓名:填写日期: 2010年 12月25日二、数据库分析与设计:2.1数据库的概念设计图书管理信息系统E—R图2.2 数据库的逻辑设计图书(国际标准图书编码,书名,出版社名,作者名,作者号,中南码)图书副本(副本编号,国际标准图书编码)作者(作者号,作者名)分类目录(中南码,目录名)写书(国际标准图书编码,作者号)出版社(出版社名,地址)用户(用户编号,用户名,密码,权限,生日,邮箱,联系电话,籍贯)2.3数据库的物理设计1.以表单的形式给出数据库中的具体表的结构以及字段的说明表2-1 Books表字段数据类型数据长度能否为空中文名备注ISBN Char 20 否国际标准图书编码主码Title Char 30 是书名Pubname Char 30 是出版者名Author Char 30 是作者名Authorno Number 30 是作者号ZNCode Number 30 是中南分校码表2-2 Copies表字段数据类型数据长度能否为空中文名备注CopyNo Number 10 否副本编号主码ISBN Char 20 是国际标准图书编码号。
SQL> create or replace view cx_zj2 as3 select title,author,copyno4from Books,Copies5where Copies.isbn=Books.isbn and PubName='作家出版社';视图已创建。
(3)创建视图“cx_anni”,要求查看作者为安妮宝贝所有的图书信息的视图。
SQL> create or replace viewcx_anni2 as3 select *4 from Books5 where author='安妮宝贝';视图已创建。
3.数据的查询(要求做基础数据的查询,做视图的查询,查询要和系统的功能联系起来)(1)查询图书表中作者号为2的作者所有作品的书名和出版社。
数据库课程设计设计名称:图书管理系统组员:尚靖伟(122068)张红凯(122072)班级:计G121班信息工程学院计算机系2013年6月27日目录目录........................................................................................ 错误!未定义书签。
前言...................................................................................... 错误!未定义书签。
第1部分Oracle管理技术................................................... 错误!未定义书签。
实验1 数据库管理................................................................................. 错误!未定义书签。
实验2 角色和用户管理......................................................................... 错误!未定义书签。
实验3表和视图管理......................................................................... 错误!未定义书签。
实验4 索引和序列管理ﻩ错误!未定义书签。
实验5 PL/SQL编程 (13)实验6使用游标、存储过程和触发器ﻩ错误!未定义书签。
实验7 表空间管理ﻩ错误!未定义书签。
实验8文件管理ﻩ错误!未定义书签。
第2部分Oracle开发技术ﻩ错误!未定义书签。
ﻬ前言数据库技术是计算机科学中发展最快的领域之一。
随着网络技术的不断发展,数据库技术与网络技术相结合,已经广泛应用于工作和生活的各个领域。
目录一项目开发背景 (2)二项目目的及意义 (2)三开发环境 (3)3.1硬件环境 (3)3。
2软件环境 (3)四项目可行性分析 (3)4。
1 项目背景 (3)4.2 对现有系统的分析 (4)4。
3 对所建议技术可行性分析 (4)4。
4 经济可行性分析 (4)4。
5 社会因素可行性分析 (4)4。
6 结论意见 (4)五项目需求分析 (4)5。
1 目的 (4)5.2 用户特点 (5)5.3 系统需求分析 (5)5.3.1 主要功能 (5)5.3.2 系统性能要求 (5)5。
3。
3 系统功能划分 (5)5。
3。
4 数据流程图 (6)六系统模块设计 (6)6。
1数据库设计 (6)6。
1.1数据库分析 (6)6.1。
2数据库概念设计 (7)6.2主窗体设计 (8)6。
2.1主窗体概述 (8)6.2。
2主窗体的实现过程 (9)6。
3登陆模块设计 (14)6。
3.1登录模块概述 (14)6.3。
2登录模块的实现过程 (14)6.4图书管理模块设计 (19)6。
4.1图书信息管理模块概述 (19)6.4。
2图书信息管理模块实现过程 (19)图书查询模块的实现 (25)七系统测试 (26)八结论 (26)九参考文献 (27)一项目开发背景当今时代是飞速发展的信息时代。
在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境.计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了管理好图书馆信息而设计的。
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理.根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。
Oracle数据库设计-图书管理系统————————————————————————————————作者:————————————————————————————————日期:天津职业技术师范大学《数据库原理及应用》课程设计报告课程名称:数据库原理及应用姓名:学号:专业:网络工程班级:目录一、需求分析 (1)1、背景分析 (1)2、数据结构需求分析 (1)3、事务处理需求分析 (2)4、关系模式 (3)二、方案图表设计 (3)1、图书类别实体E-R图 (4)2、读者信息实体E-R图: (5)3、信息实体E-R图: (5)4、记录信息实体E-R图: (6)5、记录信息实体E-R图: (6)6、罚款信息实体E-R图: (6)7、总的信息实体E-R图: (7)8、数据字典 (7)三、数据库各表实现 (9)1、创建表空间 (9)2、书本类别表建立 (9)3、创建书库表 (9)4、借书证表建立 (10)5、借书记录表建立 (10)6、还书记录表建立 (10)7、罚款单表建立 (10)四、数据库实施 (11)五、总结 (14)六、参考文献 (14)一、需求分析1、背景分析随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。
另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。
2、数据结构需求分析图书馆管理信息系统需要完成功能主要有:(1) 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。
oracle图书管理系统课程设计一、课程目标知识目标:1. 让学生掌握Oracle数据库的基本原理和操作,包括数据表的创建、修改和删除;2. 使学生了解图书管理系统的基本功能模块,如图书信息管理、借阅管理等;3. 帮助学生掌握SQL语句的编写,实现图书管理系统的数据查询、插入、更新和删除操作;4. 引导学生了解数据库的安全性和完整性,为图书管理系统设计合理的权限管理和数据保护措施。
技能目标:1. 培养学生运用Oracle数据库进行系统开发的能力,学会使用SQL*Plus、PL/SQL等工具;2. 培养学生分析问题、解决问题的能力,能够根据实际需求设计合适的数据库表结构和查询语句;3. 提高学生的团队合作能力,通过项目实践,学会与他人共同完成一个完整的数据库应用系统。
情感态度价值观目标:1. 激发学生对数据库技术的兴趣,培养其主动学习的积极性;2. 引导学生认识到数据库技术在现实生活中的广泛应用,增强其实践操作的信心;3. 培养学生的责任心和敬业精神,使其在项目实践中体会到团队协作的重要性;4. 培养学生遵循数据库设计规范,养成良好的编程习惯。
本课程针对高年级学生,结合学科特点,注重理论知识与实践操作相结合,旨在提高学生的数据库设计和应用能力。
课程要求学生在掌握基本原理的基础上,通过项目实践,达到课程目标所要求的知识、技能和情感态度价值观的成果。
后续教学设计和评估将围绕这些具体的学习成果展开。
二、教学内容1. Oracle数据库基本原理:数据库概念、数据模型、关系型数据库基本操作;2. Oracle数据库安装与配置:数据库安装、网络配置、SQL*Plus环境配置;3. SQL语言:基础语法、数据定义、数据查询、数据更新、数据控制;4. 图书管理系统功能模块分析:图书信息管理、借阅管理、用户管理、权限管理;5. Oracle数据库表设计:实体关系模型、数据表设计、主外键约束、索引和视图;6. SQL语句编写与应用:针对图书管理系统的查询、插入、更新和删除操作;7. PL/SQL编程:基本语法、存储过程、函数、触发器;8. 数据库安全性与完整性:用户权限管理、角色分配、数据备份与恢复;9. 项目实践:分组进行图书管理系统设计,实现各功能模块,进行系统测试与优化;10. 课程总结与评价:对所学知识进行总结,展示项目成果,进行自评和互评。
图书管理系统()1、创建表空间2、(1)创建表(2)创建表(3)创建表(4)创建表(5)创建表3、(1)创建表空间'C:\\\10.2.0\\\' 100M ;(2)创建表((20) ,2(25),2(5),2(30),2(20),() ());向表插入数据(100421101,'张三','男',' ',100421)(100421102,'李四','女',' ',100422)(100421103,'王五','男',' ',100423)对表删除数据100421103——删除表中管理员编号为‘100421103’的一行数据对表查询数据*——按照管理员的号对表进行排列向表修改数据‘王明’100421101——对表中管理员编号为‘100421101’的姓名改为“王明”‘女’100421103——对表中管理员编号为‘3’的性别改为“女”(3)创建表((20) ,2(20),2(10),2(20),2(50),(20),(20),2(8),(20),() ());向表插入数据(100421,'数据库管理','马晓玉','清华大学出版社','2011-11-8',40,'013999',' ',100421203) (100422,'网站设计','唐慧','南京大学出版社','2011-5-18',32,'165923',' ',100421205)(100423,'程序设计','徐元','苏州大学出版社','2011-2-12',28,'265894',' ',100421207)对表删除数据100422——删除表中书籍编号为‘100422’的一行数据向表查询数据——查询表中的的数据根据书籍的编号进行排序向表修改数据‘张敏’100422——对表中书籍编号为‘100422’的作者改为“张敏”(4)创建表((20) ,2(50),2(2),2(10),(15),(20),(10));向表插入数据(100421203,'王逸','男','信电系','','123456','521568') (100421205,'刘娟','女','食品系','','256302','269756')(100421207,'张一凡','男','园林园艺系','139','687456','305621') 对表删除数据‘张一凡’——删除表中学生姓名为‘张一凡’的一行数据向表修改数据‘经贸系’100421205——对表中学生学号为‘100421205’的系部名称改为“经贸系”(5)创建表((20) ,(20),(20),2(50),2(30),() ());向表插入数据(12345,'100421','1360','2012-3-15','还未归还')(21350,'100422','2035','2012-1-6','已经归还')(13056,'100423','1503','2012-3-22','还未归还')向表删除数据‘100423’——删除表中书籍编号为‘100423’的一行数据向表查询数据‘10042%’——查询表中的数据根据书籍编号前五位数位‘10042’进行排序(6)创建表((20) ,2 (20));向表插入数据('4630','文学类')('1623','科普类')('2412','理工科类')向表删除数据‘1623’——删除表中类别编号为‘1623’的一行数据向表修改数据‘计算机类’‘2412’——对表中类别编号为‘2412’的书籍类型改为“计算机类”4、(1)创建索引【1】();—在表的列创建一个名为的索引【2】();—在表的学生姓名列上创建位图索引(2)创建视图;—创建视图,查询表中的,,,,,5、(1)创建匿名块2(50);'程序块示例';();('捕获一个异常'); ;(2)创建存储过程()(100421105,'李凡','男');('重复的编号');('发生其他错误!');;—创建一个存储过程,向表的,和列分别插入数据100421105,李凡和男三个值。
天津职业技术师范大学《数据库原理及应用》课程设计报告课程名称:数据库原理及应用姓名:学号:专业:网络工程班级:目录一、需求分析1、背景分析随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。
另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。
提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。
2、数据结构需求分析图书馆管理信息系统需要完成功能主要有:(1) 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。
(2) 读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。
(3) 书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。
(4) 书籍类别信息的查询、修改,包括类别编号、类别名称。
(5) 书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。
(6) 书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。
(7) 借书信息的输入,包括读者借书证编号、书籍编号、借书日期。
(8) 借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。
(9) 还书信息的输入,包括借书证编号、书籍编号、还书日期。
(10) 还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。
(11) 超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。
(12) 超期还书罚款查询,删除,包括读者借书证编号、读者姓名、书籍编号、书籍名称,罚款金额等3、事务处理需求分析(1)在读者信息管理部分,要求:a.可以查询读者信息。
b.可以对读者信息进行添加及删除的操作。
(2 )在书籍信息管理部分,要求:a.可以浏览书籍信息,要求:b.可以对书籍信息进行维护,包括添加及删除的操作。
(3)在借阅信息管理部分,要求:。
a.可以浏览借阅信息。
b.可以对借阅信息进行维护操作。
(4)在归还信息管理部分,要求:a.可以浏览归还信息b.对归还信息可修改维护操作(5)在管理者信息管理部分,要求:a.显示当前数据库中管理者情况。
b.对管理者信息维护操作。
(6)在罚款信息管理部分,要求:a.可以浏览罚款信息b.对罚款信息可以更新4、关系模式(1) 书籍类别(种类编号,种类名称)(2) 读者(借书证编号,读者姓名,读者性别,读者种类,登记时期)(3) 书籍(书籍编号,书籍名称,书籍类别,书记作者,出版社名称,出版日期,登记日期)(4) 借阅(借书证编号,书籍编号,读者借书时间)(5) 还书(借书证编号,书籍编号,读者还书时间)(6) 罚款(借书证编号,读者姓名,借书证编号,书籍编号,读者借书时间)以上通过关系代数方法的进行运算得到所需要的结果,在实验结果中可以看到。
二、方案图表设计根据所要实现的功能设计,可能建立它们之间的关系,进而实现逻辑结构功能。
图书管理信息系统可以划分的实体有:书籍类别信息实体、读者信息实体、书籍信息实体、借阅记录信息实体,归还记录信息实体。
用E-R图一一描述这些实体。
总体E-R图:总体E-R图1、图书类别实体E-R图书籍类别实体读者姓名类别名称图2-1类别实体E-R图图2-2 读者信息实体E-R图3、信息实体E-R图:图2-3信息实体E-R图图2-4 记录信息实体E-R图5、记录信息实体E-R图:图2-5记录信息实体E-R图6、罚款信息实体E-R图:图2-6罚款信息实体E-R图7、总的信息实体E-R图:图2-7总的信息实体E-R图8、数据字典表2-1 book_sytle 书籍类别信息表表2-2 system_readers读者信息表格表2-3 system_book书籍信息表表2-4 borrow_record 借阅记录信息表表2-5 return_record 借阅记录信息表表2-6 reader_fee 罚款记录信息表三、数据库各表实现1、创建表空间与用户赋权create temporary tablespace TSGL_TEMPtempfile '/opt/TSGL/'size 50mautoextend onnext 50m maxsize 20480mextent management local;create tablespace TSGL_DATAloggingdatafile '/opt/TSGL/'size 50mautoextend onnext 50m maxsize 20480mextent management local;create user TSGL identified by 123456default tablespace TSGL_DATAtemporary tablespace TSGL_TEMP ;grant connect,resource,dba to TSGL;2、书本类别表建立create table book_style(bookstyleno varchar(30) primary key,bookstyle varchar(30));3、创建书库表create table system_books(bookid varchar(20) primary key,bookname varchar(30) Not null,bookstyleno varchar(30) Not null,bookauthor varchar(30),bookpub varchar(30) ,bookpubdate datetime,bookindate datetime ,isborrowed varchar (2) ,foreign key (bookstyleno) references book_style (bookstyleno) );4、借书证表建立create table system_readers( readerid varchar(9)primary key,readername varchar(9)not null ,readersex varchar(2) not null,readertype varchar(10),regdate datetime);5、借书记录表建立create table borrow_record( bookid varchar(20) primary key,readerid varchar(9),borrowdate datetime,foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid) );6、还书记录表建立create table return_record( bookid varchar(20) primary key,readerid varchar(9),returndate datetime,foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid) );7、罚款单表建立create table reader_fee( readerid varchar(9)not null,readername varchar(9)not null ,bookid varchar(20) primary key,bookname varchar(30) Not null,bookfee varchar(30) ,borrowdate datetime,foreign key (bookid) references system_books(bookid), foreign key (readerid) references system_readers(readerid) );四、数据库实施1、将书籍类别加入表book_style中INSERT INTO "TSGL"."BOOK_STYLE" V ALUES ('1', '人文艺术类');INSERT INTO "TSGL"."BOOK_STYLE" V ALUES ('2', '自然科学类');INSERT INTO "TSGL"."BOOK_STYLE" V ALUES ('3', '社会科学类');INSERT INTO "TSGL"."BOOK_STYLE" V ALUES ('4', '图片艺术类');INSERT INTO "TSGL"."BOOK_STYLE" V ALUES ('5', '政治经济类');INSERT INTO "TSGL"."BOOK_STYLE" V ALUES ('6', '工程技术类');INSERT INTO "TSGL"."BOOK_STYLE" V ALUES ('7', '语言技能类');2、将已有的图书加入system_books表中INSERT INTO "TSGL"."SYSTEM_BOOKS" V ALUES ('003', '计算机组成原理', '6', '王爱英', '清华大学出版社', TO_DATE('2001-01-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2003-11-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '0');INSERT INTO "TSGL"."SYSTEM_BOOKS" V ALUES ('00456456', '数据库原理', '6', '萨师煊', '高等教育出版社', TO_DATE('2001-01-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2003-11-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '1');INSERT INTO "TSGL"."SYSTEM_BOOKS" V ALUES ('', 'C程序设计', '6', '谭浩强', '清华大学出版社', TO_DATE('2001-01-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2003-11-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '1');INSERT INTO "TSGL"."SYSTEM_BOOKS" V ALUES ('20558', '计算机体系结构', '6', '石教英', '浙江大学出版社', TO_DATE('2001-01-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2003-11-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '1'); INSERT INTO "TSGL"."SYSTEM_BOOKS" V ALUES ('414', '数据结构(C语言版)', '6', '吴伟民,严蔚敏', '清华大学出版社', TO_DATE('2001-01-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2003-11-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '1'); INSERT INTO "TSGL"."SYSTEM_BOOKS" V ALUES ('5455515', '中华历史5000年', '1', '吴强', '北京大学出版社', TO_DATE('2001-01-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2003-11-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '0'); INSERT INTO "TSGL"."SYSTEM_BOOKS" V ALUES ('015115', '古代埃及', '3', '赵文华', '北京大学出版社', TO_DATE('2001-01-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2003-11-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '0');INSERT INTO "TSGL"."SYSTEM_BOOKS" V ALUES ('1514514', '日本文化', '1', '吴小鹏', '北京大学出版社', TO_DATE('2001-01-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2003-11-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '1');INSERT INTO "TSGL"."SYSTEM_BOOKS" V ALUES ('', '微观经济学', '5', '李小刚', '北京大学出版社', TO_DATE('2001-01-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2003-11-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '0');INSERT INTO "TSGL"."SYSTEM_BOOKS" V ALUES ('5658', '影视文学', '4', '苏庆东', '北京大学出版社', TO_DATE('2001-01-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2003-11-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '1');INSERT INTO "TSGL"."SYSTEM_BOOKS" V ALUES ('0', '探索宇宙奥秘', '2', '苏庆东', '北京大学出版社', TO_DATE('2001-01-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2003-11-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '0');INSERT INTO "TSGL"."SYSTEM_BOOKS" V ALUES ('002', '计算机组成原理', '6', '王爱英', '清华大学出版社', TO_DATE('2001-01-03 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2003-11-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), '0');3、将已有图书证的读者加入system_readers表中INSERT INTO "TSGL"."SYSTEM_READERS" V ALUES ('X05620206', '陈特', '男', '学生', TO_DATE('2003-11-15 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));INSERT INTO "TSGL"."SYSTEM_READERS" V ALUES ('X05620207', '陈远鹏', '男', '学生', TO_DATE('2005-09-23 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));INSERT INTO "TSGL"."SYSTEM_READERS" V ALUES ('X05620204', '赵铭静', '女', '学生', TO_DATE('2005-09-23 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));INSERT INTO "TSGL"."SYSTEM_READERS" V ALUES ('X05620202', '潘虹', '女', '学生', TO_DATE('2005-09-23 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));INSERT INTO "TSGL"."SYSTEM_READERS" V ALUES ('008415', '蒋伟', '男', '教师', TO_DATE('2005-09-23 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));INSERT INTO "TSGL"."SYSTEM_READERS" V ALUES ('001456', '李叶风', '女', '教师', TO_DATE('2005-09-23 00:00:00', 'YYYY-MM-DD HH24:MI:SS'));4、添加已借书读者的记录,同时将在已借出的借阅标记置insert into borrow_record(bookid,readerid,borrowdate)values('002','X05620202','2007-09-27 11:24:')update system_booksset isborrowed=0where bookid='002'insert into borrow_record(bookid,readerid,borrowdate)values('003','X05620206','2007-12-27 08:26:')update system_booksset isborrowed=0where bookid='003' and isborrowed='1'insert into borrow_record(bookid,readerid,borrowdate)values('5455515','X05620207','2007-12-27 08:26:')update system_booksset isborrowed=0where bookid='5455515' and isborrowed='1'insert into borrow_record(bookid,readerid,borrowdate)values('015115','X05620204','2007-10-21 12:11:')update system_booksset isborrowed=0where bookid='015115' and isborrowed='1'insert into borrow_record(bookid,readerid,borrowdate)values('','001456','2007-12-28 14:11:')update system_booksset isborrowed=0where bookid='' and isborrowed='1'insert into borrow_record(bookid,readerid,borrowdate) values('0','008415','2007-08-28 15:11:')update system_booksset isborrowed=0where bookid='0' and isborrowed='1'五、总结通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对灵据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,在实验中建表,及其关系模式,关系代数的建立及理解,将SQL语的查询语句用得淋漓尽致,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的图书馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。