收藏 分享(赏)

第11次课_数据库的主要对象.ppt

上传人:s36f12 文档编号:7901655 上传时间:2019-05-29 格式:PPT 页数:37 大小:269KB
下载 相关 举报
第11次课_数据库的主要对象.ppt_第1页
第1页 / 共37页
第11次课_数据库的主要对象.ppt_第2页
第2页 / 共37页
第11次课_数据库的主要对象.ppt_第3页
第3页 / 共37页
第11次课_数据库的主要对象.ppt_第4页
第4页 / 共37页
第11次课_数据库的主要对象.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、第六章,数据库的主要对象,本章要点,管理表 数据字典表 完整性约束条件的使用 管理索引 管理视图 同义词的使用,数据库的对象,对象名称 描述 表 基本的数据存储对象,以行和列的形式存在,列 也就是字段,行也就是记录 数据字典 也就是系统表,存放数据库相关信息的表 约束条件 执行数据校验,保证了数据完整性的 视图 一个或者多个表数据的逻辑显示 索引 用于提高查询的性能 同义词 对象的别名,数据库对象的命名规则,必须以字母开头 可包括数字和三个特殊字符(# _ $) 不要使用oracle的保留字 同一用户下的对象不能同名,建表的语句,为了创建表,你必须具有: 创建表的权限 足够的存储区域标准的建表

2、语法: CREATE TABLE schema.table(column datatype DEFAULT expr , );,数据类型,数据类型 说明 VARCHAR2(size) 可变长字符串 CHAR(size) 定长字符串 NUMBER(p,s) 数字值 DATE 日期值 LONG 变长度的字符串,最大字节数可达2GB CLOB 单位字符串数据最大字节数4G RAW and LONG RAW 存储二进制数据的变长度字符串 BLOB 二进制数据,最大字节数4G BFILE 二进制数据外部存储,最大字节数4G,使用子查询创建表,使用子查询创建表的语法 CREATE TABLE tablec

3、olumn(, column.) AS subquery;新表的字段列表必须与子查询中的字段列表匹配 字段列表可以省略,ALTER TABLE 语句,使用ALTER TABLE 语句可以: 增加字段 修改字段 删除字段ALTER TABLE table ADD (column datatype DEFAULT expr, column datatype.);ALTER TABLE table MODIFY (column datatype DEFAULT expr, column datatype.);ALTER TABLE table DROP (columns);,在表中增加字段,使用 A

4、DD 子句增加字段,新的字段只能被加到整个表的最后ALTER TABLE employees ADD (sex CHAR(1);,修改字段,可修改列的数据类型,大小和默认值ALTER TABLE employees MODIFY (sex number(1);不是任何情况都可以修改的,当字段只包含空值时,类型、大小都可以修改,否则修改可能不能成功,删除字段,可以从表中删除列:ALTER TABLE employees DROP COLUMN sex;从每行中删除掉字段占据的长度和数据,释放在数据块中占用的空间. 删除大表中的字段将需要比较长的时间.,删除表的内容,TRUNCATE TABLE

5、语句 清除表中所有的记录 是DDL语句,不可以回滚 释放表的存储空间 是删除数据的方法之一TRUNCATE TABLE table_name;,删除表,表中所有数据将被删除 没有完成的事务被提交 所有相关的索引被删除 不能回退DROP TABLE table_name;,改变对象名称,使用RENAME语句改变对象名称,可以修改表、视图、序列或者同义词的名称RENAME old_name TO new_name;必须是对象的所有者,在 Oracle 数据库中的表,用户表: 被用户创建和维护的一些表 包括了用户自己的信息 数据字典表: 被Oracle数据库创建和维护的一些表 包括了数据库的信息,数

6、据字典,是每个Oracle数据库的核心 用于描述数据库和它的所有对象 包括了只读的表和视图 被 SYS用户拥有 被 Oracle server维护 用户可以使用 SELECT访问,数据字典的内容,数据字典提供了下列信息: 数据库的物理和逻辑结构 对象的定义和空间分配 完整性约束条件 用户 角色 权限 审计,数据字典分类,主要有三种字典视图: DBA:所有方案包含的对象信息 ALL:用户可以访问的对象信息 USER:用户方案的对象信息,数据字典的例子,通用信息:DICTIONARY 对象信息:DBA_TABLES, DBA_INDEXES, DBA_TAB_COLUMNS, DBA_CONSTR

7、AINTS 空间分配信息:DBA_SEGMENTS, DBA_EXTENTS 数据库结构: DBA_TABLESPACES, DBA_DATA_FILES,查询数据字典,察看被用户用有的表 SELECT table_name FROM user_tables ;察看用户拥有的所有对象类型 SELECT DISTINCT object_type FROM user_objects ;察看所有用户拥有的表 SELECT * FROM dba_tables ;,什么是约束,约束是在表上强制执行的数据校验规则. 当表中数据有相互依赖性时,可以保护相关的数据不被删除. Oracle 支持下面五类完整性约

8、束: NOT NULL 非空 UNIQUE Key 唯一键 PRIMARY KEY 主键 FOREIGN KEY 外键 CHECK 检察,约束概述,Oracle使用SYS_Cn格式命名约束,也可以由用户命名 创建约束的时机 在建表的同时创建 建表后创建 可定义列级或表级约束 有单列约束和多列约束,创建表时创建约束,CREATE TABLE schema.table(column datatype DEFAULT exprcolumn_constraint,table_constraint);CREATE TABLE emp(emp_id NUMBER(3),name VARCHAR2(16),

9、dept_id NUMBER(4) NOT NULL,CONSTRAINT emp_empid_pk PRIMARY KEY (emp_id);,非空约束(NOT NULL),确保字段值不允许为空 只能在字段级定义,非空约束(NOT NULL),CREATE TABLE employees(employee_id NUMBER(6),last_name VARCHAR2(25) NOT NULL,salary NUMBER(8,2),commission_pct NUMBER(2,2),hire_date DATE CONSTRAINT emp_hire_date_nnNOT NULL, ),

10、唯一性约束(UNIQUE),唯一性约束条件确保所在的字段或者字段组合不出现重复值 唯一性约束条件的字段允许出现空值 Oracle将为唯一性约束条件创建对应的唯一性索引,唯一性约束(UNIQUE),CREATE TABLE employees(employee_id NUMBER(6),last_name VARCHAR2(25) NOT NULL,email VARCHAR2(25),salary NUMBER(8,2),commission_pct NUMBER(2,2),hire_date DATE NOT NULL, . CONSTRAINT emp_email_uk UNIQUE(em

11、ail);,主键约束( PRIMARY KEY),主键从功能上看相当于非空且唯一 一个表中只允许一个主键 主键是表中能够唯一确定一个行数据的字段 主键字段可以是单字段或者是多字段的组合 Oracle为主键创建对应的唯一性索引,主键约束( PRIMARY KEY),CREATE TABLE departments(department_id NUMBER(4),department_name VARCHAR2(30) CONSTRAINT dept_name_nn NOT NULL,manager_id NUMBER(6),location_id NUMBER(4),CONSTRAINT dep

12、t_id_pk PRIMARY KEY(department_id);,外键约束( FOREIGN KEY),外键是构建于一个表的两个字段或者两个表的两个字段之间的关系 外键确保了相关的两个字段的两个关系: 子表外键列的值必须在主表参照列值的范围内,或者为空 主表外键值被子表参照时,主表记录不允许被删除 外键参照的是主表的主键或者唯一键,CREATE TABLE employees(employee_id NUMBER(6),last_name VARCHAR2(25) NOT NULL,email VARCHAR2(25),salary NUMBER(8,2),commission_pct

13、NUMBER(2,2),hire_date DATE NOT NULL, .department_id NUMBER(4),CONSTRAINT emp_dept_fk FOREIGN KEY (department_id)REFERENCES departments(department_id),CONSTRAINT emp_email_uk UNIQUE(email);,外键约束( FOREIGN KEY),CREATE TABLE AA (a int not null primary key, b varchar2(10) )CREATE TABLE BB (aa int not nul

14、l, bb varchar2(10), constraint fk_id foreign key(aa) references AA(a) ),CHECK 约束,定义在字段上的每一记录都要满足的条件 在check中定义检查的条件表达式,数据需要符合设置的条件 条件表达式不允许使用:SYSDATE, UID, USER, USERENV 等函数 参照其他记录的值., salary NUMBER(2)CONSTRAINT emp_salary_min CHECK (salary 0),.,完整性约束,Check约束可以被创建或增加为一个表约束,当Check约束保护多个数据列时,必须使用表约束语法。

15、约束名是可选的并且如果这个名字不存在,那么oracle将产生一个以SYS_开始的唯一的名字。,例: CREATE TABLE policies (policy_id NUMBER, holder_name VARCHAR2(40), gender VARCHAR2(1) constraint chk_gender CHECK (gender in (M,F), marital_status VARCHAR2(1), date_of_birth DATE, constraint chk_marital CHECK (marital_status in(S,M,D,W) );,增加约束,可增加或删

16、除约束,但不能直接修改 可使约束启用和禁用 非空约束必须使用MODIFY子句增加ALTER TABLE tableADD CONSTRAINT constraint type (column);,加约束,加 FOREIGN KEY 约束到EMP表,ALTER TABLE employees ADD CONSTRAINT emp_manager_fk FOREIGN KEY(manager_id) REFERENCES employees(employee_id);,删除约束,删除约束emp_manager_fkALTER TABLE employees DROP CONSTRAINT emp_manager_fk;删除主键约束和相关的外键约束ALTER TABLE departments DROP PRIMARY KEY CASCADE;,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报