数据完整性

SQL基础

三世轮回 提交于 2020-01-16 19:31:30
数据查询:SELECT 数据定义:CREATE,DROP,ALTER 数据操纵:INSERT,UPDATE,DELETE 数据控制:GRANT,REVOKE 数据定义: 操作对象 操作方式 创建 删除 修改 模式 CREATE SCHEMA DROP SCHEMA 表 CREATE TABLE DROP TABLE ALTER TABLE 视图 CREATE VIEW DROP VIEW 索引 CREATE INDEX DROP INDEX ALTER INDEX 创建模式: CREATE SCHEMA SCHEMA_NAME 定义模式实际上定义了一个命名空间(或者说目录)。 在这个空间中可以定义该模式包含的数据库对象,例如基本表、视图、索引等。 在CREATE SCHEMA中可以接受CREATE TABLE,CREATE VIEW和GRANT子句。 CREATE SCHEMA <模式名> AUTHORIZATION <用户名>[<表定义子句>|<视图定义子句>|<授权定义子句>] 例 : CREATE SCHEMA Test --SQL SERVER 2008 创建模式Test 删除模式: DROP SCHEMA <模式名> <CASCADE|RESTRICT> CASCADE(级联)     删除模式的同时把该模式中所有的数据库对象全部删除 RESTRICT(限制)    

数据库完整性|数据库

。_饼干妹妹 提交于 2019-12-23 04:15:37
数据的完整性是指数据的正确性和相容性。数据的正确性是指数据符合现实世界的语义反映当前实际状况的。数据的相容性是指数据库同一对象在不同关系表中的数据是符合逻辑的。 数据库的完整性和数据库的安全性是两个既有联系又不同的概念。 数据库的完整性是为了防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据。 数据库的安全性是保护数据库防止恶意破坏和非法存取。 完整性检查和控制的防范对象是不合语义、不正确的数据,防止他们进入数据库。 安全性检查和控制的防范对象是非法用户和非法操作,防止他们对数据库的非法存取。 提供定义完整性约束条件的机制(立法) 它表达了给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态和状态的变化,以保证数据的正确性、有效性、相容性。 提供完整性检查方法(执法) 一般在DELETE、INSERT、UPDATE语句执行后开始检查,也可以在事务提交时检查。 进行违约处理(处法) 数据库管理系统若发现用户的操作违背了完整性约束条件将采用一定的动作。如拒绝执行(NO ACTION)、或级联(CASCADE)执行其他操作。进行违约处理保证数据的完整性。 实体完整性 关系模型的实体完整性是在CREATE TABLE中用PRIMARY KEY中定义的。 列级约束条件 表级约束条件 单属性 单属性、多属性 定义实体完整性 CREATE

外键的使用,跟他的优缺点

廉价感情. 提交于 2019-12-22 20:39:18
转自:http://www.cnblogs.com/fuland/p/4280434.html 主键和索引是不可少的,不仅可以优化数据检索速度,开发人员还省不其它的工作, 矛盾焦点:数据库设计是否需要外键。这里有两个问题:一个是如何保证数据库数据的完整性和一致性;二是第一条对性能的影响。 正方观点: 1,由数据库自身保证数据一致性,完整性,更可靠,因为程序很难100%保证数据的完整性,而用外键即使在数据库服务器当机或者出现其他问题的时候,也能够最大限度的保证数据的一致性和完整性。 eg:数据库和应用是一对多的关系,A应用会维护他那部分数据的完整性,系统一变大时,增加了B应用,A和B两个应用也许是不同的开发团队来做的。他们如何协调保证数据的完整性,而且一年以后如果又增加了C应用呢? 2,有主外键的数据库设计可以增加ER图的可读性,这点在数据库设计时非常重要。 3,外键在一定程度上说明的业务逻辑,会使设计周到具体全面。 反方观点: 1,可以用触发器或应用程序保证数据的完整性 2,过分强调或者说使用主键/外键会平添开发难度,导致表过多等问题 3,不用外键时数据管理简单,操作方便,性能高(导入导出等操作,在insert, update, delete 数据的时候更快) eg:在海量的数据库中想都不要去想外键,试想,一个程序每天要insert数百万条记录,当存在外键约束的时候

为什么HTTPS比HTTP更安全?

风格不统一 提交于 2019-12-21 11:03:24
摘要: 理解HTTPS。 作者: 浪里行舟 Fundebug 经授权转载,版权归原作者所有。 前言 近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促进下,互联网迎来了“HTTPS加密时代”,HTTPS将在未来的几年内全面取代HTTP成为传输协议的主流。 读完本文,希望你能明白: HTTP通信存在什么问题 HTTPS如何改进HTTP存在那些问题 HTTPS工作原理是什么 想阅读更多优质文章请猛戳 GitHub博客 ,一年五十篇优质文章等着你! 一、什么是HTTPS HTTPS是在HTTP上建立SSL加密层,并对传输数据进行加密,是HTTP协议的安全版。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。 HTTPS主要作用是: (1)对数据进行加密,并建立一个信息安全通道,来保证传输过程中的数据安全; (2)对网站服务器进行真实身份认证。 我们经常会在Web的登录页面和购物结算界面等使用HTTPS通信。使用HTTPS通信时,不再用 http:// ,而是改用 https:// 。另外,当浏览器访问HTTPS通信有效的Web网站时,浏览器的地址栏内会出现一个带锁的标记。对HTTPS的显示方式会因浏览器的不同而有所改变。 二、为什么需要HTTPS

