项目3 数据库表的管理_第1页
项目3 数据库表的管理_第2页
项目3 数据库表的管理_第3页
项目3 数据库表的管理_第4页
项目3 数据库表的管理_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、项目三项目三 数据表的管理 本项目目标本项目目标 掌握表的约束掌握表的约束 掌握表的修改掌握表的修改 数据表的设计与创建数据表的设计与创建 表的设计步骤表的设计步骤 (1)表的命名方式。)表的命名方式。 (2)表中每一列的名称、数据类型及其长度。)表中每一列的名称、数据类型及其长度。 (3)表中的列是否允许空值,是否唯一,是否要进行默)表中的列是否允许空值,是否唯一,是否要进行默 认设置或添加用户定义约束。认设置或添加用户定义约束。 (4)表间的关系,即确定哪些列是主键,哪些是外键。)表间的关系,即确定哪些列是主键,哪些是外键。 数据完整性数据完整性 数据完整性是指数据库中数据的准确性和一致性

2、。如果两数据完整性是指数据库中数据的准确性和一致性。如果两 个或更多的表由于其存储的信息而相互关联,那么只要修个或更多的表由于其存储的信息而相互关联,那么只要修 改了其中一个表,与之相关的所有表都要做出相应的修改,改了其中一个表,与之相关的所有表都要做出相应的修改, 如果不这么做,存储的数据就会不再准确。也就是说,推如果不这么做,存储的数据就会不再准确。也就是说,推 动了数据的完整性。动了数据的完整性。 数据完整性主要分为四类:实体完整性、域完整性、引用数据完整性主要分为四类:实体完整性、域完整性、引用 完整性和用户定义完整性。完整性和用户定义完整性。 数据完整性数据完整性 数据存放在表中数据

3、存放在表中 “数据完整性的问题大多是由于设计引起的数据完整性的问题大多是由于设计引起的” 创建表的时候,就应当保证以后数据输入是正确的创建表的时候,就应当保证以后数据输入是正确的 错误的数据、不符合要求的数据不允许输入错误的数据、不符合要求的数据不允许输入 创建表:保证数据的完整性创建表:保证数据的完整性 = 实施完整性约束实施完整性约束 完整性包括完整性包括2-1 输入的类型是否正确?输入的类型是否正确? 年龄必须是数字年龄必须是数字 输入的格式是否正确?输入的格式是否正确? 身份证号码必须是身份证号码必须是18位位 是否在允许的范围内?是否在允许的范围内? 性别只能是性别只能是”男男”或者

4、或者”女女” 是否存在重复输入?是否存在重复输入? 学员信息输入了两次学员信息输入了两次 是否符合其他特定要求?是否符合其他特定要求? 信誉值大于信誉值大于5的用户才能够加入会员列表的用户才能够加入会员列表 列值要求(约束)列值要求(约束) 整行要求(约束)整行要求(约束) 完整性包括完整性包括2-2 域完整性域完整性 实体完整性实体完整性 引用完整性引用完整性 自定义完整性自定义完整性 实体完整性实体完整性 河南新乡河南新乡赵可以赵可以0010016 河南新乡河南新乡张丽鹃张丽鹃0010015 江西南昌江西南昌雷铜雷铜0010014 湖南新田湖南新田吴兰吴兰0010013 山东定陶山东定陶李

5、山李山0010012 .地址地址姓名姓名学号学号 江西南昌江西南昌雷铜雷铜0010014 约束方法:唯一约束、主键约束、标识列约束方法:唯一约束、主键约束、标识列 域完整性域完整性 河南新乡河南新乡赵可以赵可以00100160010016 河南新乡河南新乡张丽鹃张丽鹃0010015 江西南昌江西南昌雷铜雷铜0010014 湖南新田湖南新田吴兰吴兰0010013 山东定陶山东定陶李山李山0010012 . .地址地址姓名姓名学号学号 湖北江门湖北江门李亮李亮8700000000 约束方法:限制数据类型、外键约束、默认值、非空约束约束方法:限制数据类型、外键约束、默认值、非空约束 引用完整性引用完

6、整性 河南新乡河南新乡赵可以赵可以0010016 河南新乡河南新乡张丽鹃张丽鹃0010015 江西南昌江西南昌雷铜雷铜0010014 湖南新田湖南新田吴兰吴兰0010013 山东定陶山东定陶李山李山0010012 地址地址姓名姓名学号学号 980010021数学数学 约束方法:外键约束约束方法:外键约束 科目科目学号学号分数分数 数学数学001001288 数学数学001001374 语文语文001001267 语文语文001001381 数学数学001001698 自定义完整性自定义完整性 AV121322乔峰乔峰CV0016 AV372133玄痛玄痛CV0015 AV378291沙悟净沙悟

