网络数据库技术课程实验指导(5)

2018-12-17 10:20

实验6 索引和数据完整性

实验类型: 验证型 实验课时: 2 指导教师: 时 间:20 年 月 日 课 次:第 节 教学周次:第 周 实验分室: 实验台号: 实 验 员:

实验目的:

1.掌握索引的使用方法 2.掌握数据完整性的实现方法。

实验要求:

了解索引和数据完整性的相关知识。

实验内容:

1. 创建索引 2. 删除索引 3. 数据完整性

实验步骤:

说明:按实验步骤对数据库YGGL中的三个表进行操作,三个表结构如下(具体参看实验2): Departments (DepartmentID,DepartmentName,Note) Employees

(EmployeeID,Name,Sex,Birthday,Education,WorkYear,Address,PhoneNumber,DepartmentID)

Salary(SalaryID,InCome,OutCome,Time, EmployeeID) 要求:将实验步骤中有底纹部分填上正确的SQL。

1. 创建索引

a) 使用CREATE INDEX语句创建索引

(1)对YGGL数据库上的Employees表中的Birthday列建立索引in_birth。

(2)在Employees表的Name列和Address列上建立复合索引in_name。

20

(3)在Departments表的DepartmentName列建立唯一性索引in_depname。

(4)使用SHOW INDEX语句查看Employees表的索引。

(5)使用SHOW INDEX语句查看Departments表的索引。

b) 使用ALTER TABLE语句向表中添加索引

(1)向Employees表中的出生日期列添加一个唯一性索引,姓名列和性别列添加一个复合索引。

(2)删除表Departments的主键。

(3)将表Departments的DepartmentID列设为主键。

c) 在创建表时创建索引

创建与表Departments表相同结构的表Departments1,将DepartmentName列设为主键, DepartmentID列上建立一个索引

21

d) 界面方式创建索引 2. 删除索引

(1)使用DROP INDEX语句删除表Employees上的索引in_birth。

(2)使用ALTER TABLE删除表Departments的主键和索引in_depname。

3. 数据完整性

(1)创建一个表Employees3,只含EmployeeID,Name,Sex和Education列。将Name设为主键,EmployeeID为替代键

(2) 创建一个表Salary1,要求所有Salary1表上出现的EmployeeID都要出现在Salary表中,利用完整性约束实现,要求当删除或修改Salary表上的EmployeeID列时,Salary1表中的EmployeeID值也会随之变化。

(3) 将表Salary中的数据插入到表Salary1中。

(4) 删除或更新表Salary中的数据时,观察表Salary1中的数据有何变化?

(5)创建一个表Employees4,只考虑号码和性别列,性别只能包含男或女。

22

实验7 MySQL语言结构

实验类型: 验证型 实验课时: 2 指导教师: 时 间:20 年 月 日 课 次:第 节 教学周次:第 周 实验分室: 实验台号: 实 验 员:

实验目的:

1.掌握常量的分类及使用 2.掌握变量的分类及使用 3.掌握各种运算符和表达式 4.掌握系统函数的使用

实验要求:

了解MySQL支持的各种数据类型 了解MySQL各种运算符的功能及使用方法 了解MySQL系统内置函数的作用

实验内容:

1. 常量的使用 2. 变量的使用 3. 运算符的使用 4. 系统函数的使用

实验步骤:

说明:按实验步骤对数据库YGGL中的三个表进行操作,三个表结构如下(具体参看实验2): Departments (DepartmentID,DepartmentName,Note) Employees

(EmployeeID,Name,Sex,Birthday,Education,WorkYear,Address,PhoneNumber,DepartmentID)

Salary(SalaryID,InCome,OutCome,Time, EmployeeID) 要求:将实验步骤中紫色底纹部分填上正确答案。

2. 常量的使用 (1) 计算194和142的乘积

SELECT 194*142;

23

(2) 获取以下这串字母的值:'I\\nlove\\nMySQL'

SELECT 'I\\nlove\\nMySQL';

3. 系统变量的使用 (1) 获取现在的MySQL版本号

SELECT @@VERSION;

(2) 获取当前的系统时间

SELECT CURRENT_TIME;

(3) 获取当前的系统日期

4. 用户变量的使用

(1) 参照YGGL数据库,创建一个名为female的用户变量,并在SELECT语句中使用该局部变量查找表中所有女职工的编号,姓名。

USE YGGL; SET @female=0;

SELECT EmployeeID,Name FROM Employees WHERE sex=@female;

(2) 定义一个变量,用于获取号码为102201的员工的电话号码。

SET @phone=(SELECT PhoneNumber

FROM Employees WHERE EmployeeID='102201');

查询变量phone的值。

(3) 定义一个变量,用于描述YGGL数据库中的Salary表中员工000001的实际收入,然后查询该变量。

5. 运算符的使用

(1) 使用算术运算符“-”查询员工的实际收入。

SELECT InCome-OutCome FROM Salary;

(2) 使用比较运算符“>”Employees表中工作时间大于5年的员工信息。

SELECT * FROM Employees WHERE year(now())-year(WorkYear)>5;

24


网络数据库技术课程实验指导(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Office基本操作

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: