oracle数据库技术第8讲模式对象.pptVIP

  • 5
  • 0
  • 约1.08万字
  • 约 231页
  • 2017-04-27 发布于四川
  • 举报
oracle数据库技术第8讲模式对象

第八讲 模式对象;本讲内容;模式是指一系列逻辑数据结构或对象的集合。 模式与用户相对应,一个模式只能被一个数据库用户所拥有,并且模式名称与拥有用户的名称相同。 用户所创建数据库对象都保存在与同名模式中。 同一模式中数据库对象的名称必须惟一,而在不同模式中的数据库对象可以同名。 默认情况下,用户引用的对象是与同名模式中的对象,如果要引用其他模式中的对象,需要在该对象名之前指明对象所属模式。 ;模式选择与切换 如果用户以NORMAL身份登录,则进入同名模式; 若以SYSDBA身份登录,则进入SYS模式; 如果以SYSOPER身份登录,则进入PUBLIC模式。;2 表;2.1 创建表;2.1.1 表的创建;2.1.1 表的创建;2.1.1 表的创建;表名(table_name) 必须是合法标识符 数据类型(datatype) 字符类型 数字类型 日期类型 LOB类型 二进制类型 行类型 ;2.1.1 表的创建;CHAR(n):定长字符串,n的???值范围为1-2000字节 VARCHAR2(n):可变字符串,n取值范围为1-4000字节 NCHAR(n):用来存储Unicode类型字符串。 NVARCHAR2(n) :它用来存储Unicode类型字符串。 LONG:可变长字符列,最大长度为2GB;数字类型;日期类型;日期类型;日期类型;日期类型;LOB类型;二进制类型 ;行类型;2.1.2 创建临时表 ;2.1.2 创建临时表;2.1.2 创建临时表;2.1.2 创建临时表;2.1.3 利用子查询创建表 ;2.1.3 利用子查询创建表;2.1.3 利用子查询创建表;2.1.3 利用子查询创建表;2.2 表约束;2.2.1 约束的类别 ;2.2.1 约束的类别;PRIMARY KEY;UNIQUE;在一个基本表中只能定义一个PRIMARY KEY约束,但可定义多个UNIQUE约束; 对于指定为PRIMARY KEY的一个列或多个列的组合,其中任何一个列都不能出现空值,而对于UNIQUE所约束的唯一键,则允许为空。 不能为同一个列或一组列既定义UNIQUE约束,又定义PRIMARY KEY约束。;CHECK ;概念 FOREIGN KEY约束指定某一个列或一组列作为外部键。 系统保证从表在外部键上的取值要么是主表中某一个主键值或唯一键值,要么取空值。 保证两个表之间的连接,确保了实体的参照完整性。;特点 定义外键约束的列的取值要么是主表参照列的值,要么为空; 外键列只能参照于主表中的主键约束列或惟一性约束列; 可以在一列或多列组合上定义外键约束; 外键约束可以是列级约束,也可以是表级约束。;NULL/NOT NULL ;2.2.2 定义约束;定义列级约束的语法为: [CONSTRAINT constraint_name] constraint_type [conditioin]; 定义表级约束的语法为: [CONSTRAINT constraint_name] constraint_type([column1_name, column2_name,…]|[condition]); 注意 Oracle约束通过名称进行标识。在定义时可以通过CONSTRAINT关键字为约束命名。如果用户没有为约束命名,Oracle将自动为约束命名。 ;创建一个student表。 CREATE TABLE student( sno NUMBER(6) CONSTRAINT S_PK PRIMARY KEY, sname VARCHAR2(10) NOT NULL, sex CHAR(2) CONSTRAINT S_CK1 CHECK(sex in(M, F)), sage NUMBER(6,2), CONSTRAINT S_CK2 CHECK( sage between 18 and 60) );;2.2.2 定义约束;2.2.2 定义约束;定义列级FOREIGN KEY约束 [CONSTRAINT constraint_name] [FOREIGN KEY] REFERENCES ref_table_name (column_name,…);2.2.2 定义约束;ON DELETE CASCADE 删除子表中所有相关记录 ON DELETE SET NULL 将子表中相关记录的外键约束列值设置为NULL ON DELETE RESTRICTED 受限删除,即如果子

文档评论(0)

1亿VIP精品文档

相关文档