皇甫大双
摘要:数据库设计在整个软件项目开发中起到非常重要的作用,是整个软件应用的根基,是软件设计的起点,它是衡量一个系统是否设计实用的重要标志,一个合理的数据库设计能够提高系统的执行效率,便于后期系统的维护和扩展。
关键词:数据库设计;标志;扩展
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)35-0020-02
1 数据库简介
1.1 数据库的概念
计算机在进行事务处理时,会在计算机系统中存入大量的数据,数据是对现实社会中事物属性和特性的描述和记录的一种方法和手段。概括地讲,数据库(database)其实就是一个按照一定的组织结构和规则存放所需数据的仓库,为了方便的管理这些数据,数据库管理系统为我们提供了很多的方法来管理它们。
大量的数据被收集之后,需要我们更进一步地对这些数据归档、筛选,从中分析、提炼出有用的信息。在计算机没被广泛使用之前,我们存放数据主要是采用纸质的形式存放在文件柜中,但是随着信息时代的快速发展,数据量呈现了爆炸性的增长,采用以往传统型的保存数据的方式已经不能满足现在我们的需求,为此就要借助专门的数据库技术保存和管理这些数据。
1.2 数据库的种类
数据库按照不同的数据结构和组织关系一般被分为如下三种,分别是网络式数据库、层次式数据库以及关系式数据库,而在这三种数据库种类中关系数据库是目前最受欢迎、使用最为广泛的数据模型。本文就以最为常用的关系数据库SQL Server为例来进行相关知识的阐述。
1.3 常用关系型数据库
目前,广泛使用的数据库管理系统软件有DB2、ORACLE、SYBASE、SQL Server、Visual Foxpro、ACCESS、MySQL等,其中使用频率最高的为ORACLE、SQL Server和MySQL三种数据库管理系统。
2 数据库设计遵循的过程
简单概括来讲,一个合理的、可用的数据库都需要经过如下几个设计阶段,分别为用户需求分析阶段、概念模型设计阶段、逻辑结构设计阶段、物理结构设计阶段。
2.1 需求分析阶段
该阶段是数据库系统设计过程中最为重要的一个环节,需求分析的好坏直接影响系统整个功能的体验和使用。设计人员和用户直接沟通,全面了解用户对系统功能实现的要求,把用户的需求进一步的分析整理成说明书。
2.2 概念设计阶段
概念设计阶段的主要任务是将在需求分析环节做好的说明书转化为一种通用的概念模型,主要方法是首先根据独立的应用设计出局部E-R图,紧接着把这些相对独立、互不相連的E-R模型图归并起来,消除他们之间存在的冗余,设计出该系统总体的E-R模型需求。
2.3 逻辑设计阶段
在逻辑设计阶段需要完成的是将系统总体的E-R模型转换为DBMS能接受的网络式数据库、层次式数据库以及关系式数据库三种种类中的其中一个,目前较为流行、通用的是转为关系型数据库,在该关系型数据库中完成表的结构和关联设计。
2.4 物理设计阶段
物理设计的目的是确定数据库的存储结构,访问路径和外存储器的分配策略。不过这些工作的大部分可由数据库管理系统来独立完成,仅有一小部分如表的名称,字段的类型、长度、名称由设计人员来完成,而数据库文件的长度等等都可以由DBMS来完成。
3 相关概念和技术
在设计数据库的过程中,特别是在概念设计和逻辑设计阶段,经常会用到一些相关的概念和技术,下面将分别加以介绍和阐述。
3.1 常用的对象
(1) 实体:在现实世界中客观存在并可相互区别的事物被称为为实体,如一个班级、一个学生。
(2) 实体的属性:实体本身所具有的某些特征,如学生的学号,姓名,性别等,对应表中的列。
(3) 属性的域:属性的取值范围称为该属性的域。
(4) 实体结构:实体属性的集合称为实体结构。
(5) 实体集:实体结构相同的实体集合称为实体集。
(6) )实体的联系:通常是指不同实体型的实体集之间的联系,实体之间的联系有一对一(1:1),一对多(1:N),多对多(M:N)等多种类型
3.2 E-R方法
E-R方法,即实体-联系方法,该方法直接从现实世界中抽象出实体与实体间的联系,然后使用E-R图来表示数据模型。在E-R图中实体用方框表示;联系用菱形表示,同时用边将其与对应的实体连接起来,并在边上标上联系的类型(一对一,一对多,多对多)。
3.3 实体关系的3种基本类型
(1) 一对一关系
假设在两个实体A和B中,实体A中的一个对象在实体B中有唯一的对象与之相对应,同样,实体B中的一个对象在实体A中有唯一的对象与之对应,这种相对应的关系称为“A与B一对一”的关系。
(2) 一对多关系
假设在两个实体A和B中,实体A中的一个对象在实体B中有多个对象与之相对应,但实体B中的一个对象在实体A中只有一个对象与之对应,这种相对应的关系称为“A与B一对多”的关系。
(3) 多对多关系
假设在两个实体A和B中,实体A中的一个对象在实体B中有多个对象与之相对应,同样,实体B中的一个对象在实体A中也存在多个对象与之对应,这种相对应的关系称为“A与B一对多”的关系。
4 学生选课数据库设计的方法和策略
4.1 需求分析
学校要使用一套学生管理系统,具体要求如下:
实体1:学生。属性:学号、姓名、性别、生日、籍贯、学院编号。
实体2:学院。属性:学院编号、学院名称,主任。
实体3:课程。属性:课程编号、课程名称、学分。
学生属于某一学院,学习某门课程获得成绩。
4.2 概念设计
根据各实体的属性和实体之间的关系绘制E-R图如图1所示。
4.3 逻辑设计
由上述E-R图转换为关系模型如下:
学生(学号,姓名,性别,生日,籍贯,学院编号)
学院(学院编号,学院名称,主任)
课程(课程编号,课程名称,学分)
成绩(学号,课程编号,成绩)
4.4 物理设计
根据SQL Server2012的数据库结构,指定数据库文件的名称,设计表的结构。
数据库文件名:学生管理系统。
对应的表有学生、学院、课程、成绩,表的结构如下表所示。
5 总结
关系型数据库设计的步骤一般主要分为需求分析、概念设计、逻辑设计、物理设计以及运行与维护设计几个步骤,每个阶段严格按照相应的要求和规则,则会设计出较为合理、效率高、符合要求的数据库。
参考文献:
[1] 姚丽娟. SQLServer2012数据库技术与应用[M].北京:人民邮电出版社, 2017.
[2] 庞英智. SQLServer2012数据库技术及应用[M].北京:高等教育出版社,2018.
[通联编辑:梁书]