oracle数据的完整性

一.数据的完整性

向某张表插入数据、更新、删除数据之前会对数据做校验,目
的就是为了确保数据的正确性、一致性、最大限度 减少重复
的数据、避免脏数据,这就是数据完整性。以下的数据就是脏
数据:

如何减少数据冗余、避免脏数据?需要我们在创建表的时候为
字段增加约束(规则),向表插入数据、更新、删除 数据之前对
数据做校验,如果数据满足校验规则提示用户操作成功,否则
提示就用户操作失败。在Oracle系统中,约 束的类型包括非
空约束、唯一约束、默认约束、主键约束、外键约束、检查约
束。

1.1 非空约束
插入数据之前会进行验证,确保该列的数据不能为空。非空约
束关键字为not null
示例:创建class(班级)表,为class_name(班级名称)字段添加
非空约束
非空约束可以在字段名称后面添加。例如

class_name  varchar(30) not null

也可以使用alter table...modify为指定的字段添加非空约
束。语法如下:

示例:为班级表的“班级描述”添加非空约束

验证非空约束

1.2 主键约束
概念:主键也叫作主要的关键字,用来确保每一行数据在表中
的唯一性。
主键关键字:primary key
主键约束特征:非空并且唯一
创建主键语法:

示例:为班级表的ID字段建立主键约束

验证主键约束

1.3 外键约束
概念:外键也叫作外部关键字,在多个表之间建立关联,确保
数据一致性、正确性。通常在多的一侧建立外键约 束去关联
一的一侧主键。例如:多个学生对应着一个班级。我们可以为
学生表的所在班级字段建立外键,去关联班 级表的主键。外
键特征如下:
外键约束在多张表之间建立关联(联系),确保数据的正确
性、一致性。
有外键的表叫做从表,没有外键的表叫做主表。
外键关键字 : foreign key references
 

语法如下:

示例:创建学生表(学生学号、学生姓名、学生生日、学生成
绩、学生联系方式、所在班级),为学生表的所在班级字 段添
加外键去关联班级表的主键

验证外键约束

1.4 唯一约束
唯一约束强调所在的列允许空值但是值不允许重复。例如班级
表的班级名称不能重复。
唯一约束关键字:unique
唯一约束语法如下:

示例:为学生表的手机号码定义唯一约束

验证唯一约束:

唯一约束和主键约束有啥区别?唯一约束可以插入空值,主键
约束不能插入空值


1.5 检查约束
检查约束在插入和更新数据之前对数据的有效性规则进行检
查,这个有效性规则需要我们自己定义。
检查约束关键字:check

提示为学生表的成绩“字段建立检查元素,要求学生成绩必须在0-1150之间;

检验检查约束:

二.Oracle常用系统函数
Oracle提供了大量系统内置函数,可以大大增强SQL语言的运
算和判断功能。本次课对Oracle中常用的系统函数 进行介

2.1 字符串函数
字符串函数是专门用于字符处理的函数,处理的对象可以是字
符串,还可以是varchar2类型的字段,常用的字 符类函数有
如下几种:

2.2 数字函数
数字函数主要用于执行各种数学计算,所有的数字类函数都有
数字参数并返回数字值。常用的数字函数如下:

2.3 日期时间函数
Oracle提供了很多用来处理日期和时间的函数,通过这些函数
可以实现计算需要的特定日期和时间。常用的日期 时间函数
如下:

三.PS/SQL编程


3.1 PL/SQL简介
PL/SQL(Procedural Language/SQL)是Oracle数据库引入的一
种过程化编程语言。PL/SQL编程语言在除了能够 编写SQL语
句还能执行流程控制语句(顺序、分支、循环)。PL/SQL是建立
在SQL语句的基础上的。
PL/SQL程序以块(Block)为基本单位,分为三部分:声明部分
(declare开头)、执行部分(begin开头)、异常处理 部分
(exception开头)。其中执行部分是必须的,其它两个部分是


可选的,语法结构如下:

示例:编写第一个PL/SQL程序,在控制台输出HelloWorld

示例:定义一个PL/SQL块,当0作为除数抛出异常,给出提示
信息除数不能为0。

3.2 数据类型
数据类型本质上是一种描述数据存储的内存结构,它决定变量
中所存储数据的类型。


3.2.1 基本数据类型
常用的基本数据类型包括:数值类型、字符串类型、日期类
型、布尔类型(Logic)

数值类型:

number(p,s) 是常用的数值类型,可以用来存储整数和小数。
p表示数字中的有效位,取值范围为 [1~38],如 果p没有指
定,Oracle将使用38作为有效位。s表示数字精确到小数点右
边的位数。


例如:number(5,2)表示总共有5个数字,其中小数占据了2
位,最大值为999.99


例如:number等价于number(38)

字符串类型


字符串类型主要包括 varchar2、 char。


varchar2用于存储可变长度的字符串,语法结构如下:


varchar2(maxlength) 其中maxlength表示可存储字符串的最
大长度。定义变量时必须给出,最大值是32767 字节。


char用于存储固定长度的字符串,默认最大长度为1,

语法结构如下:

char(maxlength)
char只有2000字节,所以如果PL/SQL中的char类型变量的长
度大于2000字节,则不能赋给数据库中的 char

日期类型
日期类型只有一种,即DATE类型,用来存储日期和时间。


布尔类型(Logic)
布尔类型也只有一种,即BOOLEAN类型。主要用于程序的流
程控制和业务逻辑判断,变量值可以是true、false、 null。

3.2.2 特殊数据类型
为了提高编程效率和解决复杂业务逻辑需求,PL/SQL提供了3
种特殊的数据类型。


%TYPE类型
它可以声明一个与指定字段相同的数据类型,通常跟在指定列
名的后面。语法如下:

示例:在scott模式(用户)下,查询员工编号为7566的员工姓
名和它的工资。


目的:使用%type定义变量并输出

第二种赋值方法:


 

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值