Les09-创建和管理表.ppt

上传人:lao****ou 文档编号:13223 上传时间:2022-09-21 格式:PPT 页数:41 大小:621.50KB
下载 相关 举报
Les09-创建和管理表.ppt_第1页
第1页 / 共41页
Les09-创建和管理表.ppt_第2页
第2页 / 共41页
Les09-创建和管理表.ppt_第3页
第3页 / 共41页
Les09-创建和管理表.ppt_第4页
第4页 / 共41页
Les09-创建和管理表.ppt_第5页
第5页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Les09-创建和管理表.ppt》由会员分享,可在线阅读,更多相关《Les09-创建和管理表.ppt(41页珍藏版)》请在第一文库网上搜索。

1、九九.创建和管理表创建和管理表目标目标l本课结束后,应该掌握以下内容:l描述主要的数据库对象l查看表结构l列出主要的列数据类型l创建表l掌握如何在建表的同时建立约束l描述模式对象是如何工作的对象对象描述描述表表存储的基本单元,由行和列组成存储的基本单元,由行和列组成视图视图一个逻辑的数据集,数据来自一个或者多个表一个逻辑的数据集,数据来自一个或者多个表序列序列 产生主键值产生主键值索引索引目的提高查询的性能目的提高查询的性能同义词同义词 给出对象的别名给出对象的别名数据库对象数据库对象l 必须以字母开始必须以字母开始l 可以是可以是1-30个字符的长度个字符的长度l 仅能包括字符:仅能包括字符

2、: AZ, az, 09, _, $, 和和#l 不能与本用户拥有的其他对象重名不能与本用户拥有的其他对象重名l 不能是一个不能是一个 Oracle服务器的保留字服务器的保留字命名习惯命名习惯CREATE GLOBAL TEMPORARY TABLE schema.table (column datatype DEFAULT expr, .);CREATE TABLECREATE TABLE语句语句l 必须有必须有 :lCREATE TABLE 的权限的权限l拥有存储空间拥有存储空间l你可以指定你可以指定l表名称表名称l列名称,列长度,列类型列名称,列长度,列类型 SQL CREATE TAB

