L05_Oracle数据库编程_QUST.pdf
《L05_Oracle数据库编程_QUST.pdf》由会员分享,可在线阅读,更多相关《L05_Oracle数据库编程_QUST.pdf(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据定义语句SQL数据定义功能 模式定义、表定义、视图和索引的定义对 象创建修改删除模式CREATESCHEMADROPSCHEMA表CREATETABLEALTERTABLEDROPTABLE视图CREATEVIEWALTERVIEWDROPVIEW索引CREATEINDEXALTERINDEXDROPINDEX定义模式定义模式定义模式(schema,也称架构、方案)实际上定义了一个逻辑命名空间在这个空间中可以定义该模式包含的数据库对象,例如基本表、视图、索引等CREATESCHEMAAUTHORIZATION 如果没有指定,则隐含为 执行创建架构语句的用户必须具有管理员权限,或CREATE
2、SCHEMA权限定义模式 为用户“ZHANG”定义一个架构,架构名为“S_C”CREATESCHEMAS_CAUTHORIZATIONZHANG;定义一个用隐含名字的架构 CREATESCHEMAAUTHORIZATIONZHANG;在定义架构的同时定义表 CREATESCHEMATESTAUTHORIZATIONZHANGCREATETABLET1(C1INT,C2CHAR(10);定义模式 Oracle中虽然有createschema语句,但是它并不是用来创建一个schema的 Oracle数据库中不能新创建一个schema,要想创建一个schema,只能通过创建一个用户的方法解决 在创建
3、一个用户的同时为这个用户创建一个与用户名同名的schema并作为该用户的缺省schema schema名字同user名字对应并且相同删除模式DROPSCHEMA|CASCADE:删除架构的同时将该架构中所有的对象一起删除 RESTRICT:如果被删除的架构中包含对象,则拒绝删除此架构定义基本表定义基本表 CREATETABLE(,);如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级也可以定义在表级定义基本表 建立“学生”表Student,学号是主码,姓名取值唯一CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,/*列级完整性约束条
4、件*/Sname CHAR(20)UNIQUE,/*Sname取唯一值*/SsexCHAR(2)NOTNULL,/*非空*/SageSMALLINT,Sdept CHAR(20);定义基本表 建立“学生”表Student,学号是主码,姓名取值唯一定义基本表 UNIQUE和 PRIMARYKEY 都是强制唯一性,但在强制下面的唯一性时应使用UNIQUE约束(而不是PRIMARYKEY)约束)非主键的一列或列组合,一个表可以定义多个UNIQUE约束,而只能定义一个PRIMARYKEY约束 允许空值的列,允许空值的列上可以定义UNIQUE约束,而不能定义PRIMARYKEY约束 FOREIGNKEY
5、约束也可引用UNIQUE约束定义基本表 完整性约束 NOTNULL:限制列取值非空 DEFAULT:给定列的默认值 UNIQUE:限制列取值不重 CHECK:限制列的取值范围 PRIMARYKEY:指定本列为主键 FOREIGNKEY:定义本列为引用其他表的外键定义基本表 建立一个“课程”表Course CREATETABLECourse(CnoCHAR(4)PRIMARYKEY,Cname CHAR(40),CpnoCHAR(4),Ccredit SMALLINT,FOREIGNKEY(Cpno)REFERENCESCourse(Cno);先修课Cpno是外码被参照表是Course,被参照列
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- L05_Oracle 数据库 编程 _QUST
限制150内