ホームページ  >  記事  >  データベース  >  第二章 SQL Server数据库表管理

第二章 SQL Server数据库表管理

WBOY
WBOYオリジナル
2016-06-07 17:44:591032ブラウズ

数据库本身无法直接存储数据,存储数据是通过数据库中的表来实现的。 2.1 表相关的几个基本概念 在创建和管理数据库表之前,需要理解以下几个概念。 2.1.1 数据完整性 数据完整性是要求数据库中的数据具有准确性,准确性是通过数据库表的设计和约束来实现的

  数据库本身无法直接存储数据,存储数据是通过数据库中的表来实现的。

2.1 表相关的几个基本概念

  在创建和管理数据库表之前,需要理解以下几个概念。

2.1.1 数据完整性

  数据完整性是要求数据库中的数据具有准确性,准确性是通过数据库表的设计和约束来实现的。例如:在存储学生信息的表中,如果允许任意输入学员信息的话,则在同一张表中可能重复出现一个学员的信息;还有如果不对表中存储的年龄信息加以限制,则学员出现的年龄可能出现负数,这样的数据都不具备完整性。

  为了实现完整性,数据库需要做以下两方面的工作。

    检验每行数据是否符合要求。

    检验每列数据是否符合要求。

  为实现以上要求,SQL Server提供了以下4种类型的约束(Constraint)。

  1. 实体完整性约束

    实体完整性要求表中的每一行数据都反映不同的实体,不能存在相同的数据行。

    通过索引、唯一约束、逐渐约束或标识列属性,可以实现表的实体完整性。

  2. 域完整性约束

    域完整性是指给定列的输入有效性。

    通过限制数据类型、检查约束、输入格式、外键约束、默认值、非空约束等多种方法,可以实现表的域完整性。

  3. 引用完整性约束

    在输入或删除数据行时,引用完整性约束用来保持表之间已定义的关系。

    例如:在管理学员信息的时候,一个表用来存储学员的信息,一个表用来存储考试成绩的详细情况,并且考试成绩表中的一列数值就是学员信息表中的编号,用来表示是哪个学员的考试。

  

    可以看出两张表建立了“关系”,学员信息表是“主表”,学员成绩表是“子表”(有时也叫做“相关表”)。

    在强制引用完整性时,SQL Server 禁止用户进行下列操作。

      当主表中没有关联的记录时,将记录添加到相关表中。也就是说学员成绩表中不能够出现在学员信息表中不存在的学号。

      更改主表中的值并导致相关表中的记录孤立。如果学员信息表中的学号改变了,学员成绩表中的学号也应当随之改变。

      从主表中删除记录,但仍存在与该记录匹配的相关记录。如果把学员信息表中的学员删除了,则该学员的学号不能出现在学员成绩表中。

    引用完整性通过逐渐和外键之间的引号关系来实现。

  4. 自定义完整性约束

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。