数据库原理实验指导书本科.docx
- 文档编号:14464958
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:47
- 大小:27.73KB
数据库原理实验指导书本科.docx
《数据库原理实验指导书本科.docx》由会员分享,可在线阅读,更多相关《数据库原理实验指导书本科.docx(47页珍藏版)》请在冰点文库上搜索。
数据库原理实验指导书本科
数
据
库
原
理
实
验
指
导
书
班级:
信息本1001、1002、1003
任课老师:
李桂香
实验一建立数据库
一、实验目的
1.了解SQLServer2000;
2.掌握SQLServer2000数据库的建立和删除。
二、实验内容
1.查看SQLServer2000的所有组件
2.使用服务管理器
3.使用企业管理器
4.使用查询分析器
5.在企业管理器中建立和删除数据库
6.在查询分析器中建立和删除数据库
三、实验步骤
1.SQLServer2000的组件(9个)
(1)查询分析器:
执行输入的SQL语句并显示结果。
(2)导入和导出数据:
SQLServer2000与其他数据库系统进行相互转换。
(3)服务管理器:
管理SQLServer2000的各种服务。
(4)服务器网络实用工具:
管理和配置服务器网络。
(5)客户端网络实用工具:
管理和配置客户端网络。
(6)联机丛书:
帮助系统。
(7)企业管理器:
对本地或远程SQLServer2000服务器进行管理。
(8)事件探查器:
监视SQLServer2000执行的SQL语句。
(9)在IIS中配置SQLXML支持:
配置对IIS的XML的支持。
2.服务管理器
启动、暂停和停止指定服务器上的SQLServer2000的服务。
(1)Server:
指定服务器
(2)Services:
选择管理的4种服务
①SQLServer:
数据库引擎。
②SQLServerAgent:
自动化工作代理服务。
③MSSearch:
文本查询服务
④DistributedTransactionCoordinator:
分布式事务处理控制器。
(3)Start/Continue:
启动选定的服务
(4)Pause:
暂停选定的服务
(5)Stop:
停止选定的服务。
(6)“当启动OS时自动启动服务”复选框。
3.企业管理器
对本地或者远程服务器进行管理操作。
1)管理服务器:
(1)服务器服务:
①Database:
数据库(master、tempdb、msdb、model)
②DataTransformationServices:
转移
③Management:
管理(Agent、Backup、Activity、Plans、logs)
④Replication:
复制
⑤Security:
安全(logins、ServerRoles、LinkedServers、RemoteServers)
⑥SupportServices:
支持(DTC、Serch、Mail)
⑦MetaDataServices:
元数据
(2)服务器分组:
将多服务器分组(top组或sub组),默认组为SQLServerGroup
(3)服务器注册:
①选择服务器:
自动检测,手工添加
②选择验证方式:
Windows验证和SQLServer验证
③选择服务器组:
AddSQLServerGroup或CreateNewtopGroup
2)管理数据库
(1)自动建立的数据库(6个)
①master:
主数据库,记录登录和用户,系统配置设置,其他数据库包括数据库文件的位置等。
②tempdb:
临时数据库。
保存所有临时表和临时存储过程。
③msdb:
任务代理数据库。
供SQLServerAgent服务完成自动化工作使用。
④model:
模板数据库。
⑤Northwind:
销售范例数据库
⑥pubs:
书籍出版范例数据库。
(2)数据库对象(10个)
每个数据库中有10个目录结构,称之为数据库对象。
①关系图(Digram)
②表(Table)
③视图(View)
④存储过程(StoredProcedure)
⑤用户(User)
⑥角色(Role)
⑦规则(Ruler)
⑧默认(Default)
⑨用户定义的数据类型(UserDefinedDataType)
⑩用户定义的函数(Function)
4.查询分析器
执行输入的SQL语言。
查询分析器是SQLServer的交互界面,接受SQL语句,检查语法错误,执行语句,返回执行结果。
查询分析器是学习数据库操作的主要工具。
5.企业管理器中建立和删除数据库
(1)建立数据库
打开企业管理器,在数据库上选择菜单NewDatabase或CreateDatabaseWizard,主要参数:
数据库名:
name
主数据文件.mdf:
每一个数据库对应的文件,包括逻辑名、物理位置、物理文件
次数据文件.ndf:
包括逻辑名、物理位置、物理文件
日志文件.ldf:
每个数据库必须至少有一个日志文件,包括逻辑名、物理位置、物理文件
文件属性:
自动扩展及其扩展方式和最大空间
(2)删除数据库
选择要删除的数据库,选择菜单上的删除命令。
6.查询分析器中建立和删除数据库
(1)建立数据库以mydb为例
CREATEDATABASEmydb--数据库名
ON--数据文件
(NAME=pmydb,--主数据文件
FILENAME='D:
\MSSQLDATA\mydb.mdf',--物理文件及位置
SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1MB--初始大小、最大值、增长
)
LOGON--日志文件
(NAME=logmydb,
FILENAME='E:
\MSSQLLOG\mydb.ldf',--物理文件及位置
SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1MB--初始大小、最大值、增长
);
(2)删除数据库
DROPDATABASEmydb;
四、实验小结
1.小结CREATEDATABASE语句的基本语法格式。
实验二建立表
一、实验目的
1.掌握表的建立和删除
2.掌握完整性规则的设置
二、实验内容
1.建立dept表,并设置完整性规则
2.建立student表,并设置完整性规则
3.建立course表,并设置完整性规则
4.建立study表,并设置完整性规则
5.删除建立的4个表。
三、实验步骤
运行实验1的SQL语句。
--实验1
CREATEDATABASEmydb
ON
(NAME=pmydb,
FILENAME='D:
\MSSQLDATA\mydb.mdf',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1MB
)
LOGON
(NAME=logmydb,
FILENAME='D:
\MSSQLDATA\mydb.ldf',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1MB
)
go
1.建立dept表,并设置完整性规则(2+3)
CREATETABLEdept(
dnoCHAR
(2),
dnameVARCHAR(20)NOTNULL,
CONSTRAINTdept_pkPRIMARYKEY(dno),
CONSTRAINTdept_ukUNIQUE(dname)
);
2.建立student表,并设置完整性规则(5+7)
CREATETABLEstudent(
snoCHAR
(2),
snameVARCHAR(20)NOTNULL,
ssexCHAR
(2)NOTNULLCHECK(ssexin('男','女')),
sageINTNOTNULL,
dnoCHAR
(2)NOTNULL,
CONSTRAINTstudent_pkPRIMARYKEY(sno),
CONSTRAINTstudent_fkFOREIGNKEY(dno)REFERENCESdept(dno)
ONDELETECASCADEONUPDATECASCADE,
);
3.建立course表,并设置完整性规则(4+5)
CREATETABLEcourse(
cnoCHAR
(2),
cnameVARCHAR(20)NOTNULL,
pcnoCHAR
(2),
creditINTNOTNULL,
CONSTRAINTcourse_pkPRIMARYKEY(cno),
CONSTRAINTcourse_fkFOREIGNKEY(pcno)REFERENCEScourse(cno),
CONSTRAINTcourse_ukUNIQUE(cname),
);
4.建立study表,并设置完整性规则(3+3)
CREATETABLEstudy(
snoCHAR
(2),
cnoCHAR
(2),
gradeINT,
CONSTRAINTstudy_pkPRIMARYKEY(sno,cno),
CONSTRAINTstudy_fk_snoFOREIGNKEY(sno)REFERENCESstudent(sno),
CONSTRAINTstudy_fk_cnoFOREIGNKEY(cno)REFERENCEScourse(cno)
);
5.删除建立的4个表。
DROPTABLEdept;
DROPTABLEstudent;
DROPTABLEcourse;
DROPTABLEstudy;
思考:
删表能顺利进行吗?
为什么?
四、实验小结
1.小结CREATETABLE语句的基本语法格式。
2.小结SQLServer2000的基本数据类型(20种)。
3.小结SQLServer2000的完整性规则定义语法。
实验三数据更新
一、实验目的
1.掌握数据的增删改操作
2.进一步掌握完整性规则
二、实验内容
1.对dept表进行数据增删改,并检查完整性规则
2.对student表进行数据增删改,并检查完整性规则
3.对course表进行数据增删改,并检查完整性规则
4.对study表进行数据增删改,并检查完整性规则
三、实验步骤
运行实验1、2的SQL语句。
--实验1
CREATEDATABASEmydb
ON
(NAME=pmydb,
FILENAME='D:
\MSSQLDATA\mydb.mdf',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1MB
)
LOGON
(NAME=logmydb,
FILENAME='D:
\MSSQLDATA\mydb.ldf',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1MB
)
go
--实验2
USEmydb
CREATETABLEdept(
dnoCHAR
(2),
dnameVARCHAR(20)NOTNULL,
CONSTRAINTdept_pkPRIMARYKEY(dno),
CONSTRAINTdept_ukUNIQUE(dname)
);
CREATETABLEstudent(
snoCHAR
(2),
snameVARCHAR(20)NOTNULL,
ssexCHAR
(2)NOTNULLCHECK(ssexin('男','女')),
sageINTNOTNULL,
dnoCHAR
(2)NOTNULL,
CONSTRAINTstudent_pkPRIMARYKEY(sno),
CONSTRAINTstudent_fkFOREIGNKEY(dno)REFERENCESdept(dno)
ONDELETECASCADEONUPDATECASCADE
);
CREATETABLEcourse(
cnoCHAR
(2),
cnameVARCHAR(20)NOTNULL,
pcnoCHAR
(2),
creditINTNOTNULL,
CONSTRAINTcourse_pkPRIMARYKEY(cno),
CONSTRAINTcourse_fkFOREIGNKEY(pcno)REFERENCEScourse(cno),
CONSTRAINTcourse_ukUNIQUE(cname)
);
CREATETABLEstudy(
snoCHAR
(2),
cnoCHAR
(2),
gradeINT,
CONSTRAINTstudy_pkPRIMARYKEY(sno,cno),
CONSTRAINTstudy_fk_snoFOREIGNKEY(sno)REFERENCESstudent(sno),
CONSTRAINTstudy_fk_cnoFOREIGNKEY(cno)REFERENCEScourse(cno)
);
1.对dept表进行数据增删改,并检查完整性规则
完整性规则如下(3):
dnoCHAR
(2)PRIMARYKEY
dnameVARCHAR(20)NOTNULLUNIQUE
(1)增加数据
INSERTINTOdeptVALUES('D1','计科系');
----正常插入
INSERTINTOdeptVALUES('D2','电信系');
----正常插入
INSERTINTOdeptVALUES(NULL,'机械系');
----违反主键dno的NOTNULL规则
INSERTINTOdeptVALUES('D2','机械系');
----违反主键dno的UNIQUE规则
INSERTINTOdeptVALUES('D3',NULL);
----违反dname的NOTNULL规则
INSERTINTOdeptVALUES('D3','计科系');
----违反dname的UNIQUE规则
INSERTINTOdeptVALUES('D3','机械系');
----正常插入
(2)删除数据
DELETEFROMdeptWHEREdno='D3';
----正常删除
(3)修改数据
UPDATEdeptSETdname='计信系'WHEREdno='D1';
----正常修改
UPDATEdeptSETdno=NULLWHEREdno='D1';
----违反主键dno的NOTNULL规则
UPDATEdeptSETdno='D2'WHEREdno='D1';
----违反主键dno的UNIQUE规则
UPDATEdeptSETdname=NULLWHEREdno='D1';
----违反dname的NOTNULL规则
UPDATEdeptSETdname='电信系'WHEREdno='D1';
----违反dname的UNIQUE规则
dept操作后的数据为:
dno
dname
D1
计信系
D2
电信系
2.对student表进行数据增删改,并检查完整性规则
完整性规则如下(7):
snoCHAR
(2)PRIMARYKEY
snameVARCHAR(20)NOTNULL,
ssexCHAR
(2)NOTNULLCHECK(ssexin('男','女')),
sageINTNOTNULL,
dnoCHAR
(2)NOTNULLFOREIGNKEYREFERENCESdept(dno)
ONDELETECASCADEONUPDATECASCADE
(1)增加数据
INSERTINTOstudentVALUES('S1','张刚','男',20,'D2');
----正常插入
INSERTINTOstudentVALUES('S2','李梅','女',21,'D2');
----正常插入
INSERTINTOstudentVALUES(NULL,'吴敏','男',20,'D1');
----违反主键sno的NOTNULL规则
INSERTINTOstudentVALUES('S2','吴敏','男',20,'D1');
----违反主键sno的UNIQUE规则
INSERTINTOstudentVALUES('S3',NULL,'男',20,'D1');
----违反sname的NOTNULL规则
INSERTINTOstudentVALUES('S3','吴敏',NULL,20,'D1');
----违反ssex的NOTNULL规则
INSERTINTOstudentVALUES('S3','吴敏','男',NULL,'D1');
----违反sage的NOTNULL规则
INSERTINTOstudentVALUES('S3','吴敏','男',20,NULL);
----违反dno的NOTNULL规则
INSERTINTOstudentVALUES('S3','吴敏','M',20,'D1');
----违反ssex的CHECK规则
INSERTINTOstudentVALUES('S3','吴敏','男',20,'D3');
----违反外键dno的参照完整性规则
INSERTINTOstudentVALUES('S3','吴敏','男',20,'D1');
----正常插入
(2)删除数据
DELETEFROMstudentWHEREsno='S3';
(3)修改数据
UPDATEstudentSETsname='赵强',dno='D1'WHEREsno='S1'
----正常修改
UPDATEstudentSETsno=NULLWHEREsno='S1';
----违反主键sno的NOTNULL规则
UPDATEstudentSETsno='S2'WHEREsno='S1';
----违反主键sno的UNIQUE规则
UPDATEstudentSETsname=NULLWHEREsno='S1'
----违反sname的NOTNULL规则
UPDATEstudentSETssex=NULLWHEREsno='S1'
----违反ssex的NOTNULL规则
UPDATEstudentSETsage=NULLWHEREsno='S1'
----违反sage的NOTNULL规则
UPDATEstudentSETdno=NULLWHEREsno='S1'
----违反dno的NOTNULL规则
UPDATEstudentSETssex='F'WHEREsno='S1'
----违反ssex的CHECK规则
UPDATEstudentSETdno='D3'WHEREsno='S1'
----违反外键dno的参照完整性规则
UPDATEdeptSETdno='D3'WHEREdno='D1'
----(选做)检查外键dno的ONUPDATE规则
DELETEFROMdeptWHEREdno='D2'
----(选做)检查外键dno的ONDELETE规则
student操作后的数据保持为:
sno
sname
ssex
sage
dno
S1
赵强
男
20
D1
S2
李梅
女
21
D2
3.对course表进行数据增删改,并检查完整性规则
完整性规则如下(5):
cnoCHAR
(2)PRIMARYKEY
cnameVARCHAR(20)NOTNULLUNIQUE
pcnoCHAR
(2)FOREIGNKEY(pcno)REFERENCEScourse(cno)
creditINTNOTNULL
(1)增加数据
INSERTINTOcourseVALUES('C1','C语言',NULL,2);
----正常插入
INSERTINTOcourseVALUES('C2','数据结构','C1',4);
----正常插入
INSERTINTOcourseVALUES(NULL,'数据库原理','C2',3);
----违反主键cno的NOTNULL规则
INSERTINTOcourseVALUES('C2','数据库原理','C2',3);
----违反主键cno的UNIQUE规则
INSERTINTOcourseVALUES('C3',NULL,'C2',3);
----违反cname的NOTNULL规则
INSERTINTOcourseVALUES('C3','数据库原理','C2',NULL);
----违反credit的NOTNULL规则
INSERTINTOcourseVALUES('C3','数据结构','C2',3);
----违反cname的UNIQUE规则
INSERTINTOcourseVALUES('C3','数据库原理','C4',3);
----违反外键pcno的参照完整性规则
INSERTINTOcourseVALUES('C3','数据库原理','C4',3);
----正常插入
(2)删除数据
DELETEFROMcourseWHEREcno='C3';
----正常删除
(3)修改数据
UPDATEcourseSETcname='C语言程序设计',credit=3WHEREcno='C1';
----正常修改
UPDATEcourseSETcno=NULLWHEREcno='C1';
----违反主键cno的NOTNULL规则
UPDATEcourseSETcno='C2'WHEREcno='C1';
----违反主键cno的UNIQUE规则
UPDATEcourseSETcname=NULLWHEREcno='C1';
----违反cname的NOTNULL规则
UPDATEcourseSETcredit=NULLWHEREcno='C1';
----违反credit的NOTNULL规则
UPDATEcourseSETcname='数据结构'WHEREcno='C1';
----违反cname的UNIQUE规则
UPDATEcourseSETpcno='C3'WHEREcno='C1';
----违反外键pcno的参照完整性规则
course操作后的数据维持为:
cno
cname
credit
C1
C语言程序设计
3
C2
数据结构
4
4.对study表进行数据增删改,并检查完整性规则
完整性规则如下(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 实验 指导书 本科
![提示](https://static.bingdoc.com/images/bang_tan.gif)