实验1数据库及数据库表的建立 下载本文

实验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