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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据库设计.docx

1、数据库设计图书管理系统 数据库设计报告文件状态: 草稿 正式发布 正在修改文件标识:bnuep-library management-SD-DATABASE当前版本:1.0作 者:刘焕青0501011034(插班生)完成日期:2006-6-10 版 本 历 史版本/状态作者参与者起止日期备注V1.0刘焕青-2006.6.10 目 录 0. 文档介绍 40.1 文档目的 40.2 参考文献 40.3 术语与缩写解释 41. 数据库环境说明 52. 数据库的命名规则 53. 逻辑设计 54. 物理设计 64.0 表汇总 74.1 表1:出版社 84.2 表2:书库 84.3 表3:图书 94.4

2、表4:读者 94.5 表5:借还书 104.6 表6:单位 105. 安全性设计 115.1 防止用户直接操作数据库的方法 115.2 用户帐号密码的加密方法 125.3 角色与权限 126. 优化 127. 数据库管理与维护说明 138代码部分140. 文档介绍0.1 文档目的本文档是关于图书管理系统数据库的开发和应用方法,主旨在推动软件工程的规范化,使设计人员遵循统一的设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、升级等。0.2 参考文献数据库系统概论王珊 萨师煊 主编 高等教育出版社PowerDesigner系统分析

3、与建模赵韶平、罗海燕、李志 等编 清华大学出版社SQL实用教程第二版 Robert Sheldon著 , 黄开枝 等译oracle实用教程郑阿奇 主编 电子工业出版社0.3 术语与缩写解释缩写、术语解 释SPP精简并行过程,Simplified Parallel ProcessSD系统设计,System DesignSDLC系统开发生命周期 System Develop Life CycleCDM概念数据模型 Concept Data ModelPDM物理数据模型 Physical Data Model视图在基表或其他视图之上建立的一张虚表,它具有物理表的许多性质,在数据处理和授权上很有用。角

4、色数据库中享有某些特权操作的权限集合,角色的权限通过授权来实现,可以把角色授权给用户。存储过程存储过程是一种特殊的功用模块,它在数据库上执行,可以被应用程序调用。触发器触发器是通过某一事件的产生而触发某一个相应的动作,它是隐式执行的,但过多的使用触发器反而会是系统的效率降低,因此,凡是能用存储过程代替触发器的一律用存储过程实现。包包是变量、存储过程、函数等的集合,具有某种实现功能,预先编译并运行在服务器上,pl/sql提供许多功能包,用户也可以自己定义实现需要功能的包。1. 数据库环境说明提示: (1)说明所采用的数据库系统,设计工具,编程工具等考虑该系统的定位与现有技术力量,决定采用orac

5、le 9i作为系统的后台数据库开发环境。采用PowerDesigner进行数据库模型设计,使用pl/sql Developer 进行包、存储过程、触发器等的开发。(2)详细配置2. 数据库的命名规则3. 逻辑设计提示:数据库设计人员根据需求文档,创建与数据库相关的那部分实体关系图(ERD)。如果采用面向对象方法(OOAD),这里实体相当于类(class)。4. 物理设计提示:(1)主要是设计表结构。一般地,实体对应于表,实体的属性对应于表的列,实体之间的关系成为表的约束。逻辑设计中的实体大部分可以转换成物理设计中的表,但是它们并不一定是一一对应的。(2)对表结构进行规范化处理(第三范式)。4.

6、0 表汇总表名功能说明出版社 存储出版社的信息书库 存储各分类书库的信息图书 存储各类图书的相关信息读者 存储读者的相关信息借还书 存储读者借还书的日期以及超期的罚金单位 存储各单位或者是院系的相关信息表名PUBLISH列名数据类型(精度范围)空/非空约束条件PUB_IDVarchar2(10)Not nullPrimary keyPUB_NAMEv Varchar2(20)Not nullPUB_ADDRESSVarchar2(40)PUB_MANVarchar2(10)PUB_TELVarchar2(15)4.1 表1:出版社4.2 表2:书库表名LIBRARY列名数据类型(精度范围)空/

7、非空约束条件LIBRARY_NOChar(20)Not nullPrimary keyLIBRARY_ADDRESSVarchar2(40)4.3 表3:图书表名BOOK列名数据类型(精度范围)空/非空约束条件BOOK_NOChar(10)Not nullPrimary keyLIBRARY_NOChar(20)Not nullPUB_IDVarchar2(10)Not nullBOOK_NAMEVarchar2(20)Not mullBOOK_PRICENumber(6,2)BOOK_AUTHORVarchar2(60)BOOK_DATEDateBOOK_IDChar(1)4.4 表4:读者

8、表名READER列名数据类型(精度范围)空/非空约束条件READER_NOChar(8)Not nullprimaryUNIT_NOVarchar2(10)READER_NAMEVarchar2(50)Not nullREADER_IDVarchar2(20)Not nullREADER_PHONEVarchar2(18)READER_ADDRESSVarchar2(50)READER_EMAILVarchar2(50)4.5 表5:借还书表名RETURN列名数据类型(精度范围)空/非空约束条件BORROW_DATEDateNot nullBOOK_NOChar(10)Not nullFore

