第十四章 約束
–練習1
1.學校有乙個選課系統,其中包括如下關係模式:
系(系編號: 主鍵,
系名稱: 唯一鍵,
系主任: 非空約束,
系所在校去:取值範圍只能在南湖校區和渾南校區)
create
table xi
(xi_no varchar2(10)
primary
key,
xi_name varchar2(10)
unique
, xi_mrg varchar2(10)
notnull
, 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)
notnull
, stu_*** varchar(2
)check
(stu_*** 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
and100
)-- 成績 0-100之間;
);
3.建立copy_emp,要求格式同emp表完全一樣,不包含資料。
4.建立copy_dept,要求格式同dept表完全一樣,不包含資料。
5.設定copy_emp 表中外鍵deptno,參照copy_dept中deptno,語句能否成功,為什麼?
6.追加copy_dept表中主鍵deptno
第十四章約束
約束 constraint 是一種保證資料完整性的規則。約束設定在單個字段或者多個字段組合上,寫入這些欄位的行資料必須要符合約束的規則 約束的五種型別 not null 非空約束,指定某列的所有行資料不能包含空值 unique 唯一性約束,指定列或者列的組合的所有行資料必須唯一 primary ke...
第十四章 集合
1.集合 把個數不定的物件一起帶著走 集合是乙個存放任意數量的引用的物件的容器 多個物件放在另乙個物件中,此物件可成為乙個集合物件 注意 如果集合物件建立時不指定泛型,則在當前集合中可以存放任意型別的物件 包括 collection list set map list 介面的實現類有arraylis...
C 《C Primer 》第十四章
可以被過載 不可以被過載 new new delete delete 是否是成員函式 ostream operator ostream os,const item istream operator istream is,data item class strvec const std string ...