实验1 数据库及数据库表的建立1. 实验目的
本实验的目的是使学生熟悉SQL Server的企业管理器的用法,初步了解SQL Server查询分析器的使用方法,熟悉SQL SERVER的常用数据类型,加深对SQL定义语言的理解。熟练掌握数据库的创建以及基本表的创建与修改。 2. 实验时数 2学时 3. 实验内容
首先创建一个学生数据库stu_db,在此数据库中创建以下基本表:
1. 基本表的建立:
a) 建立一个“学生”表Student,它由学号xh、姓名xm、性别xb、年龄nl、
所在系xi五个属性组成,其中学号属性不能为空,并且其值是唯一的。 b) 建立一个“学生”表Student,它由学号xh、姓名xm、性别xb、年龄nl、
所在系xi五个属性组成,其中学号属性不能为空,并创建检查约束(nl>0)。 c) 建立一个“学生”表Student,它由学号xh、姓名xm、性别xb、年龄nl、
所在系xi五个属性组成,要求学号为主键,xb有默认的值为 ‘男’ d) 建立“课程kc”包括课程号kch,课程名称kcmc,先修课程xxkc,学分
xf,要求建立主键
e) 建立“成绩登记表cjdj”包括学号xh,程号kch,成绩,要求建立主键及
与student及kc表联接的外键
2. 基本表的修改:
a) 在cjdj表中增加一列“任课教师rkjs” b) 删除cjdj表中rkjs一列
c) 将student表的xm一列允许空值的属性更改成不允许为空,将列xm的长
度由char(8)改为char(10)
d) 增加cjdj表的列cj增加一个约束要求cj>0 and cj<=100 e) 建立一个临时表,再将其删除
3. 索引的建立与删除(理解以下语句的含义并上机实践):
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
4. 实验方法
在“企业管理器”和“SQL查询分析器”均完成以上的任务。并检查所做的操作表现。
————代码部分
create database stu_db
on ( ) log on ( ) go
use stu_db go
--a建立一个“学生”表Student1,它由学号xh、姓名xm、性别xb、年龄nl、所在系xi五个属性组成,
--其中学号属性不能为空,并且其值是唯一的。 create table Student1 (
xh char(8) not null unique, xm char(20), xb char(2), nl int, xi char(20) ) go
--b建立一个“学生”表Student2,它由学号xh、姓名xm、性别xb、年龄nl、所在系xi五个属性组成,
--其中学号属性不能为空,并创建检查约束(nl>0)。 create table Student2 (
xh char(8) not null, xm char(20), xb char(2),
nl int check (nl>0), xi char(20) ) go
name='stu_log',
filename='I:\\数据库实验--罗颖\\stu_db.ldf', size=3mb, filegrowth=1mb, maxsize=20mb name='stu_db',
filename='I:\\数据库实验--罗颖\\stu_db.mdf', size=3mb, filegrowth=1mb, maxsize=20mb
--c建立一个“学生”表Student3,它由学号xh、姓名xm、性别xb、年龄nl、所在系xi五个属性组成,
--要求学号为主键,xb有默认的值为‘男’ create 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 cjdj (
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