9、ign keyREADER_NOChar(8)Not nullForeign keyRETURN_DATEDateRETURN_IDChar(1)DELAY_DATEIntegerFINENumber(4,1)4.6 表6:单位表名UNIT列名数据类型(精度范围)空/非空约束条件UNIT_NOVarchar2(10)Not nullPrimary keyUNIT_ADDRESSVarchar2(50)UNIT_PHONEVarchar(18)补充说明5. 安全性设计。5.1 防止用户直接操作数据库的方法提示:用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其它途径操作数据库。1用户

10、标识和鉴别:是系统提供的最外层的安全保护措施,其方法是有系统提供一定的方式让用户标识自己的名字或身份,用户只能用帐号登陆到应用软件,通过应用软件访问数据库,而没有其它途径操作数据库。每次用户要求进入系统时,由系统进行核对,oracle允许用户重复标识三次,如果三次都未通过,系统自动退出并锁定用户,只有通过鉴定后才提供使用权。2存取控制:存取控制机制主要包括两部分1)定义用户权限:用户权限是指不同的用户对于不同的数据对象允许执行的操作权限,这些定义经过编译后存放在数据字典中,称为安全规则或授权规则。2)合法权限检查:oracle支持三个级别的安全性,表级、行级和列级。每当用户发出存取数据库的操作

11、请求,DBMS查找数据字典,根据安全规则进行合法权限检查,若用户的操作请求超出了定义的饿权限,系统将拒绝执行此操作。3审计技术:在oracle中,审计分为用户级和系统级审计。系统级审计只能由DBA设置,用以监测成功或失败的登录要求、监测GRANT和REVOKE操作以及其他数据库级权限下的操作。4视图机制:进行存取权限控制时可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动对数据提供一定程度的安全保护。5.2 用户帐号密码的加密方法1密码加密处理:采用oracle DBMS 系统默认的加密处理,确保在任何地方都不会出现密码的

12、明文。2用户资源文件profile的应用:在给每个用户进行资源限制时,同时建立系统口令校验函数verify_function,允许pl/sql的口令校检脚本作为CREATE PROFILE 语句的参数。用户在登录系统时,DBMS都会对用户和密码进行校检。5.3 角色与权限 角色可以访问的表与列操作权限数据库管理员DBARole_admin图书管理员Select any table查询任意表Insert any table向任意表插入数据Update any table更新任意表Role_operator操作员Select any table查询任意表Role_readerSELECT ON B

13、OOK查询图书信息6. 优化分析并优化数据库的“时空”效率,尽可能地“提高处理速度”并且“降低数据占用空间”。(1)分析“时空”效率的瓶颈,找出优化对象(目标),并确定优先级。(2)当优化对象(目标)之间存在对抗时,给出折衷方案。(3)给出优化的具体措施,例如优化数据库环境参数,对表格进行反规范化处理等。优先级优化对象(目标)措施1SGA_MAX_SIZE根据系统的硬件配置,适当配置系统全局区的内存,让系统有足够的内存支持系统运行。2SHARED_POOL_SIZE根据使用情况的统计数据,提高库缓冲区、数据字典缓冲区的命中率,共享内存池的预留区域可介于SHARED_POOL_SIZE的5%10

14、%之间。3DB_CACHE_SIZE调整数据库缓冲区的命中率,如果命中率低于70%80%之间,需增加DB_CACHE_SIZE的内存。但是为数据库缓冲区分配过多的内存,可能在某些系统操作中导致系统的换页和交换,反而适得其反。4LOG_BUFFER为重做日志分配的缓冲区入口值value如果不为零,即需要将LOG_BUFFER的值增加5%10%。5FREELISTS应该设置为峰值时刻同时对表进行操作的并发用户数量6FREEGROUP应该设置为服务器的数量7PCTFREE、PCTUSED设置撤出空闲列表和重新返回空闲列表的参数,根据数据块和行所占空间的平均值,创建表时适当设置参数的值,以避免以后对表

15、操作是发生的行链接或行转移。8SQL语句可以使用EXPLAIN PLAN命令对表的操作执行计划进行跟踪,应尽量排除不必要的大表全表扫描。对表的全表扫描可以增加parallel提示,并行操作可以提高运行效率。当表中存在索引时,虽然在某些方面具有可靠的效率,但在插入时可能会消耗系统资源,如果允许,建议先删除索引,再插入数据,然后再建立索引7. 数据库管理与维护说明在数据库的运行阶段,对数据库经常性的管理和维护工作主要是有DBA完成的,主要的管理和维护包括:1 数据库的转储和恢复DBA要针对不同的应用要求制定不同的转储计划,以保证发生故障能尽快将数据库恢复到某种一致的状态,并尽可能减少对数据库的破坏

