实验三 SQL语言的DDL 实验报告 - 图文

更新时间:2023-09-16 05:19:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验三 SQL语言的DDL 实验报告

实验任务

1.打开数据库SQL Server 2008的查询分析器,用Create Table建表Student,course,sc。数据库的名称为“学生选课”,各个表结构如教材P85页所示。 以下要求用T-SQL来实现: 创建student表:

CREATE table Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) UNIQUE, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) );

创建course表:

CREATE TABLE Course

(Cno CHAR(4) PRIMARY KEY, Cname CHAR(40), Cpno CHAR(4), Credit SMALLINT,

FOREIGN KEY (Cpno) REFERENCES Course(Cno) );

创建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) );

2.向表中填入教材P82数据。

3.向Student 表增加“入学时间”列(列名为Scome,日期型)

ALTER TABLE Student ADD Scome DATE;

4.将年龄的数据类型改为整型。

ALTER TABLE Student ALTER COLUMN Sage INT;

5. 为Student中Sname添加列级完整性约束,不能为空。为Student中Sno添加列级完整性约束,取值唯一,不能为空。 Sname添加列级完整性约束,不能为空

ALTER TABLE Student ADD CONSTRAINT c1 CHECK(Sname IS NOT NULL); 图示为插入元组时Sname列内为空时数据输入失败:

Sno添加列级完整性约束,取值唯一,不能为空

ALTER TABLE Student ADD CONSTRAINT c2 UNIQUE(Sno)

ALTER TABLE Student ADD CONSTRAINT c3 CHECK(Sno IS NOT NULL);

6. 删除Student中Sname 列级完整性。

ALTER TABLE Student DROP CONSTRAINT c1;

7.为SC按学号升序和课程号降序建立唯一索引。

CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);

8. 建立Student、Course及SC的主码约束。

在建立Student、Course、SC表的主码约束时出现错误,原因是在创建各个表时已经定义了主码约束,因此再次建立时失败。

本文来源:https://www.bwwdw.com/article/115h.html

Top