数据库系统原理》课程基本实验设置.docx
- 文档编号:24618030
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:45
- 大小:42.78KB
数据库系统原理》课程基本实验设置.docx
《数据库系统原理》课程基本实验设置.docx》由会员分享,可在线阅读,更多相关《数据库系统原理》课程基本实验设置.docx(45页珍藏版)》请在冰豆网上搜索。
数据库系统原理》课程基本实验设置
目录
第一章SYBASE的组成和结构特征2
第二章课程实验内容3
实验一SYBASE数据库安装、创建与维护实验3
实验背景知识3
实验目的6
实验内容6
实验与要求6
实验步骤7
实验报告要求7
实验二数据库表/视图的创建与维护实验7
实验背景知识7
实验目的11
实验内容11
实验环境11
实验要求12
实验步骤12
实验总结12
实验三数据查询实验12
实验背景知识12
实验目的16
实验内容16
实验要求17
实验四数据库接口实验17
实验目的17
实验内容17
实验环境17
实验步骤17
实验要求18
实验总结18
实验五数据库完整性与安全性实验19
实验背景知识19
实验目的19
实验内容19
实验六数据查询分析实验20
实验目的20
实验内容20
实验步骤20
实验总结21
实验七数据库的事务创建与运行实验21
实验目的21
实验内容与要求21
实验总结21
实验八数据库的备份和恢复实验22
实验背景知识22
实验目的23
实验内容23
实验步骤23
实验总结23
第一章SYBASE的组成和结构特征
Sybase是一种客户/服务器结构的数据库系统,是目前比较流行的数据库系统之一。
它是由美国Sybase公司研制的。
在此我们主要以WindowsNT环境下的Sybase为主进行实验。
Sybase数据库软件有三部分组成,一是进行数据库管理和维护的一个联机(ON–line)关系型数据库管理系统Sybase;二是支持数据库应用系统的建立与开发的一组前端工具软件SybaseSQLToolset;三是用于实现与其他数据库连接接口的OpenClient/OpenServer工具。
Sybase是个可编程的数据库管理系统,它是整个Sybase产品的核心软件。
Sybase的特殊用户
Sybase数据库由三种类型的特殊用户管理和控制着,他们是:
系统管理员、用户数据库所有者、数据库对象的所有者。
一、系统管理员
系统管理员管理着系统的资源和安全,担负着与应用无关的管理任务。
系统管理员不一定是某一个人,只要知道系统管理员的口令的人都可以起到系统管理员的作用。
系统管理员的任务:
安装SybaseAdaptiveServer数据库;管理磁盘存储;在Sybase数据库上设置用户帐号;对Sybase数据库用户授权;创建用户数据库,并授予所有者特权;备份数据;监视Sybase数据库的自动恢复过程;调节系统配置参数,以使Sybase数据库达到最佳性能;
系统管理员是master数据库的所有者,系统管理员的注册名是sa,他是一种“超级用户”,Sybase数据库不对他做任何权限检查,sa是任何数据库的所有者。
二、数据库所有者
数据库的创建者就是数据库的所有者,sa用Grant命令授予用户创建数据库的权限。
数据库所有者可完成的工作是:
运行存储过程sp_adduser允许其他SYBASE用户存取此数据库;授权其他用户在数据库中创建目标和执行命令;用sp_addgroup和sp_dropgroup设置组(有了组,授权和收回授权就变得容易多了)。
每个用户缺省的组是public。
数据库所有者以他设置的用户名和口令注册。
在其他数据库中,所有者是按通常的注册名标识的。
在所有者自己的数据库中是dbo,他被认为是dbo。
数据库所有者对他拥有的数据库具有所有的权力。
三、数据库对象所有者
数据库对象有表、索引、视图、触发器、规则以及存储过程。
数据库所有者必须首先授权给用户创建特定的对象,然后用户才能创建。
数据库对象所有者的任务是,创建对象,然后对其他用户授权。
Sybase数据库的基本构成
Sybase数据库安装时,它有四个数据库:
master数据库,model数据库,sybsystemprocs数据库和sybsystemdb数据库。
Master,Model和Tempddb都放在Master设备上。
四、master数据库
master数据库从总体上控制用户数据库和Sybase的操作。
它保留着用户帐号(在syslogins中),可设置的环境变量(在sysconfigures中),系统错误信息(在sysmessages中)。
在Sybase上的数据库(在sysdatabases中),给每个数据库分配的存储空间(在sysusages中),装入系统的磁带和磁盘(在sysdevices中),以及动态锁(在syslocks中)的轨迹。
另外,系统过程是在Sybase数据库安装时用buildmaster程序创建的。
它是存储在master中的。
只有在master数据库中才能用createdatabase、或alterdatabase、diskinit等命令。
往master数据库设备上增加用户目标是可能的,但不好,在master数据库上创建目标的目的应该是从总体上管理系统。
应该在master数据库上对用户设置权限,以使大多数用户不能在那里创建目标。
每次改变master数据库时最好用dumpdatabase备份它,如果master数据库被破坏,恢复它的方法与恢复用户数据库不同。
五、model数据库
model数据库也是随Sybase一起提供的。
它提供了新用户数据库的雏型,每次用createdatabase命令时,Sybase都产生一个model数据库的拷贝,然后把它扩展到命令要求的尺寸。
model数据库中包含着数据库需要的系统表。
它可以修改成新创建数据库的结构——对model数据库的任何修改都会在每个创建的数据库中反映出来。
下面是几个通常用到的对model数据库的改变:
增加数据类型、规则或缺省;可存取Sybase上所有数据库的用户用sp_adduser增加到model数据库上;诸如selectinto/bulkcopy那样的数据库选项可在model中设置。
这些设置会反映到新创建的数据库中。
它们在model中最缺省值是false。
六、临时数据库
Sybase数据库提供了一个临时数据库(temdb)。
该库为临时表和其他临时工作存储提供了一个存储区域。
不管是什么数据库,所有临时表都存放在temdb中。
然而,可以从temdb或创建临时表的数据库来查询临时表。
如果查询sybsystemdb..sysobjects,则系统会告诉你在临时表名上加了一个后缀。
仅当从temdb使用临时表时,sp_help才工作于临时表上。
temdb是Sybase数据库上所有数据库共享的工作空间。
每当用户退出SYBASE或系统从失败中恢复时,用户的临时表从temdb删除。
存储过程退出时,它的临时表也被删除。
在应用结束前,临时表也可被显示的drop掉。
temdb缺省的尺寸是2M字节,在财务软件中,由于用到的临时表很多,根据实际的情况,可以把它扩充到80~100M或更多。
七、sysprocsdevDevice–存储系统过程数据库(sybsystemprocs)根据需要选择的设备与数据库:
(安装sql脚本在$SYBASE/scripts下)。
八、sybsecurityDevice–存储sybsecurity数据库和审计系统存储过程。
九、sybsystemdbDevice–存储sybsystemdb数据库,用来存储有关两阶段提交事务的信息。
一十、dbccdb数据库–当使用dbcccheckstorage命令时用来存储dbcc结果信息。
第二章课程实验内容
实验一SYBASE数据库安装、创建与维护实验
实验背景知识
一、初始化数据库设备
设备是指用于存储数据库和数据库对象的磁盘或文件系统中的一个文件。
在进行创建数据库之前,设备必须准备好,这个过程叫做设备的初始化。
语法:
DISKINIT
NAME="逻辑设备名",
PHYSNAME="物理设备名",
VDEVNO="虚拟设备号",
SIZE=数据库设备大小(以2K的数据页计)
[,VSTART=起始的虚拟地址,
,CNTRLTYPE=磁盘控制器号(缺省为0)]
说明:
⑴sa用DISKINIT命令进行设备初始化/增加新设备
⑵每个设备增加一个连接
⑶利用sp_helpdevice[设备名]查看设备信息
⑷最大设备数:
255
注意事项:
⑴只有sa可使用DISKINIT
⑵在使用DISKINIT前要:
·备份主数据库
·确保有足够的空间
·确保将使用的设备尚未初始化
·确保Sybase用户对此设备有写的权限
·确认Sybase的系统配置满足要求(device、memory、connection)
二、设置缺省设备
命令格式:
sp_diskdefault逻辑设备名{defaulton|defaultoff}
例子:
sp_diskdefaultdata_dev1defaulton
sp_diskdefaultmasterdefaultoff
说明:
⑴只有sa可设置缺省设备
⑵缺省设备只能是数据库设备,不能是转储设备
⑶Sybase安装时,主设备是缺省
(建议改为OFF,便于主设备及主数据库的维护)
⑷可创建多个缺省设备,使用时按物理顺序填满
⑸创建DB时应指明建库设备,否则建在缺省设备上
⑹利用sp_helpdevice可了解缺省设备信息
三、删除设备
命令格式:
sp_dropdevice逻辑设备名
例子:
sp_dropdevicedata_dev1
说明:
⑴何时删除设备:
·改变、修复、增加硬件时
·改变设备大小(先删,后加)
⑵只有sa可删除设备
⑶对文件设备,drop后还要删除目录中的文件,以真正释放空间
⑷不能删除有数据库的设备
注意事项:
∙%1只有系统管理员有权删除设备。
在删除设备之前最好备份master数据库。
∙%1用sp_dropdevice删除设备后,需要重新启动SYBASE,该设备的虚拟设备号才可以使用。
∙%1磁盘文件形式的设备,在用p_dropdevice删除后,还需要手工删除在磁盘上的相应文件才能回收空间。
∙%1在使用sp_dropdevice删除设备之前,必须先删除该设备上的所有数据库。
四、创建数据库
命令格式:
createdatabase数据库名
[on{default|数据库设备名}[=大小](以MB为单位)
[,数据库设备名[=大小]]...]
[logon数据库设备名[=大小]
[,数据库设备名[=大小]]...]
[withoverride]
[forload]
例子:
createdatabasemydb
ondata_dev1=6
logonlog_dev1=2
说明:
⑴withoverride选项说明:
允许on和logon选项指定同一设备名,但分配不同的设备片;
forload选项说明:
新建数据库仅用于装入数据库的转储备份(不需清页,建库快);
⑵建库者(DBO):
sa:
sa可将DB所有权转让。
(用sp_changedbowner)
master、model、sybsystemdb、sybsecurity库的所有权不能转让。
sa授权的用户:
用grantcreatedatabaseto用户名。
建议sa集中管理DB的创建。
⑶Sybase最多可管理32767个数据库
⑷如未指定位置和大小,DB建在缺省设备上,大小为max{model库大小,
databasesize参数值}
查看数据库信息:
sp_helpdb[数据库名称]
五、扩展数据库
命令格式:
alterdatabase数据库名
[on{default|数据库设备名}[=大小](以MB为单位)
[,数据库设备名[=大小]]...]
[logon数据库设备名[=大小]
[,数据库设备名[=大小]]...]
[withoverride]
[forload]
说明:
·forload选项仅用在createdatabaseforload之后;
·扩充者:
DBO、sa(在主数据库中);
·在数据库使用的同时可做扩展;
·主数据库只能在主设备上扩展;
·当用户指定大小不能满足时,系统会在每个指定设备上分配尽可能多的空间。
其它处理:
⑴日志饱和时:
dumptrans/trancate
扩展日志段
⑵数据段饱和时:
drop无用的数据对象
扩展数据段
六、删除数据库
命令格式
dropdatabase数据库名
说明:
⑴删库者:
DBO、SA
⑵不能删除正在使用的数据库
⑶只能删除能正常打开的数据库,如果数据库已不能打开,只能用dbccdbrepair(dbname,dropdb)来删除。
示例:
扩充sybsystemdb,由于软件中的帐务资料的查询及报表的编译计算等都要用sybsystemdb,如果sybsystemdb太小,则很容易造成死机。
以下为将sybsystemdb数据库增加200M的操作:
进行该操作时注意:
●查看F盘(服务器上的驱动器盘符)空间够不够大,比如要扩充100M,看看F盘剩余空间是否够100M。
●执行系统过程sp_helpdevice,查看已经使用的设备号(device_number列),找一个没有使用的设备号。
●如果已没有剩余设备号,可用(sp_configure'numberofdevices',新最大设备号)来设置更多的可用设备号,重启SERVER新配置的即可使用。
具体执行过程:
1、sa进入master数据库
2、执行:
diskinitname="sybsystemdbdev",
physname="f:
\data\sybsystemdbdev",
vdevno=11,
size=51200
3、执行:
sp_helpdevice查看是否显示出:
sybsystemdbdev
4、执行:
alterdatabasesybsystemdbonsybsystemdbdev=100
5、执行:
sp_helpdbsybsystemdb查看sybsystemdb数据库大小是否增加了100M。
同样,如果一个数据库的空间太小,也可以这样来增加数据库的空间或扩充日志。
实验目的
1.通过对Sybase的安装和简单使用:
(1)了解安装Sybase的软硬件环境和安装方法;
(2)熟悉Sybase相关使用;
(3)熟悉Sybase的构成和相关工具;
(4)通过Sybase的使用来理解数据库系统的基本概念。
实验内容。
2.通过创建数据库、并进行相应的维护,了解并掌握Sybase数据库的创建和维护的不同方法和途径,并通过这一具体的数据库理解实际数据库所包含的各要素。
实验内容
1.Sybase系统安装
(1)在windows2000/XP上安装并运行Sybase。
(2)练习启动和停止数据库服务。
(3)通过AdaptiveServerEnterprise连接数据库。
(4)熟悉AdaptiveServerEnterprise的各项功能,了解Sybase数据库的主要对象。
(5)了解Sybase在安装时自动创建的数据库和几类系统表。
2.数据库创建与维护
(1)创建“学生选课”数据库;
(2)对数据库属性和参数进行查询、相应的修改和维护,内容包括:
调整数据库的大小,完成数据库大小的增加、减小;
(3)练习数据库的删除等维护;
(4)用AdaptiveServerEnterprise管理工具和交互式的Transact_SQL语句分别完成以上操作。
实验与要求
1.Sybase的安装实验要求学生在微机上安装Sybase数据库系统,为后续各个实验搭建实验环境;
2.数据库创建与维护实验则要求面向具体应用领域,利用Sybase相关机制,创建并维护数据库系统,为后续各个实验提供前期准备;
3.要求学生根据以上要求确定实验步骤,独立完成以上实验内容。
并在安装和数据库运行后熟悉Sybase的各种运行管理;
4.实验完成后完成实验报告。
实验步骤
使用AdaptiveServerEnterprise熟悉Sybase的安装过程。
实验报告要求
1.实验报告需要完成以下内容:
2.实验目的:
描述本次实验的目的。
3.实验平台及环境:
介绍自己实验所基于的软硬件环境及所用到的工具。
4.实验内容:
介绍本次实验的具体内容。
5.实验步骤:
根据实验内容和实验过程情况介绍实验步骤。
6.实验结果及分析:
1)对实验结果进行总结和分析。
2)给出完成以上实验内容的Transact_SQL语句,并对相应的SQL语句进行分析。
3)说明建立的数据库的相关内容,和维护后的相关属性的改变。
7.实验小结:
总结本次实验遇到的问题和心得。
实验二数据库表/视图的创建与维护实验
实验背景知识
SYBASE基本对象的创建和删除
T-SQL是一种增强的SQL(StructureQueryLanguage)语言,它在SQL语言的基础上扩充了许多新的功能。
一、表是用于存储数据库的数据
1.创建表
语法:
createtable[database.[owner].table-name
(column-namedatatype
[default{constant_expression|user|null}]
{identity|null|notnull]
{{unique|primarykey}[clustered|nonclustered]}
[,……]
)
说明:
表的列最多有可达250个,每个列有三个特征:
名字、数据类型和属性;
每行的最大字节数为1962字节。
如果更新数据总数超过1962字节时,SYBASE会产生错误信息,而且命令失败。
所有的对象的名字最多可由30个字符组成,其名字对大小写是敏感的,创建的对象在sysobjects表中,表的列在syscolumns系统表中。
Identity—表明列具有IDENTITY特性。
IDENTITY列用于存储由SYBASE自动产生连续的数字。
clustered|nonclustered指定由unique或primarykey约束产生的索引是聚簇的还是非聚簇的。
例如:
createtableLSHSZD
(F_HSBHvarchar(12)notnull,
F_HSJSchar
(1)notnull,
F_MXtinyintnotnull,
F_HSMCvarchar(30)null,
F_FLBHchar
(2)notnull,
F_KMBHvarchar(250)null,
F_WBBHchar(4)null,
F_BZLBchar
(2)null,
F_BZBMvarchar(60)null)
2.删除表
语法:
droptable[[database.]owner.]table_name
[,[[database.]owner.]table_name]…
从数据库中删除表的定义以及它所有的数据、索引、触发器和权限指定。
例如:
ifexists(select*fromsysobjects
wherertrim(name)='LSHSZD'andrtrim(type)='U')
droptableLSHSZD
go
二、视图是来自一个或多个表的数据的逻辑描述。
1.创建视图语法:
语法:
createview
view-name[(column-name,...)]
asselect-without-order-by
[withcheckoption]
说明:
withcheckoption指出所有的数据修改语句都必须通过视图的选择条件。
所有的通过视图插入或修改的记录仍必须是通过视图可见。
如:
createviewVW_LSWLDW
asselect*fromLSWLDWwhereF_DWMClike'%山东%'
withcheckoption
2.删除视图
语法:
dropview[owner.]view_name[,[owner.]view_name]…
例如:
ifexists(select*fromsysobjectswherename='VW_LSKMSL'andtype='V')
dropviewVW_LSKMSL
go
三、索引用于维护数据的一致性并改善性能。
1.创建索引语法:
create[unique][clustered|unclustered]index
index-nameontable-name(column-name[,…])
SYBASE提供了两种索引,聚簇索引和非聚簇索引,聚簇索引影响到记录的物理存放,所以一个表只能有一个聚簇索引,每个表最多有249个非聚簇索引。
索引中可以包含1~16列,但索引项宽度不能超过255个字符。
例如:
在LSHSZD上创建索引
createuniqueclusteredindexLSHSZDonLSHSZD(F_FLBH,F_HSBH)
go
createnonclusteredindexLSHSZDJSonLSHSZD(F_HSJS)
go
2.删除索引
dropindextable_name.index_name[,table_name.index_name]…
例如:
dropindexLSKMZD.LSKMZD
四、触发器是维护表间的数据的一致性和完整性的一种机制。
触发器的主要用途在于:
能够对数据库的多个表的内容级联(cascade)修改
当违反参照完整性时,触发器能够撤回试图进行数据修改的事务。
触发器能够实施比规则复杂的多的限制
触发器还能够比较数据修改前后某表的状态,并进行相应的动作。
1.创建处发器语法:
createtriggertrigger_name
ontable_name
{forinsert,update,delete}
as
sql_statements
或
createtriggertrigger_name
ontable_name
{forinsert,update,delete}
as
[ifupdate(column_name)
[{and|or}update(column_name)]…]
sql_statements
其中:
on子句给出了引发触发器的表名(我们把它叫
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 系统 原理 课程 基本 实验 设置