数据定义
分为四个定义:模式(SCHEMA)定义、表(TABLE)定义、视图定义、索引定义
操作的方式:创建(CREATE)、删除(DROP)、修改(ALTER),在每种定义前前加上相应操作的关键字,而后加上定义关键字
模式的定义与删除
定义模式
CREATE SCHEMA <模式名> AUTHORIZATION <用户名>;//实际书写时不用写<>
eg.为用户WANG定义一个学生-课程模式S-T.
CREATE SCHEMA S-T AUTHORIZATION WANG;//AUTHORIZATION意为指定权限
定义时,模式名可有可无,当不写模式名时,用户名即为模式名
- 建立模式的过程中,同时可以接受在模式的下面建立表、建立试图格式:
CREATE SCHEMA <模式名> AUTHORIZATION <用户名>[<定义表子句>|<视图定义子句>|<授权定义子句>];
eg.为用户ZHANG创建一个模式TEST,并在其中定义一个表TAB1。
CREATE SCHEMAAUTHORIZATION ZHANG
CREATE TABLE TAB1(。。。。。。。。。。)
执行操作时,必须拥有DBA(管理员)权限,就是管理员或被授权者,即DBA在CREATE SCHEMA中授权
删除摸式
格式:DROP SCHEMA <模式名> <CASCADE|RESTRICT>;
1.CASCADE\RESTRICT必须二选一
2.CASCADE(级联):删除模式同时把该模式中的所有数据一起删除
3.RESTRICT(限制):模式下存在数据,拒绝该删除语句执行,直接报错。那么就必须将下面的数据先删除,而后再删除模式
eg.DROP SCHEMA ZHANG CASCADE;
表的定义与删除
定义基本表
eg.
说明:
一个汉字两个字符;PRIMARY KEY(主键),设定主码;UNIQUE设定“唯一”;书写格式,下方列级设定用括号括起来,每个属性设定完了用逗号分隔,最后整体结束用;结尾
注意:
REFERENCES意为参照谁
其中Cpno是参照Cno的,就是说先导课也必须是来自于所有课程里的,这就是一种参照关系。
那么我们称Cpno是外码(外键),被参照表是Course,被参照列是Cno
eg.建立一个“学生选课”表SC
当要设定两个主码使,就不可以像上面那样书写,要统一集中在下面书写。
外码:就是,你要创建一个表,并且连带创建了一部分属性,这有的属性是这个表特有的,有的属性是从别的表里的来的,那么,得来的属性就必须参照前面的表,而这个属性,就是外码。必须定义,定义格式:FOREIGN KEY (属性) REFERENCES 参照表名(参照属性名)