参考答案:task01

参考答案公布如下:

1.1

CREATE TABLE Addressbook
 (
   regist_no        INTEGER          NOT NULL,
   name             VARCHAR(128)     NOT NULL,
   address          VARCHAR(256)     NOT NULL,
   tel_no           CHAR(10)     ,
   mail_address     CHAR(20)     ,
   PRIMARY KEY (regist_no));

1.2

-- [Oracle]
ALTER TABLE Addressbook ADD (postal_code CHAR(8)) NOT NULL;

-- [SQL Server]
ALTER TABLE Addressbook ADD postal_code CHAR(8) NOT NULL;

/*
 [DB2] 无法添加。
 在DB2中,如果要为添加的列设定NOT NULL约束,
 需要像下面这样指定默认值,或者删除NOT NULL约束,
 否则就无法添加新列。

*/
-- [DB2 修正版]
ALTER TABLE Addressbook ADD COLUMN postal_code CHAR(8) NOT NULL DEFAULT '0000-000';

1.3

DROP TALBE Addressbook;

1.4

删除后的表无法使用命令进行恢复(不使用辅助工具的情况下),请使用习题1.1答案中的 CREATE TABLE 语句再次创建所需的表。