欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

实验2 数据库及数据库表的建立

程序员文章站 2022-06-04 08:46:48
...

实验2 数据库及数据库表的建立

一、 实验目的

本实验的目的是使学生熟悉SQL Server 2008的企业管理器的用法,初步了解SQL Server查询分析器的使用方法,熟悉SQL SERVER的常用数据类型、完整性约束,索引的定义与维护。加深对SQL数据定义语言理解,掌握数据库的创建以及基本表的创建与修改。

二、实验时数 2学时

三、实验内容

1.首先创建一个学生数据库stu_db

Create database stu_db;
use stu_db;

2.基本表的建立:

    1. 建立一个学生表S1,它由学号sno、姓名sname、性别ssex、年龄sage、所在系sdept五个属性组成,其中学号属性不能为空,并且其值是唯一的。
    use stu_db
    create table S1
    (
    	sno char(10) unique not null,
    	sname varchar(8),
    	ssex char(2),
    	sage int,
    	sdept varchar(30)
    )
    
    1. 建立一个“学生表S2,它由学号sno、姓名sname、性别ssex、年龄sage、所在系sdept五个属性组成,其中学号属性不能为空,并创建检查约束(sage>0)。
    create table S2
    (
    	sno char(10) not null,
    	sname varchar(8),
    	ssex char(2),
    	sage int check(sage>0),
    	sdept varchar(30),
    	
    )
    
    1. 建立一个学生表S,它由学号sno、姓名sname、性别ssex、年龄sage、所在系sdept五个属性组成,要求学号为主键,ssex有默认的值为 ‘男’。
    create table S 
    (
    	sno char(10) primary key,
    	sname varchar(8),
    	ssex char(2) default '男',
    	sage int,
    	sdept varchar (30),
    	check (sage>0),
    )
    
    1. 建立“课程表C”,包括课程号cno,课程名称cname,先修课程cpno,学分credit,要求建立主键
    create table C
    (
    	cno char(4) primary key,
    	cname varchar(30),
    	cpno varchar(30),
    	credit int
    )
    
    1. 建立“成绩表SC”包括学号sno,课程号cno,成绩grade,要求建立主键及与S及C表联接的外键。
    create table SC
    (
    	sno char(10),
    	cno char(4),
    	grade int,
    	primary key(sno,cno),
    	foreign key(cno) references C(cno),
    	foreign key(sno) references S(sno),
    )
    

3、 基本表的修改:

    1. 在sc表中增加一列“任课教师rkjs”。
    alter table SC add rkjs varchar(10)
    
    1. 删除sc表中rkjs一列。
    alter table SC drop column rkjs 
    
    1. 将s1表的sname一列允许空值的属性更改成不允许为空,将列sname的长度由char(8)改为char(10)。
    alter table S1 
    alter column sname char(10) not null 
    
    1. 增加SC表的列grade增加一个约束要求cj>0 and cj<=100。
    alter table SC add check(grage>0 and grage <=100)
    
    1. 建立一个临时表:#temp(sno char(10),sname char(8));再将其删除。(提示:临时表名称为:#表名,其余和创建普通表一样)。
    create table #temp
    (
    	sno char(10),
    	sname char(8)
    )
    
    

4、索引的建立与删除

  • a) create unique index stu_sno on s1(sno)

  • b) create index sno_cno on SC(sno asc,cno desc)

  • c) drop index SC.sno_cno

四、实验方法

用图形用户界面方式和SQL查询分析器完成以上的任务。并检查所做的操作表现。

五、收获体会

通过这次实验,我熟悉了SQL server的企业管理器的用法,学会了基本表的建立、删除、和修改,还对索引和视图有了一定的了解,加深了对数据库的理解。