7、净AV0014 AV378290猪悟能猪悟能AV0013 AV378289孙悟空孙悟空AV0012 .会员证会员证用户姓名用户姓名用户编号用户编号 约束方法:规则、存储过程、触发器约束方法:规则、存储过程、触发器 帐号帐号姓名姓名信用信用. 00192孙悟空孙悟空7 00288猪悟能猪悟能6 12333段誉段誉8 90111虚竹虚竹40 93000岳不群岳不群-10 触发器:检查信用值触发器:检查信用值 思考思考 在主键列输入的数值,允许为空吗在主键列输入的数值,允许为空吗? 一个表可以有多个主键吗一个表可以有多个主键吗? 在一个学校数据库中,如果一个学校内允许重名的学在一个学校数据库中,如果

8、一个学校内允许重名的学 员,但是一个班级内不允许学员重名,可以组合班级员,但是一个班级内不允许学员重名,可以组合班级 和姓名两个字段一起来作为主键吗?和姓名两个字段一起来作为主键吗? 选择主键的原则选择主键的原则 最少性最少性 尽量选择单个键作为主键尽量选择单个键作为主键 稳定性稳定性 尽量选择数值更新少的列作为主键尽量选择数值更新少的列作为主键 MySQL的约束的约束 约束的目的:确保表中数据的完整型约束的目的:确保表中数据的完整型 常用的约束类型:常用的约束类型: 非空约束非空约束 主键约束(主键约束(Primary Key Constraint):要求主键列数据唯一,):要求主键列数据唯

9、一, 并且不允许为空并且不允许为空 字段的值自动增加字段的值自动增加 唯一约束(唯一约束(Unique Constraint):要求该列唯一,允许为空。):要求该列唯一,允许为空。 默认约束(默认约束(Default Constraint):某列的默认值,如我们的男):某列的默认值,如我们的男 性学员较多,性别默认为性学员较多,性别默认为“男男” 外键约束(外键约束(Foreign Key Constraint):用于两表间建立关系,):用于两表间建立关系, 需要指定引用主表的那列需要指定引用主表的那列 约束名的取名规则推荐采用:约束类型约束名的取名规则推荐采用:约束类型_约束字段约束字段 主

10、键(主键(Primary Key)约束:如)约束:如 PK_stuNo 唯一(唯一(Unique Key)约束:如)约束:如 UQ_stuID 默认(默认(Default Key)约束:如)约束:如 DF_stuAddress 外键外键(Foreign Key)约束:如约束:如 FK_stuNo PRIMARY KEY约束约束 非空约束非空约束 约束字段的值不能为空约束字段的值不能为空 CREATE TABLE t_dept( deptno INT NOT NULL, dname VARCHAR(20), loc VARCHAR(40) ); PRIMARY KEY约束约束 PRIMARY K

11、EY约束约束 表的一列或几列的组合的值在表中唯一地指定一行记表的一列或几列的组合的值在表中唯一地指定一行记 录,这样的一列或多列称为表的主键(录,这样的一列或多列称为表的主键(PRIMARY KEY),), 通过它可强制表的实体完整性。通过它可强制表的实体完整性。 CREATE TABLE t_dept( deptno INT PRIMARY KEY, dname VARCHAR(20), loc VARCHAR(40) ); /*为主键设置一个名字为主键设置一个名字*/ CREATE TABLE t_dept( deptno INT, dname VARCHAR(20), loc VARCH

12、AR(40), ()() ); 多字段主键多字段主键 CREATE TABLE t_dept( deptno INT, dname VARCHAR(20), loc VARCHAR(40), CONSTRAINT pk_dname_deptno PRIMARY KEY(deptno, dname) ); 字段的值自动增长字段的值自动增长 CREATE TABLE t_dept( deptno INT PRIMARY KEY AUTO_INCREMENT, dname VARCHAR(20), loc VARCHAR(40) ); UNIQUE约束约束 CREATE TABLE t_dept(

13、deptno INT, dname VARCHAR(20) UNIQUE, loc VARCHAR(40) ); /*设置唯一约束名设置唯一约束名*/ CREATE TABLE t_dept( deptno INT, dname VARCHAR(20), loc VARCHAR(40), CONSTRAINT uk_dname UNIQUE(dname) ); DEFAULT约束约束 CREATE TABLE t_dept( deptno INT, dname VARCHAR(20) DEFAULT 工程部工程部, loc VARCHAR(40) ); FOREIGN KEY约束约束 FORE

14、IGN KEY约束标识表之间的关系,用于强制参约束标识表之间的关系,用于强制参 照完整性,为表中一列或者多列数据提供参照完整性。照完整性,为表中一列或者多列数据提供参照完整性。 FOREIGN KEY约束也可以参照自身表中的其他列,这种约束也可以参照自身表中的其他列,这种 参照称为自参照。参照称为自参照。 FOREIGN KEY约束约束 CREATE TABLE t_dept( deptno INT PRIMARY KEY, dname VARCHAR(20), loc VARCHAR(40) ); CREATE TABLE t_employee ( empno INT PRIMARY KEY, ename VARCHAR(20), job VARCHAR(40), MGR INT, Hiredate DATE, sal DOUBLE(10,2), comm DOUBLE(10,2), deptno INT, CONSTRAINT fk_deptno FOREIGN KEY(deptno) REFERENCES t_dept(deptno) ); 数据表的操作数据表的操作 使用使用SQL语句修改表名语句修改表名 ALTER TABLE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论