数据完整性

mysql 表的完整性约束

戏子无情 提交于 2019-11-29 08:32:12
目录 mysql 表的完整性约束 约束概念 unsigned 设置某一个数字无符号 (整数类型 ,浮点类型不能是unsigned) not null 某一个字段不能为空(严格模式会影响非空设置的效果) default 给某个字段设置默认值(设置默认值) unique 设置某一个字段不能重复 (唯一约束) auto_increment 设置某一个int类型的字段 自动增加 (自增字段 必须是数字 且 必须是唯一的) primary key 设置主键 (这一个字段非空且唯一) foreign key 外键 (外键,涉及到两张表,数据类型一样,且有唯一约束) references 级联删除和更新 mysql 表的完整性约束 约束概念 为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测, 使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。 约束条件与数据类型的宽度一样,都是可选参数,主要分为以下几种: # NOT NULL :非空约束,指定某列不能为空; # UNIQUE : 唯一约束,指定某列或者几列组合不能重复 # PRIMARY KEY :主键,指定该列的值可以唯一地标识该列记录 # FOREIGN KEY :外键,指定该行记录从属于主表中的一条记录,主要用于参照完整性 unsigned

5 数据库完整性(上)

 ̄綄美尐妖づ 提交于 2019-11-29 05:42:11
数据库完整性 完整性指数据的正确性和相容性 完整性:为了防止数据库中存在不符合语义的数据,不正确的数据 安全性:保护数据库恶意破会和非法存取 维护完整性,数据库系统必须实现 如下功能 提供定义完整性的约束条件机制:由sql数据定义语言实现,作为数据库模式的一部分存入数据字典 完整性检查的方法: 在insert ,update,delete语句执行后开始检查,也可以在事务提交时检查 违约处理: 发现用户的操作违背了完整性约束条件将采取一定的动作,如拒绝(no action)操作或(cascade)级联其他操作 sql 语言如何实现完整性控制的方法 5. 1 实体完整性 5.1.1定义实体完整性 多个属性构成的码只能定义为表级约束 create table student (sno char(9)) primary key, //列级约束 sname char20) not null … );或者 create table student (sno char(9),sname char(20) not null … primary key(sno) // 表级约束 create table student (sno char(9) not null,sname char(20) not null, …, priamry key(sno,sname)); 5.1

MySQL的库、表的详细操作

末鹿安然 提交于 2019-11-28 22:36:18
目录 MySQL的库、表的详细操作 一 库操作 二 表操作 MySQL的库、表的详细操作 本节目录 一 库操作    1、创建数据库      1.1 语法       CREATE DATABASE 数据库名 charset utf8;      1.2 数据库命名规则       可以由字母、数字、下划线、@、#、$       区分大小写       唯一性       不能使用关键字如 create select       不能单独使用数字       最长128位 ​ 基本上跟python或者js的命名规则一样    2、数据库相关操作     也是一些基本操作,和我们之前说的差不多。 1 查看数据库 show databases; show create database db1; select database(); 2 选择数据库 USE 数据库名 3 删除数据库 DROP DATABASE 数据库名; 4 修改数据库 alter database db1 charset utf8;   关于库的内容,咱们就说这些吧,哈哈,有点少是吧,不是咱们的重点,来看下面的表操作~~~ 二 表操作    1、存储引擎     存储引擎即表类型,mysql根据不同的表类型会有不同的处理机制,关于存储引擎的介绍看我这篇博客: https://www.cnblogs.com

MySQL表的完整性约束

断了今生、忘了曾经 提交于 2019-11-28 17:18:13
目录 阅读目录 概览 NOT NULL DEFAULT UNIQUE PRIMARY KEY AUTO_INCREMENT FOREIKEY 阅读目录 概览   为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。   约束条件与数据类型的宽度一样,都是可选参数,主要分为以下几种: # NOT NULL :非空约束,指定某列不能为空; # UNIQUE : 唯一约束,指定某列或者几列组合不能重复 # PRIMARY KEY :主键,指定该列的值可以唯一地标识该列记录 # FOREIGN KEY :外键,指定该行记录从属于主表中的一条记录,主要用于参照完整性 返回顶部 NOT NULL 是否可空,null表示空,非字符串 not null - 不可空 null - 可空 mysql> create table t12 (id int not null); Query OK, 0 rows affected (0.02 sec) mysql> select * from t12; Empty set (0.00 sec) mysql> desc t12; +-------+---------+------+-----+---------+-

(2)关系模式

