Keep on going never give up.

Let's Go

SQL Server之认识关系数据库

SQL ServerLonely2019-04-28 21:20:0430次0条

关系数据库是基于关系模型的数据库,是目前各类数据库中最重要、最流行的数据库,它应用数学方法来处理数据库数据,是目前使用最广泛的数据库系统。在数据库发展历史上,最重要的数据库模型就是关系模型。

1、关系数据库的基本概念

关系数据库把世界看作是由实体和联系构成的,其中信息是以二维表来存储的,为了描述表达结构以及表之间的联系,用到以下基本概念:

(1)、实体:实体是指客观存在、可相互区分的事物实体可以是具体的对象,如:一个学生、一座仓库等;实体也可以是抽象的事件,如:一次选课、一笔订单等;在关系模型中,实体通常是以表的形式来表现的,表的每一行描述实体的一个实例,表的每一列描述实体的一个特征或属性

(2)、实体集:实体集是指同类实体的集合。例如:某个学校的所有学生等。一个实体集的范围可大可小,主要取决与要解决的应用问题所涉及的范围大小。例如:解决学校里的应用问题,那么该校的全体学生组成的集合就是一个学生集体集。

(3)、属性:实体集中所有的实体都具有一组相同的特性,如:学生实体集中每个实体都有学号、姓名、年龄、性别、班级等特性,我们把实体所具有的某一特性称为属性

(4)、实体型和实体值:实体有类型和值之分。用于描述和抽象同一实体集共同特征的实体名及其属性名的集合称为实体型,如:学生(学号、姓名、年龄、性别、班别、)就是一个实体型。相应的实体集中的某个实体的值即为实体值,如(‘1001’,‘张三’,‘18’,‘男’,‘软件161班’)就是一个实体值。

(5)、实体间的联系:实体间的联系就是实体集与实体集之间的联系,这种联系共有以下3种:

   ①、一对一联系:如果对于实体集E1中的每个实体,在实体集E2中最多有一个实体对应,反之亦然,则称为实体集E1与E2之间的联系是一对一联系,即为“1:1”。例如:影院中观众和座位之间就具有一对一联系,因为在一个座位上最多坐一个观众,而一个观众也只能坐在一个座位上。

   ②、一对多联系:如果对于实体集E1中的每个实体,在实体集E2中有任意个(零个或多个)实体与之相对应,而对于E2中每个实体却最多和E1中一个实体相对应,则称实体集E1与E2之间的联系是一对多联系,记为“1:n”。例如:学校的专业与学生之间具有一对多的联系。

   ③、多对多联系:如果实体集E1中的每个实体,在实体集E2中有任意个(零个或多个)实体与之相对应,反之亦然,则称为实体集E1与E2之间的联系是多对多联系,记为“m:n”。例如:学生与课程之间就具有多对多的联系,因为一个学生可以选修多门课程,而一门课程也可以被多个学生选修。

(6)、记录:关系数据库中二维表的一行,表示一个实体。

(7)、字段:关系数据库中二维表的列,表示实体的属性、特征。

(8)、主键:主键是被挑选出来的列或组合,该列或组合用来唯一地标识一行。一个表只有一个主键,且主键必须唯一,并且不允许为NULL或重复。例如:学生的学号可以用来做主键,但姓名不能,因为姓名可能同名重复,如果姓名是唯一的,也可以用来作为主键。主键有时也称为主关键字。

(9)、外键:如果表中的某一个字段与另一个表中的主键相对应,则将该字段称为表的外链,外链表示了两个表之间的联系。外键表示了两个表之间的联系。以另一个表的外链作为主键的表被称为主表,具有此此外链的表被称为从表,外链又称为外关键字。例如:学生表(学号、姓名、年龄、性别、系别、班别)和系别表(系编号、系名称、系主任名称),系别表是主表,学生表是从表,因为系编号在系别表中是主键,在学生表中是外键。

