第十四章 约束

第十四章 约束
–练习1
1.学校有一个选课系统,其中包括如下关系模式:
系(系编号: 主键,
系名称: 唯一键,
系主任: 非空约束,
系所在校去:取值范围只能在南湖校区和浑南校区)

create table xi 
             (
             xi_no varchar2(10) primary key,
             xi_name varchar2(10) unique,
             xi_mrg varchar2(10) not null,
             xi_loc varchar2(20) check(xi_loc in('南湖校区','浑南校区'))
             );
select * from xi

班级(班级编号: 主键,
班级名称: 唯一键,
所属系: 外键)

create table classbj 
             (
             classbj_no varchar2(10) primary key,
             classbj_name varchar2(10) unique,
             xi_name varchar2(10)
             constraint xi_name_fk references xi (xi_name)
             )

2.创建学生表,包含如下属性:
学号 定长字符型 10位 主键
姓名 变长字符型 20位 非空
性别 定长字符型 2位 取值范围只能为男或女
出生日期 日期型
所在班级

create table student(
                     stu_no varchar(10) primary key,
                     stu_name varchar2(20) not null,
                     stu_sex varchar(2) check(stu_sex in('男','女')),
                     stu_date date,
                     classbj_name varchar2(10)
                     )

–课后作业
1.简述5种约束的含义。

not null 非空约束:主要作用为约束列值不能为空
primary key 主键约束:约束列值唯一且不能为空
foreign key 外键约束:约束列值与父项相关
unique 唯一约束:约束列值必须唯一
check 检查约束:约束列值在某一范围

2.创建学生关系sc,包括属性名:
选课流水号 数值型 主键;
学生编号 非空 外键
课程编号 非空 外键;
成绩 0-100之间;

create table sc (
       scid number(10) 
       constraint tabsc_scid_pk primary key,
       -- 选课流水号 数值型 主键;
       stno number(10)
       constraint tabsc_scno_fk reference tabstudent14(stno),
       -- 学生编号 非空 外键
       cid number(4)
       constraint tabsc_cid_fk reference tabcourse(cid),
       -- 课程编号 非空 外键;
       scgrade number(5,2) 
       constraint tabsc_scgrade_ck check(scgrade bewteen 0 and 100)
       -- 成绩     0-100之间;
);

3.创建copy_emp,要求格式同emp表完全一样,不包含数据。
4.创建copy_dept,要求格式同dept表完全一样,不包含数据。
5.设置copy_emp 表中外键deptno,参照copy_dept中deptno,语句能否成功,为什么?
6.追加copy_dept表中主键deptno

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值