美文网首页
数据库完整性

数据库完整性

作者: 要你何用杀了算了 | 来源:发表于2018-10-11 09:12 被阅读0次

数据完整性
1、完整性分类:
实体完整性
域完整性
引用完整性

2、什么是实体完整性
表中的一行(一条记录)代表一个实体(entity)

3、实体完整性的作用
标识每一行数据不重复.行级约束

4、约束类型
主键约束(primary key)
唯一约束(unique)
自动增长(auto_increment)

1、 主键约束
1、特点:
每个表中要有一个主键
数据唯一,且不能为null

2、添加方式:
CREATE TABLE 表名(字段名1 数据类型 primary key,字段名2 数据类型);

3、举例:创建person表
CREATE TABLE person(ID BIGINT primary key,NAME VARCHAR(50))

CREATE TABLE 表名(字段1 数据类型,字段名2 数据类型,primary key(要设置主键的字段));

4、举例创建
CREATE TABLE person(
ID BIGINT,
name VARCHAR(50),
age INT,
primary key(ID)
);

2、联合主键:两个字段数据同时相同时,才违反联合主键约束
1、创建联合主键
CREATE TABLE 表名(字段1 数据类型,字段2 数据类型,primary key(主键1,主键2));

2、举例
CREATE TABLE student(
ID BIGINT,
snum BIGINT,
name VARCHAR(50),
primary key(ID,snum))

3、先创建表再添加主键
CREATE TABLE student(sid INT,name VARCHAR(50));

4、如果表中你之前已经添加了数据,数据不符合主键规则就会报错
ALTER TABLE student ADD CONSTRAINT primary key(sid);

3、唯一约束
1、特点
指定列的数据不能重复
可以为空值

2、格式:
CREATE TABLE students(
id INT primary key,
name VARCHAR(50) UNIQUE
)

4、自动增长列
1、特点
指定列的数据自动增长
即使数据删除,还是从删除的序号继续往下

2、格式
CREATE TABLE 表名(
字段名1 数据类型 primary key AUTO_INCREMENT,
字段2 数据类型 UNIQUE);

3、举例
CREATE TABLE 表名(
字段名1 数据类型 primary key AUTO_INCREMENT,
字段2 数据类型 UNIQUE);

5、域完整性
1、使用
限制此单元格的数据正确,不对照此列的其他单元格比较
域代表当前的单元格

2、数据类型
数值类型
日期类型
字符串类型

3、非空约束(NOT NULL)
CREATE TABLE stu(
id int primary key auto_increment,
name varchar(20) unique not null,
gender char(1) default '男'
)

4默认值约束(DEFAULT)
CREATE TABLE 表名(
字段名1 数据类型 primary key AUTO_INCREMENT,
字段2 数据类型 UNIQUE NOT NULL,
字段3 数据类型 DEFAULT '默认值');

5、举例:
CREATE TABLE students(
id INT primary key AUTO_INCREMENT,
name VARCHAR(20) UNIQUE NOT NULL,
gender CHAR(1) DEFAULT '男'
);

多表查询

  1. 一对一
    一夫一妻(开发中使用比较少)

2、一对多关系
一个人可以拥有多辆汽车,要求查询某个人拥有的所有车辆
创建Person表


CREATE TABLE person(
p_id INT PRIMARY KEY AUTO_INCREMENT,
p_name VARCHAR(50),
p_age INT,
p_sex CHAR(1)
);


CREATE TABLE car(
c_id INT PRIMARY KEY AUTO_INCREMENT,
c_name VARCHAR(50),
c_color VARCHAR(25),
p_id INT,
CONSTRAINT fk_Person FOREIGE KEY(c_id) REFERENCES person(p_id)
);

合并结果集UNION与UNION_ALL
1、UNION
合并时去除重复记录

2、 UNION ALL
合并时不去除重复记录

3、格式

SELECT * FROM 表1 UNION SELECT * FROM 表2;
SELECT * FROM 表1 UNION ALL SELECT * FROM 表2;

4、创建表
CREATE TABLE A(name VARCHAR(10),score INT);
CREATE TABLE B(name VARCHAR(10),score INT);

INSERT INTO A VALUES('a',10),('b',20),('c',30);
INSERT INTO A VALUES('a',10),('b',20),('c',40);

4、 UNION
SELECT * FROM A
UNION
SELECT * FROM B;

5、UNION ALL
SELECT * FROM A
UNION ALL
SELECT * FROM B;

6、 注意事项
被合并的两个结果集:列数,列类型必须相同

相关文章

  • 六、数据库安全与保护

    1.数据库完整性 什么是数据库完整性 数据库完整性是指数据库中数据的正确性和相容性。 完整性约束条件的作用对象 列...

  • 关系数据库维护4.0

    6.4 数据库的完整性 数据库的完整性是指数据的正确性和相容性。为维护数据库的完整性,DBMS必须能够: (1)提...

  • 数据库和表的基本操作

    1.对数据库操作 2.数据库引擎 3.数据完整性 实体完整性 引用完整性 域完整性 4.创建表操作 4.1 创建表...

  • 1_MySQL数据库1

    数据库的安装 服务启动 登陆数据库 sql 语言分类 常用命令 数据类型 实体完整性 域完整性 引用完整性 多表查...

  • 三、数据的完整性设计与实现

    1、数据的完整性 总结分析: 当前表中存在不准确、不一致的数据,则数据库失去了完整性 数据完整性破坏一般由数据库的...

  • 数据库的完整性

    数据库的完整性整理思维导图如下:

  • Mysql的范式

    数据库完整性:实体完整性:主键 唯一且不为空参照完整性:外键 可以为空用户自定义完整性:约束条件等 1.第一范式:...

  • 数据完整性

    数据完整性 要想了解这三类完整性约束,先要了解什么是数据完整性。 数据库中的数据是从外界输入的,而...

  • 数据库基础2

    一.并发控制--基本概念 二.数据库完整性约束 三.数据库安全 四.数据备份

  • 2018-10-30

    一、数据库的完整性 实体完整性设置主键 唯一建 标识列 域完整性 列的值的完整设置数据的类型 设置非空 引用完整...

网友评论

      本文标题:数据库完整性

      本文链接:https://www.haomeiwen.com/subject/jxvvaftx.html