SQL语言基础:SQL中的数据完整性约束用法

           

前言

数据库的完整性是指数据库正确性和相容性,是防止合法用户使用数据库时向数据库加入不符合语义的数据,从而保证了数据库中的数据是正确的,避免非法的更新操作。

1、主键约束

1.1 完整性约束条件

完整性约束条件作用的对象有关系、元组、列三种。

             

 

1.2 完整性控制

主要有三个方面的功能:定义功能、检测功能、处理功能。检查是否违背完整性约束的时机有立即执行约束、延时执行约束。最重要的完整性约束条件是实体完整性、参照完整性。

1.3 实体完整性 Primary Key

在关系中只能有一个主键。声明主键调入方法:

  • 1、将 Primary Key 保留字加在属性类型之后。

    比如  Sno char(10) Primary Key

  • 2、在属性列表中引入一个新元素,该元素包含保留字 Primary Key 和圆括号括起来的形成该键的属性或属性组列表。

    比如:

    Primary Key (Sno)

1.4 外键(Foreign Key) 约束

语法格式:Foreign Key (属性名) references 表名 (属性名)[ON DELETE][CASCADE][SET NULL]

说明:

  • Foreign Key 定义那些列为外码 ;

  • references 指明外码属于哪个表的主码 ;

  • ON DELETE CASCADE 指明删除记录同时删除关系中的记录;

  • SET NULL 表示置为空值方式。

比如:Foreign Key Sno references Student (Sno)

1.5 属性值上的约束

主要包括:

  • not null 不为空

  • unique 唯一约束

  • check 设定属性值需要满足的条件 。

比如:age Number(3) check (age>0 and age <180)

1.6 全局约束

全局约束是值一些比较复杂的完整性约束,这些约束涉及多个属性间的联系或多个不同关系间的联系。有基于元组的检查子句、断言。

1、基于元组的检查子句

主要是针对单个关系的元组加以约束。方法是在关系定义中的任何地方加上关键字Check和约束条件。

比如年龄在1到170之间,Check(age>=1 and age<=170)

2、基于断言的语法格式

格式:Create Assertion <断言名>Check)(<条件>)

例子:

Create Assertion aa Check( Not exists  select * from Student where name'小明')


IT技术分享社区

个人博客网站:https://programmerblog.xyz

文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口基础知识硬件:断路器、接触器、继电器基础知识

 

posted @   天使不哭  阅读(32)  评论(0编辑  收藏  举报  
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2019-11-22 如何写出让同事无法维护的代码?
2018-11-22 VS Code 1.29 发布,众多新功能有没有你想要的?
2018-11-22 VS Code 1.29 发布,众多新功能有没有你想要的?
2018-11-22 VS Code 1.29 发布,众多新功能有没有你想要的?
点击右上角即可分享
微信分享提示