数据库设计文档通用模板

用教材管理系统来举例

一、 引言

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

为了保护数据安全和提高数据的持续可用性,企业要从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图

四、 数据库逻辑结构设计

用户信息表
字段名数据类型长度说明描述
userIdint10非空,主键用户编号
usernamevarchar50非空用户姓名
passwordvarchar50非空用户密码
studentIdvarchar50非空,外键学号
telephonevarchar50非空电话号码

表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 teacher

VALUES

    ( 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的创作:创作不易,引用请注明出处。

更多推荐

数据库设计报告——用教材管理系统来举例