实验2 数据库及数据库表的建立
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二数据库及数据库表的建立
1.实验目的本实验的目的是使学生熟悉SQL Server的企业管理器的用法,初步了解SQL Server查询分析器的使用方法,熟悉SQL SERVER的常用数据类型,加深对SQL和SQL语言的查询语句的理解。熟练掌握数据库及表的创建与修改。
2.实验时数 2学时
3.实验内容
建立学生数据库,要求:数据库名称为“学生”;主数据文件为“学生_data.mdf”;日志文件为“学生_log.ldf”;存放在确定的磁盘位置,如“d:\”。采用以下两种方式建立数据库:
1)在企业管理器中建立学生数据库;
2)命令方式建立学生数据库:
CREATE DATABASE 学生--数据库名为“学生”
ON --指出下面是数据库定义部分
PRIMARY --指定下面是主文件组中的主数据文件
(
NAME=学生_data, --指出逻辑文件名为“学生_data”
FILENAME='d:\ 学生_data.mdf', --指出系统文件名
SIZE=10MB, --初始空间为10MB
MAXSIZE=20MB, --最大空间为20MB
FILEGROWTH=10% --空间增长率为10%
)
LOG ON --指明开始定义事务日志文件
(
NAME=学生_log, --给出逻辑文件名
FILENAME='d:\ 学生_log.ldf', --指出系统文件名
SIZE=2MB, --初始空间为2MB
MAXSIZE=UNLIMITED, --最大空间不受限制
FILEGROWTH=2MB --空间增长速度为每次2MB
)
基本表的建立:
1.建立学生表,它由学号、姓名、性别、年龄、所在系五个属性组成,其中学号为主键;
create table Student
(
Sno char(9) primary key,
Sname char(8),
Ssex char(2) not null,
Sage int not null,
Sdept char(20) not null
)
2.建立课程表,包括课程号,课程名称,先修课程,学分;课程号为主键;先修课程为外键,引用课程表的课程号;
create table Course
(
Cno char(8) primary key,
Cname char(20) not null,
Ccredit int not null,
Cpno char(8) FOREIGN KEY REFERENCES Course (Cno)
)
3.建立成绩表,包括学号,课程号,成绩;学号和课程号组合为主键;学号和课程号为外键,分别引用学生表的学号和课程表的课程号
create table SC
(
Sno char(9) FOREIGN KEY REFERENCES Student(Sno),
Cno char(8) FOREIGN KEY REFERENCES Course (Cno),
Grade int not null,
primary key(Sno,Cno)
)
基本表的修改:
1.在成绩表中增加一列“任课教师”
alter table SC add teacher char(10)
2.删除成绩表中任课教师一列
alter table SC drop column teacher
3.将学生表的姓名一列允许空值的属性更改成不允许为空,将姓名列的长度由char(8)改为char(10)
alter table Student alter column Sname char(10) not null
4.增加成绩表的列绩列增加一个约束,要求成绩>0 and 成绩<=100
alter table SC add check(Grade>0 and Grade<100)
4.实验方法
在“企业管理器”和“SQL查询分析器”均完成以上的任务。并验证所做的操作。
5. 出现的问题及解决方法、体会
在此次实验中遇到的主要问题是:对Microsoft SQL Server 2005的工作环境不熟悉,对SQL语句的格式不熟悉,以至于在实验中遇到了些困难,最后通过上网查找Microsoft SQL Server 2005软件使用方法及有关该软件的相关介绍,慢慢就都解决了在实验中遇到的问题。
通过本次实验,我学到了如何利用SQL语句创建数据库和基本表,并对基本表进行列的增加删除操作以及并对某列设置安全性约束。通过实验加深了我对SQL语句的理解与记忆。