数据完整性
实体完整性
实体: 表中一行(一行记录)代替一个实体
实体完整性的作用: 标识每一行数据不重复。
约束类型: 主键约束, 唯一约束,自动增长列。
主键约束: 标识该列唯一,非空。
注: 每个表中必须要有一个主键
添加主键的三中方式:
1.在创建表的过程中直接创建。
1 2 3 4 | CREATE TABLE student( id int primary key , name varchar (50) ); |
2. 在创建表中的特殊创建方式: 优点在于 可以联合创建主键
1 2 3 4 5 6 7 8 9 10 11 | CREATE TABLE student( id int , name varchar (50), primary key (id) ); CREATE TABLE student( classid int , stuid int , name varchar (50), primary key (classid,stuid) ); |
3.在表创建完成之后再给列创建主键
1 | alter table 表名 add primary key (列名); |
唯一约束; 标识该列的值不能重复 。
1 2 3 4 | CREATE TABLE student( Id int primary key , Name varchar (50) unique ); |
自增长: 标识 该列的数据会自动增长。 不需要人为的给值。
1 2 3 4 5 6 7 8 | sqlserver数据库 (identity) oracle数据库( sequence ) 给主键添加自动增长的数值,列只能是整数类型 CREATE TABLE student( Id int primary key auto_increment, Name varchar (50) ); INSERT INTO student( name ) values (‘tom’); |
域完整性
作用: 限制单元格的数据正确,不对照此列的其他单元格比较
域代表当前单元格;
域完整性的约束: 数据类型 默认值约束(default) 非空约束(not null) check约束(mysql不支持)
默认值约束:
1 2 3 4 5 | CREATE TABLE student( Id int pirmary key , Name varchar (50) not null , Sex varchar (10) default ‘男’ ); |
insert into student1 values(1,'tom','女');
insert into student1 values(2,'jerry',default);
非空约束:not null
1 2 3 4 5 6 7 | CREATE TABLE student( Id int pirmary key , Name varchar (50) not null ,//该列表示为非空 Sex varchar (10) ); INSERT INTO student values (1,’tom’, null ); |
引用完整性(参照完整性)
外键:foreign key
创建外键的方法
ALTER TABLE 表名 ADD CONSTRAINT 主键名 FOREIGN KEY (列名) REFERENCES 表名(列名);
表与表之间的关系;
一对一;
一对多;
多对多;
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· 《HelloGitHub》第 108 期
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· MQ 如何保证数据一致性?
· Windows桌面应用自动更新解决方案SharpUpdater5发布