zoukankan      html  css  js  c++  java
  • SQL-Base 用表组织数据

    什么是数据完整性?

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

     

    数据完整性如何分类?

    1,实体完整性  (行)

    2,域完整性   (列)

    3,引用完整性  (表与表之间键的关系)

    4,自定义完整性

     

    如何保证数据的完整性?

    必须在建表时分别对数据库实施完整性约束:

    实体完整性约束

    (行)

    主键约束(primary key)
    标识列(identity)

    唯一约束(unique)

    域完整性约束

    (列)

    数据类型

    非空约束(not null)
    默认值(default)
    check约束
    外键约束(foregin key)

    引用完整性约束

    (两表)

    外键约束(foregin key)

    自定义完整性约束

    规则、存储过程、触发器

     

    要建表保存数据时,就必须确定保存的数据类型,那么T-SQL中有哪些数据类型?

    数字

    整数 int

    小数 float real numric decimal

    字符串

    固定长度字符串 char

    可变长度字符串 varchar

    unicode编码固定长度字符串 nchar

    unicode编码可变长度字符串 nvarchar

    大文本  text

    unicode编码大文本 ntext

    日期

    datetime

    真假

    bit

    其他

    货币 money

    数据类型注意事项:

    时间日期类型和字符串类型是放在一对儿单引号中的.例如:'2010-1-22'

     

    主要约束的实现

    1.主键

    主键列要求:不重复并且不能有空值

    主键选取方法:

    u表中存在可以用来唯一标识表中行的列,则直接选取该列作为主键列.如学号列

    u表中没有可以用来唯一标识表中行的列,则可以通过创建组合主键来进行标识,具体操作,选取多列,将选中列一并设置为主键.

     

    2.标识列

    标识列要求:该列的数据类型只能是int类型,并且不能有空值

    如何设置标识列:

    选取int类型的列,在该列的属性窗口中,将标识范围展开,设置是标识,同时设置标识增量(递增步长)和标识种子(起始标识值),默认均为1

    标识列的特点:标识列会根据标识增量和标识种子每次自动增加

     

    如果主键列的类型是int类型,则通常同时将该主键列设置为标识列.

     

    3.主外键关系:两表之间的关系

    被包含,被引用的表是主键表

    外键表一定有一个列(外键列),引用主键表的主键列

    可以使用数据库关系图直接拖放创建外键约束

  • 相关阅读:
    NGINX_深度优化实践
    NFS服务端___NFS客户端
    NFS 批量管理 分发
    MYSQL---数据备份与还原
    MYSQL---建立字符集数据库
    MYSQL---基于mysql多实例数据库创建主从复制
    MYSQL---关于MYSQL优化
    bug记录-left jion连接后不是一对一情况时,记得去重
    bug记录-不等于某个值,查询后注意不包括为空的情况(由于NULL不能直接用算术运算符进行比较值。要想把为NULL 的那行也查询出来的话,只能使用IS NULL)
    bug记录-sqljion连接 like
  • 原文地址:https://www.cnblogs.com/jiangyi1240277238/p/12983277.html
Copyright © 2011-2022 走看看