版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、高级软件人才实作培训专家!约束讲师:佟 刚北京传智播客教育高级软件人才实作培训专家!目标通过本章学习,您将可以: 描述约束 创建和维护约束北京传智播客教育 高级软件人才实作培训专家!什么是约束 约束是表级的强制规定 有以下五种约束: NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK注意事项高级软件人才实作培训专家! 如果不指定约束名 Oracle server 自动按照SYS_Cn 的格式指定约束名 在什么时候创建约束: 建表的同时 建表之后 可以在表级或列级定义约束 可
2、以通过数据字典视图查看约束高级软件人才实作培训专家!表级约束和列级约束 作用范围:列级约束只能作用在一个列上,而表约束可以作用在多个列上(当然表约束也可以作用在一个列上)。 定义方式:列约束必须跟在列的定义里后面, 表约束不与列一起,而是单独定义。 非空(not null) 约束只能定义在列上定义约束高级软件人才实作培训专家!北京传智播客教育 CREATE TABLE schema.table(column datatype DEFAULT expr column_constraint,.table_constraint,.);CREATE TABLE employe
3、es(employee_idNUMBER(6), first_nameVARCHAR2(20),.job_idVARCHAR2(10) NOT NULL,CONSTRAINT emp_emp_id_pkPRIMARY KEY (EMPLOYEE_ID);高级软件人才实作培训专家!定义约束 列级column CONSTRAINT constraint_name constraint_type, 表级column,.CONSTRAINT constraint_name constraint_type(column, .),高级软件人才实作培训专家!NOT NULL 约束保证列值不能为空:NOT N
4、ULL 约束NOT NULL约束无NOT NULL 约束高级软件人才实作培训专家!NOT NULL 约束只能定义在列级:CREATE TABLE employees( employee_idNUMBER(6),.last_nameVARCHAR2(25) NOT NULL, salaryNUMBER(8,2), commission_pct NUMBER(2,2), hire_dateDATECONSTRAINT emp_hire_date_nn NOT NULL,系统命名用户命名高级软件人才实作培训专家!UNIQUE 约束EMPLOYEESUNIQUE 约束INSERT INTO允许不允许:
5、 已经存在高级软件人才实作培训专家!UNIQUE 约束可以定义在表级或列级:CREATE TABLE employees( employee_idNUMBER(6),last_nameVARCHAR2(25) NOT NULL,emailVARCHAR2(25) ,salaryNUMBER(8,2), commission_pctNUMBER(2,2), hire_dateDATE NOT NULL,.CONSTRAINT emp_email_uk UNIQUE(email);高级软件人才实作培训专家!PRIMARY KEY 约束DEPARTMENTSPRIMARY KEY不允许(空值)INS
6、ERT INTO不允许(50 已经存在)北京传智播客教育 高级软件人才实作培训专家!PRIMARY KEY 约束可以定义在表级或列级:CREATE TABLEdepartments( department_idNUMBER(4), department_nameVARCHAR2(30)CONSTRAINT dept_name_nn NOT NULL, manager_idNUMBER(6),location_idNUMBER(4),CONSTRAINT dept_id_pk PRIMARY KEY(department_id);北京传智播客教育 www.itcast.
7、cn高级软件人才实作培训专家!FOREIGN KEY 约束DEPARTMENTSPRIMARY KEYEMPLOYEESFOREIGN KEYINSERT INTO不允许(9 不存在)北京传智播客教育 允许高级软件人才实作培训专家!FOREIGN KEY 约束可以定义在表级或列级:CREATE TABLE employees( employee_idNUMBER(6),last_nameVARCHAR2(25) NOT NULL,emailVARCHAR2(25),salaryNUMBER(8,2), commission_pctNUMBER(2,2), hire_d
8、ateDATE NOT NULL,.department_idNUMBER(4),CONSTRAINT emp_dept_fk FOREIGN KEY (department_id) REFERENCES departments(department_id),CONSTRAINT emp_email_uk UNIQUE(email);北京传智播客教育 高级软件人才实作培训专家!FOREIGN KEY 约束的关键字 FOREIGN KEY: 在表级指定子表中的列 REFERENCES: 标示在父表中的列 ON DELETE CASCADE: 当父表中的列被删除时,子表中
9、相对应的列也被删除 ON DELETE SET NULL: 子表中相应的列置空高级软件人才实作培训专家!CHECK 约束 定义每一行必须满足的条件., salaryNUMBER(2) CONSTRAINT emp_salary_minCHECK (salary 0),.高级软件人才实作培训专家!添加约束的语法使用 ALTER TABLE 语句: 添加或删除约束, 但是不能修改约束 有效化或无效化约束 添加 NOT NULL 约束要使用 MODIFY 语句ALTER TABLE tableADD CONSTRAINT constraint type (column);添加约束高级软件人才实作培训
10、专家!添加约束举例ALTER TABLEemployeesADD CONSTRAINTemp_manager_fk FOREIGN KEY(manager_id) REFERENCES employees(employee_id);Table altered.删除约束高级软件人才实作培训专家! 从表 EMPLOYEES 中删除约束ALTER TABLEemployeesDROP CONSTRAINTemp_manager_fk;Table altered.高级软件人才实作培训专家!无效化约束 在ALTER TABLE 语句中使用 DISABLE 子句将约束无效化。ALTER TABLEempl
11、oyees DISABLE CONSTRAINTemp_emp_id_pk; Table altered.激活约束高级软件人才实作培训专家! ENABLE 子句可将当前无效的约束激活ALTER TABLEemployees ENABLE CONSTRAINTemp_emp_id_pk; Table altered. 当定义或激活UNIQUE 或 PRIMARY KEY 约束时系统会自动创建UNIQUE 或 PRIMARY KEY索引高级软件人才实作培训专家!查询约束查询数据字典视图 USER_CONSTRAINTSSELECTconstraint_name, constraint_type, search_conditionFROMuser_constraintsWHEREtable_name = EMPLOYEES;高级软件人才实作培训专家!查询定义约束的列查询数据字典视图 USER_CONS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026河北省中医院招聘29人备考题库及一套答案详解
- 2026江苏南通市通州区刘桥镇招聘临时性公益性岗位8人备考题库及1套完整答案详解
- 2026上海戏剧学院上半年招聘工作人员16人备考题库及答案详解参考
- 2026四川成都市双流区立格实验学校(原成都双流中学实验学校)教师招聘备考题库完整答案详解
- 2026北京丰台区北宫镇城市协管员招聘5人备考题库及参考答案详解一套
- 2026四川巴中市中医医院招聘员额管理专业技术人员的8人备考题库及一套参考答案详解
- 2026浙江丽水华数信息服务有限公司招聘4人备考题库及一套完整答案详解
- 2026四川绵阳科发商业服务有限公司招聘综合文秘等岗位10人备考题库及答案详解参考
- 2026广东省白云人才发展有限公司招聘13人备考题库及答案详解一套
- 2026江苏常熟市环境保护科技有限公司(系统)招聘备考题库及一套参考答案详解
- 2026延长石油(集团)限责任公司社会招聘易考易错模拟试题(共500题)试卷后附参考答案
- 企业资金拨付管理方案
- 市场营销专业知识全套题库(含标准答案+详细解析)
- 2026年招标采购从业人员《招标采购专业实务(初级)》考试真题(附答案解析)
- 2026年中国电信数据发展中心招聘考试试题
- 武汉大学摄影测量期末试卷及答案(2023-2023)
- 基础营养学(能量+三大产能营养素)课件
- 第2章通信电缆的结构类型及参数课件
- 化疗所致恶心呕吐(CINV)防治46张课件
- TSP解释技术技巧
- 沟槽坍塌应急演练方案
评论
0/150
提交评论