数据库实验三
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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;