数据库实验三

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

注意:在粘贴截图时请保留窗口完整标题,但只需保留关键界面,多余的空白界面请删除。

一、实验课时:4

二、实验目的

(1) 掌握使用T-SQL语句创建、删除数据库的方法。

(2) 掌握使用T-SQL语句创建、修改、删除表的方法。

(3) 掌握使用T-SQL语句创建、删除数据库完整性约束条件的方法。

(4) 掌握使用T-SQL语句对表添加、修改、删除数据的方法。

(5) 掌握使用T-SQL语句创建、修改、删除、查询视图的方法。

三、实验要求

(1) 使用SQL Server 2008查询分析器。

(2) 严格依照操作步骤进行。

(3) 在本地服务器中创建和管理数据库。

四、实验环境

(1) PC机。

(2) SQL Server 2008。

五、实验内容及步骤(请特别注意实验步骤:第6项的第1小项,即“插入数据”操作必须在第4项以前执行)

1.使用Transact-SQL语句创建JOBS数据库,数据库名格式为

JOBS_SunYu(即JOBS_你的中文名字拼音)

CREATE Database JOBS_DengZhiPeng;

2.使用Transact-SQL语句创建JOBS数据库包含的所有表

EMPLOYEE

CREATE TABLE EMPLOYEE(

EMPNO SMALLINT NOT NULL,

SUPNAME VARCHAR(50)NOT NULL,

FORENAMES VARCHAR(50)NOT NULL, DOB DATE NOT NULL,

ADDRESS VARCHAR(50)NOT NULL,

TELNO CHAR(10)NOT NULL,

DEPNO SMALLINT NOT NULL

);

JOBHISTORY

CREATE TABLE JOBHISTORY(

EMPNO SMALLINT NOT NULL,

POSITION VARCHAR(50)NOT NULL,

STARDATE DATE NOT NULL,

ENDDATE DATE NULL,

SALARY INT NOT NULL

);

COURSE

CREATE TABLE COURSE(

COURSENO SMALLINT NOT NULL,

CNAME VARCHAR(50)NOT NULL,

CDATE DATE NOT NULL

);

DEPARTMENT

CREATE TABLE DEPARTMENT(

DEPNO SMALLINT NOT NULL,

DNAME VARCHAR(50)NOT NULL,

LOCATION VARCHAR(10)NOT NULL,

HEAD SMALLINT NOT NULL

);

EMPCOURSE

CREATE TABLE EMPCOURSE(

EMPNO SMALLINT NOT NULL,

COURSENO SMALLINT NOT NULL);

3.使用Transact-SQL语句创建JOBS数据库包含表的主键、外键约束条件

创建每个表的主键:

ALTER TABLE EMPLOYEE

ADD CONSTRAINT PK_EMPLOYEE

PRIMARY KEY (EMPNO);

ALTER TABLE JOBHISTORY

ADD CONSTRAINT PK_JOBHISTORY

PRIMARY KEY (EMPNO,POSITION,STARDATE); ALTER TABLE COURSE

ADD CONSTRAINT PK_COURSE

PRIMARY KEY (COURSENO);

ALTER TABLE DEPARTMENT

ADD CONSTRAINT PK_DEPARTMENT

PRIMARY KEY (DEPNO);

ALTER TABLE EMPCOURSE

ADD CONSTRAINT PK_EMCOURSE

PRIMARY KEY (EMPNO,COURSENO);

创建关系:

ALTER TABLE JOBHISTORY

ADD CONSTRAINT FK_JOBHISTORY_EMPLOYEE FOREIGN KEY (EMPNO)

REFERENCES EMPLOYEE(EMPNO);

ALTER TABLE EMPCOURSE

ADD CONSTRAINT FK_EMPCOURSE_EMPLOYEE FOREIGN KEY (EMPNO)

REFERENCES EMPLOYEE(EMPNO);

ALTER TABLE EMPCOURSE

ADD CONSTRAINT FK_EMPCOURSE_COURSE FOREIGN KEY (COURSENO)

REFERENCES COURSE(COURSENO);

ALTER TABLE EMPLOYEE

ADD CONSTRAINT FK_EMPLOYEE_DEPARTMENT FOREIGN KEY (DEPNO)

REFERENCES DEPARTMENT(DEPNO);

ALTER TABLE DEPARTMENT

ADD CONSTRAINT FK_DEPARTMENT_EMPLOYEE FOREIGN KEY (HEAD)

REFERENCES EMPLOYEE(EMPNO);

具体关系:

EXECUTE sp_helpconstraint DEPARTMENT; EXECUTE sp_helpconstraint EMPCOURSE; EXECUTE sp_helpconstraint JOBHISTORY; EXECUTE sp_helpconstraint EMPLOYEE;

(所有JOBS中表的约束图。注意:必须如上图所示清楚完整显示约束的constraint_type、constraint_name、constraint_keys等信息。)

4.备份JOBS数据库

5.使用Transact-SQL语句在JOBS数据库里创建视图(注意:在以下各个小题中,后续题目可以利用前面题目创建的视图)

(1)创建一个名为“firstview”的视图,列出不重复的所有选修了课程的

empno

(插入定义该视图的SQL窗口)

CREATE VIEW firstview(EMPNO)

AS

SELECT DISTINCT EMPNO

FROM EMPCOURSE;

(插入查询该视图的SQL窗口及结果)

(2)创建一个名为“secondview”的视图,列出所有empno小于5的员工信

(插入定义该视图的SQL窗口)

CREATE VIEW secondview(EMPNO,SUPNAME,

相关文档
最新文档