16、2 数据库的安全性、完整性控制在数据库运行过程中,由于应用环境的变化,比如数据的机密性,用户的权限都会改变,所以DBA应该根据实际情况修改安全性控制,同样,数据库的完整性约束条件也会变化,也需要DBA不断修正,一满足用户要求。3 数据库性能的监测、分析和改造目前有些DBMS产品,例如oracle,提供了监测系统性能参数的工具,DBA可以利用这些工具方便地得到系统一系列的性能参数的值,DBA根据分析数据的统计情况,判断当前系统运行状况是否最佳,应当做那些改进。4 数据库的重组织与重构造数据库运行一段时间后,由于记录不断增、删、改,会使数据库的物理存储情况变坏,降低了数据的存取效率,数据库性能下降

17、,这时DBA就要对数据库进行重组织,或部分重组织,DBMS如oracle都有提供数据重组织用的实用程序。在重组织的过程中,按原设计要求重新安排存储位置、回收垃圾、减少指针链等,提高系统性能。数据库的重组织并不修改原设计的逻辑和物理结构,而数据库的重构造则不同,它是指部分修改数据库的模式和内模式。由于数据库应用环境发生变化,增加了新的应用或新的实体,取消了某些应用,有的实体与实体间的联系也发生了变化等,原有的数据库设计不能满足新的需求就必须调整数据库的模式和内模式。8.代码部分:(使用oracle 实现)/*=*/* Table: PUBLISH */*=*/create table PUBLI

18、SH ( PUB_ID VARCHAR2(10) not null, PUB_NAME VARCHAR2(20), PUB_ADDRESS VARCHAR2(40), PUB_MAN VARCHAR2(10), PUB_TEL VARCHAR2(15), constraint PK_PUBLISH primary key (PUB_ID);/*=*/* Index: PUBLISH_PK */*=*/create unique index PUBLISH_PK on PUBLISH ( PUB_ID ASC);/*=*/* Table: LIBRARY */*=*/create table L

19、IBRARY ( LIBRARY_NO CHAR(20) not null, LIBRARY_ADDRESS VARCHAR2(40), constraint PK_LIBRARY primary key (LIBRARY_NO);comment on table LIBRARY is ;/*=*/* Table: BOOK */*=*/create table BOOK ( BOOK_NO CHAR(10) not null, LIBRARY_NO CHAR(20), PUB_ID VARCHAR2(10), BOOK_NAME VARCHAR2(20), BOOK_PRICE NUMBER

20、(6,2), BOOK_AUTHOR VARCHAR2(60), BOOK_DATE DATE, BOOK_ID CHAR(1), constraint PK_BOOK primary key (BOOK_NO);/*=*/* Index: Relationship_5_FK */*=*/create index Relationship_5_FK on BOOK ( );alter table BOOK add constraint LIBRARY_NO=LIBRARY_NO foreign key (LIBRARY_NO) references LIBRARY (LIBRARY_NO);a

21、lter table BOOK add constraint FK_BOOK_REFERENCE_PUBLISH foreign key (PUB_ID) references PUBLISH (PUB_ID);/*=*/* Table: READER */*=*/create table READER ( READER_NO CHAR(8) not null, UNIT_NO VARCHAR2(10), READER_NAME VARCHAR2(50), READER_ID VARCHAR2(20), READER_PHONE VARCHAR2(18), READER_ADDRESS VAR

22、CHAR2(50), READER_EMAIL VARCHAR2(50), constraint PK_READER primary key (READER_NO);alter table READER add constraint UNIT_NO=UNIT_NO foreign key (UNIT_NO) references UNIT (UNIT_NO);*=*/* Table: UNIT */*=*/create table UNIT ( UNIT_NO VARCHAR2(10) not null, UNIT_ADDRESS VARCHAR2(50), UNIT_PHONE VARCHA

23、R2(18), constraint PK_UNIT primary key (UNIT_NO);/*=*/* Table: RETURN */*=*/create table RETURN ( BORROW_DATE DATE, BOOK_NO CHAR(10), READER_NO CHAR(8), RETURN_DATE DATE, RETURN_ID CHAR(1), DELAY_DATE INTEGER, FINE NUMBER(4,1);alter table RETURN add constraint BOOK_NO=BOOK_NO foreign key (BOOK_NO) r

24、eferences BOOK (BOOK_NO);alter table RETURN add constraint READER_NO=READER_NO foreign key (READER_NO) references READER (READER_NO);/*=*/* Table: RETURN */*=*/create table RETURN ( BORROW_DATE DATE, BOOK_NO CHAR(10), READER_NO CHAR(8), RETURN_DATE DATE, RETURN_ID CHAR(1), DELAY_DATE INTEGER, FINE NUMBER(4,1);alter table RETURN add constraint BOOK_NO=BOOK_NO foreign key (BOOK_NO) references BOOK (BOOK_NO);alter table RETURN add constraint READER_NO=READER_NO foreign key (READER_NO) references READER (READER_NO);

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

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