数据定义完整性约束的实现
- 格式:ppt
- 大小:368.50 KB
- 文档页数:55
数据库中的数据完整性与约束数据完整性是数据库设计和管理中的重要概念,它确保数据库中存储的数据准确、一致、可靠。
为了保证数据的完整性,数据库引入了各种约束,限制数据的输入和操作,以避免对数据库造成不一致或错误的影响。
一、实体完整性实体完整性是指数据库中的实体必须具有唯一性。
在数据库中,每个记录都代表一个实体,通过定义主键来确保每个实体都能唯一标识。
主键是一个或多个字段的组合,它们的值在整个表中必须唯一。
通过主键约束,确保了每个实体在数据库中的唯一性。
二、域完整性域完整性是指数据库中的每个字段都必须满足一定的约束条件。
常见的域完整性包括数据类型、长度、格式等方面的限制。
例如,在一个存储用户信息的表中,手机号字段的数据类型必须是数字,长度必须是11位,以保证数据的有效性。
三、参照完整性参照完整性是指两个表之间的引用关系必须满足一定的约束条件。
在关系型数据库中,通过外键约束可以实现参照完整性。
外键是一种引用另一个表中主键的字段,用于建立表之间的关联关系。
通过外键约束,确保了数据在引用表和被引用表之间的一致性。
四、用户定义的完整性用户定义的完整性是指根据业务需求,用户对数据库添加的约束。
例如,用户可以定义检查约束来限制某个字段的取值范围,确保数据的合法性。
用户还可以定义触发器来在插入、更新、删除数据时执行一些特定操作,从而保证数据的一致性。
综上所述,数据库中的数据完整性与约束是确保数据准确性和一致性的重要手段。
通过实体完整性、域完整性、参照完整性和用户定义的完整性等约束,可以有效地保证数据库中存储的数据的有效性和可靠性。
数据库管理员和开发人员在设计和管理数据库时,应合理利用这些约束,以确保数据的完整性。
实现数据完整性约束数据完整性约束是指在数据库中确保数据的准确性、一致性和有效性的一组规则和限制。
这些约束可以保护数据库以免受到无效、不一致或重复数据的影响。
通过实施数据完整性约束,可以确保数据库中的数据具有一定的质量和价值,从而增强数据库的可靠性和可用性。
数据完整性约束可以通过多种方式实现,下面是一些常见的方法:1. 主键约束(Primary Key Constraint):主键是一种唯一标识数据库表中每一行的字段(或一组字段),它的值不能重复且不能为空。
通过为表定义主键,并将该字段(或字段组合)设置为主键约束,可以确保表中的每一行都有唯一标识,并且不存在空值。
3. 唯一约束(Unique Constraint):唯一约束用于确保表中的一些字段(或一组字段)的值是唯一的,即在表中不存在重复值。
通过为表中的字段添加唯一约束,可以防止插入重复数据,从而保证数据的一致性。
4. 非空约束(Not Null Constraint):非空约束用于确保表中的一些字段不允许为空值。
通过为字段添加非空约束,可以强制要求在插入或更新数据时必须为该字段提供有效的值,从而防止插入无效数据。
5. 默认约束(Default Constraint):默认约束用于在插入新记录时为字段提供默认值。
通过定义默认约束,可以确保在没有明确赋值的情况下,字段总是具有预先定义的默认值,从而确保数据的完整性。
6. 检查约束(Check Constraint):检查约束用于在插入或更新数据时对字段的值进行验证。
通过定义检查约束,可以限制字段的值必须满足特定的条件,例如数值范围、正则表达式匹配等。
这样可以确保插入或更新的数据满足预期的要求,从而保证数据的有效性和一致性。
为了实现数据完整性约束,数据库管理系统(DBMS)通常提供了相应的语法和功能来定义和应用这些约束。
通过在创建表时使用适当的约束语句,或者在已经存在的表中使用ALTERTABLE语句添加约束,可以实施这些数据完整性约束。
实验三、四 创建表及输入数据及完整性约束本实验需要4学时。
一、实验目的要求学生熟练掌握和使用Transact-SQL、SQL Server企业管理器创建表、索引和修改表结构,并学会使用SQL Server 查询分析器接收Transact-SQL语句和进行结果分析。
学生熟练掌握使用 SQL、Transact-SQL和SQL Server企业管理器向数据库输入数据、修改数据和删除数据的操作。
二、实验内容1 创建表、确定表的主码和约束条件。
为主码建索引。
2 查看和修改表结构。
3 输入数据、修改数据和删除数据三、实验步骤(1)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为;图书(书号,类别,出版社,作者,书名,定价,作者).读者(编号,姓名,单位,性别,电话).借阅(书号,读者编号,借阅日期)要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。
(2)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。
(3)通过企业管理器,在图书借阅数据库的图书、读者和借阅3个表中各输入10条记录。
要求记录不仅满足数据约束要求.还要有表间关联的记录。
(4)通过企业管理器实现对图书借阅数据库的图书、读者和借阅3个表中数据的插入。
删除和修改操作。
(5)通过企业管理器实现对学生选课库的数据增加、数据删除和数据修改操作、要求学生、课程和选课表中各有10条以上的记录。
四、实验方法1 新建表在 SQL Serve 2000的数据库中,文件夹是按数据库对象的类型建立的.文件夹名是该数据库对象名。
当在企业管理器中选择服务器和数据库文件夹,并打开已定义好的图书.读者数据库后,会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹。
数据库中的数据一致性与完整性保证数据库是现代信息系统中不可或缺的组成部分,它承担着存储、管理和维护组织数据的重要职责。
在数据库中,数据一致性和完整性是两个至关重要的概念。
本文将深入探讨数据一致性与完整性的定义、重要性以及保证方法。
一、数据一致性的定义与重要性数据一致性指的是数据库中的数据在任意时刻都应该保持一致的状态。
具体来说,即在事务开始与结束时,数据库中的数据应该满足一定的约束条件,以确保其有效性和准确性。
数据一致性的重要性在于确保数据库中的数据可靠可信。
如果数据库中的数据不一致,可能导致数据冲突、错误的计算结果以及不可预测的系统行为。
例如,如果一笔转账操作在数据库中只完成了一半,那么这个系统将陷入不一致的状态,从而影响用户的资金安全。
二、数据完整性的定义与重要性数据完整性是指数据库中所有数据都是准确、完整和可信的。
它是确保数据库中数据的准确性和一致性的重要保障。
数据完整性可以通过定义和强制执行一些约束条件来实现,以确保只有有效的数据被插入到数据库中。
数据完整性的重要性在于防止非法或无效数据的插入,保证了数据库的数据质量和可靠性。
例如,如果一个学生的成绩不能小于0或大于100,通过定义数据完整性的约束条件,可以有效防止成绩输入错误或超出合理范围的情况。
三、保证数据一致性与完整性的方法1. 使用事务管理事务管理是保证数据一致性与完整性的关键方法之一。
数据库事务是一组有序的操作,要么全部执行成功,要么全部失败回滚,以保证数据库的一致性。
通过将一系列相关的数据库操作包装在事务中执行,可以确保数据的一致性和完整性。
2. 定义约束条件数据库中的约束条件是一种限制和规范数据的方法,可以在数据库设计阶段定义并在数据插入和更新时强制执行。
常用的约束条件包括主键约束、外键约束、唯一约束和检查约束等。
通过定义约束条件,可以有效地限制无效数据的插入和更新,从而保证数据的完整性。
3. 实施合适的验证机制验证机制用于检查并确保数据库中的数据满足特定的规范和约束条件。
数据库中数据完整性与约束的设计与实现数据完整性是指数据库中的数据符合定义好的规则和约束,保证数据的正确性、有效性和一致性。
数据完整性和数据约束是数据库设计和实现过程中非常重要的部分,能够确保数据的质量和可靠性。
在本文中,我们将探讨数据库中数据完整性的设计与实现,并介绍数据库约束的各种类型和用法。
在数据库设计中,我们可以通过以下几种方式来保证数据的完整性:1. 实体完整性:实体完整性是指每张表中的每一行数据都必须唯一存在,不能出现重复数据。
为了保证实体完整性,我们可以在数据库设计中设置主键约束。
主键是对表中每一行数据进行唯一标识的一列或一组列。
通过将主键设置为唯一且非空,我们可以确保表中的每一行数据都是唯一的。
2. 参照完整性:参照完整性是指确保数据库中的外键与它所引用的主键保持一致性。
外键是一张表中对另一张表中主键的引用。
通过参照完整性约束,我们可以限制外键引用主键的行为,防止数据引用错误或引用不存在的数据。
参照完整性可以通过设置外键约束来实现。
3. 域完整性:域完整性是指对数据库中的列设置约束,保证数据按照预期的规则进行插入。
常见的域完整性约束包括:唯一约束、非空约束、默认值约束、检查约束等。
唯一约束要求列中的数据不能重复;非空约束要求列中的数据不能为NULL;默认值约束在未指定值的情况下给予一个默认值;检查约束要求满足指定的条件。
4. 用户定义完整性:用户定义完整性是指用户通过触发器或存储过程来实现的一些额外约束条件。
触发器是一种特殊的存储过程,当满足某些条件时会自动触发执行。
用户可以根据业务需求,在特定操作前后编写触发器,用来实现自定义的数据约束。
了解了如何设计和实现数据完整性,接下来我们将介绍数据库约束的各种类型和用法:1. 主键约束(Primary Key):主键约束是对表中的一个或多个列设置唯一非空的约束。
主键通过确保表中每一行数据的唯一性来标识数据记录。
在设计数据库表时,我们应该为每个表选择一个合适的主键,并在创建表时设置主键约束。
数据库的完整性实验报告数据库的完整性实验报告引言:数据库的完整性是指数据库中存储的数据必须满足预定的一致性要求,包括实体完整性、域完整性、参照完整性和用户定义的完整性。
本实验旨在通过设计一个简单的数据库,并通过实际操作验证其完整性。
一、实验目的本实验的目的是通过设计和操作数据库,了解数据库的完整性概念,并掌握如何保证数据的完整性。
二、实验环境本实验使用MySQL数据库管理系统,并在Windows操作系统上进行实验。
三、实验步骤1. 创建数据库首先,我们需要创建一个数据库来存储我们的数据。
在MySQL中,可以使用以下命令创建一个新的数据库:```CREATE DATABASE integrity;```2. 创建数据表接下来,我们需要创建一个数据表来存储我们的数据。
假设我们要创建一个学生信息表,包括学生的学号、姓名和年龄。
可以使用以下命令创建该表:```USE integrity;CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT);```3. 插入数据现在,我们可以向刚刚创建的数据表中插入一些数据。
例如,我们可以插入几个学生的信息:```INSERT INTO students (id, name, age) VALUES (1, '张三', 20);INSERT INTO students (id, name, age) VALUES (2, '李四', 22);INSERT INTO students (id, name, age) VALUES (3, '王五', 21);```4. 实体完整性实体完整性是指每个实体都必须具有一个唯一的标识符。
在我们的学生信息表中,学生的学号是唯一的标识符。
为了保证实体完整性,我们可以在创建表时使用PRIMARY KEY约束来定义学号为主键:```CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT);```这样,如果有重复的学号插入到表中,系统会报错并拒绝插入。
数据库的四种类型的完整性约束数据完整性:是指存储在数据库中的所有数据值均正确的状态。
四种类型的完整性约束:1、实体完整性约束:表中的每⼀⾏数据都反映不同的实体,不能存在相同的数据⾏.通过索引.唯⼀约束,主键约束或标识列属性,可以⽤来实现表的实体完整性.索引:将⽂献中具有检索意义的事项(可以是⼈名、地名、词语、概念、或其他事项)按照⼀定⽅式有序编排起来,以供检索的⼯具书。
数据库索引好⽐是⼀本书前⾯的⽬录,能加快数据库的查询速度。
例如这样⼀个查询:select * from table1 where id=44。
如果没有索引,必须遍历整个表,直到ID等于44的这⼀⾏被找到为⽌;有了索引之后(必须是在ID这⼀列上建⽴的索引),直接在索引⾥⾯找44(也就是在ID这⼀列找),就可以得知这⼀⾏的位置,也就是找到了这⼀⾏。
可见,索引是⽤来定位的。
唯⼀约束:⽐如⼀张表的学⽣姓名设置了唯⼀约束,那么学⽣的姓名就是不能重复的,只能是唯⼀的唯⼀约束保证在⼀个字段或者⼀组字段⾥地数据与表中其它⾏的数据相⽐是唯⼀的附上与主键约束的区别,以更好理解创建唯⼀约束可确保在未参与主键的特定列中不输⼊重复值。
尽管唯⼀约束和主键都强制唯⼀性,但如果情况如下,则应向表附加唯⼀约束⽽不是主键约束:希望在某⼀列或某⼀组列中强制唯⼀性。
您可以向表附加多个唯⼀约束,但只能向表附加⼀个主键约束。
希望在允许空值的列中强制唯⼀性。
您可以向允许空值的列附加唯⼀约束,但只能向不允许空值的列附加主键约束。
当向允许空值的列附加唯⼀约束时,请确保在所约束的列中最多只有⼀⾏包含空值。
2、域完整性约束:指给定列的输⼊有效性通过限制数据类型,检查约束,输⼊格式,外键约束,默认值,⾮空约束等多种⽅法,可以⽤来实现表的域完整性.3、参照完整性约束:在输⼊或删除数据⾏时,引⽤完性约束⽤来保持表之间已定义的关系4:、⽤户定义的完整性约束:⽤来定义特定的规则,例如,向⽤户信息表中插⼊⼀个⽤户记录时,要求通过⾝份证编号来检查另外⼀个数据库中是否存在该⽤户,并且该⽤户的信誉度是否满⾜要求等.如果不满⾜要求则不能够插⼊,这个时候就需要使⽤数据库的规则存储过程或者触发器来进⾏约束。
数据库与数据约束的完整性管理在数据库管理系统(DBMS)中,数据约束是一种用于维护数据完整性的重要机制。
通过定义约束条件,可以对数据库中的数据进行有效的管理和保护,以确保数据的正确性、一致性和有效性。
本文将探讨数据库中的数据约束以及其完整性管理的相关内容。
一、数据约束的概念和作用数据约束是指对数据库中数据进行规定和限制的措施,旨在保证数据的完整性和一致性。
通过数据约束,可以实施以下功能:1. 数据唯一性约束:保证数据表中的某个字段的值唯一,避免出现重复数据。
2. 主键约束:将一个或多个字段定义为主键,用于标识数据表中的每一条记录,确保唯一性和标识性。
3. 外键约束:定义表之间的关联关系,保证关联数据的完整性和一致性。
4. 默认值约束:设置字段的默认值,确保数据的有效性和完整性。
5. 检查约束:定义字段的取值范围或条件,确保数据的合法性。
二、数据约束的实现方式数据约束可以通过不同的方式来实现,下面是几种常见的实现方式:1. 基于表的约束:通过在表的定义中添加约束条件,例如主键、唯一性、外键等。
这种实现方式简单直接,是最常见的约束方式。
2. 基于视图的约束:通过创建视图并定义约束条件,对基础表中的数据进行过滤和限制。
这种方式可以对数据表进行更灵活的管理和控制。
3. 基于触发器的约束:通过在表上创建触发器,在数据插入、更新或删除时触发相应动作,对数据进行检查和限制。
触发器可以根据需要自定义逻辑,对数据进行更加精细的管理和控制。
三、数据完整性管理的方法为了保证数据库中数据的完整性,需要采取相应的管理方法,以下是一些常用的方法:1. 设计良好的数据模型:在设计数据库时,需要充分考虑各种实体、属性和关系,合理设置字段类型和约束条件,减少数据错误和不一致性的可能性。
2. 数据访问控制:通过权限管理和角色控制,限制用户对数据库的访问和操作权限,确保数据的安全和完整性。
3. 定期备份和恢复:及时对数据库进行备份,以便在数据出现问题时进行恢复和修复,保证数据的完整性和可靠性。
数据库完整性实验报告引言数据库完整性是数据库管理系统中的一个重要概念,用于确保数据库中数据的准确性、有效性和一致性。
本实验旨在通过设计和实现一系列完整性约束,来验证数据库完整性的实际应用。
实验目标本实验的目标是设计并实现以下几种完整性约束:1.实体完整性约束2.参照完整性约束3.用户自定义完整性约束实验环境本实验使用了以下工具和环境:•数据库管理系统:MySQL•编程语言:Python•集成开发环境:Jupyter Notebook实验步骤步骤一:数据库设计首先,我们需要设计一个符合实验需求的数据库。
我们选择一个简单的学生管理系统作为示例,包含以下两个实体:1.学生(Student):包含学生的学号、姓名和年龄。
2.课程(Course):包含课程的课程号、课程名和学分。
步骤二:实体完整性约束实体完整性约束用于保证每个实体在数据库中都有唯一的标识。
在本实验中,我们将为学生实体添加一个主键约束,保证每个学生的学号是唯一的。
CREATE TABLE Student (id INT PRIMARY KEY,name VARCHAR(50),age INT);步骤三:参照完整性约束参照完整性约束用于保证关系数据库中的引用一致性。
在本实验中,我们将为课程实体添加一个外键约束,引用学生实体的主键。
CREATE TABLE Course (id INT PRIMARY KEY,name VARCHAR(50),credits INT,student_id INT,FOREIGN KEY (student_id) REFERENCES Student(id));步骤四:用户自定义完整性约束用户自定义完整性约束是根据具体业务需求自定义的约束条件。
在本实验中,我们将为课程实体添加一个自定义约束,保证学分必须大于等于0。
ALTER TABLE CourseADD CONSTRAINT chk_credits CHECK (credits >=0);实验结果通过以上步骤,我们已经成功设计并实现了实体完整性约束、参照完整性约束和用户自定义完整性约束。
数据库的安全性和完整性及其实现机制为了保证数据库数据的安全可靠性和正确有效,DBMS必须提供统一的数据保护功能。
数据保护也为数据控制,主要包括数据库的安全性、完整性、并发控制和恢复。
一、数据库的安全性数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。
计算机系统都有这个问题,在数据库系统中大量数据集中存放,为许多用户共享,使安全问题更为突出。
在一般的计算机系统中,安全措施是一级一级设置的。
在DB存储这一级可采用密码技术,当物理存储设备失窃后,它起到保密作用。
在数据库系统这一级中提供两种控制:用户标识和鉴定,数据存取控制。
在ORACLE多用户数据库系统中,安全机制作下列工作:防止非授权的数据库存取;防止非授权的对模式对象的存取;控制磁盘使用;控制系统资源使用;审计用户动作。
数据库安全可分为二类:系统安全性和数据安全性。
系统安全性是指在系统级控制数据库的存取和使用的机制,包含:有效的用户名/口令的组合;一个用户是否授权可连接数据库;用户对象可用的磁盘空间的数量;用户的资源限制;数据库审计是否是有效的;用户可执行哪些系统操作。
数据安全性是指在对象级控制数据库的存取和使用的机制,包含:哪些用户可存取一指定的模式对象及在对象上允许作哪些操作类型。
在ORACLE服务器上提供了一种任意存取控制,是一种基于特权限制信息存取的方法。
用户要存取一对象必须有相应的特权授给该用户。
已授权的用户可任意地可将它授权给其它用户,由于这个原因,这种安全性类型叫做任意型。
ORACLE利用下列机制管理数据库安全性:数据库用户和模式;特权;角色;存储设置和空间份额;资源限制;审计。
1.数据库的存取控制ORACLE保护信息的方法采用任意存取控制来控制全部用户对命名对象的存取。
用户对对象的存取受特权控制。
一种特权是存取一命名对象的许可,为一种规定格式。
ORACLE使用多种不同的机制管理数据库安全性,其中有两种机制:模式和用户。
数据库设计中避免冗余与保持一致性的技巧在数据库设计中,避免冗余和保持一致性是至关重要的。
冗余是指在数据库中存储了重复或不必要的数据,这不仅浪费了存储空间,还可能导致数据不一致性的问题。
而保持一致性则确保了数据库中的数据始终保持的准确、完整和可靠。
为了避免冗余,以下是一些常用的技巧:1. 数据分解与标准化:- 使用标准化方法,将数据库的各个实体和属性进行适当的分解,避免重复存储相同的数据。
例如,使用第三范式来保证数据库中的每个属性都只依赖于候选键,而不是依赖于其他非候选键的属性。
2. 使用外键关系:- 当在多个表之间存在关系时,使用外键来确保数据的一致性和完整性。
外键可以用于定义主表和从表之间的关系,并通过限制和强制执行引用完整性来确保只有有效的引用才能被插入。
3. 规范化数据存储:- 尽量避免在数据库中存储可以通过计算得到的数据。
通过使用视图、函数、触发器等技术,可以将计算和导出数据的过程移出数据库。
4. 使用枚举和代码表:- 对于一些具有固定值范围的属性,可以将其定义为枚举类型或者创建代码表来限制其取值。
这样不仅可以减少重复的数据存储,还可以提高数据的一致性和可读性。
5. 数据库维护与更新:- 定期对数据库进行维护和更新,以去除冗余数据。
这包括清理无用的数据、合并重复的数据、更新过时的数据等。
同时,也要确保对数据库的结构和约束进行适当的修改和更新。
为了保持一致性,以下是一些常用的技巧:1. 定义数据完整性约束:- 数据库应该定义适当的数据完整性约束,以确保数据在插入和更新时始终保持一致性。
例如,使用主键、唯一约束、非空约束等。
2. 使用事务管理:- 在数据库设计中,使用事务管理可以确保多个操作或查询操作的一致性。
通过将相关操作组合成一个事务,并使用事务控制语句(例如START TRANSACTION、COMMIT、ROLLBACK等),可以确保这些操作要么全部执行成功,要么全部回滚。
3. 设计有效的关系模式:- 在数据库设计中,合理设计关系模式可以帮助确保数据的一致性。
如何在数据库管理中实现数据完整性在当今数字化的时代,数据已经成为企业和组织的重要资产。
而数据库管理中的数据完整性,就像是守护这些资产的坚固堡垒,确保数据的准确性、一致性和可靠性。
那么,如何在数据库管理中实现数据完整性呢?这是一个值得深入探讨的重要问题。
首先,我们需要明确什么是数据完整性。
简单来说,数据完整性指的是数据的准确性和一致性,即在数据库中存储的数据应该是正确的、完整的,并且符合预期的规则和约束。
如果数据完整性得不到保障,可能会导致错误的决策、业务流程的中断,甚至给企业带来严重的经济损失。
为了实现数据完整性,我们可以从以下几个方面入手。
一、设计合理的数据库结构在数据库设计阶段,就要充分考虑数据完整性的需求。
合理的数据库结构是实现数据完整性的基础。
这包括选择合适的数据类型、定义主键和外键、建立索引等。
选择合适的数据类型可以确保数据的存储和处理的准确性。
例如,对于整数类型的数据,应该选择适当的整数类型(如 smallint、int 或bigint),以避免数据溢出或精度损失。
定义主键可以唯一标识每一条记录,确保数据的唯一性。
外键则用于建立表与表之间的关联,保证数据的一致性。
通过定义外键约束,可以防止在相关表中插入或更新不存在的关联数据。
建立索引可以提高数据的查询和检索效率,但也要注意不要过度索引,以免影响数据的插入和更新性能。
二、制定并实施数据规则和约束在数据库中,可以通过定义各种规则和约束来保证数据的完整性。
常见的约束包括主键约束、唯一约束、非空约束、检查约束和默认值约束等。
主键约束确保表中的每一行都有唯一的标识符,避免重复数据的出现。
唯一约束则保证某一列的值在整个表中是唯一的。
非空约束要求某些列必须有值,不能为 NULL。
这可以确保关键信息不会缺失。
检查约束可以用于定义更复杂的条件,例如限制某个列的值在特定的范围内,或者满足特定的格式要求。
默认值约束为没有提供值的列提供默认的取值,保证数据的完整性。
数据完整性约束(2)——⽤户定义完整性⼀.MySQL⽀持哪⼏种⽤户定义完整性?
.MySQL⽀持三种⽤户⾃定义完整性:⾮空约束,check约束,触发器约束。
⼆.⾮空约束
采⽤关键字:not null来定义⾮空约束
例⼦:
create table tb(
tb_id int not null
);
三.check约束
3.1对于列的check约束
语法:在列的定义后⾯使⽤check(sql语句)
例⼦:
create table tb(
tb_id int not null check(tb_id<100000)
);
接下来我们来进⾏⼀次操作,插⼊⼀个⼤于100000的值100001并查询:
insert into tb values(100001);
select tb_id from tb;
奇怪的是100001竟然插⼊到了数据库中,原来MySQL只是对check约束做了分析,并没有实质性的操作约束。
3.2对表实⾏check约束
在表的末尾进⾏定义,语法:
create table tb(
tb_id int,
tb_text varchar(20),
check(tb_id in(10,20,30,50))
);
同样对表的check约束也是⼀个空壳罢了。
四.删除约束
使⽤关键字:alter table 表名 drop 约束类型【外键 | 索引】约束名 |【主键】
删除主键例⼦:
alter table tb drop primary key;。