1、实验 1 数据库及数据库表的建立1 实验目的本实验的目的是使学生熟悉 SQL Server 的企业管理器的用法,初步了解 SQL Server 查询分析器的使用方法,熟悉 SQL SERVER 的常用数据类型,加深对 SQL 定义语言的理解。熟练掌握数据库的创建以及基本表的创建与修改。2 实验时数 2 学时3 实验内容首先创建一个学生数据库 stu_db,在此数据库中创建以下基本表:1 基本表的建立:a) 建立一个“学生”表 Student,它由学号 xh、姓名 xm、性别 xb、年龄nl、所在系 xi 五个属性组成,其中学号属性不能为空,并且其值是唯一的。 b) 建立一个“学生”表 Stud
2、ent,它由学号 xh、姓名 xm、性别 xb、年龄nl、所在系 xi 五个属性组成,其中学号属性不能为空,并创建检查约束(nl0)。 c) 建立一个“学生”表 Student,它由学号 xh、姓名 xm、性别 xb、年龄nl、所在系 xi 五个属性组成,要求学号为主键,xb 有默认的值为 男d) 建立“课程 kc”包括课程号 kch,课程名称 kcmc,先修课程 xxkc,学分xf,要求建立主键e) 建立“成绩登记表 cjdj”包括学号 xh,程号 kch,成绩,要求建立主键及与 student 及 kc 表联接的外键2 基本表的修改:a) 在 cjdj 表中增加一列 “任课教师 rkjs”
3、b) 删除 cjdj 表中 rkjs 一列c) 将 student 表的 xm 一列允许空值的属性更改成不允许为空,将列 xm 的长度由 char(8)改为 char(10)d) 增加 cjdj 表的列 cj 增加一个约束要求 cj0 and cj0)。create table Student2(xh char(8) not null,xm char(20),xb char(2),nl int check (nl0),xi char(20)go -c建立一个“学生”表Student3,它由学号xh、姓名xm、性别xb、年龄nl 、所在系xi五个属性组成,-要求学号为主键,xb有默认的值为男cr
4、eate table Student3(xh char(8) primary key,xm char(20),xb char(2) default 男 ,nl int,xi char(20)go -d建立“ 课程kc” 包括课程号kch ,-课程名称kcmc,先修课程xxkc,学分xf,要求建立主键create table kc(kch char(8) primary key,kcmc char(20),xxkc char(2),xf int)go -e建立“ 成绩登记表cjdj” 包括学号xh,程号kch,成绩,要求建立主键及与student及kc表联接的外键create table cjd
5、j(xh char(8),kch char(8),cj int,primary key(xh,kch),foreign key(xh)references Student3(xh),foreign key(kch)references kc(kch),)go-2基本表的修改:-a)在 cjdj表中增加一列 “任课教师rkjs”alter table cjdj add rkjs char(20)-b)删除 cjdj表中rkjs一列alter table cjdj drop column rkjs -c) 将student表的xm一列允许空值的属性更改成不允许为空,将列xm 的长度由char(8)
6、 改为char(10)alter table Student3alter column xm char(10) not null-d) 增加cjdj表的列cj增加一个约束要求cj0 and cj0 and cj=100)-e) 建立一个临时表,再将其删除create table #linshi ( name1 char(20),age1 int ) go-3 索引的建立与删除(理解以下语句的含义并上机实践):-a) create unique index stu_xh on student(xh)create unique index stu_xh on Student3(xh)-b) cre
7、ate index xh_kch on cjdj(xh asc,kch desc) create index xh_kch on cjdj(xh asc,kch desc) -c) drop index student.xh_kchdrop index cjdj.xh_kch5. 收获体会这是第一次的数据库的实验,让我收获很多,开始的时候只是用了用户图形界面将符合要求的数据库创建出来。然后,我又用了代码将各个表又重新敲了一遍,分别有Studnet1、Student 2、Student3、cjdj、kc 五张表,以及基本表的修改和索引的建立与删除,这个过程确实要比图形用户界面写出来的要麻烦一点,但是,对于一些概念的理解是更深层次的,例如上课讲过的主键外键,理解也就更深了一步,以及对于一些索引的创建,理解的也更加好了。总体来讲这次的实验是成功的!