数据库上机实验报告
试验内容
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),