实验三 索引和约束
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验3 索引和约束
实验目的:
1.掌握索引的使用方法
2.掌握约束的实现方法。
实验要求:
了解索引和约束的相关知识,掌握表结构修改的方法。
实验内容:
1.创建和删除索引
2.创建和删除约束
实验步骤:
说明:按实验步骤对数据库YGGL中的三个表进行操作,三个表结构如下(具体参看实验2):Departments (DepartmentID,DepartmentName,Note)
Employees
(EmployeeID,Name,Sex,Birthday,Education,WorkYear,Address,PhoneNumber,Department ID)
Salary(SalaryID,InCome,OutCome,Time, EmployeeID)
要求:完成实验步骤中的SQL。
1. 使用CREATE INDEX语句创建索引和约束
(1)对YGGL数据库上的Employees表中的Birthday列建立索引in_birth。
(2)在Employees表的Name列和Address列上建立复合索引in_name。
(3)在Departments表的DepartmentName列建立唯一性索引in_depname。
(4)使用SHOW INDEX语句查看Employees表的索引。
(5)使用SHOW INDEX 语句查看Departments 表的索引。
2.使用ALTER TABLE 语句向表中添加索引和约束
(1)向Employees 表中的出生日期列添加一个唯一性索引,姓名列和性别列添加一个复合索引。
(2)删除表Departments 的主键。
(3)将表
Departments 的DepartmentID 列设为主键。
(4)删除表salary 的现有的外键。
(5)为表salary 添加适合的外键。
3.在创建表时创建索引和约束 创建与表Departments 表相同结构的表Departments1,将DepartmentName 列设为主键,
DepartmentID
列上建立一个索引
实验3 索引和约束
实验目的:
1.掌握索引的使用方法
2.掌握约束的实现方法。
实验要求: 了解索引和约束的相关知识,掌握表结构修改的方法。 实验内容: 1. 创建和删除索引
2. 创建和删除约束
实验步骤:
说明:按实验步骤对数据库YGGL 中的三个表进行操作,三个表结构如下(具体参看实验2): Departments (DepartmentID,DepartmentName,Note) Employees
(EmployeeID,Name,Sex,Birthday,Education,WorkYear,Address,PhoneNumber,Department ID) Salary (SalaryID,InCome,OutCome,Time, EmployeeID) 要求:完成实验步骤中的SQL 。 1. 使用CREATE INDEX 语句创建索引和约束
(1)对YGGL 数据库上的Employees 表中的Birthday 列建立索引in_birth 。
(2)在Employees 表的Name 列和Address 列上建立复合索引in_name 。
(3)在Departments 表的DepartmentName 列建立唯一性索引in_depname 。
(4)使用SHOW INDEX 语句查看Employees 表的索引。
实验3 索引和约束
实验目的: 1.掌握索引的使用方法
2.掌握约束的实现方法。
实验要求:
了解索引和约束的相关知识,掌握表结构修改的方法。
实验内容: 1. 创建和删除索引
2. 创建和删除约束 实验步骤:
说明:按实验步骤对数据库YGGL 中的三个表进行操作,三个表结构如下(具体参看实验2): Departments (DepartmentID,DepartmentName,Note) Employees (EmployeeID,Name,Sex,Birthday,Education,WorkYear,Address,PhoneNumber,Department ID) Salary (SalaryID,InCome,OutCome,Time, EmployeeID) 要求:完成实验步骤中的SQL 。
1. 使用CREATE INDEX 语句创建索引和约束 (1)对YGGL 数据库上的Employees 表中的Birthday 列建立索引in_birth 。
(2)在Employees 表的Name 列和
Address 列上建立复合索引in_name 。
(3)在Departments 表的DepartmentName 列建立唯一性索引in_depname 。
(4)使用SHOW INDEX 语句查看Employees 表的索引。
create database YGGL;
use YGGL;
create table Employees(EmployeeID char(6) primary key, Name char (8),
Sex char(2),Birthday char(8),Education char(6),WorkYear char(8),Address char(20), PhoneNumber char(11),DepartmentID char(6));
create table Departments(DepartmentID char(6) primary key,
DepartmentName char(8),Note char(20));
create table Salary(SalaryID char(6) primary key,
InCome char(5),OutCome char(5), Time char(8),EmployeeID char(6));
create index in_birth on Employees(Birthday);
show index from Employees;
create index in_name on Employees(Name,Address);
show index from Employees;
create unique index in_depname on Departments(DepartmentName);
show index from Departments;
alter table Employees add unique csrq (Birthday);
alter table Employees add key xx(Name,Sex);
describe Employees;
alter table Departments drop primary key;
describe Employees;
alter table Departments add primary key(DepartmentID);
alter table Salary add EmployeeID char(6);
alter table salary add constraint c1 foreign key(employeeID) references employees(employeeID); alter table salary drop foreign key c1;
create table Departments1 as select*from Departments ;
alter table Departments1 add primary key(DepartmentName);
create index zh on Departments1 (DepartmentID);