資料庫上機實驗報告

資料庫上機實驗報告

試驗內容 

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),