資料庫上機實驗報告
試驗內容
1、 數據表的建立
基本表《簡單的》帶有主鍵
帶有外碼約束的(外碼來自其他表或者本表)
2、 數據表的修改
添加刪除列
修改列屬性類型
添加刪除約束(約束名)
元組的添加,修改,刪除
刪除數據表
試驗過程
1、create table student
(
sno char(9) primary key , /*sno是主碼 列級完整性約束條件*/
sname char(20) unique, /*sname取唯一值*/
ssex char(2),
sage smallint, /*類型為smallint*/
sdept char(20) /*所在系*/
);
create table course
(
cno char(4) primary key, /*列級完整性約束條件,cno是主碼*/
cname char(40),
cpno char(4), /*cpno的含義是先行課*/
ccredit smallint,
foreign key (cpno) references course(cno)
/*表級完整性約束條件,cpno是外碼,被參照表是course,被參照列是cno*/
);
create table sc
(
sno char(9),
cno char(4),
grade smallint,
primary key (sno,cno),
/*主碼有兩個屬性構成,必須作為表級完整性進行定義*/
foreign key (sno) references student(sno),
/*表級完整性約束條件,sno是外碼,被參照表是student*/
foreign key (cno) references course(cno),
/*表級完整性約束條件,cno是外碼,被參照表示course*/
);
例1、create table s
(
cno varchar(3), /*變長的字元串,輸入2個字元就是兩個字元不會補空格*/
sname varchar(20),
status int,
city varchar(20),
constraint pk_sno primary key(sno), /*約束條件的名字為pk_sno*/
);
create table p
(
pno varchar(3),
pname varchar(20),
color varchar(3),
weight int,
constraint pk_pno primary key (pno), /*約束條件的名字是pk_pno*/
);
create table j
(
jno varchar(3),
jname varchar(20),
city varchar(20),
constraint pk_jno primary key(jno) /*約束條件的名字為pk_jno*/
);
例2、create table spj
(
sno varchar(3), /*第一個表中的主碼*/
pno varchar(3),
jno varchar(3),
qty int, /*數量*/
constraint pk_spj primary key(sno,pno,jno), /*主碼由3個屬性組成*/
foreign key(sno) references s(sno),
/*表級完整性約束條件,sno是外碼,被參照表是s*/
foreign key(pno) references p(pno),
/*表級完整性約束條件,pno是外碼,被參照表是p*/
foreign key(jno) references j(jno),