--一、定义完整性
--创建s表
--定义s表; sno主码,sname非空、city缺省值
create table S
(
Sno char(2),
Sname varchar2(10),
City char(6) default null,
primary key(Sno)
);
--创建p表
--定义p表; pno主码,pname非空、color只能取红、蓝、绿
create table P
(
Pno char(2),
Pname varchar2(12) not null,
Color char(3) check(Color in('红','蓝','绿')),
primary key(Pno)
);
--创建j表
--定义j表; jno主码, jname非空
create table J
(
Jno char(2),
Jname varchar2(15) not null,
primary key(Jno)
);
--创建spj表
--定义spj表; (sno,pno,jno)主码,参照sno、pno、jno外码,qty介于0—1000
create table SPJ
(
Sno char(2),
Pno char(2),
Jno char(2),
Qty int check(Qty between 0 and 1000),
primary key(Sno,Pno,Jno),
foreign key(Sno) references S(Sno),
foreign key(Pno) references P(Pno),
foreign key(Jno) references J(Jno)
);
--创建可以级联删除的SPJ表
create table SPJ
(
Sno char(2),
Pno char(2),
Jno char(2),
Qty int constraint C1 check(Qty between 0 and 1000),
constraint SPJKey primary key(Sno,Pno,Jno),
constraint FK_Sno foreign key(Sno) references S(Sno) on delete cascade,
constraint FK_Pno foreign key(Pno) references P(Pno) on delete cascade,
constraint FK_Jno foreign key(Jno) references J(Jno) on delete cascade
);
--删除S表
drop table S;
--删除P表
drop table P;
--产出J表
drop table J;
--删除SPJ表
drop table SPJ;
二、插入数据
--插入合乎约束的数据
--向S表中插入数据
insert
into S(Sno,Sname,City)
values('S1','竟仪','天津');
insert
into S(Sno,Sname,City)
values('S2','盛锡','北京');
insert
into S(Sno,Sname,City)
values('S3','东方红','北京');
insert
into S(Sno,Sname,City)
values('S4','丰泰盛',
数据库完整性
最新推荐文章于 2024-04-05 16:33:23 发布
本文深入探讨了数据库完整性的重要性,介绍了实体完整性、参照完整性和用户定义的完整性三大原则,并结合实际案例阐述如何在数据库设计中实施这些完整性约束,确保数据的准确性和一致性。
摘要由CSDN通过智能技术生成