SQL Server中约束的介绍
摘要
对于SQL Server中的约束,想必大家并不是很陌生。但是约束中真正的内涵是什么,并不是很多人都很清楚的。本文以详细的文字来介绍了什么是约束,以及如何在数据库编程中应用和使用这些约束,来达到更好的编程效果。(本文部分内容参考了SQL Server联机手册)
内容
数据完整性分类
实体完整性
域完整性
引用完整性
用户定义完整性
PRIMARY KEY约束
DEFAULT约束
CHECK约束
UNIQUE约束
FOREIGN KEY约束
正文
在数据库管理系统中,保证数据库中的数据完整性是非常重要的。所谓数据完整性,就是指存储在数据库中数据的一致性和正确性。约束定义关于列中允许值的规则,是强制完整性的标准机制。使用约束优先于使用触发器、规则和默认值。查询优化器也使用约束定义生成高性能的查询执行计划。
SQL Server联机丛书中,将数据完整性解释如下:“存储在数据库中的所有数据值均正确的状态。如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性。”强制数据完整性可确保数据库中的数据质量。
例如,如果输入了 employee_id 值为 123 的职员,那么该数据库不应允许其他职员使用同一 ID 值。如果计划将 employee_rating 列的值范围设定为从 1 到 5,则数据库不应接受 6。如果表有一 dept_id 列,该列存储职员的部门编号,则数据库应只允许接受公司中的有效部门编号。
数据完整性分类
在SQL Server中,根据数据完整新措施所作用的数据库对象和范围不同,可以将数据完整性分为以下几种。
实体完整性
域完整性
引用完整性
用户定义完整性
SQL Server联机丛书中指明:“对表进行计划有两个重要步骤:标识列的有效值和确定如何强制列中的数据完整性。”
实体完整性
实体完整性简单的说,就是将表中的每一行看作一个实体。实体完整性要求表的标示符列或主键的完整性。可以通过建立唯一索引、PRIMARY KEY约束、UNIQUE约束,以及列的IDENTITY属性来实施实体完整性。
域完整性
域完整性是指给定列的输入有效性。要求表中指定列的数据具有正确的数据类型、格式和有效的数据范围。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过 CHECK 约束和规则)或可能值的范围。域完整性通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则来实现。
引用完整性
相关文档:
1. SELECT
实例105
SELECT ID "编号",Name 姓名,
Math_Score '数学成绩', //怎么有的有AS,有的没有
Music_Score AS 音乐成绩,
English_Score AS 英文成绩
f ......
1.如何创建数据库
CREATE DATABASE student
2.如何删除数据库
DROP DATABASE student
3.如何备份数据库到磁盘文件
BACKUP DATABASE student to disk=´c:S4.bak´
4.如何从磁盘文件还原数据库
RESTORE DATABASE studnet from DISK = ´c:S4.bak´
5.怎样创建表?
CREATE TABLE Students (
&n ......
SQL基本语句
一. SQL的四条最基本的数据操作语句为Insert,Select,Update和Delete。
二.首先我们使用CREATE TABLE语句来创建一个表。DDL语句对数据库对象如表、列和视进行定义。它们并不对表中的行进行处理,这是因为DDL语句并不处理数据库中实际的数据。这些工作由另一 ......
use AdventureWorks
GO
SELECT c.LastName from Person.Contact c;
SELECT * from HumanResources.Employee e
INNER JOIN HumanResources.Employee m
ON e.ManagerID = m.EmployeeID; n
SELECT ProductID,Name,ProductNumber,ReorderPoint
from Production.Product
where ProductID in( select ProductID fro ......
phpmyadmin 修改执行sql文件大小限制
打开php.ini
post_max_size = 100M ; 表单提交文件大小上限
memory_limit = 128M ; 内存上限
upload_max_filesize = 100M ; 上传文件大小上限
修改以上三项,就可以解决。 但是此时PHPMYADMIN中最大限制:22,528 KB, ......