SQL 复习笔记4完整性约束

本文介绍了数据库设计中的完整性约束概念,包括列级约束如NOT NULL、UNIQUE、DEFAULT及CHECK约束,以及表级约束如UNIQUE、PRIMARY KEY和FOREIGN KEY。并通过具体的SQL语句示例展示了如何创建学生、课程和选课表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)
);


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值