解答例 - 実習課題1 - 3.テーブルの操作
(実習課題1)
表 3-1 に示す列を持ったテーブル employee を定義する SQL 文を書きなさい。それぞれの列のデータ型等の情報は表 3-2 に、制約は表 3-3 に示すとおりである。
表 3-1: テーブル employee
e_num |
e_name |
year |
gender |
office |
表 3-2: 社員テーブルのデータ型など
列名 |
説明 |
e_num |
従業員ナンバー、固定長文字列、文字列の長さ 4、主キー |
e_name |
従業員名、可変長文字列、最大文字列の長さ 40 |
year |
入社年、整数型 |
gender |
性別、固定長文字列('0','1')、文字列の長さ 1 |
office |
所属営業所番号、固定長文字列、文字列の長さ 2 |
表 3-3: 制約
列名 |
制約 |
e_name |
NOT NULL 制約 |
year |
データの入力時に、1970 より小さい値は受け付けない |
gender |
データの入力時に、'0' または '1' 以外の値は受け付けない |
解答例
CREATE TABLE employee
(
e_num CHAR(4) PRIMARY KEY ,
e_name VARCHAR(40) NOT NULL ,
year INTEGER CHECK(year >= 1970) ,
gender CHAR(1) CHECK(gender = '0' OR gender = '1') ,
office CHAR(2)
);