Oracle数据库教程:创建表时定义约束详解

需积分: 31 1 下载量 198 浏览量 更新于2024-08-26 收藏 4.17MB PPT 举报
"这篇讲义主要讲解了在Oracle数据库中如何创建表时定义约束,包括在创建表的同时创建约束、建表后创建约束,以及列级和表级约束的定义。此外,还提到了通过数据字典表查看约束的操作,如增加和解除约束的SQL语句。讲义涵盖了一系列Oracle基础内容,从Oracle简介到数据库日常维护。" 在Oracle数据库中,创建表时定义约束是确保数据完整性和一致性的关键操作。在给出的示例中,`CREATE TABLE`语句用于创建一个名为`hr.employee`的表,其中包含了几个约束定义: 1. `id`列被定义为`NUMBER(7)`类型,并添加了`CONSTRAINT employee_id_pk PRIMARY KEY`约束,这表明`id`是表的主键,确保每条记录的ID都是唯一的。`DEFERRABLE`选项表示约束的检查可以在稍后的时间进行,而非立即。`USING INDEX`指定了索引的存储参数,`STORAGE(INITIAL 100K NEXT 100K)`设置初始和后续的索引块大小,`TABLESPACE indx`指定了索引存储的表空间。 2. `last_name`列使用`VARCHAR2(25)`类型,并带有`CONSTRAINT employee_last_name_nn NOT NULL`约束,确保`last_name`列不允许为空。 3. `dept_id`列虽未定义约束,但通常可能会有外键约束,关联到另一个表的主键,以保持部门ID的参照完整性。 约束可以在创建表的同时定义,也可以在表创建后通过`ALTER TABLE`语句添加。例如,增加约束的语句是`ALTER TABLE 表名 ADD CONSTRAINT [约束名] 约束(字段)`,解除约束(删除约束)则使用`ALTER TABLE 表名 DROP 约束`,删除主键约束的语句是`ALTER TABLE 表名 DROP PRIMARY KEY`。 讲义中还提到了Oracle的发展历程,从1977年的第一版到后续的各个版本,每个版本都引入了新的特性和改进,如1984年的第四版增加了读一致性,1985年的第五版加入了SQL*NET的C/S结构,使得远程访问数据库成为可能,1992年的第七版引入了SQL*DBA角色和权限管理,进一步增强了数据库的管理功能。 整个讲义覆盖了Oracle的多个基础知识点,从安装、网络管理、SQL基础到数据库维护,对于学习和理解Oracle数据库的使用和管理具有重要的指导意义。