简述数据库完整性及其设计流程,数据库设计的过程是什么
来源:整理 编辑:黑码技术 2024-06-13 07:26:17
本文目录一览
1,数据库设计的过程是什么
1.需求分析:信息需求,处理需求,安全性和完整性要求。
2.确定需求的表。
3。确定所需的字段:每个字段直接和表的实体相关。以最小的逻辑单位存储信息。表中的数据必须是原始数据。确定主关键字字段。
4。确定关系。
5。设计求精
2,数据库设计步骤
1.需求分析阶段:分析客户的业务和数据处理需求; 2.概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整; 3.详细设计阶段:将E-R图转换为多张表,进行逻辑设计,并应用数据库设计的三大范式进行审核; 4.代码编写阶段:选择具体数据库进行物理实现,并编写代码实现前端应用; 5.软件测试阶段:…… 6.安装部署:……
3,简述数据库设计过程
数据库设计的过程(六个阶段)
1.需求分析阶段
准确了解与分析用户需求(包括数据与处理)
是整个设计过程的基础,是最困难、最耗费时间的一步
2.概念结构设计阶段
是整个数据库设计的关键
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型
3.逻辑结构设计阶段
将概念结构转换为某个DBMS所支持的数据模型
对其进行优化
4.数据库物理设计阶段
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)
5.数据库实施阶段
运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果
建立数据库,编制与调试应用程序,组织数据入库,并进行试运行
6.数据库运行和维护阶段
数据库应用系统经过试运行后即可投入正式运行。
在数据库系统运行过程中必须不断地对其进行评价、调整与修改
设计特点:
在设计过程中把数据库的设计和对数据库中数据处理的设计紧密结合起来将这两个方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计
4,数据库设计的基本步骤
按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下6个阶段1、需求分析需求分析也称为软件需求分析、系统需求分析或需求分析工程等,是开发人员经过深入细致的调研和分析,准确理解用户和项目的功能、性能、可靠性等具体要求,将用户非形式的需求表述转化为完整的需求定义,从而确定系统必须做什么的过程。需求分析的任务,是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种需求,然后在此基础上确定新的系统功能,新系统还得充分考虑今后可能的扩充与改变,不仅仅能够按当前应用需求来设计。调查的重点是,数据与处理。达到信息要求,处理要求,安全性和完整性要求。2、概念结构设计概念结构设计是整个数据库设计的关键,它通过对用户需求进行综合,归纳与抽象,形成了一个独立于具体DBMS的概念模型。设计概念结构通常有四类方法:自顶向下。即首先定义全局概念结构的框架,再逐步细化。自底向上。即首先定义各局部应用的概念结构,然后再将他们集成起来,得到全局概念结构。逐步扩张。首先定义最重要的核心概念结构,然后向外扩张,以滚雪球的方式逐步生成其他的概念结构,直至总体概念结构。混合策略。即自顶向下和自底向上相结合。3、逻辑结构设计逻辑结构设计是将概念结构转换为某个DBMS所支持的数据模型,并将进行优化。 在这阶段,E-R图显得异常重要。大家要学会各个实体定义的属性来画出总体的E-R图。各分E-R图之间的冲突主要有三类:属性冲突,命名冲突,和结构冲突。E-R图向关系模型的转换,要解决的问题是如何将实体性和实体间的联系转换为关系模式,如何确定这些关系模式的属性和码。4、物理结构设计物理设计是为逻辑数据结构模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。 首先要对运行的事务详细分析,获得选择物理数据库设计所需要的参数,其次,要充分了解所用的RDBMS的内部特征,特别是系统提供的存取方法和存储结构。常用的存取方法有三类:(1)索引方法,目前主要是B+树索引方法。(2)聚簇方法(Clustering)方法。(3)是HASH方法。5、数据库实施数据库实施阶段,设计人员运营DBMS提供的数据库语言(如sql)及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制和调试应用程序,组织数据入库,并进行试运行。6、数据库的运行和维护数据库维护是指当一个数据库被创建以后的工作都叫做数据库维护。包括备份系统数据、恢复数据库系统、产生用户信息表,并为信息表授权、监视系统运行状况,及时处理系统错误、保证系统数据安全,周期更改用户口令。参考资料:搜狗百科_数据库设计1、需求分析:了解用户的数据需求、处理需求、安全性及完整性要求;2、概念设计:通过数据抽象,设计系统概念模型,一般为E-R模型;3、逻辑结构设计:设计系统的模式和外模式,对于关系模型主要是基本表和视图;4、物理结构设计:设计数据的存储结构和存取方法,如索引的设计;5、系统实施:组织数据入库、编制应用程序、试运行;6、运行维护:系统投入运行,长期的维护工作。一共七个阶段。1.规划阶段2.需求阶段3.概念阶段4.逻辑阶段5.物理阶段6.现实阶段7.运行和维护阶段数据库设计是一项涉及多学科的综合性技术,是一项庞大的工程项目。基本步骤:1.需求分析阶段2.概念结构设计阶段3.逻辑结构设计阶段4.数据库物理设计阶段5.数据库实施阶段6.数据库运行与维护阶段数据库设计的基本步骤如下:1、安装并打开MySQL WorkBench软件以后,在软件的左侧边栏有三个选项,分别是对应“连接数据库”、“设计数据库”、“迁移数据库”的功能。这类选择第二项,设计数据库,点击右边的“+”号,创建models。2、进入MySQL Model界面后,点击“Add Diagram"。3、然后就进入了EER Diagram的设计页面。可以从左侧的图标中选择要创建的资源。鼠标停留在图标上3秒后,会提示资源的类型。选择资源后,可以在设计页面上方选择属性。4、这里添加了一张数据库表,添加后,双击,在页面的底部会出现数据库表的编辑框。5、这里创建一张user表,设置了id、name、age三列。6、还可以创建外键,左侧提供了四种外键类型。点击后,只需要用鼠标分别选中要关联的两个表即可。Workbench会自动生成对应的外键。7、在文件、导出中,可以选择导出为sql脚本。8、下图是导出过程sql脚本的过程。数据库设计步骤:1规划 2需求分析 3概念设计 4逻辑结构设计 5数据库的物理设计 6数据库的实现 7数据库的运行与维护 第一步,规划。规划阶段的主要任务是进行建立数据库的必要性及可行性分析。如系统调查(即对企业全面调查,画出组织层次图,以了企业组织结构),可行性分析,确定dbs(数据库系统)的总目标和制定项目开发计划。 第二步,需求分析。需求分析阶段应该对系统的整个应用情况作全面的、详细的调查,确定企业组织的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些要求写成用户和数据库设计者都能够接受的需求分析报告。这一阶段的工作只要有,分析用户活动,产生业务流程图;确定系统范围,产生体统范围图;分析用户活动涉及的数据,产生数据流程图;分析系统数据,产生数据字典。 第三步,概念设计。概念设计的目标是产生反应企业组织信息需求的数据库概念结构,即设计出独立与计算机硬件和dbms(数据库管理系统)的概念模式。e-r模型是主要设计工具。 第四步,逻辑结构设计。其目的是把概念设计阶段设计好的全局e-r模式转换成与选用的具体机器上的dbms所支持的数据模型相符合的逻辑结构(包括数据库模式和外模式)。 第五步,数据库的物理设计。对于给定的数据模型选取一个最适合应用应用环境的物理结构的过程。数据库的物理结构主要指数据库的存储记录格式、存储记录安排和存取方法,完全依赖于给定的硬件环境赫尔数据库产品。 第六步,数据库的实现。该阶段主要有3项工作:1建立实际数据库结构 2装入试验数据对应用程序进行调试 3装入实际数据,进入试运行状态。 第七步,数据库的运行与维护。数据库系统的正式运行,标志着数据库设计与应用开发工作的结束和维护阶段的开始,该阶段有4项任务:1维护数据库的安全性与完整性 2监测并改善数据库运行性能 3根据用户要求对数据库现有功能进行扩充 4及时改正运行中发现的系统错误。 其实里面包含有其他的知识,我没列出来,例如e-r图绘制方法,sql,还有会涉及关键字,外键,视图,表,模式等,如果是想自学的话,我推荐一本书《数据库原理及应用》,这是我学数据库时的教材,有疑问,可以hi我,我尽我所能回答你吧。
5,什么是数据库的关系完整性
数据库完整性(Database Integrity)是指数据库中数据的正确性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。数据库完整性约束可以通过DBMS或应用程序来实现,基于DBMS的完整性约束作为模式的一部分存入数据库中。通过DBMS实现的数据库完整性按照数据库设计步骤进行设计,而由应用软件实现的数据库完整性则纳入应用软件设计(本文主要讨论前者)。数据库完整性对于数据库应用系统非常关键,其作用主要体现在以下几个方面: 1.数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据。 2.利用基于DBMS的完整性控制机制来实现业务规则,易于定义,容易理解,而且可以降低应用程序的复杂性,提高应用程序的运行效率。同时,基于DBMS的完整性控制机制是集中管理的,因此比应用程序更容易实现数据库的完整性。 3.合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能。比如装载大量数据时,只要在装载之前临时使基于DBMS的数据库完整性约束失效,此后再使其生效,就能保证既不影响数据装载的效率又能保证数据库的完整性。 4.在应用软件的功能测试中,完善的数据库完整性有助于尽早发现应用软件的错误。 数据库完整性约束可分为6类:列级静态约束、元组级静态约束、关系级静态约束、列级动态约束、元组级动态约束、关系级动态约束。动态约束通常由应用软件来实现。不同DBMS支持的数据库完整性基本相同,Oracle支持的基于DBMS的完整性约束如下表所示: 数据库完整性设计示例 一个好的数据库完整性设计首先需要在需求分析阶段确定要通过数据库完整性约束实现的业务规则,然后在充分了解特定DBMS提供的完整性控制机制的基础上,依据整个系统的体系结构和性能要求,遵照数据库设计方法和应用软件设计方法,合理选择每个业务规则的实现方式;最后,认真测试,排除隐含的约束冲突和性能问题。基于DBMS的数据库完整性设计大体分为以下几个阶段: 1.需求分析阶段 经过系统分析员、数据库分析员、用户的共同努力,确定系统模型中应该包含的对象,如人事及工资管理系统中的部门、员工、经理等,以及各种业务规则。 在完成寻找业务规则的工作之后,确定要作为数据库完整性的业务规则,并对业务规则进行分类。其中作为数据库模式一部分的完整性设计按下面的过程进行。而由应用软件来实现的数据库完整性设计将按照软件工程的方法进行。 2.概念结构设计阶段 概念结构设计阶段是将依据需求分析的结果转换成一个独立于具体DBMS的概念模型,即实体关系图(ERD)。在概念结构设计阶段就要开始数据库完整性设计的实质阶段,因为此阶段的实体关系将在逻辑结构设计阶段转化为实体完整性约束和参照完整性约束,到逻辑结构设计阶段将完成设计的主要工作。 3.逻辑结构设计阶段 此阶段就是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化,包括对关系模型的规范化。此时,依据DBMS提供的完整性约束机制,对尚未加入逻辑结构中的完整性约束列表,逐条选择合适的方式加以实现。 在逻辑结构设计阶段结束时,作为数据库模式一部分的完整性设计也就基本完成了。每种业务规则都可能有好几种实现方式,应该选择对数据库性能影响最小的一种,有时需通过实际测试来决定。 数据库完整性设计原则 在实施数据库完整性设计的时候,有一些基本的原则需要把握: 1.根据数据库完整性约束的类型确定其实现的系统层次和方式,并提前考虑对系统性能的影响。一般情况下,静态约束应尽量包含在数据库模式中,而动态约束由应用程序实现。 2.实体完整性约束、参照完整性约束是关系数据库最重要的完整性约束,在不影响系统关键性能的前提下需尽量应用。用一定的时间和空间来换取系统的易用性是值得的。 3.要慎用目前主流DBMS都支持的触发器功能,一方面由于触发器的性能开销较大,另一方面,触发器的多级触发不好控制,容易发生错误,非用不可时,最好使用Before型语句级触发器。 4.在需求分析阶段就必须制定完整性约束的命名规范,尽量使用有意义的英文单词、缩写词、表名、列名及下划线等组合,使其易于识别和记忆,如:CKC_EMP_REAL_INCOME_EMPLOYEE、PK_EMPLOYEE、CKT_EMPLOYEE。如果使用CASE工具,一般有缺省的规则,可在此基础上修改使用。 5.要根据业务规则对数据库完整性进行细致的测试,以尽早排除隐含的完整性约束间的冲突和对性能的影响。 6.要有专职的数据库设计小组,自始至终负责数据库的分析、设计、测试、实施及早期维护。数据库设计人员不仅负责基于DBMS的数据库完整性约束的设计实现,还要负责对应用软件实现的数据库完整性约束进行审核。 7.应采用合适的CASE工具来降低数据库设计各阶段的工作量。好的CASE工具能够支持整个数据库的生命周期,这将使数据库设计人员的工作效率得到很大提高,同时也容易与用户沟通。关系的究整性 关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有三类完整性约束:实体完整性、参照完整性和用户定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。 一、实体完整性(entity integrity) 规则2.1 实体完整性规则 若属性a是基本关系r的主属性,则属性a不能取空值。 例如在关系“sap(supervisor,speciality,postgraduate)”中,“研究生姓名postgraduate”属性为主码(假设研究生不会重名),则“研究生姓名”不能取空值。 实体完整性规则规定基本关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。例如学生选课关系“选修(学号,课程号,成绩)”中,“学号、课程号”为主码,则“学号”和“课程号”两个属性都不能取空值。 对于实体完整性规则说明如下: (1)实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。例如学生关系对应于学生的集合。 (2)现实世界中的实体是可区分的,即它们具有某种唯一性标识。 (3)相应地,关系模型中以主码作为唯一性标识。 (4)主码中的属性即主属性不能取空值。所谓空值就是“不知道”或“无意义”的值。如果主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性。 二、参照完整性(referential integrity) 现实世界中的实体之间往往存在某种联系,在关系模型中实体及实体间的联系都是用关系来描述的。这样就自然存在着关系与关系间的引用。先来看三个例子。 例1 学生实体和专业实体可以用下面的关系表示,其中主码用下划线标识: 学生(学号,姓名,性别,专业号,年龄) 专业(专业号,专业名) 这两个关系之间存在着属性的引用,即学生关系引用了专业关系的主码“专业号”。显然,学生关系中的“专业号”值必须是确实存在的专业的专业号,即专业关系中有该专业的记录。这也就是说,学生关系中的某个属性的取值需要参照专业关系的属性取值。 规则2.2 参照完整性规则 若属性(或属性组)f是基本关系r的外码,它与基本关系s的主码ks相对应(基本关系r和s不一定是不同的关系),则对于r中每个元组在f上的值必须为: ·或者取空值(f的每个属性值均为空值); ·或者等于s中某个元组的主码值。 三、用户定义的完整性(user-defined integrity) 任何关系数据库系统都应该支持实体完整性和参照完整性。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。例如某个属性必须取唯一值、某些属性值之间应满足一定的函数关系、某个属性的取值范围在 0~100之间等。关系模型应提供定义和检验这类完整性的机制,以便用统一的系统的方法处理它们,而不要由应用程序承担这一功能。
文章TAG:
简述 数据 数据库 数据库完整性 简述数据库完整性及其设计流程