对于以下关系模式:
Teacher(tno ,
tname ,tage,tsex,title)
project(pno,pname, tno,classify)
work(tno,pno,pt)
其中teacher为教师关系,tno为教师编号,tname为教师名,tage为年龄tsex为性别,title为教师的职称;
project为项目关系,pno为项目号pname为项目名,tno为负责人教师编号,classify为项目分类;
work为参与关系,pt为某个教师在参与某个项目的工作量。
针对上面数据库利用sql语句完成以下操作。
1)定义teacher表,声明主码
CREATE TABLE teacher
( tno CHAR(8) PRIMARY KEY,/* 列级完整性约束条件*/
tname CHAR(8) , /* tname按姓名的拼音长度定义*/
tage SMALLINT,
tsex CHAR(2),
title CHAR(6)
);
2)定义project表,声明主码,定义tno为外码
CREATE
TABLE project
( pno CHAR(10) PRIMARY KEY,
pname CHAR(40),
tno CHAR(8) ,
classify CHAR(10),
FOREIGN KEY (tno) REFERENCES teacher(tno)
);
3)定义work表,定义主外码
CREATE TABLE work
(
tno CHAR(8),
pno CHAR(10),
pt SMALLINT,
PRIMARY KEY(tno,pno),
FOREIGN KEY (tno) REFERENCES teacher(tno),
FOREIGN KEY (pno) REFERENCES project(pno)
);
4)定义teacher表的title为唯一索引
CREATE UNIQUE INDEX teacher-title ON teacher(title);
5)修改teacher的title的数据类型为字符型长度为20
ALTER TABLE teacher ALTER COLUMN tilte char(20);
6)给teacher表增加字段dept,数据类型为char(30)
ALTER TABLE teacher ADD dept char(30);
7)删除teacher的dept字段
ALTER TABLE teacher DROP COLUMN dept CASCADE;
8)删除work表
DROP TABLE work [RESTRICT | CASCADE];