SQL之数据完整性及多表查询和子查询.docx

SQL之数据完整性及多表查询和子查询.docx

ID:57646215

大小:1.97 MB

页数:20页

时间:2020-08-30

SQL之数据完整性及多表查询和子查询.docx_第1页
SQL之数据完整性及多表查询和子查询.docx_第2页
SQL之数据完整性及多表查询和子查询.docx_第3页
SQL之数据完整性及多表查询和子查询.docx_第4页
SQL之数据完整性及多表查询和子查询.docx_第5页
资源描述:

《SQL之数据完整性及多表查询和子查询.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、SQL之数据完整性及多表查询和子查询数据的完整性1.什么是数据的完整性保证用户输入的数据保存到数据库中是正确的。 2.如何添加数据完整性在创建表时给表中添加约束 3.完整性分类实体完整性、域完整性、引用完整性 实体完整性1.什么是实体完整性表中的一行(一条记录)代表一个实体(entity) 2.实体完整性的作用标识每一行数据不重复。行级约束 3.约束类型主键约束(primarykey)唯一约束(unique)自动增长列(auto_increment)  主键约束特点:每个表中要有一个主键。数据唯一,且不能为null添加方式CREATETABLE表名(字段名1数据类型primarykey,字

2、段2数据类型);CREATETABLE表名(字段1数据类型,字段2数据类型,primarykey(要设置主键的字段));CREATETABLE表名(字段1数据类型,字段2数据类型,primarykey(主键1,主键2)); 联合主键两个字段数据同时相同时,才违反联合主键约束。 1.先创建表2.再去修改表,添加主键ALTERTABLEstudentADDCONSTRAINTPRIMARYKEY(id); 唯一约束特点:指定列的数据不能重复、可以为空值格式CREATETABLE表名(字段名1数据类型字段2数据类型UNIQUE); 自动增长列特点:指定列的数据自动增长,即使数据删除,还是从删除的

3、序号继续往下格式CREATETABLE表名(字段名1数据类型PRIMARYKEYAUTO_INCREMENT,字段2数据类型UNIQUE);  域完整性使用限制此单元格的数据正确,不对照此列的其它单元格比较域代表当前单元格 域完整性约束数据类型:数值类型、日期类型、字符串类型 非空约束(notnull)CREATETABLE表名(字段名1数据类型PRIMARYKEYAUTO_INCREMENT,字段2数据类型UNIQUEnotnull); 默认值约束(default)CREATETABLE表名(字段名1数据类型PRIMARYKEYAUTO_INCREMENT,字段2数据类型UNIQUEno

4、tnulldefault'男');插入的时候,values当中的值直接给default  参照完整性1.什么是参照完整性是指表与表之间的一种对应关系通常情况下可以通过设置两表之间的主键、外键关系,或者编写两表的触发器来实现。有对应参照完整性的两张表格,在对他们进行数据插入、更新、删除的过程中,系统都会将被修改表格与另一张对应表格进行对照,从而阻止一些不正确的数据的操作。2.注意数据库的主键和外键类型一定要一致;两个表必须得要是InnoDB类型设置参照完整性后,外键当中的内容,必须得是主键当中的内容 一个表设置当中的字段设置为主键,设置主键的为主表CREATETABLEstudent(sid

5、intPRIMARYkey,namevarchar(50)notnull,sexvarchar(10)default'男'); 创建表时,设置外键,设置外键的为子表CREATETABLEscore(sidINT,scoreDOUBLE,CONSTRAINTfk_stu_score_sidFOREIGNKEY(sid)REFERENCESstudent(sid)); 表之间关系一对一:一夫一妻一对多关系:一个人可以拥有多辆汽车,要求查询某个人拥有的所有车辆。--Person表CREATETABLEperson(idintprimarykeyNOTNULL,nameVARCHAR(50),ag

6、eint,sexCHAR(1)); --Car表CREATETABLEcar(cidintprimarykey,cnamevarchar(50),colorvarchar(25),pidint,CONSTRAINTfk_PersonFOREIGNKEY(pid)REFERENCESperson(id)); 多对多关系:学生选课,一个学生可以选修多门课程,每门课程可供多个学生选择。一个学生可以有多个老师,而一个老师也可以有多个学生1.创建老师表CREATETABLEteacher(tidINTPRIMARYKEYauto_increment,nameVARCHAR(50),ageint,ge

7、nderchar(1)DEFAULT'男');2.创建学生表CREATETABLEstudent(sidintPRIMARYKEYauto_increment,nameVARCHAR(50)NOTNULL,ageint,genderCHAR(1)DEFAULT'男');3.创建学生与老师关系表CREATETABLEtea_stu_rel(tidINT,sidINT);4.添加外键ALTERTABLEtea_stu_rel

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。