博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库设计报告——用教材管理系统来举例
阅读量:3958 次
发布时间:2019-05-24

本文共 3248 字,大约阅读时间需要 10 分钟。

数据库设计文档通用模板

用教材管理系统来举例

一、 引言

随着时代的进步,计算机技术飞速发展,电子信息技术在各行各业起着越来越重要的作用。其中,应用最广泛的就是数据库技术。对一个企业来说,数据的安全关系着整个企业的发展,如何更加安全的保护这些数据,是当今的一个研究热点。

为了保护数据安全和提高数据的持续可用性,企业要从RAID保护、冗余结构、数据备份、故障预警等多方面考虑。对于关键业务应用,如电信计费系统、银行营业系统等,则要采用异地数据备份的保护措施。应该说,异地自动备份是数据安全性和业务连续性的最高保护级别。数据存放在一个地方总存在风险,况且人为的逻辑错误也有可能破坏数据,因而,可以采用高性能、完善的备份系统,将数据拷贝下来,存放到价廉的存储介质上,这是数据安全的基本保证。企业最常使用的备份介质包括:磁盘、光盘塔和磁带库等。同时,在系统或应用出现故障时,为了保证本地业务的不中断运行,主机集群是一个较好的方案。

现在,随着企业对数据可用性认识的加深,关键业务不允许出现哪怕是1%的灾难威胁,因而,异地数据备份已成为数据可用性解决方案的重要组成部分。异地容灾系统提供一个远程的应用备份现场,能有效地防止因本地毁灭性灾难(地震、火灾、水灾等)引起的数据丢失,预防场地问题带来的数据不可用性。这些场地问题包括:电力中断、电信中断、自然灾难和场地迁移等。作为企业的关键业务,任何原因造成的业务中断都将影响其经济收入,降低市场分额,丢失客户,甚至造成企业破产。数据自动统一备份系统将这种“场地”故障造成的数据不可用性减到最小。当灾难发生时,自动备份系统能保证企业数据的安全和业务的连续性。

为了避免这种情况的发生,传输网管自动统一备份这么一个系统就显得及其重要,及时对重要数据的备份能把企业的损失将到最小,这也是我们这个项目的最终目标。

二、 数据库需求分析

通过对xxx管理工作过程的内容和数据流图分析,设计如下的数据项和数据结构。

1、 用户信息,包括的数据项有:用户编号,姓名,密码,学号,电话号码等。

2、 学生信息

3、 教师信息

4、 教科书信息

5、 购书清单信息

6、 管理员信息

7、 班级信息

(表,包括的数据项有:字段含义 等。)

三、 数据库概念结构设计

根据上面设计规划出的实体,对各个实体具体的描述E-R图(实体-联系图)如下:

(解释:

E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

它是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。用“矩形框”表示实体型,矩形框内写明实体名称;用“椭圆图框”或圆角矩形表示实体的属性,并用“实心线段”将其与相应关系的“实体型”连接起来;

用”菱形框“表示实体型之间的联系成因,在菱形框内写明联系名,并用”实心线段“分别与有关实体型连接起来,同时在”实心线段“旁标上联系的类型(1:1,1:nm:n)。

画图要点:

在E-R图中有如下四个成分:

矩形框: 表示实体,在框中记入实体名。

菱形框: 表示联系,在框中记入联系名。

椭圆形框: 表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。

连线: 实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1; 对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。))

在这里插入图片描述

图2.1 用户信息E-R图

… …

… …

… …

图2.x 教材管理系统E-R图

四、 数据库逻辑结构设计

用户信息表
字段名 数据类型 长度 说明 描述
userId int 10 非空,主键 用户编号
username varchar 50 非空 用户姓名
password varchar 50 非空 用户密码
studentId varchar 50 非空,外键 学号
telephone varchar 50 非空 电话号码

表3.1 用户信息表

五、 数据库物理结构实现

根据以上的逻辑分析所得到表的关系,我们使用MySQL语言设计得到数据库和数据表。

1. 创建textbook数据库

CREATE DATABASE textbook CHARACTER SET ‘utf8’ COLLATE ‘utf8_general_ci’;

2. 创建用户信息表

CREATE TABLE user (

userId int(10) unsigned NOT NULL AUTO_INCREMENT,

username varchar(50) NOT NULL,

password varchar(50) NOT NULL,

studentId varchar(50) NOT NULL,

telephone varchar(50) NOT NULL,

PRIMARY KEY (userId),

KEY studentId (studentId),

CONSTRAINT user_ibfk_1 FOREIGN KEY (studentId) REFERENCES student (studentId)

) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;

3. 创建xxx

… …

六、 数据库物理模型

在这里插入图片描述

图6.1 教材管理系统数据库物理模型

七、 查询测试

根据项目编写进程,需要在项目中对数据库进行操作,为确保语句的正确性和可用性,总在使用前在数据库中新建查询进行检查。

1.查询语句如下:

INSERT INTO book ( courseName, bookName, publish, bookPrice, bookNumber, teacherId )VALUES    ( '测试', '测试', '测试', '1', '1', '1' );INSERT INTO teacherVALUES    ( 7, '测试', '女', 1995-11-01, '测试' );UPDATE book SET courseName ='测试2',bookName ='测试2',publish ='测试2',bookPrice ='11',bookNumber ='11',teacherId ='1' WHERE    bookId =77;UPDATE admin SET adminName ='admin',adminPassword ='123',telephone ='17870034559';INSERT INTO USER ( username, password, studentId, telephone )VALUES    ( '测试','52372','1313','17870034559' );INSERT INTO orderList ( teacherId, classId, bookId, amount, total, studentList )VALUES    ( '1','13','1','11','11','测试、张一、李二、王三' );UPDATE orderList SET amount =3,total =144,studentList ='张一、李二、王三' WHERE    bookId =1     AND classId =13;

2.查询结果的导出html文件:

在这里插入图片描述

图7.1 查询结果导出文件

八、 数据库信息安全

根据以往经验,为了保证数据库信息内容的安全性,防止数据丢失,我们采用定期备份数据的方法。

在这里插入图片描述

图8.1 数据库第一次备份

qq_2405310636的创作:创作不易,引用请注明出处。

转载地址:http://ottzi.baihongyu.com/

你可能感兴趣的文章
代理模式、静态代理、动态代理、aop
查看>>
Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00
查看>>
大型Web2.0站点构建技术初探
查看>>
面试-从10亿个浮点数中找出最大的1万个
查看>>
机器学习算法汇总:人工神经网络、深度学习及其它
查看>>
解决Spring中AOP不能切入Struts的DispatchAction方法的问题
查看>>
亲历惊心48小时,抢救35亿交易数据 [看一下数据管理的重要性]
查看>>
出国以后才知道英语应该怎么学
查看>>
金融危机下最抢手的八大IT专业人才
查看>>
计算机专业权威期刊投稿经验总结
查看>>
如何在三个月内学会一门外语?
查看>>
在struts1.x中设置对java.util.Date类型支持
查看>>
DWR可扩展无级级连下拉菜单的代码例子
查看>>
看看你对Linux到底了解多少?
查看>>
网上看到的:ARM入门最好的文章(转)
查看>>
中国最美情诗100句
查看>>
Javascript的IE和Firefox兼容性汇编
查看>>
javascript注册window的onload事件问题研究
查看>>
客户端技术分页控件javascript+css,可用于任何服务器端技术
查看>>
学习Swing 的网站[转]
查看>>