03sql语句sql训练营视频03苦修oracle_第1页
03sql语句sql训练营视频03苦修oracle_第2页
03sql语句sql训练营视频03苦修oracle_第3页
03sql语句sql训练营视频03苦修oracle_第4页
03sql语句sql训练营视频03苦修oracle_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、限足够的存储区域标准的建表语法:CREATE TABLE schema.table( column datatype DEFAULT expr , );Oracle中的常用字段类型数据类型说明char(size)定长字符,2000个字节varchar2(size)变长字符,4000个字节date日期数据,默认的格式是dd-mm-yy:如11-6月-06timestamp日期数据,要比date数据更确切,包含时分秒。integer整型数据number(s,p)数字型,可存放实型和整型 ,精度(p)和范围(s)long可变字符,2GB个字符raw可变二进制数据,4000字节long raw可变二进

3、制数据,2GBfloat,real是NUMBER的子类型blob存放图形、声音和影像,大二进制对象,4GBclob存放大文本文件,4GB使用子查询创建表使用子查询创建表的语法CREATE TABLE table column(, column.)AS subquery;新表的字段列表必须与子查询中的字段列表匹配字段列表可以省略 ALTER TABLE 语句使用ALTER TABLE 语句可以: 增加字段 修改字段 删除字段ALTER TABLE tableADD (column datatype DEFAULT expr , column datatype.);ALTER TABLE tabl

