配色: 字号:
【任务3-16】修改数据表时使用语句方式设置数据表的约束
2022-11-06 | 阅:  转:  |  分享 
  
“数据库类课程资源建设( MySQL 数据库应用与设计)”教学方向资源建设

1



【任务 3-16】修改数据表时使用语句方式设 置数据表

的约束

【任务描述】

( 1)首先删除“图书类型”数据表中的“图书类型编号”字段,然后根据表 3-29 所示

的“图书类型”数据表的结构数据,使用语句方式对“图书类型”数据表的结构进行修改,

同时设置相应的约束。

表 3-29 “图书类型”数据表的结构数据

字段名称 数据类型 字段长度 是否允许 Null 值 约束

图书类型代号 Varchar 2 否 主键约束

图书类型名称 Varchar 50 否 唯一约束

描述信息 Varchar 100 是 无

( 2)将数据表“图书信息”中的字段“图书类型”设置外键约束,相关联的数据表为

“图书类型”,关联字段为“图书类型代码”。

( 3)根据表 3-30 所示的“读者类型”数据表的结构数据,使用语句方式对“读者类型

2”数据表的结构进行修改,同时设置相应的约束。

表 3-30 “读者类型”数据表的结构数据

字段名称 数据类型 字段长度 是否允许 Null 值 约束

读者类型编号 Smallint 否 主键约束

读者类型名称 Varchar 30 否 唯一约束

限借数量 Smallint 否 检查约束 (<=30)

限借期限 Smallint 否 检查约束 (<=360)

续借次数 Smallint 否 默认值约束 (5)

借书证有效期 Smallint 否 默认值约束 (5)

超期日罚金 Decimal 否 默认值约束 (1)、检查约束 (<=2)

【任务实施】

( 1)删除“图书类型”数据表中的“图书类型编号”字段

“数据库类课程资源建设( MySQL 数据库应用与设计)”教学方向资源建设

2



删除“图书类型”数据表中的“图书类型编号”字段的语句如下:

Alter Table 图书类型 Drop 图书类型编号 ;

( 2)修改“图书类型”数据表的结构数据

修改“图书类型”数据表的结构数据的语句如下:

Alter Table 图书类型 Modify 图书类型代号 Varchar(2) Not Null ;

Alter Table 图书类型 Add Constraint PK_图 书类型 Primary Key(图书类型代号 ) ;

Alter Table 图书类型 Modify 图书类型名称 Varchar(50) Unique ;

Alter Table 图书类型 Modify 描述信息 Varchar(100) ;

( 3)设置数据表“图 书信息”外键约束

设置数据表“图书信息”外键约束的语句如下:

Alter Table 图书信息 Add Constraint FK_图书信息 _图书类型

Foreign Key(图书类型 ) References 图书类型 (图书类型代号 ) ;

数据表“图书信息”中外键约束创建完成后,使用“ Show Create Table 图书信息 ; ”

语句可以数据表“图书信息”的外键约束。

( 4)修改“读者类型”数据表的结构数据

修改“读者类型”数据表的结构数据的语句如下:

Alter Table 读者类型 Modify 读者类型编号 Smallint Not Null ,

Add Constraint PK_读者类型 Primary Key(读者类型编号 );

Alter Table 读者类型 Modify 读者类型名称 Varchar(30) Not Null ;

Alter Table 读者类型 Add Constraint UQ_读者类型 Unique(读者类型名称 );

Alter Table 读者类型 Modify 限借数量 Smallint Not Null ;

“数据库类课程资源建设( MySQL 数据库应用与设计)”教学方向资源建设

3



Alter Table 读者类型 Add Constraint CHK_限借数量 Check(限借数量 <=30) ;

Alter Table 读者类型 Modify 限借期限 Smallint Not Null ;

Alter Table 读者类型 Add Constraint CHK_限借期限 Check(限借期限 <=360) ;

Alter Table 读者类型 Modify 续借次数 Smallint Not Null ;

Alter Table 读者类型 Alter 续 借次数 Set Default 5 ;

Alter Table 读者类型 Modify 借书证有效期 Smallint Not Null ;

Alter Table 读者类型 Alter 借书证有效期 Set Default 5 ;

Alter Table 读者类型 Modify 超期日罚金 Decimal Not Null ;

Alter Table 读者类型 Alter 超期日罚金 Set Default 1 ;

Alter Table 读者类型 Add Constraint CHK_超期日罚金 Check(超期日罚金 <=2) ;



献花(0)
+1
(本文系籽油荃面原创)