重要事项:我把源代码和帮助文档注释 图片都放在我上传的资源了,需要的同学自取,完完整整,包你学会
https://download.csdn.net/download/aliceiwill/10669417
1、设计目的
《数据库系统原理》课程设计是软件工程和计算机科学与技术专业集中实践性环节之一,旨在让同学们加深对数据库基础理论和基本知识的理解,掌握设计数据库管理系统的基本方法,锻炼运用知识解决实际问题的动手能力。
2、文物管理项目设计
3.1 引言
必要性:2018年9月巴西国家博物馆失火,南美洲几千年文物付之一炬,俗话说,文物是历史的见证,既然我们无法保证文物永远不丢失销毁,我们就应该采用一定的技术来存放这些珍贵的信息。通过建立网上存储信息,第一可以实现足不出户浏览博物馆,第二可以用信息
化的手段保存文物,相当于另一种延续。
解决的问题:文物的信息化保存,可以实现全球随时随地的查看与观察文物,这是信息化社会的趋势,为了解决这个实体的存放问题,在参考了一些前辈的项目和经验之后,我独立原创了这个文物管理系统。
3.2需求分析
3.2.1
需求获取一般包括这几种方式:观察法、体验法、单据分析法、报表分析法、问卷调查法、访谈法、需求调研会法。因为我这次实际条件限制,只采用了第一种方法观察法。观察法即是通过观察其他管理系统的运作,分析出日常中有什么需求,并将其电子化。在此我断定一个文物管理系统需要设定管理员,谁来管理,谁来赋权限。文物的类别怎么添加,修改,删除,查询,以及实体文物现在存在于哪里。以及一些简介信息如何添加。具体到个体层次就是文物个体如何添加,如何修改,如何设置3D全景模型,如何查询以及更正最新消息。
系统安全是否可靠,是否能防止用户恶意攻击,是否能安全退出并且保存数据库中更改的数据。数据库是否具有拓展功能,添加其他模块。
系统的主要任务:实现文物类别的增删改查,实现文物的增删改查以及查询功能,并且关联文物与文物类别,保持动态一致性。实现防止SQL注入攻击,以及账号登陆功能。
数据库完整性要求:通过一定的操作防止合法的用户对数据库的修改从而破坏数据的一致性。保证数据的正确性,一致性与完整性。(一).实体完整性:每个文物与文物类别的id编号都是其的主码,每个主码唯一确定其所对应的元祖。其值不可为NULL。再插入一个新的文物实体时,不能违反上述规则。
(二).(参照完整性):存在于文物类别与文物两个表的关系,如我设置每个文物的文物类别ID(OldTypeID)与文物的编号ID为主键外键关联关系。两者要么不参照,要么被参照的对象必须存在 (三).属性约束:属性的约束取值必须来自定义的值域。不能和定义的属性不同或超出定义氛围。
数据库安全性要求:物理层次上,对存储信息的硬盘应该有防水防火防止各种突发情况的准备(我认为可以利用各种网络云盘)。
人际层:对用户的授权要小心,明确DBA与普通用户的权限,普通用户只有查询的权利,而没有改变或者删除的权利。
网络层:防止密码泄露导致的数据损失。
操作系统层次:对数据库进行未授权访问的一种手段
性能要求:存储的数据要能承担日常的存储需求。能在短时间内对操作命令做出回应。
一致性要求:数据库与操作界面数据保持动态一致。
3.2.2
业务流程图
业务数据流图
数据字典
字典类型表(old'type) :id, oldtypename, oldtypedesc
1 东北系文物 东北文物具体描述
2 华北系文物 华北系文物具体描述
字典项目表(dictionary_item) : iid, old'name , oldtypeid(文物类别id名) , oldtypedesc
1 帽子 1 描述1
2 玉佩 1 描述2
3 靴子 2 描述3
4 手套 2 描述3
用户表(user): user_id,user_name,user_nation, user_education
1 老王 1 1
2 老宋 2 2
3.2.3
系统功能描述
实现了文物的增删改查功能,实现了文物类别的添加和增删改查,权限的赋予与收回以及登录功能,图形化界面
功能模块图
3.3概念设计
数据库概念设计:
- 采用E-R方法进行数据库概念设计,可以分成3步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局的E-R模式,最后对全局E-R模式进行优化,得到最终的E-R模式,即概念模式。由整体到局部再到整体。
2.逻辑设计主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。
3.物理设计;根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。
三者关系:由上到下,先要概念设计,接着逻辑设计,再是物理设计,一级一级设计。
ER图
3.4逻辑设计
数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本实体-关系图转换为与选用的数据库管理系统产品所支持的数据模型相符合的逻辑结构。逻辑结构是独立于任何一种数据模型的,在实际应用中,一般所用的数据库环境已经给定(如SQL Server或Oracle或MySql)。由于目前使用的数据库基本上都是关系数据库,因此首先需要将实体-关系图转换为关系模型,然后根据具体数据库管理系统的特点和限制转换为指定数据库管理系统支持下数据模型,最后进行优化。
( 1 ) 将概念结构转换为一般的关系、网状、层次模型;
( 2 ) 将转换来的关系、网状、层次模型向指定数据库管理系统支持的数据模型转换;
( 3 ) 对数据模型进行优化。
关系模式
文物(文物ID,文物名字,文物描述,文物类别号码,文物展览地点)
文物类别(类别ID号码,类别描述,类别名字)
账户(用户名,密码,ID号)
管理(管理者,管理权限)
数据库优化在于有主键外键关联,通过下拉表单可以实现选定文物类别ID号码从而确定文物类别在数据库中,省时省力。
例如
create table t_old(
id number(10) primary key,
oldname varchar2(15),
oldtypeid char(100),
oldtypedesc varchar2(500),
foreign key(oldtypeid) references t_oldtype(id)/**两者相关联,联系了两个表
)
create table t_oldtype(
id number(10) primary key,
bookTypeName varchar2(50),
bookTypeDesc varchar2(500)