3、LE dept 2(deptno NUMBER(2), 3 dname VARCHAR2(14), 4 loc VARCHAR2(13); SQL DESCRIBE dept Name Null? Type - - - DEPTNO NUMBER(2) DNAME VARCHAR2(14) LOC VARCHAR2(13)确认创建的结果确认创建的结果创建表创建表引用其他用户的表引用其他用户的表l属于其他用户的表,不在当前用户的模式下l使用这些表的属主名作为前缀USERBUSERASELECT * FROM userB.employees;SELECT * FROM userA.employee

4、s;l在插入期间可以指定默认值l文字值,表达式,或者SQL函数是合法值l其他列的名或者伪列是非法的l默认的数据类型必须匹配列的数据类型DEFAULTDEFAULT选项选项. hire_date DATE DEFAULT SYSDATE, . CREATE TABLE hire_dates (id NUMBER(8), hire_date DATE DEFAULT SYSDATE);Table created.l用户表用户表l由用户创建和维护的一系列表的集合由用户创建和维护的一系列表的集合l包含用户的信息包含用户的信息l数据字典数据字典l由由Oracle 服务器创建和维护的一系列表的集合服务器创

5、建和维护的一系列表的集合l包含数据库的信息包含数据库的信息OracleOracle数据库中的表数据库中的表数据类型数据类型描述描述VARCHAR2(size)变长字符数据,变长字符数据,size为最大长度为最大长度CHAR(size) 定长字符数据,定长字符数据, size为最大长度为最大长度NUMBER(p,s) 数字类型,数字类型,p为精度,为精度,s为刻度为刻度DATE 日期和时间值日期和时间值LONG 可以保存最大长度为可以保存最大长度为 2GB的字符数据的字符数据CLOB可以保存最大长度为可以保存最大长度为 4GB的单字节字符的单字节字符数据数据RAW and LONG RAW 存储

6、二进制数据存储二进制数据BLOB最大为最大为 4GB的二进制数据类型的二进制数据类型BFILE在外部文件中存储的二进制数据在外部文件中存储的二进制数据;最大为最大为4GB数据类型数据类型日期数据类型日期数据类型l 几种日期数据类型几种日期数据类型数据类型数据类型 描述描述TIMESTAMP秒带有小数的日期秒带有小数的日期INTERVAL YEAR TO MONTH存储年和月的间隔存储年和月的间隔INTERVAL DAY TO SECOND存储天,小时,分钟和秒的间隔存储天,小时,分钟和秒的间隔日期数据类型日期数据类型lTIMESTAMP 是DATE数据类型的扩展l存储DATE日期类型的年,月,

7、日数据类型加上小时,分钟,和带有小数的秒l可以在TIMESTAMP上选择使用和不使用时区TIMESTAMP(fractional_seconds_precision)TIMESTAMP(fractional_seconds_precision)WITH TIME ZONETIMESTAMP(fractional_seconds_precision)WITH LOCAL TIME ZONE日期数据类型日期数据类型lINTERVAL YEAR TO MONTH 数据类型使数据类型使用年和月日期字段存储一段时间用年和月日期字段存储一段时间lINTERVAL DAY TO SECOND 数据类型数据类

8、型使用天,小时,分钟,秒存储一段时间使用天,小时,分钟,秒存储一段时间INTERVAL YEAR (year_precision) TO MONTHINTERVAL DAY (day_precision) TO SECOND (fractional_seconds_precision)INTERVAL DAY TO INTERVAL DAY TO SECONDSECONDlINTERVAL DAY TO SECOND 数据类型数据类型使用天,小时,分钟,秒存储一段时间使用天,小时,分钟,秒存储一段时间INTERVAL 4 5:12:10.222 DAY TO SECOND(3)表示:4 day

9、s, 5 hours, 12 minutes, 10. 222 seconds, INTERVAL 4 5:12 DAY TO MINUTE表示:4 days, 5 hours and 12 minutes.INTERVAL 400 5 DAY(3) TO HOUR表示:400 days 5 hours.INTERVAL 11:12:10.2222222 HOUR TO SECOND(7)表示:11 hours, 12 minutes, and 10.2222222 seconds.约束约束l约束是强加到表中的列上的规则l提供了以下五种约束:lNOT NULLlUNIQUE lPRIMARY

10、KEYlFOREIGN KEYlCHECK约束规则约束规则l创建约束时,可以对约束进行命名,也可以使用SYS_Cn的格式自定义命名l可以在以下时候创建约束:l在表创建时同时创建约束l在表创建以后创建约束l在表或者列级别创建约束l在数据字典中查看约束定义约束定义约束l语法:l列级别约束:l表级别约束:CREATE TABLE schema.table (column datatype DEFAULT expr column_constraint, . table_constraint,.);column,. CONSTRAINT constraint_name constraint_type (

11、column, .),column CONSTRAINT constraint_name constraint_type,定义约束定义约束l列级别约束: l表级别约束:CREATE TABLE employees( employee_id NUMBER(6) CONSTRAINT emp_emp_id_pk PRIMARY KEY, first_name VARCHAR2(20), .);CREATE TABLE employees( employee_id NUMBER(6), first_name VARCHAR2(20), . job_id VARCHAR2(10) NOT NULL,

12、CONSTRAINT emp_emp_id_pk PRIMARY KEY (EMPLOYEE_ID);12NOT NOT NULLNULL约束约束l非空约束的列不能有空值非空约束的列不能有空值:NOT NULL constraint(No row can containa null value forthis column.)Absence of NOT NULL constraint (Any row can contain a null value for this column.)NOT NULL constraintUNIQUEUNIQUE约束约束EMPLOYEES UNIQUE约束I

13、NSERT INTO不允许,已经存在允许UNIQUEUNIQUE约束约束 定义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(email);PRIMARY PRIMARY KEYKEY约束约束D

14、EPARTMENTS PRIMARY KEYINSERT INTO不允许空值不允许重复值FOREIGN FOREIGN KEYKEY约束约束DEPARTMENTS EMPLOYEESFOREIGNKEYINSERT INTO不允许9 允许PRIMARYKEYFOREIGN FOREIGN KEYKEY约束约束 在表级或者列级定义在表级或者列级定义: :CREATE TABLE employees( employee_id NUMBER(6), last_name VARCHAR2(25) NOT NULL, email VARCHAR2(25), salary NUMBER(8,2), com

15、mission_pct 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 KEYlFOREIGN KEY: 定义在子表的列上lREFERENCES: 引用父表的主键或者唯一键lON DELETE CASCADE: 删除父表中的行同时也删除子表中的行l

16、ON DELETE SET NULL: 将外键设为空值CHECK约束约束l每行必须满足定义的条件l以下的表达式不允许:lCURRVAL, NEXTVAL, LEVEL和ROWNUM伪列l调用以下函数:SYSDATE, UID, USER,USERENV., salaryNUMBER(2) CONSTRAINT emp_salary_min CHECK (salary 0),.CREATE TABLE:示例示例CREATE TABLE employees ( employee_id NUMBER(6) CONSTRAINT emp_employee_id PRIMARY KEY , first_name VARCHAR2(20) , last_name VARCHAR2(25) CONSTRAINT emp_last_name_nn NOT NULL , email VARCHAR2(25) CONSTRAINT emp_email_nn NOT NULL CONSTRAINT emp_email_uk UNIQUE , phone_number VARCHAR2(20) , hire_

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

当前位置:首页 > 技术资料 > 统计图表

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服