第三章:SQL——>基本表的定义、删除与修改

对于以下关系模式:
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     SMALLINTPRIMARY 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,数据类型为char30ALTER TABLE  teacher ADD dept char(30);

7)删除teacher的dept字段

ALTER  TABLE teacher DROP COLUMN dept CASCADE;

8)删除workDROP  TABLE  work [RESTRICT | CASCADE];
发布了28 篇原创文章 · 获赞 13 · 访问量 455

猜你喜欢

转载自blog.csdn.net/yo_u_niverse/article/details/105454024