資料庫上機實驗報告
資料庫上機實驗報告
試驗內容
1、 資料表的建立
基本表《簡單的》帶有主鍵
帶有外碼約束的
2、 資料表的修改
增加移除列
修改列屬性類型
增加移除約束
元組的增加,修改,移除
移除資料表
試驗過程
1、create table student
primary key , /*sno是主碼 列級完整性約束條件*/
sname char unique, /*sname取唯一值*/
ssex char,
sage smallint, /*類型為smallint*/
sdept char /*所在系*/
);
create table course
primary key, /*列級完整性約束條件,cno是主碼*/
cname char,
cpno char, /*cpno的含義是先行課*/
ccredit smallint,
foreign key references course
/*表級完整性約束條件,cpno是外碼,被參照表是course,被參照列是cno*/
);
create table sc
,
cno char,
grade smallint,
primary key ,
/*主碼有兩個屬性構成,必須作為表級完整性進行定義*/
foreign key references student,
/*表級完整性約束條件,sno是外碼,被參照表是student*/
foreign key references course,
/*表級完整性約束條件,cno是外碼,被參照表示course*/
);
例1、create table s
, /*變長的字元串,輸入2個字元就是兩個字元不會補空格*/
sname varchar,
status int,
city varchar,
constraint pk_sno primary key, /*約束條件的名字為pk_sno*/
);
create table p
,
pname varchar,
color varchar,
weight int,
constraint pk_pno primary key , /*約束條件的名字是pk_pno*/
);
create table j
,
jname varchar,
city varchar,
constraint pk_jno primary key /*約束條件的名字為pk_jno*/
);
例2、create table spj
, /*第一個表中的主碼*/
pno varchar,
jno varchar,
qty int, /*數量*/
constraint pk_spj primary key, /*主碼由3個屬性組成*/
foreign key references s,
/*表級完整性約束條件,sno是外碼,被參照表是s*/
foreign key references p,
/*表級完整性約束條件,pno是外碼,被參照表是p*/
foreign key references j,
/*表級完整性約束條件,jno是外碼,被參照表是j*/
);
2、資料表的變更
在s表中增加一個concat 列
alter table s add concat varchar
在s表中移除concat 列
alter table s drop column concat
變更s表 concat列的屬性 把長度由20改為30
alter table s alter column concat varchar
聯系方式 名字為concat 修改屬性為唯一的 屬性名為con_concat
alter table s add constraint con_concat unique
移除約束關系con_concat
alter table s drop constraint con_concat
/*插入一個元組*/
insert into s valus /*20不能寫成』20』*/
試驗中的問題的排除與總結:
1、在建立spj時
有三個實體所以從3個實體中取主碼,還有一個數量屬性也要寫上
主碼由那3個主碼確定
2、變更一個資料庫中資料表時一定要先使該資料庫處於正在使用狀態
3、constraint
是可選關鍵字,表示 primary key、not null、unique、foreign key 或 check 約束定義的開始。約束是特殊屬性,用於強製資料完整性並可以為表及其列建立索引。
4、--go可以不加但是要註意順序 註:go --註解 提示錯誤
5、註意增加一個空元素用 null
附 sql備份
--建立一個資料庫 student
create database student
go
--在資料庫student中建立表student course sc 註意順序
use student
----------------------------------------------------------------
create table student
primary key, /*sno是主碼 列級完整性約束條件*/
sname char unique, /*sname取唯一值*/
ssex char,
sage smallint, /*類型為smallint*/
sdept char /*所在系*/
); /*;要加*/
-----------
試驗內容
1、 資料表的建立
基本表《簡單的》帶有主鍵
帶有外碼約束的
2、 資料表的修改
增加移除列
修改列屬性類型
增加移除約束
元組的增加,修改,移除
移除資料表
試驗過程
1、create table student
primary key , /*sno是主碼 列級完整性約束條件*/
sname char unique, /*sname取唯一值*/
ssex char,
sage smallint, /*類型為smallint*/
sdept char /*所在系*/
);
create table course
primary key, /*列級完整性約束條件,cno是主碼*/
cname char,
cpno char, /*cpno的含義是先行課*/
ccredit smallint,
foreign key references course
/*表級完整性約束條件,cpno是外碼,被參照表是course,被參照列是cno*/
);
create table sc
,
cno char,
grade smallint,
primary key ,
/*主碼有兩個屬性構成,必須作為表級完整性進行定義*/
foreign key references student,
/*表級完整性約束條件,sno是外碼,被參照表是student*/
foreign key references course,
/*表級完整性約束條件,cno是外碼,被參照表示course*/
);
例1、create table s
, /*變長的字元串,輸入2個字元就是兩個字元不會補空格*/
sname varchar,
status int,
city varchar,
constraint pk_sno primary key, /*約束條件的名字為pk_sno*/
);
create table p
,
pname varchar,
color varchar,
weight int,
constraint pk_pno primary key , /*約束條件的名字是pk_pno*/
);
create table j
,
jname varchar,
city varchar,
constraint pk_jno primary key /*約束條件的名字為pk_jno*/
);
例2、create table spj
, /*第一個表中的主碼*/
pno varchar,
jno varchar,
qty int, /*數量*/
constraint pk_spj primary key, /*主碼由3個屬性組成*/
foreign key references s,
/*表級完整性約束條件,sno是外碼,被參照表是s*/
foreign key references p,
/*表級完整性約束條件,pno是外碼,被參照表是p*/
foreign key references j,
/*表級完整性約束條件,jno是外碼,被參照表是j*/
);
2、資料表的變更
在s表中增加一個concat 列
alter table s add concat varchar
在s表中移除concat 列
alter table s drop column concat
變更s表 concat列的屬性 把長度由20改為30
alter table s alter column concat varchar
聯系方式 名字為concat 修改屬性為唯一的 屬性名為con_concat
alter table s add constraint con_concat unique
移除約束關系con_concat
alter table s drop constraint con_concat
/*插入一個元組*/
insert into s valus /*20不能寫成』20』*/
試驗中的問題的排除與總結:
1、在建立spj時
有三個實體所以從3個實體中取主碼,還有一個數量屬性也要寫上
主碼由那3個主碼確定
2、變更一個資料庫中資料表時一定要先使該資料庫處於正在使用狀態
3、constraint
是可選關鍵字,表示 primary key、not null、unique、foreign key 或 check 約束定義的開始。約束是特殊屬性,用於強製資料完整性並可以為表及其列建立索引。
4、--go可以不加但是要註意順序 註:go --註解 提示錯誤
5、註意增加一個空元素用 null
附 sql備份
--建立一個資料庫 student
create database student
go
--在資料庫student中建立表student course sc 註意順序
use student
----------------------------------------------------------------
create table student
primary key, /*sno是主碼 列級完整性約束條件*/
sname char unique, /*sname取唯一值*/
ssex char,
sage smallint, /*類型為smallint*/
sdept char /*所在系*/
); /*;要加*/
-----------
1 2