数据库基础概念

来源:互联网 发布:linux dns配置 redhat 编辑:程序博客网 时间:2024/05/21 17:47

从数据库的基础开始认识数据库

1、DBMS:数据库关系管理系统。

2、数据库是逻辑相关数据的集合。

3、DBMS数据管理包括:

1)定义数据存储的结构。

2)提供数据操作的机制,如:添加、编辑、更新及删除数据。

3)提供数据安全,防止未授权的访问。

4、数据模型:数据库中数据的描述,分为:

1)基于对象的逻辑模型:重点描述数据、数据间关系及定义的任何约束。

      a)也称E-R模型:Entity实体-Relation关系模型:将现实世界看作对象或实体及其相互关系的集合,使用相应图标表示。包含实体、属性、关系。

      b)关系中有三种关系类型:一对一;一对多(或多对一);多对多。如多对多的表达方式:

      c)子类型,表达形式如下:


2)基于记录的逻辑模型:重点指定数据库的逻辑结构,其模型包含:

      a)层次模型:以树的形式表示数据,数据间的关系用链接表示。

      b)类似于层次模型。已图解方式表示数据库的记录。

      c)关系模型RDBS:用数据库中的表表示数据,也是最流行的模型。

5、RDBS关系数据库管理系统:

1)一些流行的产品有:Sybase、Oracle、Microsoft SQL Server、Ingres、DB2、MySQL。

2)概念:表:数据存放在表里,表中每一行称为记录/元组, 每一列的数据称为属性\字段。

3)丢失或未知信息在表中表示为NULL值,NULL不同于空白或零。

6、将E-R图映射到表中的步骤:

1)常规实体(不依赖于其他实体的独立实体):常规实体可以映射到单独表。

2)属性映射到表的列,属性添加时,不要引入任何不必要的属性。如果任何多个实体具有公共属性,则合并这些实体。

3)关系:一对一关系建议合并成一张表;多对一,新建2张表,使用外键建立2张表的关系;多对多,新建2张表,把2张表的关系再单独存放一张表。

4)弱实体(其存在依赖于一些其他实体的实体):可把弱实体单独存放一张表。

5)子类或超类:每个子类存放一张表,超类存放一张表。

6)可以创建新实体来表示重要的重复属性组。

7、RDBS的键:

1)候选键:能唯一确定表中一行数据的属性,候选为主键的属性称为候选键。

2)替换键:没有被确定为主键的候选键。

3)组合键:由唯一确定表中一行数据的多个属性的组成。

4)主键:唯一确定表中一行数据的属性。

5)外键:一个表中的列值与其他表中的主键匹配,此列称为外键。

8、数据冗余:重复的数据,会增加磁盘空间的占有率,延长操作数据的时间。可以使用规范化处理数据冗余,规范化的过程:

1)第一范式(1NF):只要表中每个单元格都只包含一个值。将表转换为1NF的准则:

      a)在表中放置相关数据值,此外,使用列名定义相似数据值。

      b)表中不应该有重复组。列重复拆成另外一张表;行重复拆成多行。

      c)每个表都必须具有唯一主键。

2)第二范式(2NF):在1NF中,且非键属性和键(主键)属性间没有部分依赖。将表转换为2NF的准则:

      a)找到并删除只函数依赖于部分键(主键)而非整个键的属性。将它们放在其他表中。

      b)对剩下的属性分组。

3)第三范式(3NF):在2NF中,且非键属性和键(主键)属性间没有传递依赖。将表转换为3NF的准则:

      a)找到并删除函数依赖于非主键属性的非键属性。将它们放在其他表中。

      b)对剩下的属性分组。

4)BC(Boyce-Codd)范式(BCNF):解决满足3NF情况下,依然存在多个候选键;多个候选键是组合键;多个候选键重叠(至少有一个公共属性)。

将表转换为BCNF的准则:

      a)找到并删除重叠的候选键。将部分候选键及其函数依赖的属性放在其他表中。其中行列式需要有候选键。

      b)对剩下的项分组到一个表中。

检查顺序:先判断是否符合第一范式,若符合第一范式,则检查是否符合第二范式……第三范式,直到满足BC范式。

依赖的概念:

      a)函数依赖:当属性B的每个值只与属性A(主键)的一个值对应时,则A依赖于B,属性B称为行列式。

      b)部分依赖:当属性B的每个值只与组合键的某一个属性的一个值对应时,属性B部分依赖于组合键。

      c)传递依赖: 当属性C依赖于属性B,熟悉B依赖于属性A,则称为传递以来



1 0
原创粉丝点击