zoukankan      html  css  js  c++  java
  • SQL Server数据库操作(二)

    一、添加约束的语法

    alter table 表名 add constraint 约束名 约束类型 具体的约束说明

    use studentmanagedb
    go
    --添加约束,创建主键约束
    if exists(select * from sysobjects where name='pk_StudentId')
    alter table Students drop constraint pk_StudentId
    
    alter table Students add constraint pk_StudentId primary key(StudentId)
    
    --添加约束,创建唯一约束
    if exists(select * from sysobjects where name='uq_StudentIdNo')
    alter table Students drop constraint uq_StudentIdNo
    
    alter table Students add constraint uq_StudentIdNo unique(StudentIdNo)
    --添加约束,创建检查约束
    if exists(select * from sysobjects where name='ck_Age')
    alter table Students drop constraint ck_Age
    
    alter table Students add constraint ck_Age check(Age between 18 and 26)
    
    if exists(select * from sysobjects where name='ck_PhoneNumber')
    alter table Students drop constraint ck_PhoneNumber
    
    alter table Students add constraint ck_PhoneNumber check(len(PhoneNumber)=11)
    --创建外键约束
    if exists(select * from sysobjects where name='fk_ClassId')
    alter table Students drop constraint fk_ClassId
    
    alter table Students add constraint fk_ClassId foreign key(ClassId) references StudentClass(ClassId)

    实体完整性

      a.能够唯一标识表中的每一条记录。

      b.实现方式:主键、唯一键、IDENTITY属性。

    域完整性

      a.表中特定列数据的有效性,确保不会输入无效的值。

      b.实现方式:数据类型限制、缺省值、非空值。

    引用完整性

      a.维护表间数据的有效性、完整性。

      b.实现方式:建立外键,关联另一表的主键。

    主键的选择

      a.最少性原则:尽量选择单个键作为主键。

      b.稳定性原则:尽量选择数值更新少的列作为主键。

    外键使用

      a.要求数据类型、数据长度必须与对应的主键表字段完全一致。

      b.添加数据时,要首先添加主键表,在添加外键表。

      c.删除数据时,要首先删除外键表数据,在删除主键表数据。

    完整数据库创建步骤

      建库---->建表---->主键约束---->域完整性约束---->外键约束

    插入数据的过程

      验证主键、主外键关系、检查约束……---->插入成功

  • 相关阅读:
    HDU1150(最小顶点覆盖)
    HDU2444(二分图判定+最大匹配)
    HDU1083(最大匹配)
    POJ3041(最小顶点覆盖)
    HDU2874(LCA应用:求两点之间距离,图不连通)
    UESTC(LCA应用:求两点之间的距离)
    HDU2586(LCA应用:在带权树中求任意两点之间的距离)
    POJ1986(LCA应用:求两结点之间距离)
    jmeter(54)-jmeter元件的作用域与执行顺序
    jmeter(53)-如何保证jenkins+ant+jmeter持续集成接口自动化生成的测试报告不会重复?
  • 原文地址:https://www.cnblogs.com/sgmcumt/p/6441064.html
Copyright © 2011-2022 走看看