《數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)報(bào)告》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)報(bào)告(4頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)報(bào)告 - 實(shí)驗(yàn)報(bào)告 - 數(shù)據(jù)庫(kù)上機(jī)實(shí)驗(yàn)報(bào)告1/2試驗(yàn)內(nèi)容 1、 數(shù)據(jù)表的建立 基本表簡(jiǎn)單的帶有主鍵 帶有外碼約束的(外碼來(lái)自其他表或者本表) 2、 數(shù)據(jù)表的修改 添加刪除列 修改列屬性類型 添加刪除約束(約束名) 元組的添加,修改,刪除 刪除數(shù)據(jù)表 試驗(yàn)過程 1、create table student ( sno char(9) primary key , /*sno是主碼 列級(jí)完整性約束條件*/ sname char(20) unique, /*sname取唯一值*/ ssex char(2), sage smallint, /*類型為smallint*/ sdept cha
2、r(20) /*所在系*/ ); create table course ( cno char(4) primary key, /*列級(jí)完整性約束條件,cno是主碼*/ cname char(40), cpno char(4), /*cpno的含義是先行課*/ ccredit smallint, foreign key (cpno) references course(cno) /*表級(jí)完整性約束條件,cpno是外碼,被參照表是course,被參照列是cno*/ ); create table sc ( sno char(9), cno char(4), grade smallint, pri
3、mary key (sno,cno), /*主碼有兩個(gè)屬性構(gòu)成,必須作為表級(jí)完整性進(jìn)行定義*/ foreign key (sno) references student(sno), /*表級(jí)完整性約束條件,sno是外碼,被參照表是student*/ foreign key (cno) references course(cno), /*表級(jí)完整性約束條件,cno是外碼,被參照表示course*/ ); 例1、create table s ( cno varchar(3), /*變長(zhǎng)的字符串,輸入2個(gè)字符就是兩個(gè)字符不會(huì)補(bǔ)空格*/ sname varchar(20), status int, c
4、ity 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_
5、jno primary key(jno) /*約束條件的名字為pk_jno*/ ); 例2、create table spj ( sno varchar(3), /*第一個(gè)表中的主碼*/ pno varchar(3), jno varchar(3), qty int, /*數(shù)量*/ constraint pk_spj primary key(sno,pno,jno), /*主碼由3個(gè)屬性組成*/ foreign key(sno) references s(sno), /*表級(jí)完整性約束條件,sno是外碼,被參照表是s*/ foreign key(pno) references p(pno),
6、/*表級(jí)完整性約束條件,pno是外碼,被參照表是p*/ foreign key(jno) references j(jno), /*表級(jí)完整性約束條件,jno是外碼,被參照表是j*/ ); 2、數(shù)據(jù)表的更改 在s表中添加一個(gè)concat 列 alter table s add concat varchar(20) 在s表中刪除concat 列 alter table s drop column concat 更改s表 concat列的屬性 把長(zhǎng)度由20改為30 alter table s alter column concat varchar(30) 聯(lián)系方式 名字為concat 修改屬性為唯
7、一的 屬性名為con_concat alter table s add constraint con_concat unique(concat) 刪除約束關(guān)系con_concat alter table s drop constraint con_concat /*插入一個(gè)元組*/ insert into s valus(s1,精益,20,天津) /*20不能寫成20*/ 試驗(yàn)中的問題的排除與總結(jié): 1、在創(chuàng)建spj時(shí) 有三個(gè)實(shí)體所以從3個(gè)實(shí)體中取主碼,還有一個(gè)數(shù)量屬性也要寫上 主碼由那3個(gè)主碼確定 2、更改一個(gè)數(shù)據(jù)庫(kù)中數(shù)據(jù)表時(shí)一定要先使該數(shù)據(jù)庫(kù)處于正在使用狀態(tài) 3、constraint 是可
8、選關(guān)鍵字,表示 primary key、not null、unique、foreign key 或 check 約束定義的開始。約束是特殊屬性,用于強(qiáng)制數(shù)據(jù)完整性并可以為表及其列創(chuàng)建索引。 4、-go可以不加但是要注意順序 注:go -注釋 提示錯(cuò)誤 5、注意添加一個(gè)空元素用 null 附 sql備份 -創(chuàng)建一個(gè)數(shù)據(jù)庫(kù) student create database student go -在數(shù)據(jù)庫(kù)student中創(chuàng)建表student course sc 注意順序 use student - create table student ( sno char(9) primary key, /*sno是主碼 列級(jí)完整性約束條件*/ sname char(10) unique, /*sname取唯一值*/ ssex char(2), sage smallint, /*類型為smallint*/ sdept char(20) /*所在系*/ ); /*;要加*/ -第 4 頁(yè) 共 4 頁(yè)