第七章 用表组织数据

1.首先我门先回顾一下上一章的数据完整性:

    通俗说创建表的时候,就应当保证以后数据输入是正确的,错误的数据,不符合要求的数据不允许输入

也就下面我们说的:

    可靠性+准确性=数据的完整性

注意:保证数据的完整性=实施完整性约束

2.四种完整性约束:

      (1)域完整性(表格中的一列):

          不能与表中出现重复值  

           约束方法:唯一约束,主键约束,标识列

        (2)实体完整性(表格中的一行):

          整个表格中的一列不能超出规定范围

          约束方法:限制数据类型,检查约束,外键约束,默认值,非空约束

       (3)引用完整性:

         易懂的来讲,一个表中与另一个表中的列表名都相同   这时候要设置主外键进行联表查找某一个确定的数值

        主键:唯一的,(即每个人都有的) 所有主键都要用数字

        外键:有一个列表名跟主键的列表名相同进行主外搭配

        约束方法:外键约束

       (4)自定义完整性:

            所设置的列表名的值不可以不符合逻辑思维(比如,年龄,信用值为负数)

            约束方法:根据规则,存储过程,触发器

3.确定列的数据类型:

      image:存储图像

      char:固定长度非Unicode字符数据

      varchar:可变长度非Unicode字符数据(最大:8000)

       nchar:固定长度Unicode字符数据

       nvarchar:可变长度Unicode字符数据(最大:4000)   

       text:存储长文本信息

       ntext:存储可变长度的长文本

       datetime:时间和日期

       int,smallint:整数

       float,real:浮点数

       money:十进制货币值

       bit:存储布尔值数据类型(表示是/否的数据)

4.选择主键原则:

     最少性:

                    尽量选择单个键作为主键

     稳定性:

                    尽量选择数值更新少的列作为主键

5.标识列:(唯一的,只能设置数字)

                 在没有设置主键情况下可设置标识列代替主键

6.主键用法:

                     分析:   什么是主键      那个需要设置主键    主键(主要把一行取出来)

7.一个表中可以存在多个主键吗?

       不能,因为主键的唯一性

8.怎样添加多个主键?

        通过我们的复合主键,两列或多列组合起来唯一标识中的每一行

9.主外键建立后注意事项:

      (1)当主表中没有对应的记录时,不能将记录添加到子表

               例如:成绩表中不能出现学员信息不存在的学号

     (2)不能更改主表中的值而导致子表中的记录孤立

              例如:把学员信息表中的学号改变了,学员成绩表中的学号也应当随之改变

    (3)子表存在与主表对应的记录,不能从主表中删除该行

              例如:不能把有成绩的学员删除

    (4)删除主表前,先删子表

              例如:先删学员成绩表,后删除学员信息表

10.重重之重的东西:

         主外键:

                   (1)必须存在主键

                   (2)创建主,外键时必须数据类型一致

                   (3)建立外键时,通过在外键表中进行关联主键表(因为主键表不能修改)

11.   当sql  serve出来弹窗不能进行保存时解决办法:

            打开工具然后点击选项找到Designers把默认勾选的“组织保存要求重新创建表的更改”就可以啦! 

            如图: 

                           

    

12.补一下:

      卸载SQL Serve方法:

          第一步:打开win+R  输入regedit  找到HKEY_CLASSES_ROOT  里边有找到有关SQL Sever文件都删除就可以重新在下载了。

       

原文地址:https://www.cnblogs.com/unique1/p/12661836.html