大憨熊 提交于 2019-11-28 13:03:15
原文: http://blog.gqylpy.com/gqy/471 置顶:来自一名75后老程序员的武林秘籍——必读 (博主推荐) 来,先呈上武林秘籍链接: http://blog.gqylpy.com/gqy/401/ 你好,我是一名极客!一个 75 后的老工程师! 我将花两分钟,表述清楚我让你读这段文字的目的! 如果你看过武侠小说,你可以把这个经历理解为,你失足落入一个山洞遇到了一位垂暮的老者!而这位老者打算传你一套武功秘籍! 没错,我就是这个老者! 干研发 20 多年了!我也年轻过,奋斗过!我会画原理图,会画 PCB,会模拟,会数字!玩过 PLC,玩过单片机,会用汇编,会用 C!玩过 ARM,比如 PLC,STM32,和时下正在起飞的 NXP RT1052!搞过 DSP,比如 TMS320F28335!搞过 FPGA,不管 Xilinx 还是 Altera,也不管是 Verilog 还是 VHDL,或者直接画数字电路图!我懂嵌入式系统,比如 uCOS 和 Linux!我懂开源的硬件,比如 Arduino 和树莓派!我也搞软件,学了一堆上位机的语言C#,JAVA,Python,Kotlin,Swift!会写爬虫工具,又自学写APP,不管Android 还是 IOS! 可是这一切有什么用呢?土鸡瓦狗!不值一提!干技术的永远就是最苦逼的那个人! 我相信看到这里的你,应该是个 IT

爬虫结果数据完整性校验

╄→гoц情女王★ 提交于 2019-11-28 09:50:39
数据完整性分为三个方面: 1、域完整性(列)   限制输入数据的类型,及范围,或者格式,如性别字段必须是“男”或者“女”,不允许其他数据插入,成绩字段只能是0-100的整型数据,email字段的内容必须符合邮箱的正则表达式 2、实体完整性(行)   要求表中的所有行都有一个唯一标识符。这个唯一标识符可能是一列,也可能是几列的组合,称为主键。也就是说,表中的主键在所有行上必须取唯一值。 3、参照完整性(表)   参照完整性是基于外键与主键之间的关系,从表中的外键必须在主表中存在数据,不能引用主表中不存在的主键值,在输入更改或者删除主表数据时,从表需要联动变化,保证了数据的一致性。 根据以上概念,对于数据的完整性校验是从 “列”、“行”、“表” 的维度进行的。 有些约束是在建表的时候就已经根据数据库定义语言DDL语句进行了约束。 1、域完整性约束   强制域完整性的方法有:限制类型(通过设定列的数据类型)、格式(通过CHECK约束和规则)或可能值的范围(通过FOREIGN KEY约束、CHECK约束、DEFAULT定义、NOT NULL定义和规则) 2、实体完整性约束   强制实体完整性的方法有:索引、UNIQUE约束、PRIMARY KEY约束或IDENTITY属性。 3、参照完整性约束   强制参照完整性的方法有:主外键关系 可以看到其实实体完整性是肯定符合的

数据库设计经验谈

梦想的初衷 提交于 2019-11-26 21:45:06
数据库设计经验谈 一个成功的管理系统,是由: [50% 的业务 + 50% 的软件 ] 所组成,而 50% 的成功软件又有 [25% 的数据库 + 25% 的程序 ] 所组成,数据库设计的好坏是一个关键。如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲。所以我归纳历年来所走的弯路及体会,并在网上找了些对数据库设计颇有造诣的专业人士给大家传授一些设计数据库的技巧和经验。精选了其中的 60 个最佳技巧,并把这些技巧编写成了本文,为了方便索引其内容划分为 5 个部分: 第 1 部分 - 设计数据库之前 这一部分罗列了 12 个基本技巧,包括命名规范和明确业务需求等。 第 2 部分 - 设计数据库表 总共 24 个指南性技巧,涵盖表内字段设计以及应该避免的常见问题等。 第 3 部分 - 选择键 怎么选择键呢?这里有 10 个技巧专门涉及系统生成的主键的正确用法,还有何 时以及如何索引字段以获得最佳性能等。 第 4 部分 - 保证数据完整性 讨论如何保持数据库的清晰和健壮,如何把有害数据降低到最小程度。 第 5 部分 - 各种小技巧 不包括在以上 4 个部分中的其他技巧,五花八门,有了它们希望你的数据库开发工作会更轻松一些。 第 1 部分 -