版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MySQL数据库项目三:电商零售系统数据库数•据•的•完•整•性•约•束课程回顾如何创建数据库如何创建数据表对于已经创建好的表,虽然字段的数据类型决定了所能存储的数据类型但是表中所存储的数据是否合法并没有进行检查什么叫做数据的完整性约束?MySQL数据库具体使用MySQL数据库时,需要针对表中的数据做一些完整性检查操作MySQL数据库管理系统采用多种方法来保证数据完整性,提供了一种机制来检查数据库表中的数据是否满足规定的条件,以保证数据库表中数据的准确性和一致性对已经创建好的表定义完整性约束创建新表时就进行完整性约束的定义数据的完整性约束MySQL中的数据支持不同的数据类型来处理不同的操作实际生活中字段的取值通常有一个范围如果这些字段被插入不合法的数据,将给系统带来麻烦数据完整性是信息安全的三个基本要点之一传输存储信息存储数据确保不被未授权的篡改篡改后能够被迅速发现数据完整性是指数据的精确性和可靠性为防止数据库中存在不符合语义规定的数据防止因错误信息的输入输出造成无效操作或错误信息而提出的数据完整性分为四类:实体完整性域完整性参照完整性用户自定义完整性实体完整性实体完整性要求每个数据表都必须有主键而作为主键的所有字段,其属性必须是唯一及非空值域完整性域完整性是指一个列的输入有效性,是否允许为空值强制域完整性的方法有:限制类型格式或可能值的范围如:人的年龄不能小于0,人的性别只能是“男”或“女”参照完整性是指保证主关键字和外部关键字之间的参照关系它涉及两个或两个以上表数据的一致性维护如:商品销售系统中用户订单中的商品代码必须是商品库存表中已有的商品代码外键值引用表此外键的记录被引用表中主键与外键相匹配的记录关联用户自定义完整性用户自定义完整性是针对某一具体关系数据库的约束条件它反映某一具体应用所涉及的数据必须满足的语义要求约束就是用来限定表中数据:准确性、完整性、一致性、联动性的一套规则MySql中约束保存在information_schema数据库的table_constraints表中,可以通过该表查询约束信息主键约束非空约束主键约束(PRIMARYKEY)在MySQL中,主键全称“主键约束”,是一个列或多列的组合其值能唯一地标识表中的每一行,通过它可强制表的实体完整性在SQLyog界面上用“主键”表示,如图所示主键的作用是确定该数据的唯一性,主要是用于和其他表的外键关联,以及本记录的修改与删除可能会重复人身份证号姓名不会重复,可以作为主键在数据表中可以通过身份证号确定准确人选,而姓名可能会出现同名据库的单个数据表中只能有一个主键
,不可能有多个主键如果一张表选中多个主键,我们称之为联合主键联合主键就是用多个字段一起作为一张表的主键在创建数据表的时候没有指定主键InnoDB会自动帮创建一个不可见的、长度为6字节的字段row_id由于row_id的长度限制,为了避免这种隐患,每个表在创建时都需要一个主键在SQLyog界面上,创建表的时候直接创建主键新建表的时候,图上列名是“主键”的即为主键列设置方法是在设置好字段名和数据类型后,在主键复选框上选中即可主键是列的唯一标志主键不能为空,在选中主键时将默认选中非空约束设置好后,还可以在右键单击表后弹出界面中选择“改变表”取消或修改主键也可以修改其他的约束,在设置完成后单击“保存”按钮即可执行约束的修改非空约束(NOTNULL)MySQL中非空约束是最简单的约束,用来限制数据填写的完整性被设置了非空约束的字段,在添加数据时必须要有数据,不能够省略如果用户输入记录时,该字段为空值,则系统会报错非空约束使用NOTNULL语句,而允许为空的字段可以使用NULL关键字非空约束限制该字段中的内容不能为空,但可以是空白字符串或0非空约束与其他约束都用来限制数据,但其作用和使用方式大不相同一个表只能够设置一个主键(或主键组),但非空约束不受限制,而且每个字段的非空约束之间互不影响字段是否非空的两种可能要么允许添加数据为空要么不允许添加数据为空无论字段是否为空,都需要在创建时指出若允许为空则使用NULL否则使用NOTNULL来定义SQLyog图形界面操作非空约束的创建非空约束的修改操作方法和主键约束是一样的课程任务默认值约束自增约束唯一约束外键约束默认值约束(DEFAULT)在MySQL中默认值约束用来给某个字段指定默认值负担一旦设置了默认值约束之后,再插入数据时如果此字段没有显式赋值,则赋值为默认值默认值的使用可以有效降低数据添加的负担例如某校女同学较多,性别就可以默认为“女”如果插入一条新的记录时没有为这个字段赋值那么系统会自动为这个字段赋值为“女”是直接选中复选框创建默认值约束可参考主键约束其他约束是为字段设置一个默认的取值,因此是文本框的形式,将字段的默认取值写入“默认”文本框即可默认值约束默认值可以设置为固定值,也可以设置为通过计算获得的数据系统在添加字段默认值设置时,将根据字段的数据类型提供几个常用的默认值自增约束(AUTO_INCREMENT)自增约束是当给定某个字段该属性之后该列的数据在没有提供确定数据的时候系统会根据之前已经存在的数据进行自动增加填充数据的约束如学生信息表中的学生学号字段可以设置为自增约束字段当添加学生信息时,系统会默认对学号字段值增1自增约束字段由系统自动填入数据,在节省用户工作量和时间的同时,避免因疏忽而加入错误数据(1)自增约束是数据列的一种属性,只适用于整数类型数据列在使用自增约束时,应注意以下几点:(2)自增约束数据列必须有唯一约束,以避免序号重复(3)MySQL表中只能有一个自增约束字段(4)自增字段必须创建索引,如主键索引、唯一索引等(5)有着外键约束的字段不能够设置为自增字段(6)自增约束数据列必须具备NOT
NULL属性自增约束的创建和修改都可以使用SQLyog图形界面操作,其操作方法和主键约束是一样的唯一约束(UNIQUE)MySQL的唯一约束是指所有记录中字段的值不能重复出现为id字段加上唯一性约束后,每条记录的id值都是唯一的,不能出现重复的情况如果其中一条记录的
id
值为0001,那么该表中就不能出现另一条记录的id值也为0001唯一约束与主键约束相似的是它们都可以确保列的唯一性在一个表中可有多个,并且设置唯一约束的列允许有空值,但是由于两个空值也相当于重复,所以只能有一个空值唯一约束在一个表中只能有一个,且不允许有空值。比如,在用户信息表中,为了避免表中用户名重名,可以把用户名设置为唯一约束主键约束外键约束(FOREIGNKEY)完整性约束都是在单表中进行外键约束是要保证多个表(一般是两个表)之间的参照完整性,用来构建两个表中的两个字段之间的约束关系外键约束是表的一个特殊字段,经常与主键约束一起使用外键约束主键所在的表就是主表(也称父表)外键所在的表就是从表(也称子表)对于两个具有关联关系的表而言主表:商品信息表从表:订单详情表定义外键时,需要遵守下列规则:则主表与从表是同一个表,这样的表称为自参照表,这种结构称为自参照完整性主表必须已经存在于数据库中,或者是当前正在创建的表必须为主表定义主键只要外键的每个非空值出现在指定的主键中,这个外键的内容就是正确的主键不能包含空值,但允许在外键中出现空值主表的表名后面指定列名或列名的组合这个列或列的组合必须是主表的主键或候选键外键中列的数目必须和主表的主键中列的数目相同外键中列的数据类型必须和主表主键中对应列的数据类型相同使用SQLyog图形界面操作创建和修改外键约束的方法:(1)在操作界面上选择“3外部键”,然后在栏位上首先在“约束名”填入外键约束名外键约束的命名为了方便查阅一般规则是:“fk_+从表名+_+主表名”可以自定义名称不自定义名称系统会按照mysql规则自动生成一个名称在左侧“引用列”上通过下拉菜单选择从表上指定的外键列在“引用数据库”和“引用表”中依次指定数据库和主表右侧“引用列”上通过下拉菜单选择主表中的参照约束字段(一般是主键)在“订单详情表”的“商品ID”列上创建外键约束“fk_订单详情_商品信息”外键约束“fk_订单详情_商品信息”的参考主表是“商品信息表”,主表中主键约束字段是“商品ID”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 漯河市临颍县2025-2026学年第二学期三年级语文第八单元测试卷(部编版含答案)
- 昌吉回族自治州吉木萨尔县2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 热注运行工班组考核水平考核试卷含答案
- 压路机操作工安全意识强化水平考核试卷含答案
- 轧花工安全知识竞赛强化考核试卷含答案
- 荆门市东宝区2025-2026学年第二学期三年级语文期末考试卷(部编版含答案)
- 巴彦淖尔盟临河市2025-2026学年第二学期五年级语文第八单元测试卷(部编版含答案)
- 牡丹江市阳明区2025-2026学年第二学期五年级语文第七单元测试卷(部编版含答案)
- 保亭黎族苗族自治县2025-2026学年第二学期三年级语文期末考试卷(部编版含答案)
- 锦州市义县2025-2026学年第二学期二年级语文第八单元测试卷部编版含答案
- 世界知识产权日宣传课件
- 2026重庆渝开发物业管理有限公司招聘7人笔试参考试题及答案解析
- 部编版小学道法三年级下册第4课《致敬劳动者》第2课时教学设计
- 矿管股内部管理制度汇编
- 机关内部安全工作制度
- 2026年春季人教PEP版四年级下册英语Unit 1 Class rules 教案(共6课时)
- GB/T 43917.3-2024焊接烟尘捕集和分离设备第3部分:焊枪上烟尘吸气装置捕集效率的测定
- 建筑工程行业的建筑科技与科技创新
- 第三节-海洋生态系统的主要类型(海洋环境生态学)
- DB37T5266-2023城市道路隧道工程设计标准
- Q-SY 08136-2017 生产作业现场应急物资配备选用指南
评论
0/150
提交评论