08-Mysql数据库----完整性约束

烈酒焚心 提交于 2019-12-17 18:08:16
总结: 1,not null 不能插入空,不设置可空 2,unique 单列唯一     create table department(name char(10) unique); 创建方式一     create table department( unique(name)); 创建方式二     联合唯一: unique(name) unique(id) 两个都不同才可插入 组合唯一:unique(name,id) 有一个不同即可插入 3,主键 primary key = not null unique     作用:唯一标识,查询优化.      复合主键: 有一个不同即可.     注意 : 多列主键有问题 4,auto_increment(自增长) # 步长auto_increment_increment,默认为1 # 起始的偏移量auto_increment_offset, 默认是1 # 设置步长 为会话设置,只在本次连接中有效 set session auto_increment_increment=5; #全局设置步长 都有效。 set global auto_increment_increment=5; # 设置起始偏移量 set global auto_increment_offset=3; 清空表区分delete和truncate的区别: delete

MySQL的库表详细操作

南楼画角 提交于 2019-12-17 03:37:16
一 库操作 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/changxin7/p/11525457.html 2、表介绍     表相当于文件,表中的一条记录就相当于文件的一行内容

MySQL数据库~~~~ 完整性约束

北城以北 提交于 2019-12-06 12:54:07
1. not null 与 default not null : 不可空 default : 默认值 例: create table t1(id int not null default 2); 2. unique unique : 唯一属性 例: create table t1(name varchar(20) unique); ​ create table t1(name varchar(20), constraint uk_name unique(name)); 联合唯一: create table t1(name varchar(20),host varchar(15), unique(name,host)); 3. primary key primary key : 主键,字段不为空切唯一 主键 primary key是 innodb存储引擎组织数据的依据,innodb称之为索引组织表,一张表中必须有且只有一个主键。 create table t1(id int primary key); 4. auto_increment auto_increment: 自增属性,默认起始位置为1,步长也为1. create table t1(id int primary key auto_increment); 5. foreign key foreign key : 外键

Mysql的基本操作

柔情痞子 提交于 2019-12-05 11:19:57
一、显示所有数据库    show databases; 二、创建数据库    create database 数据库名; 三、删除数据库    drop database 数据库名; 四、创建表    表是数据库存储数据的基本单位。一个表包含若干个字段或记录;    语法:      CREATE TABLE 表名( 属性名 数据类型 [完整性约束条件],     属性名 数据类型 [完整性约束条件],     ...     属性名 数据表格 [完整性约束条件]     );   约束条件:    CREATE TABLE t_booktype( id INT PRIMARY KEY AUTO_INCREMENT, bookTypeName VARCHAR(20), bookTypeDesc VARCHAR(200) );    来源: https://www.cnblogs.com/linbin7/p/11922099.html

数据完整性

核能气质少年 提交于 2019-12-04 15:23:27
数据完整性 1、域完整性:字段/列------非空、缺省 2、实体完整性:记录/行------主键、唯一键 3、引用完整性:表与表之间------外键 MySQL中的约束:主键(primary key)、唯一性(unique)、非空(not null)、缺省(default)、外键(foreign key) 主键、唯一键、外键都会自动创建索引 一个表只能有一个或一组主键 唯一键:候选主键,区别在于其可以存储空值 外键:来源于主表的主键或者唯一键(外键对应字段:可允许为空,且其值须在外表中出现) 外键 在字段最后添加 constraint fk_Elogs_sID foreign key(sID) references Students(sNo) constraint 约束名 约束类型(对应字段) references 主键(主键字段或位移键字段) 主键 primary key (sid,sCard) 外键 在字段最后添加 constraint fk_Elogs_sID foreign key(sID) references Students(sNo) constraint 约束名 约束类型(对应字段) references 主键(主键字段或位移键字段) 主键 primary key (sid,sCard) 例子: 对于已经存在的表添加唯一键约束 alter table S add

MySQL表的完整性约束

廉价感情. 提交于 2019-12-04 09:27:21
MySQL表的完整性约束 一、概览 为了防止不符合规范的数据进入数据库,在用户对数据进行插入、修改、删除等操作时,DBMS自动按照一定的约束条件对数据进行监测,使不符合规范的数据不能进入数据库,以确保数据库中存储的数据正确、有效、相容。 约束条件与数据类型的宽度一样,都是可选参数,主要分为以下几种: 约束条件 解释 NOT NULL 非空约束,指定某列不能为空; UNIQUE 唯一约束,指定某列或者几列组合不能重复 PRIMARY KEY 主键,指定该列的值可以唯一地标识该列记录 FOREIGN KEY 外键,指定该行记录从属于主表中的一条记录,主要用于参照完整性 二、NOT NULL 是否可空,null表示空,非字符串 not null - 不可空 null - 可空 2.1 not 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; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-