4、eMODIFY (column datatype DEFAULT expr , column datatype.);ALTER TABLE tableDROP (columns);在表中增加字段使用 ADD 子句增加字段,新的字段只能被加到整个表的最后,并且不能与表中原有的字段重名alter table employeeadd sex char(1);ALTER TABLE employeeADD (sex CHAR(1);修改字段可修改列的数据类型,大小和默认值alter table employeemodify sex number(2)ALTER TABLE employeeMODIFY

5、(sex number(1) 不是任何情况都可以修改的,当字段只包含空值时,类型、大小都可以修改,否则修改可能不能成功删除字段可以从表中删除列:ALTER TABLE employeeDROP COLUMN sex;从每行中删除掉字段占据的长度和数据,释放在数据块中占用的空间。删除大表中的字段将需要比较长的时间.删除表的内容1、TRUNCATE TABLE 语句清除表中所有的记录,delete可以选择删除表中的一部分是DDL语句,不可以回滚,delete可以使用rollback回滚,放弃修改。释放表的存储空间,delete不释放空间2、 是删除数据的方法之一3、TRUNCATE TABLE t

6、able_name;删除表1、表中所有数据将被删除2、没有完成的事务被提交3、所有相关的索引被删除4、这个删除操作不能回滚DROP TABLE table_name;改变对象名称使用RENAME语句改变对象名称,可以修改表、视图、序列或者同义词的名称RENAME old_name TO new_name;必须是对象的所有者在 Oracle 数据库中的表用户表:1、被用户创建和维护的一些表2、包括了用户自己的信息数据字典表:3、被Oracle数据库创建和维护的一些表4、包括了数据库的信息数据字典是每个Oracle数据库的核心用于描述数据库和它的所有对象包括了只读的表和视图被 SYS用户拥有被 O

7、racle server维护用户可以使用 SELECT访问数据字典的内容数据字典提供了下列信息:1、数据库的物理和逻辑结构2、对象的定义和空间分配3、完整性约束条件4、用户5、角色6、权限7、审计数据字典分类在用户或者数据库管理员查询数据库相关信息的时候, 主要通过三类字典视图查询:1、DBA:所有方案(整个数据库)包含的对象信息2、ALL:用户可以访问的对象信息3、USER:用户方案的对象信息数据字典的例子1、通用信息: DICTIONARY2、对象信息: DBA_TABLES, DBA_INDEXES, DBA_TAB_COLUMNS, DBA_CONSTRAINTS3、空间分配信息: D

8、BA_SEGMENTS, DBA_EXTENTS4、数据库结构: DBA_TABLESPACES, DBA_DATA_FILES查询数据字典查看被用户拥有的表SELECT table_name FROM user_tables ;查看用户拥有的所有对象类型SELECT DISTINCT object_type FROM user_objects ;查看所有用户拥有的表(必须是DBA用户登陆)SELECT* FROM dba_tables ;什么是约束约束是在表上强制执行的数据校验规则.当表中数据有相互依赖性时,可以保护相关的数据不被删除.Oracle 支持下面五类完整性约束:1、NOT NUL

9、L非空2、UNIQUE Key唯一键3、PRIMARY KEY主键4、FOREIGN KEY外键5、CHECK检察约束概述Oracle使用SYS_Cn格式命名约束,也可以由用户命名创建约束的时机1、在建表的同时创建2、建表后创建 a、约束条件可定义在列级或表级,相应的语法略有区别。 b、约束条件可以构建在单列或多列的组合上,如果约束条件构建在多列组合上,那么定义约束条件只能在表级定义创建表时创建约束CREATE TABLE schema.table (column datatype DEFAULT exprcolumn_constraint, -列级约束条件table_constraint);

10、-表级约束条件CREATE TABLE emp( (emp_id NUMBER(3), name VARCHAR2(16), dept_id NUMBER(4) NOT NULL, -列级约束条件 CONSTRAINT emp_empid_pk PRIMARY KEY (emp_id);/表级约束条件非空约束(NOT NULL)确保字段值不允许为空与其他约束相比是唯一只能在字段级定义非空约束(NOT NULL)CREATE TABLE employeesnull ( employee_id NUMBER(6), last_name VARCHAR2(25) NOT NULL, salary N

11、UMBER(8,2), commission_pct NUMBER(2,2), hire_date DATE CONSTRAINT emp_hire_date_nn NOT NULL,)/查看用户的约束select * from user_constraints;/查看表的约束select * from user_constraints where table_name=EMPLOYEESNULL;唯一性约束(UNIQUE)唯一性约束条件确保所在的字段或者字段组合不出现重复值唯一性约束条件的字段允许出现(1或多个)空值Oracle将为唯一性约束条件创建对应的唯一性索引唯一性约束(UNIQUE)

12、CREATE TABLE employees( employee_id NUMBER(6) UNIQUE, 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(email);主键约束( PRIMARY KEY)主键从功能上看相当于非空且唯一一个表中只允许一个主键主键是表中能够唯一确定一个行数据的字段主键字段可以是单字段或者是多字段的组

13、合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 dept_id_pk PRIMARY KEY(department_id);外键约束( FOREIGN KEY)外键是构建于一个表的两个字段或者两个表的两个字段之间的关系外键确保了相关

14、的两个字段的关系:子表外键列的值必须在主表参照列值的范围内,或者为空主表主键值被子表参照时,主表记录不允许被删除外键约束条件参照的是主表的一个或者多个字段的值,通常被外键参照的是主表的主键或者唯一键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,. department_id NUMBER(4), CO

15、NSTRAINT emp_dept_fk FOREIGN KEY (department_id) REFERENCES departments(department_id), CONSTRAINT emp_email_uk UNIQUE(email); FOREIGN KEY:后面是要创建外键的子表字段 REFERENCES:后面是外键要参照的主表和主表字段外键约束( FOREIGN KEY)CHECK 约束Check约束条件是一种比较特殊的约束条件,通过check定义,强制定义在字段上的每一记录都要满足check中定义的条件。在check中定义检查的条件表达式,进入表中的数据必须符合check中设置的条件条件表达式不允许使用:1、SYSDATE, USER等函数2、参照其他记录的值., salaryNUMBER(2) CONSTRAINT emp_salary_min CHECK (salary 0),.增加约束可增加或删除约束,但不能直接修改ALTER TABLE table ADD CONSTRAINT constraint type (column);非空约束必须使用MODIFY子句增加 alter table employeesFK modify email not null加约束加 FOREIGN KEY 约束到EMP表ALTER TABLE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论