第一个复杂项目!!!文物管理系统(论java与数据库合作的威力)

重要事项:我把源代码和帮助文档注释 图片都放在我上传的资源了,需要的同学自取,完完整整,包你学会

https://download.youkuaiyun.com/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概念设计

 

 

 

 

数据库概念设计:

  1. 采用E-R方法进行数据库概念设计,可以分成3步进行:首先设计局部E-R模式,然后把各局部E-R模式综合成一个全局的E-R模式,最后对全局E-R模式进行优化,得到最终的E-R模式,即概念模式。由整体到局部再到整体。

2.逻辑设计主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。

3.物理设计;根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。

三者关系:由上到下,先要概念设计,接着逻辑设计,再是物理设计,一级一级设计。

 

 

 

ER图

 

 

3.4逻辑设计

数据库的逻辑结构设计就是把概念结构设计阶段设计好的基本实体-关系图转换为与选用的数据库管理系统产品所支持的数据模型相符合的逻辑结构。逻辑结构是独立于任何一种数据模型的,在实际应用中,一般所用的数据库环境已经给定(如SQL ServerOracle或MySql)。由于目前使用的数据库基本上都是关系数据库,因此首先需要将实体-关系转换为关系模型,然后根据具体数据库管理系统的特点和限制转换为指定数据库管理系统支持下数据模型,最后进行优化。

( 1 ) 将概念结构转换为一般的关系、网状、层次模型;

( 2 ) 将转换来的关系、网状、层次模型向指定数据库管理系统支持的数据模型转换;

( 3 ) 对数据模型进行优化。

 

关系模式

 

文物(文物ID,文物名字,文物描述,文物类别号码,文物展览地点)

文物类别(类别ID号码,类别描述,类别名字)

账户(用户名,密码,ID号)

管理(管理者,管理权限)

 

数据库优化在于有主键外键关联,通过下拉表单可以实现选定文物类别ID号码从而确定文物类别在数据库中,省时省力。

 

例如

create 

### 使用ASP技术开发文物管理系统的相关信息 #### 背景概述 ASP(Active Server Pages)是一种服务器端脚本环境,用于动态网页或网络应用程序的创建。它允许开发者嵌入VBScript或JScript代码到HTML页面中,并通过IIS(Internet Information Services)运行这些脚本[^4]。 #### 功能模块设计 文物管理系统通常包括多个功能模块,例如用户管理、文物分类管理、文物信息管理、外借管理和维修管理等。以下是基于ASP技术实现这些功能的一些基本思路: 1. **用户管理** - 实现用户的增删改查操作。 - SQL语句示例: ```sql -- 添加新用户 INSERT INTO tb_user (username, password) VALUES ('newUser', 'password'); -- 修改用户密码 UPDATE tb_user SET password='newPassword' WHERE username='existingUser'; -- 删除用户 DELETE FROM tb_user WHERE username='deleteUser'; -- 查询用户列表 SELECT * FROM tb_user; ``` 2. **文物信息管理** - 提供对文物基本信息的操作接口。 - SQL语句示例: ```sql -- 插入新的文物记录 INSERT INTO tb_wenwu (name, category, description) VALUES ('Ancient Pottery', 'Pottery', 'A piece of ancient pottery.'); -- 更新文物描述 UPDATE tb_wenwu SET description='Updated Description' WHERE name='Ancient Pottery'; -- 删除特定文物 DELETE FROM tb_wenwu WHERE name='Obsolete Artifact'; -- 查找所有文物 SELECT * FROM tb_wenwu; ``` 3. **外借管理** - 记录文物的借用情况并跟踪其状态。 - SQL语句示例: ```sql -- 借出文物 INSERT INTO tb_borrow (wenwu_id, user_id, borrow_date) VALUES (1, 101, GETDATE()); -- 归还文物 UPDATE tb_borrow SET return_date=GETDATE() WHERE wenwu_id=1 AND return_date IS NULL; -- 查询未归还的文物 SELECT * FROM tb_borrow WHERE return_date IS NULL; ``` #### 技术实现细节 - **前端界面** 可以使用HTML和CSS构建基础布局,并利用JavaScript增强交互体验。对于更复杂的UI需求,可以引入jQuery或其他轻量级框架来简化DOM操作和事件处理[^5]。 - **后端逻辑** 后端采用ASP编写业务逻辑,连接数据库完成数据存取工作。下面是一个简单的登录验证例子: ```asp <%@ Language="VBScript" %> <% Dim conn, rs, sql, userName, passWord Set conn = Server.CreateObject("ADODB.Connection") conn.Open "Provider=SQLOLEDB;Data Source=localhost;Initial Catalog=museum_db;Integrated Security=SSPI;" userName = Request.Form("username") passWord = Request.Form("password") sql = "SELECT COUNT(*) AS count FROM tb_admin WHERE username='" & userName & "' AND password='" & passWord & "'" Set rs = conn.Execute(sql) If CInt(rs("count")) > 0 Then Response.Write "Login successful!" Else Response.Write "Invalid credentials." End If rs.Close conn.Close Set rs = Nothing Set conn = Nothing %> ``` - **数据库配置** 推荐选用Microsoft SQL Server作为后台数据库,因其ASP集成良好且支持复杂查询优化。 #### 测试部署建议 在项目完成后需进行全面的功能性和性能测试,确保各模块正常运作无误。随后可将应用部署至生产环境中,注意调整安全性设置防止潜在攻击风险[^2]。 ---
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值