SQLServer数据库设计

SQLServer数据库设计

2023年7月27日发(作者:)

SQLServer数据库设计⼀、数据库设计的必要性 在实际的软件项⽬中,如果系统中需要存储的数据量⽐较⼤,需要设计的表⽐较多,表与表之间的关系⽐较复杂,那我们就需要进⾏规范的数据库设置。如果不经过数据库的设计,我们构建的数据库不合理、不恰当,那么数据库的维护、运⾏效率会有很⼤的问题。这将直接影响到项⽬的运⾏性和可靠性。⼆、什么是数据库设计 数据库设计实际上就是规划和结构化数据库中的数据对象以及这些数据对象之间的关系过程。三、数据库设计的重要性 Ø 不经过设计的数据库或是设计糟糕的数据库很可能导致 1、 数据库运⾏效率地下 2、 更新、删除、添加数据出现问题 Ø 良好设计的数据库 1、 执⾏效率⾼ 2、 使应⽤程序更便于开发 3、 扩展性好 4、 维护性好四、数据模型 数据模型就像是数据间联系的⼀个轮廓图,整个模型就像⼀个框架。 如果按照记录间联系的表⽰⽅式,对数据模型进⾏分类,可以分为:层次模型、⽹状模型、关系模型。前两种⼜称为格式化数据模型。数据模型的好坏直接影响到数据库的性能,所以数据模型的选择是数据库设计的⾸要任务。 Ø 实体-关系(E-R)数据模型 E-R数据模型(Entity-Relationship data model),即实体-关系数据模型。E-R数据模型不同于传统的关系数据模型,它不是⾯向实现,⽽是⾯向现实物体的。 Ø 实体(Entity) 数据是⽤来描述现实中的物体的,⽽描述的对象都是形形⾊⾊的,有具体的、也有抽象的;有物理上存在的、也有概念性的。凡是可以互相区别⽽且可以被⼈们认识的事、物、概念等统统抽象为实体。多个相同的类型的实体可以称为实体集(Entity set)。因此,在E-R数据模型中,也有型与值之分;实体可以作为型来定义,每个实体可以是它的实例和值。 Ø 属性(Attribute) 实体⼀般具体若⼲特征,这些特征称为实体的属性。⽽每个属性都有⾃⼰的取值范围,在E-R数据模型中称为值集(value set)。在同⼀实体集中,每个实体的属性及其值集都是相同的,但可能取不同的值。属性对应数据库表的列。 Ø 关系(Relationship) 实体之间会有各种关系,这些关系抽象为联系。不但实体可以有属性,关系也可以有属性。五、数据库设计步骤 Ø 数据库设计可以分为以下⼏个阶段 1、 需求分析阶段:分析客户的业务需求,特别是数据⽅⾯的需求 2、 概要设计阶段:绘制数据库的E-R图,并确认需求⽂档的正确性和完整性,E-R图是项⽬的设计⼈员、开发⼈员、测试⼈员,以及和客户进⾏沟通的重要凭据 3、 详细设计阶段:将概要设计阶段的E-R图转换为数据库表,进⾏逻辑设计,确定各个表之间的主外键关系,运⽤数据库的三范式进⾏审核,并进⾏技术评审。最后决定选哪种数据库(Oracle、SQLServer、MySQL)来建库、建表。 Ø 需求分析阶段:数据库系统分析 秀⽓分析阶段的重点是调查、收集、分析客户的业务数据需求以及数据的安全性、完整性需求等。 需求分析步骤: 1、 确认业务需求 2、 标识关系实体 3、 标识每个实体的具有的属性 4、 确认实体之间的关系 Ø 概要设计阶段:绘制E-R图 作为数据库设计者,你需要和项⽬组内其他成员分享你的设计思路,共同研讨数据库设计的合理性、安全性、完整性,并确认是否符合客户的业务需求。那么使⽤E-R图,这种图形化的表⽰⽅式最为直观。 * E-R图中的实体、属性和关系

上⾯的简单E-R图可以看出⽤户和收⽀之间的关系。在上图中可以看出:⽤矩形表⽰实体,实体是⼀般名词;椭圆表⽰属性,⼀般也是名词;菱形表⽰关系,⼀般是动词。 * 映射基数 映射基数表⽰可以通过关系与该实体的个数。对于实体集A和B之间的⼆元关系,可能的映射基数有: 1、 ⼀对⼀:也就是A实体中最多只有⼀个B实体的关联,⽽B实体的最多只有⼀个A实体的关联。⽤E-R图表⽰:

2、 ⼀对多:A实体可以与B实体任意数量的进⾏关联,B中的实体最多与A中的⼀个实体关联。E-R图表⽰:

3、 多对⼀:A实体最多与⼀个B实体进⾏关联,⽽B实体可以和任意多个A实体进⾏关联。E-R图表⽰:

4、 多对多:A实体可以有多个B实体,⽽B实体也可以有任意多个A实体。E-R图表⽰:

* E-R图 E-R图可以以图形化的⽅式将数据库的整个逻辑结构表⽰出来,组成部分有: 1、 矩形表⽰实体集 2、 椭圆表⽰属性 3、 菱形表⽰关系、 4、 直线⽤来连接实体集与属性、实体集和关系 5、 直线箭头表⽰实体集之间映射基数 Ø 详细设计阶段:将E-R图转换为表 步骤如下: 1、 将各个实体转换为对应的表,将各属性转换为对应的列 2、 标识每张表的主键 3、 将实体之间的关系转换为表与表之间的主外键关系六、数据库设计规范化 Ø 数据库设计中经常出现的问题 1、 数据冗余⼤ 2、 插⼊数据异常 3、 删除异常 4、 更新异常 Ø 规范设计 ⼀个较好的关系数据库模型,它的每个关系中的属性⼀定要满⾜某种内在的语义条件,即要按⼀定的规范设计关系模型,这就是设计的规范化。 在数据库设计时,有⼀些专门的规则,称为数据库的设计范式,遵循这些规则,就可以创建出良好的数据库,数据库著名的三⼤范式理论: 1、 第⼀范式(1NF) 第⼀范式是满⾜关系数据库模型所要遵循的最基本的条件范式,⼏关系中的每个属性必须是不可再分的简单项,不能是属性组合,即属性的取值是不可拆分的原⼦值。 2、 第⼆范式(2NF) 第⼆范式是在第⼀范式的基础上,确保表中的每列都和主键相关。其定义是如果⼀个关系满⾜1NF,并且除了主键关系外的其他列都依赖于该主键,则满⾜第⼆范式。 3、 第三范式(3NF) 第三范式是在第⼆范式的基础上进⾏的,第三范式的⽬标是确保每列都和主键列直接相关,⽽不是间接相关的。其定义是:如果⼀个关系满⾜2NF,并且除主键外的其他列都不传递依赖于该主键。 Ø 规范化和性能关系 为了满⾜三⼤范式,数据库的性能可能会有⼀定程度的降低。所以,在实际数据库设计中,我们既要尽量满⾜三⼤范式,从⽽避免数据冗余和各种数据库的操作异常,同时也要考虑数据的访问性能。有时候,为了提⾼数据库的访问效率,适当的允许少量数据冗余咧存在,才是最适合的数据库设计⽅案。

发布者:admin,转转请注明出处:http://www.yc00.com/web/1690435811a349457.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信