《数据库原理》实验一

实验一 ——数据库基本操作

一、实验目的

1.   熟悉MS SQL SERVER运行界面,掌握服务器的基本操作。

2.   掌握界面操作方法完成用户数据库建立、备份和还原。

3.   建立两个实验用的数据库,使用企业管理器和查询分析器对数据库和表进行基本操作。

 

二、实验预习内容

在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。

1.   熟悉SQL SERVER 2000 的运行环境,练习服务器基本操作:打开、停止、关闭。

 

2.       使用SQL SERVER 2000 中的企业管理器完成以下任务。

数据库名称:STC
表:STU(sno char(9),  sname varchar(50),  ssex char(2) ,  sage int,  sdept char(2) );
    COUTSES( cnochar(3),  cname varchar(50),  cpno char(3), credit int );
    SC(sno char(9),  cno char(3), grade int );
说明:以上为表结构,以sno char(9)为例,说明sno属性设置为字符类型,宽度为9,int指整型数据。

1)  建立数据库STC,分别建立以上三张表,并完成数据录入。(表结构及数据参见教材)

2)  分析并建立各表的主码,用下划线在上面表结构中标出主码。

3)  建立各表之间的关联,请简述操作步骤。zuo

create database stc

create table stu

(sno char(9) primary key,

sname varchar(50) unique,

ssex char(2),

sage int,

sdept char(2)

);

create table coutses

(cno char(3) primary key,

cname varchar(50),

cpno char(3),

credit int,

);

create table sc

(sno char(9),

cno char(3),

grade int,

primary key(sno,cno),

foreign key(sno) references stu(sno),

foreign key(cno)references coutses(cno),

);

 

insert into stu (sno,sname,ssex,sage,sdept)

values('20121512','stu1','',15,'IS');

insert into COUTSES( cno ,  cname,  cpno,  credit )

values(1,'数据库',5,'4');

insert into SC(sno ,  cno ,  grade)

values('20121512','1','92');

 

 

 

 

 

   

4)  参考实验指导书的【第5章  数据库的备份和还原】,使用企业管理器对数据库STC进行备份,并尝试在个人电脑与机房电脑上进行还原,请简述备份、还原操作的步骤。

 

 

 

3.       在SQL SERVER 2000 的查询分析器使用SQL语言完成以下任务。

参考实验指导书《数据库系统实验指导教程》【实验1.1  数据定义】,建立数据库SCHOOL,分别建立students、teachers、courses、choices四张表,表结构见实验指导书P236 【附录A】。

1)  用SQL语言创建数据库、建表。建表时为各表建立关键字、设置外码,数据暂不录入,请写出对应的SQL命令。

 

create tablestudents

(sid char(10) primary key,

sname char(30) unique,

email char(30),

grade int,

);

 

create tableteachers

(tid char(10) primary key,

tname char(30) unique,

email char(30),

salary int,

);

 

create tablecourses

(cid char(10) primary key,

cname char(30) unique,

hour int,

);

 

 

create tablechoices

(

sid char(10) unique,

tid char(10),

cid char(10),

score int,

primary key(sid,tid,cid),

foreign key(sid)references students(sid),

foreign key(tid)references teachers(tid),

foreign key(cid)references courses(cid),

);

 

2)  为students表、courses建立按主键増序排列的索引,请写出相应的SQL命令。

 

create uniqueindex stusid onstudents(sid);

create uniqueindex coucid oncourses(cid);

 

 

3)  删除course上的索引,请写出相应的SQL命令。

 

drop index coucid on courses;

 

4)  在SCHOOL数据库中的students表中增加一个“出生日期”字段,类型为日期时间型,请写出对应的SQL命令。

 

alter table students add S_entrance date;

 

 

5)  删除students中的“出生日期”字段,请写出对应的SQL命令。

 

alter table students drop columnS_entrance;

 

6)  删除SCHOOL数据库中的students表,请写出对应的SQL命令。

查询外键名

select fk.name,fk.object_id,OBJECT_NAME(fk.parent_object_id) as referenceTableName

from sys.foreign_keys as fk

join sys.objects as o on fk.referenced_object_id=o.object_id

where o.name='students'

删除外键

ALTER TABLE dbo.choices DROP CONSTRAINT FK__choices__sid__1A14E395

删除表

drop table students;

 

 

4.       使用企业管理器创建数据库SCHOOL,实现内容与实验预习内容3完全相同。

 

5.       使用企业管理器,将SCHOOL数据库分离出MSSQL SERVER,请简述步骤。

 

 

 

6.       使用企业管理器,使用【数据库/所有任务/附加数据库】将SCHOOL数据库添加进SQL SERVER,并查看数据。

 

7.       使用查询分析器,删除数据库STC,请写出对应的SQL命令。

 

 

 

 

8.       结束本次实验

 

三、实验课后训练

1.        使用企业管理器练习数据的导入导出。

1)   将SCHOOL数据库students表中的数据导出到STC数据库对应的stu表中;

2)   向STC数据库courses表导入SCHOOL数据库courses表中的数据;

3)   自行练习实验指导书【实验5.3 SQL SERVER数据库的导入与导出】部分;

2.       自行练习实验指导书【实验1.1数据定义】部分。


四、实验报告

1.       简述本次实验所用到的SQL命令及其功能。

1.创建数据库createdatabase <数据库名称>        2.创建基本表 create table <表名>(<列名>< 数据类型> [列级完整性约束])         3.建立表的索引create index <索引名>on <表名>(<列名> [次序])         4.修改基本表alter table <表名>[add <新列名><数据类型>[完整性约束]]         5.删除索引drop index <索引名>          6.删除表中某一属性alter table <表名> dropcolumn <列名>          7.删除表droptable <表名>          8.删除数据库deletedatabase <数据库名>    

2.       在MS SQL SERVER中数据库的“分离|添加”与“备份|还原”是相同的功能吗?

数据库的“分离|添加”与“备份|还原”不是相同的功能,分离说的是断开这个数据库的连接,但不是删除,数据库仍然存在于硬盘上,这样就可以随意的挪动数据库了,附加和分离则刚好相反。
备份是为防止出现错误,还原是为了防止出现数据的丢失。

3.       总结(实验过程中出现的问题、解决方法、结果如何或其它)

实验查询外键名

select fk.name,fk.object_id,OBJECT_NAME(fk.parent_object_id) as referenceTableName

from sys.foreign_keys as fk

join sys.objects as o on fk.referenced_object_id=o.object_id

where o.name='students'

删除外键

ALTER TABLE dbo.choices DROP CONSTRAINT FK__choices__sid__1A14E395

删除表

drop table students;

你可能感兴趣的:(数据库,基础,上机实验,数据库)