当前位置:文档之家› 实验4使用t-sql语言创建和修改表答案

实验4使用t-sql语言创建和修改表答案

实验4使用t-sql语言创建和修改表答案
实验4使用t-sql语言创建和修改表答案

实验4 使用T-SQL语言创建和修改表

一、实验目的

1.掌握使用查询分析器利用T-SQL语句创建数据库表的方法。

2.掌握使用查询分析器利用T-SQL语句修改数据库表结构、删除数据库表的方法。

3.掌握如何使用查询分析器利用T-SQL语句创建和使用用户自定义数据类型。

二、实验内容

新建人事管理系统数据库,包括三个表:员工基本信息表、部门信息表、员工工资信息表。三个表的结构如表3-7、表3-8、表3-9。完成以下各题。

表 3-7 员工基本信息表

表 3-8部门信息表

表 3-9员工工资信息表

1.使用T-SQL语句自定义一个数据类型TELEPHONE_COD,为字符型CHAR(15),允许空

值。

SQL代码如下:

USE 人事管理系统

EXEC SP_ADDTYPE TELEPHONE_CODE,'CHAR(15)','NULL'

2.使用查询分析器利用T-SQL语句创建员工基本信息表。

SQL代码如下:

USE 人事管理系统

CREATE TABLE 员工基本信息表

(

员工编号INT NOT NULL CONSTRAINT PK_YGID PRIMARY KEY,

员工姓名NVARCHAR(50) NOT NULL,

员工登录名NVARCHAR(20) NOT NULL,

员工登录密码BINARY(20) NULL,

员工电子邮件NVARCHAR(50) NOT NULL,

员工所属部门编号INT NULL,

员工基本工资INT NULL,

员工职位名称NVARCHAR(50) NULL,

员工电话TELEPHONE_CODE NULL,

员工报到日期DATETIME NOT NULL,

员工自我介绍NVARCHAR(200) NULL,

员工剩余假期INT NULL,

员工的级别INT NULL,

员工照片IMAGE NULL

)

3.使用查询分析器利用T-SQL语句创建部门信息表。

SQL代码如下:

USE 人事管理系统

CREATE TABLE 部门信息表

( 部门编号INT NOT NULL CONSTRAINT PK_BMID PRIMARY KEY,部门名称CHAR(10) NULL,

部门描述CHAR(50) NULL,

部门经理编号INT NULL

)

4.使用查询分析器利用T-SQL语句创建员工工资信息表。

SQL代码如下:

USE 人事管理系统

CREATE TABLE 员工工资信息表

( 工资编号INT NOT NULL,

员工编号INT NOT NULL,

工资发放时间DATETIME NOT NULL,

员工基本工资INT NULL,

加班工资INT NULL,

缺勤扣除INT NULL,

其他工资INT NULL,

CONSTRAINT PK_GZID_YGID PRIMARY KEY(工资编号,员工编号)

)

5.使用T-SQL语句重命名员工工资信息表为员工工资表。

SQL代码如下:

USE 人事管理系统

EXEC SP_RENAME 员工工资信息表,员工工资表

6.使用查询分析器在员工基本信息表中进行如下修改:

(1)添加一个“联系地址”字段,数据类型为VARCHAR(100),允许为空值。

SQL代码如下:

USE 人事管理系统

ALTER TABLE 员工基本信息表

ADD 联系地址 VARCHAR(100) NULL

(2)将“员工自我介绍”字段删除。

SQL代码如下:

USE 人事管理系统

ALTER TABLE 员工基本信息表

DROP COLUMN 员工自我介绍

(3)将“员工所属部门编号”字段重命名为“部门编号”,数据类型修改为INT,不允许为空。

SQL代码如下:

USE 人事管理系统

EXEC SP_RENAME '员工基本信息表.[员工所属部门编号]','部门编号

','COLUMN'

ALTER TABLE 员工基本信息表

ALTER COLUMN 部门编号 INT NOT NULL

(4)将“部门编号”字段添加外键约束,约束标识为FK_BMID,与部门信息表中

的“部门编号”字段关联。

SQL代码如下:

USE 人事管理系统

ALTER TABLE 员工基本信息表

ADD CONSTRAINT FK_BMID FOREIGN KEY (部门编号) REFERENCES 部门信

息表(部门编号)

(5)添加一个“性别”字段,数据类型为CHAR(2),默认约束,约束名为DF_XB,其值为“男”。

SQL代码如下:

USE 人事管理系统

ALTER TABLE 员工基本信息表

ADD 性别 CHAR(2) CONSTRAINT DF_XB DEFAULT '男'

(6)在“性别”列上增加CHECK约束,约束名为CK_XB,要求性别字段只能是“男”或“女”。

SQL代码如下:

USE 人事管理系统

ALTER TABLE 员工基本信息表

ADD CONSTRAINT CK_XB CHECK (性别 IN('男','女'))

7.修改部门信息表,在“部门名称”列增加唯一约束UK_BMNAME。

SQL代码如下:

USE 人事管理系统

ALTER TABLE 部门信息表

ADD CONSTRAINT UN_BMNAME UNIQUE(部门名称)

8.修改员工工资表,删除主键约束PK_GZID_YGID。

SQL代码如下:

USE 人事管理系统

ALTER TABLE 员工工资表

DROP CONSTRAINT PK_GZID_YGID

9.使用SQL语句将如表3-10所示部门信息记录表插入部门信息表中。

表 3-10部门信息记录表

SQL代码如下:

USE 人事管理系统

INSERT INTO 部门信息表(部门编号,部门名称,部门描述,部门经理编号) VALUES(000,'人力资源部','负责招聘等工作',200)

INSERT INTO 部门信息表(部门编号,部门名称,部门描述,部门经理编号) VALUES(001,'财务部','负责工资管理',202)

INSERT INTO 部门信息表(部门编号,部门名称,部门描述,部门经理编号) VALUES(002,'市场部','负责销售',203)

INSERT INTO 部门信息表(部门编号,部门名称,部门描述,部门经理编号) VALUES(003,'开发部','负责产品开发',204)

10.使用SQL语句将部门信息表中的人力资源部部门经理编号改为201。

SQL代码如下:

USE 人事管理系统

UPDATE 部门信息表

SET 部门经理编号 = 201

WHERE 部门名称 = '人力资源部'

11.使用SQL语句将部门信息表中的部门编号增加1。

SQL代码如下:

USE 人事管理系统

UPDATE 部门信息表

SET 部门编号 = 部门编号 + 1

12.使用SQL语句将部门信息表中的开发部删除。SQL代码如下:

USE 人事管理系统

DELETE FROM 部门信息表

WHERE 部门名称 = '开发部'

相关主题
文本预览
相关文档 最新文档