课程名称: 数据库系统原理
姓 名:
学 号:
班 级:
数学与计算机科学学院
西北民族大学数学与计算机科学学院实验报告
实验名称:创建数据库和表
指导教师: 日期:年 月 日
实验内容
分别以SQL Server Management Studio和SQL语句两种方法创建数据库和表,并写出在SQL Server Management Studio中创建数据库和表的一般步骤,写出在查询窗口中创建数据库和表的SQL语句及步骤。
1.创建数据库STC,并在该数据库下创建三个基本表Student、Course和SC。
2.导出自己所创建的基本表并保存,以备后续实验使用
3.向Student表增加“Setrance”(入学时间)列,数据类型为日期型
4.给学生表增加 “Nation”(民族)列,数据类型为char(10);
5.删除学生表中新增的属性Entrancetime和Nation;
6.向Student表增加Sname取值唯一的约束条件;
7.向Student表增加Sage取值只能取“男”、“女”的约束条件;
8.在Student表中建立按姓名升序的聚簇索引IXN;
9.将Student表中的索引名IXN改为IXname;
10.为学生创建一个名为IXSage的索引,以系别升序排列,系别相同的以年龄降序排序;
11.删除Student表中的IXname、IXSage索引;
12.将年龄的数据类型由字符型(原来的数据类型为字符型)改为整数;
13.试着删除你所创建的某基本表,查看结果,分析原因。 |
实验目的 1.掌握SQL Server Management Studio创建数据库和表的方法、步骤 2.掌握SQL语句创建数据库和表的方法、步骤 3.掌握修改基本表的操作 3.掌握索引的建立和删除 |
实验设备 硬件 x 处理器1.6 GHz,内存12GB 软件 Windows10,SQL Server 2008 |
实验过程 第1、2题 create database STC /*在STC中创建表Student*/ create table Student( Sno char(9)not null primary key, Sname char(20)not null, Ssex char(2) check (Ssex in('男','女')), Sage smallint, Sdept char(20) not null ); insert into Student values ('201215121','李勇','男',20,'CS'), ('201215122','刘晨','女',19,'CS'), ('201215123','王敏','女',18,'MA'), ('201215125','张立','男',19,'IS'); select * from Student /*在STC中创建表Course*/ create table Course( Cno char(4)not null primary key, Cname char(40)not null, Cpno char(4), Ccredit smallint ); insert into Course values ('1','数据库','5',4), ('2','数学','',2), ('3','信息系统','1',4), ('4','操作系统','6',3), ('5','数据结构','7',4), ('6','数据处理','',2), ('7','PASCAL语言','6',4); select * from Course /*在STC中创建表SC*/ create table SC( Sno char(9)not null, Cno char(4)not null, Grade smallint check(Grade between 0 and 100), primary key (Sno,Cno), foreign key (Sno)references Student (Sno), foreign key (Cno)references Course (Cno), ); insert into SC values ('201215121','1',92), ('201215121','2',85), ('201215121','3',88), ('201215122','2',90), ('201215122','3',80); select * from SC 第3小题: alter table Student add Setrance date; select * from Student 第4小题: alter table Student add Nation char(10); select * from Student 第5小题: alter table Student drop column Setrance,Nation; select * from Student 第6小题: alter table Student add unique(Sname); select * from Student 第7小题: alter table Student add check(Ssex in('男','女')); select * from Student 第8小题: create index IXN on Student(Sname asc); 第9小题: alter table INX rename to IXname; 第10小题: create index IXSage on Student(Sdept asc,Sage desc); 第11小题: drop index Student.IXname,Student.IXSage; 第12小题: alter table Student alter column Sage int; 第13小题: drop table SC; |
实验结果 第1、2题 第3题 第4题 第5题 第6题 第7题 第8题 第9题 第10题 第11题 第12题 第13题 |
结果分析与结论 1.通过这个实验,我大致了解了创建数据库、创建基本表一技一些相应的操作,并且熟悉了查询分析器界面。 2.需要注意的问题备注不是用//,而要用/**/,容易忘记。 3.加深了我对查询分析器对字母大小写不敏感的印象。 4.创建表的时候最好根据实际情况来创建。 5.最大的感受就是SQL Server的使用还是比较直观和简洁的。 |
教师评阅及成绩 教师签名: 年 月 日 |