SQL 复习笔记4完整性约束

1、列级完整性约束

  1)、NOT NULL或 NULL

  2) 、UNIQUE约束:UNIQUE唯一性约束,不允许关系列中出现有重复的属性值

  3)、DEFAULT约束:默认值约束。   定义格式:DEFAULT <约束名> <默认值> FOR <列名>

  4)、CHECK 约束:检查约束,通过约束条件表达式设置列应满足的条件。定义格式:CONSTRANIT <约束名> CHECK (<约束条件表达式>)、

2、表级完整性约束

  1)、UNIQUE

  2)、PRIMARY KEY:约束实体完整性

  3)FOREIGN KEY 约束

 

#用SQL建立学生、课程、选课数据库中的基本表

#学生表
CREATE TABLE student (
      sid CHAR(10) NOT NULL UNIQUE,
      name CHAR(10) NOT NULL,
      age SMALLINT,
      sex CHAR(2),
      major CHAR(20),
DEFAULT AGE_DEFAULT 20 FOR age,
CONSTRAINT SEX_CHECK CHECK( sex IN('男','女')));
#课程表
CREATE TABLE course (
      cid CHAR(5) PRIMARY KEY,
      cname CHAR(20)
);
#选课表
CREATE TABLE student_course(
       sid CHAR(5),
       cid  CHAR(5),
       grade SMALLINT,

CONSTRAINT GRADE_CHECK CHECK(grade BETWEEN 0 AND 100),
CONSTRAINT SID_CID_PR PRIMARY KEY (sid,cid),
CONSTRAINT c_s_sid__s_sid_fk FOREIGN KEY student_course(sid) REFERNCES student(sid),
CONSTRAINT c_s_cid__c_cid FOREIGN KEY student_course(cid) REFERENCES course(cid)
);


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值