当前位置:文档之家› 数据库实验报告1

数据库实验报告1

一. 实验内容、步骤以及结果:
1.利用图形用户界面创建,备份,删除和还原数据库和数据表(30分,每小题5分)
●数据库和表的要求
(1)依据课本P127(第四版教材,下同)的第三题,创建一个名为SPJ的数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%
比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

数据库
的逻辑文件名和物理文件名均采用默认值。

(2)数据库SPJ包含供应商表,零件表,工程项目表,供应情况表。

具体每张表的定义以及数据参看课本P74页的第五题。


完成以下具体操作:
(1)创建的SPJ数据库。

(2)在SPJ数据库中分别创建上述的四张表(只输入一部分数据示意即可)。

(3)备份SPJ数据库。

(4)删除已经创建的工程项目表(J表)。

(5)删除SPJ数据库。

还原刚才删除的SPJ数据库。

实验具体步骤:
(1)创建SPJ数据库:右击数据库-->新建数据库-->填写相应参数-->点击确定。

(2)创建表:单击数据库SPJ-->右击‘表’-->新建表-->填写参数-->确定。

(3)备份数据库:右击数据库SPJ-->任务-->备份-->填参数-->确定。

(4)删除表:单击数据库SPJ--》单击表--》右击J--》选择删除。

(5)删除数据库:右击数据库SPJ--》选择删除命令。

(6)还原数据库。

右击数据库--》选择还原数据库命令--》填写参数--》确定。

2. 利用SQL语言创建和删除数据库和数据表(30分,每小题5分)
数据库和表的要求
(1)创建用于学生信息的数据库,数据库名为Student,初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初
始为2MB,最大可增长到5MB,按1MB增长。

数据库的逻辑文件名和物理文
件名,日志文件名请自定义。

(2)数据库Student包含学生信息,课程信息和学生选课的信息。

包含下列3个表:S:学生基本信息表;C:课程基本信息表;SC:学生选课信息表。

各表的结
构以及数据如下所示:
表 2.1 学生基本信息表(表名:S)
表 2.2 课程基本信息表(表名:C)
完成以下实际操作:
(1)用T-SQL语句创建数据库Student。

(2)用T-SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要有主键约束即可,不要其他约束。

不用输入数据,只要表的结构就
可以。

(3)用T-SQL语句备份数据库Student。

(4)用T-SQL语句删除创建的表。

(5)用T-SQL语句删除创建的数据库。

(6)用T-SQL语句还原刚才备份的数据库Student。

实验具体步骤:
创建数据库,表;删除数据库,表;备份数据库还原数据库等:点击新建查询--》输入SQL 命令--》执行。

代码如下:
create database Student
on primary
(
name=Student_DAT,
filename='D:\SQL_lab\Student_DAT.mdf',
size=10MB,
maxsize=50MB,
filegrowth=5%
)
log on
(
name=Student_log,
filename='D:\SQL_lab\Student_log.mdf',
size=2MB,
maxsize=5MB,
filegrowth=1MB
)
create table C
(cno Char(4) primary key,
Cname char(40),
cpno char(4),
ccredit smallint,
);
create table S
(sno Char(9) primary key,
sname Char(20),
ssex char(2),
Sage smallint,
sdept char(20),
);
create table SC
(
sno char(9),
cno char(4),
grade int,
primary key (sno,cno),
foreign key (sno) references S(sno),
foreign key (cno) references C(cno)
)
BACKUP DATABASE Student
TO DISK = 'D:\Student\Student.bak'
RESTORE DATABASE Student
FROM DISK = ' D:\Student\Student.bak '
3.利用图形用户界面对上题中创建的Student库的S表中,增加以下的约束和索引。

(25分,每小题5分)
(1)将学号(sno)设置为主键,主键名为pk_sno。

(2)为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。

(3)为出生日期(sbirth)添加CHECK约束,约束名为ck_sbirth,其检查条件为:
出生日期大于1986年1月1日。

(4)为sbirth创建一个降序排列的UNIQUE索引,索引名为IX_Sbirth。

(5)为性别(ssex)添加默认值,其值为“男”。

实验具体步骤:
(1)设主键(2.3.4的方法跟这个一样):单击数据库Student--》单击表--》单击S--》右击sno--》选择‘修改’命令--》对话框中右击sno--》选择‘设置主键’--》修改主键名为‘pk_sno’--》保存。

(5)修改默认值:直接在下方的默认值栏修改。

4.用SQL语言为Student数据库中的SC表添加外键约束,要求如下:将sno,cno设置为外键,其引用表为分别是S表和C表,外键名称分别为fk_sno,fk_cno。

(2分)
具体实验步骤:
ALTER TABLE SC WITH NOCHECK
ADD CONSTRAINT fk_cno FOREIGN KEY(cno)REFERENCES C(cno)
ON DELETE CASCADE
ALTER TABLE SC WITH NOCHECK
ADD CONSTRAINT fk_sno FOREIGN KEY(sno)REFERENCES S(sno)
ON DELETE CASCADE
5. 利用图形用户界面根据上面的外键定义画出由S,C,SC表构成的数据库关系图。

具体实验步骤:
6.用SQL语言删除S表中所创建的约束或者索引(第3小题中的(1)-(4))。

ALTER TABLE SC
DROP CONSTRAINT fk_cno ALTER TABLE SC
DROP CONSTRAINT fk_sno ALTER TABLE S
DROP CONSTRAINT DF_S_ssex ALTER TABLE S
DROP CONSTRAINT ck_sbirth ALTER TABLE S
DROP CONSTRAINT PK_S ALTER TABLE C
DROP CONSTRAINT PK_C。

相关主题