第十四章約束課後練習和作業

2021-08-22 03:19:35 字數 2119 閱讀 3421

– 練習

– 課後作業

--  1.簡述5種約束的含義。

1、not null 非空約束:主要作用為約束列值不能為空

2、primary key 主鍵約束:約束列值唯一且不能為空

4、unique 唯一約束:約束列值必須唯一

5、check 檢查約束:約束列值在某一範圍

-- 為題2建立的課程表,用以設定外來鍵foreign key

create table course(

cid number(4) constraint course_cis_pk primary key, --課程編號

cname varchar(50) constraint course_cname_unique unique--課程姓名

--ctypeid number(4), --課程型別

--score number(1), --學分

--chour number(2) --課時

);select * from course;

insert into course (cid,cname) values (0001,'數學');--ok

-- 2.建立學生關係sc,包括屬性名:

-- 選課流水號 數值型 主鍵;

-- 學生編號 非空 外來鍵

-- 課程編號 非空 外來鍵;

-- 成績 0-100之間;

create table sc (

scid number(10) constraint sc_scid_pk primary key,--選課流水號

studentno char(10) constraint sc_scstuno_fk

references student(studentno),--學生編號

cid number(4) constraint sc_sccid_fk

references course(cid),--課程編號

grade number(5,2) constraint sc_grade_ck

check(grade between 0 and 100)--成績

);-- 學生關係表測試用例

select * from sc;

insert into sc (scid,studentno,cid,grade) values (1,'201800001',0001,88);--ok

insert into sc (scid,studentno,cid,grade) values (1,'201800001',0001,110);--notok

insert into sc (scid,studentno,cid,grade) values (1,'201800001',0001,10);--not ok

insert into sc (scid,studentno,cid,grade) values (2,'201800001',0003,11);--not ok

-- 3.建立copy_emp,要求格式同emp表完全一樣,不包含資料。

create table copy_emp as select * from emp where 1=0;

select * from copy_emp;

-- 4.建立copy_dept,要求格式同dept表完全一樣,不包含資料。

create table copy_dept as select * from dept where 1=0;

select * from copy_dept;

-- 5.設定copy_emp 表中外鍵deptno,參照copy_dept中deptno,語句能否成功,為什麼?

alter table copy_emp add constraint copy_emp_deptno_fk

foreign key(deptno) references copy_dept(deptno);

-- 不能,因為copy_dept表中的deptno不是主鍵或唯一值

-- 6.追加copy_dept表中主鍵deptno

alter table copy_dept add constraint copy_dept_deptno_pk primary key(deptno);

第十四章約束

約束 constraint 是一種保證資料完整性的規則。約束設定在單個字段或者多個字段組合上,寫入這些欄位的行資料必須要符合約束的規則 約束的五種型別 not null 非空約束,指定某列的所有行資料不能包含空值 unique 唯一性約束,指定列或者列的組合的所有行資料必須唯一 primary ke...

第十四章 約束

第十四章 約束 練習1 1.學校有乙個選課系統,其中包括如下關係模式 系 系編號 主鍵,系名稱 唯一鍵,系主任 非空約束,系所在校去 取值範圍只能在南湖校區和渾南校區 create table xi xi no varchar2 10 primary key,xi name varchar2 10 ...

c primer plus 第十四章課後程式設計4題

編寫有倆個成員的結構,第乙個成員是社會保險號,第二個成員是有三個成員 的結構,1.成員代表名。2。中間名。3。姓 程式a.include include define max 20 define sz 5 struct fname struct card char s gets char st,in...