(10)、数据完整性:数据完整性是指数据的正确性和可靠性。为了维护数据库中的数据与现实世界的一致性,对关系数据库的插入、删除和修改操作必修有一定的约束条件,这就涉及关系数据库的四类完整性,及实体完整性、域完整性、参照完整性和用户定义完整性。

   ①、实体完整性:实体完整性要求表中的所有行具有唯一的标识符,即primary key(主键)、unique、identity。用户是否可以改变主键值或删除一整行,取决与主键和其它表之间要求的完整性级别。在学生表中将学号定义为主键,则在学生表中不能同时出现两个学号相同的学生,也就是通过学号这个主键,实现了学生表的实体完整性。

   ②、域完整性:域完整性指定一组对列有效的数据,并确定是否允许有空值。通常使用有效性检查强制域完整性,用户也可以通过限定列中允许的数据类型、格式或可能值的范围来强制数据完整性。例如:将学生年龄的定义为两位数、范围太大此时可以用check(age between 7 and 30)语句把年龄限制在7~30岁。

   ③、参照完整性:参照完整性也称为引用完整性,该完整性确保始终保持主键(在被引用表中)和外键(在引用表中)的关系。如果有外键引用了某行,那么不能删除被引用表中的该行,也不能改变主键,除非允许级联操作。用户可以在同一个表中或两个独立的表之间定义参照完整性。例如:学生选课表中的属性“学号”是学生表的外键,学生选课表的某个学生的学号取值必须在参照的学生表的主键“学号”中能找到,否则一个不存在的学生却选了课,显然不符合现实。

   ④、用户定义完整性:用户定义完整性是针对某个特定关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足语义的要求。SQL Server 2008提供了定义和检验这类完整性的机制,以便统一的系统方法处理它们,而不是让应用程序承担这一功能。其它完整性类型都支持用户定义完整性。


2、关系数据库的设计

在数据库系统中,数据由数据库管理系统进行独立的管理,对程序的依赖性大大减少,而数据库设计逐渐成为一项独立的开发活动。一般来说,数据库设计都要经过需求分析、概念设计、实现设计和物理设计4个阶段。

(1)、需求分析:需求分析是分析系统的需求,该过程的主要任务是从数据库的所有用户那里收集对数据的需求和对数据处理的需求,并把这些需求写成需求说明书。

(2)、概念设计:概念设计是将需求说明书中关于数据的需求综合为一个同一的概念模型,其过程是首先根据单个应用的需求画出能反映每一个应用需求的局部E-R模型,然后把这些E-R模型合并起来,消除冗余和可能存在的矛盾,得出系统总体的E-R模型。

(3)、实际设计:实现设计是将E-R模型转换成某一特定的数据库管理系统能够接受的逻辑模式,对于关系数据库来说,主要是完成表的结构和关联的设计。

(4)、物理设计:物理设计主要确定数据库的存储结构,包括确定数据库文件和索引文件的记录格式和物理结构,以及选择存取方法等,这个阶段的设计最困难。不过,现在这些工作基本上由数据库管理系统来完成,操作起来非常简单。

对于一般的数据库管理人员编程人员来说,其主要关心的是中间两阶段,即概念设计和实现设计,而在概念设计阶段通常采用的设计方法是实体——联系(E-R)图。在用E-R图描述概念模型时,用户应该根据具体的应用环境来决定图中包含哪些实体,实体间又包含哪些联系。联系与实体间的连接方法可以是多样的。两个实体集间的联系称为二元联系,如果是多个实体集间的联系,则称为多元联系。用E-R图来描述概念模型非常接近人的思维,容易理解,而且E-R图的具体与计算机系统无关,易被不具有计算机知识的最终用户接受,因此E-R图是数据库设计人员与用户进行交互的最有效的工具。

设计出E-R图后,接下来要将E-R图转换成数据库的二维表。将E-R图转换成表比较简单,表名可以用实体集的名称,将实体集的属性名作为表的列名形成一张二维表。注意,每个实体集要形成一张二维表,原则上,每一个联系也是一张二维表,有时也将联系采用外链约束的方式内置在两个实体集中,联系也需要属性。






暗锚,解决锚点偏移

文章评论

    嘿,来试试登录吧!