数据库实验(上机)
实验一.数据库及数据库表的建立实验
1.实验目的
本实验的目的是使学生熟悉SQL Server的企业管理器的用法,初步了解SQL Server查询分析器的使用方法,熟悉SQL SERVER的常用数据类型,加深对SQL和SQL语言的查询语句的理解。熟练掌握简单表的创建与修改。
2.实验内容
基本表的建立:
a.建立一个“学生”表Student,它由学号xh、姓名xm、性别xb、年龄nl、所在系xi五个属性组成,其中学号属性不能为空,并且其值是唯一的。
create table student(xh char(9) not null unique, xm char(20), xb char(2), nl smallint, xi char(30));
b.建立一个“学生”表Student,它由学号xh、姓名xm、性别xb、年龄nl、所在系xi五个属性组成,其中学号属性不能为空,并创建检查约束(nl>0)。
create table student(xh char(9) not null unique, xm char(20), xb char(2), nl smallint, xi char(30));
c.建立一个“学生”表Student,它由学号xh、姓名xm、性别xb、年龄nl、所在系xi五个属性组成,要求学号为主键,xb有默认的值为 ‘男’。
create table student3(xh char(9) primary key, xm char(20), xb char(2), nl smallint, xi char(20));
d.建立“课程kc”包括课程号kch,课程名称kcmc,先修课程xxkc,学分xf,要求建立主键。
create table kc(kch char(4) primary key, kcmc char(40), xxkc char(4), xf smallint);
e.建立“成绩登记表cjdj”包括学号xh,程号kch,成绩,要求建立主键及与student及kc表联接的外键。
create table cjdj(xh char(9)primary key,kch char(4),cj int,constraint cjdj foreign key xh references student,constraint cjdj foreign key kch references kc);
基本表的修改:
a.在cjdj表中增加一列“任课教师rkjs”。
alter table cjdj add rkjs char(40);
b.删除cj表中rkjs一列。
alter table cjdj drop column rkjs;
c.将student表的xm一列允许空值的属性更改成不允许为空,将列xm的长度由char(8)改为char(10)。
alter table student
alter column xm char(10)NOT NULL;
d.增加cjdj表的列cj增加一个约束要求cj>0 and cj<=100。
alter table cjdj add constraint cj_1 check(cj>=0 and cj<=100);
e.建立一个临时表,再将其删除。
create table #temp(xh char(4));
索引的建立与删除:
a.
create unique index stu_xh on student(xh);
b.
create index xh_kch on cj(xh asc,kch desc);
c.
drop index student.xh_kch;