oracle之完整性约束
oracle之完整性约束
数据库中的完整性约束有:
1.主键约束(Primary)
2.唯一约束(unique)
3.检查约束(check)
4.非空约束(not null) --属于检查约束
5.外键约束(foreign key)
首先先建一个学生表:
create table t_student_con(f_id int,f_name varchar2(30),f_sex char(2),f_age int,f_birth date default sysdate );
--添加一个字段 alter table t_student_con add f_email varchar2(30);
1、主键约束:添加了主键约束的字段不能为null,且会自动添加唯一约束。
--添加一个主键约束 alter table t_student_con add constraint pk_std_id primary key (f_id);
2、唯一约束:添加了唯一约束的字段的值是唯一的,不能有重复。
--添加一个唯一约束 alter table t_student_con add constraint uq_std_name unique(f_name);
3、检查约束:可以自定义数据的完整性,保证字段的数据不存在约束条件之外的数据。
--添加检查约束 alter table t_student_con add constraint ck_std_sex check(f_sex='M' or f_sex='F')
4、非空约束:有非空约束的字段,值不能为空或者插入null值。
--非空约束是检查约束的一种,这种添加方法不是很常用 alter table t_student_con add constraint nnull_std_email check( f_email is not null);
--我们一般会以修改表字段的方法来添加非空约束 alter table t_student_con modify(f_email varchar2(30) not null);
5、外键约束:若表之间存在联系,则建立外键约束可保证数据的完整性和规范性。
首先建立一个考试信息表:
create table t_student_exam(e_id int,--主键e_subject varchar2(30),--科目e_score number(5,2),--分数f_id int--学员信息的外键 );
下面为该表添加主键和外键:
--添加主键 alter table t_student_exam add constraint pk_exam_id primary key(e_id); --添加外键 alter table t_student_exam add constraint fk_exam_student_id foreign key (f_id) references t_student_con(f_id) on delete cascade; --在删除学生信息的时候,级联删除从表的成绩信息
注意:添加了外键约束的表,若主表有对应的从表记录,需在添加外键约束时加上 on delete cascade 关键字,才可直接删除,此关键字表示级联删除。否则不能直接删除。
6、约束的删除
语法:alter table t_student_exam drop constraint 约束名;
--删除约束 alter table t_student_exam drop constraint fk_exam_student_id;
注意!我们可以用以上方法建立表的完整性约束,同时,我们也可以在建表时就建立约束。如下
create or replace table t_student_con(f_id int primary key,f_name varchar2(30),f_sex char(2) check(f_sex='M' OR f_sex='F'),--1、检查性约束f_age int,f_birth date default sysdate,constraint ck_std_age check(f_age>=1 and f_age<=60)--2、检查性约束 );
create table t_student_exam(e_id int,--主键e_subject varchar2(30),--科目e_score number(5,2),--分数f_id int REFERENCES T_STUDENT_CON(F_ID) ON DELETE CASCADE--学员信息的外键约束 );
转载于:https://www.cnblogs.com/wanglitao/p/4857143.html
oracle之完整性约束相关推荐
- Oracle域完整性约束
我的Oracle数据库学习笔记 Day 4 域完整性约束 文章目录 我的Oracle数据库学习笔记 非空约束,默认值约束 check约束 域完整性约束:限制字段中的值的合理性,范围 约束方式: 非空约 ...
- Oracle实体完整性约束
我的Oracle数据库学习笔记 Day 4 实体完整性约束 文章目录 我的Oracle数据库学习笔记 一 .数据完整性约束 的分类 二 .如何实现完整性约束 1. 主键约束 : 2. 如何给表中设置主 ...
- oracle故障一例,工作中遇到的oracle故障分析和处理一例
工作中遇到的oracle故障分析和处理一例以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 案例类别 VAS网络 系统类型 ...
- 第一章 Oracle介绍
Oracle 10.2 概念 第一章 Oracle介绍 1.Oracle介绍 本章提供了针对Oracle数据库服务器的概述,包含以下主题 l Oracle数据库体系结构 l Oracle数据库特点 l ...
- Oracle 10.2 概念 第一章 Oracle介绍
Oracle 概念(Oracle 10.2) 1.Oracle介绍 本章提供了针对Oracle数据库服务器的概述,包含以下主题 l Oracle数据库体系结构 l Oracle数据库特点 l Orac ...
- 经典的ORACLE培训文档
经典的ORACLE培训文档1 数据库的安全性.完整性.并发控制和恢复 为了保证数据库数据的安全可靠性和正确有效,DBMS必须提供统一的数据保护功能.数据保护也为数据控制,主要包括数据库的安全性.完整性 ...
- 各种Oracle索引类型介绍
各种Oracle索引类型介绍 逻辑上: Single column 单行索引 Concatenated 多行索引 Unique 唯一索引 NonUnique 非唯一索引 Function-based函 ...
- oracle中constraint的使用,constraint用法总结 I .
Oracle中的约束简单介绍 约束 Including Constraints 在数据库中使用约束(constraints)是为了在该数据库中实施所谓的"业务规则"其实就是防止非法 ...
- SQL中的CONSTRAINT用法总结
主要就是增加数据约束的. Oracle中的约束简单介绍 约束 Including Constraints 在数据库中使用约束(constraints)是为了在该数据库中实施所谓的"业务规 ...
最新文章
- 题目:任意给定一个浮点数,计算这个浮点数的立方根。(基于二分法和牛顿迭代法)(基于Java实现)
- C++编程进阶4(C++中的强制类型转换运算符、不要返回自定义类内部成员的指针,引用和迭代器)
- 用jquery调用wcf下的各种错误码的解释。
- 加入公网github上的SAP organization
- MSSQL-to-MySQL v5.3, 从MSSQL迁移到mySQL的最佳工具
- 面试官角度的JVM面试
- CF617E XOR and Favorite Number
- HDU-2525 Clone Wars 模拟
- python空集合_python空集合
- ESP8266 wifi 模块配置,Wechat+APP控制实现
- pythonwhile循环love_while循环简介
- [转载] python学习笔记——@property装饰器
- 【网摘】ActiveX组件及其注册
- 一个程序媛的3年华为之路
- 基于排序变换混沌置乱算法的图像加密系统
- 台式计算机没有声音,我们家台式电脑没有声音,该怎样设置
- 小程序下单支付在我司的应用
- VS code 快速配置C语言编写环境
- linux 登陆 历史,linux记录每次登陆的历史命令
- SQL报错:Ambiguous column name ‘数据库某列’
热门文章
- 利用ClustrMaps | GoStats | 51la | Google Analytics统计和分析访问量
- 我摸鱼写的Java片段意外称霸Stack Overflow十年、征服6000多GitHub开源项目: 有bug!...
- Elasticsearch 架构原理—— 新数据写入过程
- uva-993-贪心
- linux下的shell脚本(基本)
- 优秀的用户体验设计,从讲好一个故事开始
- PHP关闭$_ENV后获取服务器参数的办法
- bootstrap 图标 由Glyphicons提供
- 关于使用struts2上传文件时获取不到文件内容的问题的解决方案
- java Hello World程序分析(翻译自Java Tutorials)