实验三 数据库完整性技术
【实验目的】
1、掌握完整性的概念;
2、熟悉MySQL的完整性技术。
3、了解MySQL的违反完整性处理措施。
【实验性质】 验证性实验
【实验学时】2H
【实验内容】
写出完整、详尽的SQL语句,根据实验记录结果并总结。(空位不够请自行续页)
一、定义完整性。(5分)
/*创建表s、p、j、spj*/
定义s表; sno主码,sname非空、city缺省值
定义p表; pno主码,pname非空、color只能取红、蓝、绿
定义j表; jno主码, jname非空
定义spj表; (sno,pno,jno)主码,参照sno、pno、jno外码
create table s(
sno char(2) PRIMARY KEY,
sname varchar(6) NOT NULL,
status int,
city varchar(6) DEFAULT '天津'
);
create table p(
pno char(2) PRIMARY KEY,
pname varchar(6) NOT NULL,
color enum('红','蓝','绿'),
weight int
);
create table j(
jno char(2) PRIMARY KEY,
jname varchar(8) NOT NULL,
city varchar(6)
);
create table spj(
sno char(2),
pno char(2),
jno char(2),
qty int,
PRIMARY KEY (sno,pno,jno),
CONSTRAINT fk_spj_sno FOREIGN KEY (sno) REFERENCES s(sno),
CONSTRAINT fk_spj_pno FOREIGN KEY (pno) REFERENCES p(pno),
CONSTRAINT fk_spj_jno FOREIGN KEY (jno) REFERENCES j(jno)
);
二、插入合乎约束的数据。(5分)
in