zoukankan      html  css  js  c++  java
  • 第七章 用表组织数据

    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文件都删除就可以重新在下载了。

           

  • 相关阅读:
    ‘Found duplicate PV’ warnings when using LVM with multipath storage in RHEL/CentOS
    如何卸载windows的服务?卸载服务
    富文本wangeditor层级太高覆盖问题
    vue wangeditor
    vue消息提示this.$message方法
    MySQL之查询指定时间的数据
    企业微信第三方应用PC端实现用户点击注册的三种方式
    两款不带广告的輸入法
    jquery、css 的选择器
    广信可视电话设置可安装应用权限
  • 原文地址:https://www.cnblogs.com/unique1/p/12661836.html
Copyright © 2011-2022 走看看