- 在Oracle Database XE 的SQL命令窗口中,使用SQL语言定义Student表,该表的结构描述如下:
表3.1 Student表结构
列名 数据类型 是否为空 约束
Sno CHAR(9) 否 该列为主码
Sname VARCHAR2(10) 否
Ssex CHAR(4) 否 要求性别只能为男或女
Sage NUMBER(2) 否 年龄限制在16到25之间(包含)
Sdept CHAR(4) 可以
注意,主码的定义和约束条件的定义。
2. 在SQL*Plus环境下,使用SQL语言定义Course表,该表的结构描述如下:
表3.2 Course表结构
列名 数据类型 是否为空 约束
Cno CHAR(2) 否 该列为主码
Cname CHAR(14) 否
Cpno CHAR(2) 是 该列为外码
CCredit NUMBER(1) 否
注意,要将Cno定义为主码,Cpno定义为外码。
3. 在SQL*Plus环境下,使用SQL语言定义Course表,该表的结构描述如下:
表3.3 SC表结构
列名 数据类型 是否为空 约束
Sno CHAR(9) 否 该列为外码
Cno CHAR(2) 否 该列为外码
Grade NUMBER(3) 是
注意,该表的主码为Sno和Cno的组合,同时Sno和Cno都是外码。要求定义表时定义这些主码和外码。
4. 插入数据
使用INSERT语句将下面三个表中的数据插入到相应的表中。可以使用SELECT语句查看表中的数据。
表3.4 Student表数据
Sno Sname Ssex Sage Sdept
200215121 李勇 男 20 CS
200215122 刘晨 女 19 IS
200215123 王敏 女 18 MA
200215125 张立 男 19 IS
表3.5 Course表数据
Cno Cname Cpno Ccredit
1 数据库 5 4
2 数学 2
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理 2
7 PASCAL语言 6 4
表3.6 SC表数据
Sno Cno Grade
200215121 1 92
200215121 2 85
200215121 3 88
200215122 2 90
200215122 3 80
200215123 4 87
200215123 5 92
- 使用ALTER TABLE 语句修改Student表为其增加一个BirthDay列,类型为DATE。