– 練習
– 課後作業
-- 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...