- 58
- 0
- 约1.13万字
- 约 32页
- 2017-05-21 发布于浙江
- 举报
数据库 实验二 交互式sql 实验报告
数据库原理课程实验报告
1. 实实验???? 1.熟悉数据库的交互式SQL工具。
??? 2.?熟悉通过SQL对数据库进行操作。
??? 3.?完成的上机练习。
.1? 操作系统:
??? Windows 2000或者Windows XP
??? 注:使用Professional版的操作系统建议安装数据库管理系统的教学版,Server版的操作系统建议安装数据库管理系统的企业版。
.2? 数据库管理系统:
???? 实验内容及要求
在中建立一个数据库,进行实验所要求的各种操作,所有的SQL操作均在此建立的新库里进行。
2.? 根据以下要求认真填写实验报告,记录所有的实验用例。.1? 数据定义
???1.? 熟悉基本表的创建、修改及删除。
??? 2.? 熟悉索引的创建和删除。
??? 3.? 熟悉视图的创建和删除。
.2? 数据操作
1.? 完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询)。
2.? 完成各类更新操作(插入数据,修改数据,删除数据)。
.3? 视图的操作
???视图的定义(创建和删除),查询,更新(注意更新的条件)。
[例5]建立一个“学生”表Student。
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY,
Sname CHAR(20) UNIQUE,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);
[例6]建立一个“课程”表Course。
CREATE TABLE Course
(Cno CHAR(4) PRIMARY KEY,
Cname CHAR(40),
Cpno CHAR(4),
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENCES Course(Cno)
);
[例7]建立一个学生选课表SC。
CREATE TABLE SC
(Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY(Sno,Cno),
FOREIGN KEY (Sno) REFERENCES Student(Sno),
FOREIGN KEY (Cno) REFERENCES Course(Cno)
);
修改基本表:
[例8]向Student表增加“入学时间”列,
其数据类型为日期型。
ALTER TABLE Student
ADD S_entrance DATETIME;
[例9]将年龄的数据类型由字符型(假
设原来的数据类型是字符型)改为整数。
ALTER TABLE Student
ALTER COLUMN Sage INT;
[例10]增加课程名称必须取唯一
值的约束条件。
ALTER TABLE Course
ADD UNIQUE(Cname);
删除基本表:
[例11]删除Student表。
DROP TABLE Student CASCADE;
[例12]若表上建有视图,选择RESTRICT
时表不能删除;CASCADE时可以删除表,
视图也自动被删除。
CREATE VIEW IS_Studdent
AS
SELECT Sno,Sname,Sage
FROM Student
WHERE Sdept= IS;
DROP TABLE Student RESTRICT;
--ERROR:cannot drop table Student
because other objects depend on it
DROP TABLE Student CASCADE;
--NOTICE:drop cascades to view IS_Student
SELECT * FROM IS_Studdent;
--ERROR:relation IS_Studdent does not exit
建立索引:
[例13]CREATE CLUSTER INDEX Stusname ON Student(Sname);
删除索引:
[例14]为学生-课程数据库中的Student,Course,SC
三个表建立索引。
CREATE UNIQUE INDEX Stusno ON Student(Sno);
CREATE UNIQUE INDEX Coucno ON Course(Cno);
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);
[例15] 删除Student表的Stusname索引。
DROP INDEX Stusname;
单表查询
[例1]查询全体学生的姓名和年
原创力文档

文档评论(0)