实验一 基本表的定义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实 验 一 基本表的定义、删除与修改
一、 实验目的:
熟练掌握基本表的定义、删除与修改,为后继学习作准备。
二、 实验属性(验证性)
1.了解Microsoft SQL Server 2005并掌握SQL 查询分析器的使用;
2.掌握基本表的定义、删除与修改。
三、 实验仪器设备及器材
1.电脑。
2.Microsoft SQL Server 2005。
四、 实验要求(预习、实验前、实验中、实验后等要求)
1.预习教材第三章,熟悉SQL 语句。
2.熟悉Microsoft SQL Server 2005 开发环境。
3.能够熟练掌握Microsoft SQL Server 2005环境下的数据库的编程。
五、 实验原理
SQL 语言应用。
六、 实验步骤:
1.启动SQL SERVER 2005
2.打开查询分析器(点击工具栏上的新建)
3.建立数据库cjgl
4.建立如下数据表
1 定义基本表
例1.1 建立表3.3所示的学生表Students ,每个属性名的意义为Sno-学号、Sname-姓名、Ssex-性别、Sage-年龄、Sdept-所在系。这里要求Sno 和Sname 不能为空值,且取值唯一。Sno 为主码。
CREA TE TABLE Students
(Sno CHAR(5) NOT NULL UNIQUE /*列级完整性约束条件*/
Sname CHAR(20) NOT NULL, NOT NULL UNIQUE /*Sname 不能为空值*/ Ssex CHAR(2), Sage INT,
Sno
Cno Grade S01 S01 S02 S02 S02 S03 S03 S04
C01 C03 C01 C02 C03 C01 C02 C03
92 84 90 94 82 72 90 75
Sno Sname Ssex Sage Sdept S01 S02 S03 S04 S05 S06 王建平 刘华 范林军 李伟 黄河 长江
男 女 女 男 男 男 21 19 18 19 18 20
自动化 自动化 计算机 数学 数学 数学 表3.5 关系Reports 表3.4 关系Courses Cno Cname Pre_Cno Credits C01 C02 C03 C04 C05 C06 C07
英语 数据结构 数据库 DB_设计 C++ 网络原理 操作系统
C05 C02 C03 C07 C05
4 2 2 3 3 3 3
表3.3 关系Students
Sdept CHAR(15), PRIMARY KEY (Sno),
CONSTRAINT un_Sname UNIQUE(Sname)); /* Sname 取值唯一的约束*/ 说明说明::在Microsoft SQL Server 2000的查询分析器(Query Analyzer)中使用单条SQL 语句,其末尾不需要分号“;”作为命令结尾标记。通常,SQL Server 2000对大多数末尾带有分号的SQL 命令都能顺利执行,但对少数的SQL 命令,末尾若带分号,则SQL Server 2000会给出错误信息提示。 比如,出现“Incorrect syntax near ';'”的提示,虽然SQL Server 2000实际上已经执行了该命令。
例1.1-1 建立表3.4所示的课程表Courses ,其属性名意义分别为Cno-课程号, Cname-课程名, Pre_Cno-先修课程号, Credits-学分。Cno 为主码。
CREA TE TABLE Courses (Cno CHAR(5)
Cname CHAR(20) NOT NULL, /*Cname 不能为空值*/ Pre_Cno CHAR(5), Credits INT,
PRIMARY KEY(Cno));
例1.1-2 建立表3.5所示的成绩表Reports 。其中的属性名意义分别为Sno-学号,Cno-课程号和Grade-考试成绩。Sno 和Cno 为主码。
CREATE TABLE Reports ( Sno CHAR(5) Cno CHAR(5) Grade INT,
PRIMARY KEY (Sno ,Cno )
FOREIGN KEY (Sno ) REFERENCE Students(Sno),
FOREIGN KEY (Cno ) REFERENCE Students(Courses)); 2 修改基本表
例1.2 向基本表Students 中增加“入学时间”属性列,其属性名为RegisterDate ,数据类型为DATETIME 型。
ALTER TABLE Students ADD RegisterDate DA TETIME;
例1.3 将Sage(年龄)的数据类型改为SMALLINT 型。
ALTER TABLE Students ALTER COLUMN Sage SMALLINT; 例1.4 删除Sname(姓名)必须取唯一值的约束。
ALTER TABLE Students DROP CONSTRAINT un_Sname;
注意注意::SQL Server 2000 增加了删除属性的命令。比如,删除属性列RegisterDate 的命令为:
ALTER TABLE Students DROP COLUMN RegisterDate; 说明说明::为了保证后面例子能够顺利运行,请大家一定将属性列RegisterDate 从Students 表中删除。
3 删除基本表
例3.5 删除Students 表。 DROP TABLE Students;