mysql实验九_实验九数据库的完整性设计.PDF

实验九数据库的完整性设计

实验九 数据库的完整性设计

实验学时:1 学时

实验类型:设计

实验要求:必做

一、实验目的

熟练掌握使用Navicat 和Transact-SQL 语言两种方法创建、修改和删除表。掌握管理表

的有关系统存储过程。

二、实验内容

1、利用Navicat 创建满足以下要求的数据库:①数据库存在于连接MySQL 中;②数据

库名称为xsgl ; ③字符集选择utf8 -- UTF-8 Unicode;排序规则选择utf8_general_ci 。

2、在数据库xsgl 中,利用Navicat 和SQL 语句创建以下表格:

1)表格名为xs (学生基本情况表),表格中各个属性的定义如下:

列名 含义 数据类型 长度 能否取空值 备注

xh 学号 int no

xm 姓名 char 8 yes

xb 性别 char 2 yes

nl 年龄 tinyint yes

zy 专业 char 16 yes

jtzz 家庭住址 char 50 yes

2 )表格名为kc (课程情况表),表格中各个属性的定义如下:

列名 含义 数据类型 长度 能否取空值 备注

xh 学号 int no

kch 课程号 Int no

kcm 课程名 char 20 yes

xss 学时数 int yes

xf 学分 int yes

fs 分数 Int yes

1、在xs 表中定义xh 为主键。

2、在kc 表中定义xh 和kch 联合构成主键。

3、定义kc 表中的kcm 列满足唯一性约束。

4、定义kc 表中的fs 列默认值为0 。

5、定义xs 表中的xb 列的CHECK 约束“男”或“女”。

6、在xs 表与kc 表之间定义外键xh 。

参考语句如下:

use xsgl;

create table xs

(

xh int not null,

xm char(8) null,

xb char(2) null check(xb in('男','女')),

nl tinyint null,

zy char(16) null,

jtzz char(50) null,

primary key(xh)

)engine=innodb default charset=utf8 auto_increment=1;

create table kc

(

xh int not null,

kch int not null,

kcm char(20) null unique,

xss int null,

xf int null,

fs int null default 0,

primary key(xh,kch),

foreign key(xh) references xs(xh) on delete cascade on update

cascade

)engine=innodb default charset=utf8 auto_increment=1;

7、以下将创建一个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值