《数据库系统原理》课程基本实验设置(SYBASE)_第1页
《数据库系统原理》课程基本实验设置(SYBASE)_第2页
《数据库系统原理》课程基本实验设置(SYBASE)_第3页
《数据库系统原理》课程基本实验设置(SYBASE)_第4页
《数据库系统原理》课程基本实验设置(SYBASE)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录第一章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实验

2、内容20实验步骤20实验总结21实验七 数据库的事务创建与运行实验21实验目的21实验内容与要求21实验总结21实验八 数据库的备份和恢复实验22实验背景知识22实验目的23实验内容23实验步骤23实验总结23 第一章 SYBASE的组成和结构特征Sybase是一种客户/服务器结构的数据库系统,是目前比较流行的数据库系统之一。它是由美国Sybase公司研制的。在此我们主要以Windows NT环境下的Sybase为主进行实验。Sybase数据库软件有三部分组成,一是进行数据库管理和维护的一个联机(ON line)关系型数据库管理系统Sybase;二是支持数据库应用系统的建立与开发的一组前端工具

3、软件Sybase SQL Toolset;三是用于实现与其他数据库连接接口的Open Client/Open Server工具。Sybase是个可编程的数据库管理系统,它是整个Sybase产品的核心软件。Sybase的特殊用户 Sybase数据库由三种类型的特殊用户管理和控制着,他们是:系统管理员、用户数据库所有者、数据库对象的所有者。一、 系统管理员系统管理员管理着系统的资源和安全,担负着与应用无关的管理任务。 系统管理员不一定是某一个人,只要知道系统管理员的口令的人都可以起到系统管理员的作用。系统管理员的任务:安装Sybase Adaptive Server数据库;管理磁盘存储;在Syba

4、se 数据库上设置用户帐号;对Sybase 数据库用户授权;创建用户数据库,并授予所有者特权;备份数据;监视Sybase 数据库的自动恢复过程;调节系统配置参数,以使Sybase 数据库达到最佳性能;系统管理员是master数据库的所有者,系统管理员的注册名是sa,他是一种“超级用户”, Sybase 数据库不对他做任何权限检查,sa 是任何数据库的所有者。二、 数据库所有者数据库的创建者就是数据库的所有者,sa用Grant命令授予用户创建数据库的权限。数据库所有者可完成的工作是:运行存储过程sp_adduser允许其他SYBASE 用户存取此数据库;授权其他用户在数据库中创建目标和执行命令;

5、用sp_addgroup 和sp_dropgroup 设置组(有了组,授权和收回授权就变得容易多了)。每个用户缺省的组是public。数据库所有者以他设置的用户名和口令注册。在其他数据库中,所有者是按通常的注册名标识的。在所有者自己的数据库中是dbo,他被认为是dbo。数据库所有者对他拥有的数据库具有所有的权力。三、 数据库对象所有者数据库对象有表、索引、视图、触发器、规则以及存储过程。数据库所有者必须首先授权给用户创建特定的对象,然后用户才能创建。数据库对象所有者的任务是,创建对象,然后对其他用户授权。Sybase数据库的基本构成Sybase数据库安装时,它有四个数据库:master数据库,

6、model数据库, sybsystemprocs数据库和sybsystemdb数据库。Master,Model和Tempddb都放在Master设备上。一、 master数据库 master数据库从总体上控制用户数据库和Sybase 的操作。它保留着用户帐号(在syslogins中),可设置的环境变量(在sysconfigures中),系统错误信息(在sysmessages中)。在Sybase上的数据库(在sysdatabases中),给每个数据库分配的存储空间(在sysusages中),装入系统的磁带和磁盘(在sysdevices 中),以及动态锁(在syslocks中)的轨迹。另外,系统过

7、程是在Sybase数据库安装时用buildmaster程序创建的。它是存储在master中的。只有在master数据库中才能用create database、或alter database 、disk init等命令。往master数据库设备上增加用户目标是可能的,但不好,在master数据库上创建目标的目的应该是从总体上管理系统。应该在master数据库上对用户设置权限,以使大多数用户不能在那里创建目标。每次改变master数据库时最好用dump database 备份它,如果master数据库被破坏,恢复它的方法与恢复用户数据库不同。二、 model 数据库model 数据库也是随Syba

8、se一起提供的。它提供了新用户数据库的雏型,每次用create database 命令时,Sybase都产生一个model 数据库的拷贝,然后把它扩展到命令要求的尺寸。model数据库中包含着数据库需要的系统表。它可以修改成新创建数据库的结构对model 数据库的任何修改都会在每个创建的数据库中反映出来。下面是几个通常用到的对model数据库的改变:增加数据类型、规则或缺省;可存取Sybase上所有数据库的用户用sp_adduser增加到model数据库上;诸如select into/bulk copy那样的数据库选项可在model中设置。这些设置会反映到新创建的数据库中。它们在model中最

9、缺省值是false。三、 临时数据库Sybase数据库提供了一个临时数据库(temdb)。该库为临时表和其他临时工作存储提供了一个存储区域。不管是什么数据库,所有临时表都存放在temdb中。然而,可以从temdb或创建临时表的数据库来查询临时表。如果查询sybsystemdb.sysobjects,则系统会告诉你在临时表名上加了一个后缀。仅当从temdb使用临时表时,sp_help才工作于临时表上。temdb是Sybase数据库上所有数据库共享的工作空间。每当用户退出SYBASE或系统从失败中恢复时,用户的临时表从temdb删除。存储过程退出时,它的临时表也被删除。在应用结束前,临时表也可被显

10、示的drop掉。temdb缺省的尺寸是2M字节,在财务软件中,由于用到的临时表很多,根据实际的情况,可以把它扩充到80100M或更多。四、 sysprocsdev Device 存储系统过程数据库 ( sybsystemprocs )根据需要选择的 设备与数据库: ( 安装sql脚本在$SYBASE/scripts下 )。五、 sybsecurity Device 存储 sybsecurity 数据库和审计系统存储过程。 六、 sybsystemdb Device 存储 sybsystemdb 数据库, 用来存储有关两阶段提交事务的信息。七、 dbccdb 数据库 当使用dbcc checks

11、torage命令时用来存储dbcc结果信息。第二章 课程实验内容实验一 SYBASE数据库安装、创建与维护实验实验背景知识八、 初始化数据库设备设备是指用于存储数据库和数据库对象的磁盘或文件系统中的一个文件。在进行创建数据库之前,设备必须准备好,这个过程叫做设备的初始化。语法: DISK INIT NAME = 逻辑设备名, PHYSNAME = 物理设备名, VDEVNO = 虚拟设备号, SIZE = 数据库设备大小(以2K的数据页计) ,VSTART = 起始的虚拟地址, ,CNTRLTYPE = 磁盘控制器号(缺省为0)说明: sa 用 DISK INIT 命令进行设备初始化/增加新设

12、备 每个设备增加一个连接 利用 sp_helpdevice 设备名查看设备信息 最大设备数: 255注意事项: 只有sa可使用DISK INIT 在使用DISK INIT 前要: 备份主数据库 确保有足够的空间 确保将使用的设备尚未初始化 确保Sybase用户对此设备有写的权限 确认Sybase的系统配置满足要求 (device、 memory、connection)九、 设置缺省设备: 命令格式: sp_diskdefault 逻辑设备名 defaulton | defaultoff 例子: sp_diskdefault data_dev1 defaulton sp_diskdefault

13、master defaultoff说明: 只有 sa 可设置缺省设备 缺省设备只能是数据库设备,不能是转储设备 Sybase安装时,主设备是缺省 (建议改为OFF,便于主设备及主数据库的维护) 可创建多个缺省设备,使用时按物理顺序填满 创建DB时应指明建库设备,否则建在缺省设备上 利用 sp_helpdevice 可了解缺省设备信息十、 删除设备:命令格式: sp_dropdevice 逻辑设备名 例子: sp_dropdevice data_dev1说明: 何时删除设备: 改变、修复、增加硬件时 改变设备大小 (先删,后加) 只有 sa 可删除设备 对文件设备,drop后还要删除目录中的文件

14、,以真正释放空间 不能删除有数据库的设备 注意事项: 只有系统管理员有权删除设备。在删除设备之前最好备份master数据库。 用sp_dropdevice删除设备后,需要重新启动SYBASE,该设备的虚拟设备号才可以使用。 磁盘文件形式的设备,在用p_dropdevice删除后,还需要手工删除在磁盘上的相应文件才能回收空间。 在使用sp_dropdevice删除设备之前,必须先删除该设备上的所有数据库。十一、 创建数据库命令格式: create database 数据库名 on default | 数据库设备名 =大小 (以MB为单位) ,数据库设备名 =大小. log on 数据库设备名 =

15、大小 ,数据库设备名 =大小. with override for load 例子: create database mydb on data_dev1 = 6 log on log_dev1 = 2 说明: with override 选项说明: 允许on 和log on选项指定同一设备名,但分配不同的设备片; for load 选项说明: 新建数据库仅用于装入数据库的转储备份 (不需清页,建库快); 建库者(DBO): sa:sa可将DB所有权转让。(用sp_changedbowner) master、model、sybsystemdb、sybsecurity库的所有权不能转让。 sa授权

16、的用户: 用 grant create database to 用户名。 建议sa集中管理DB的创建。 Sybase 最多可管理32767个数据库 如未指定位置和大小,DB建在缺省设备上,大小为maxmodel库大小, database size参数值查看数据库信息:sp_helpdb 数据库名称 十二、 扩展数据库: 命令格式: alter database 数据库名 on default | 数据库设备名 =大小 (以MB为单位) ,数据库设备名 =大小. log on 数据库设备名 =大小 ,数据库设备名 =大小. with override for load 说明: for load

17、选项仅用在 create database for load 之后; 扩充者: DBO、sa (在主数据库中); 在数据库使用的同时可做扩展; 主数据库只能在主设备上扩展; 当用户指定大小不能满足时,系统会在每个指定设备上分配尽可能多的空间。其它处理: 日志饱和时: dump trans / trancate 扩展日志段 数据段饱和时:drop无用的数据对象 扩展数据段十三、 删除数据库 命令格式 drop database 数据库名 说明:删库者: DBO、SA不能删除正在使用的数据库只能删除能正常打开的数据库,如果数据库已不能打开,只能用dbcc dbrepair(dbname,dropd

18、b)来删除。 示例: 扩充sybsystemdb,由于软件中的帐务资料的查询及报表的编译计算等都要用 sybsystemdb,如果sybsystemdb太小,则很容易造成死机。以下为将sybsystemdb数据库增加200M的操作: 进行该操作时注意:l 查看F盘(服务器上的驱动器盘符)空间够不够大,比如要扩充100M,看看F盘剩余空间是否够100M。l 执行系统过程sp_helpdevice,查看已经使用的设备号(device_number列),找一个没有使用的设备号。l 如果已没有剩余设备号,可用(sp_configure number of devices,新最大设备号)来设置更多的可用

19、设备号,重启SERVER新配置的即可使用。具体执行过程:1、sa 进入 master数据库2、执行:disk init name=sybsystemdbdev, physname=f: datasybsystemdbdev, vdevno=11, size=512003、执行:sp_helpdevice 查看是否显示出:sybsystemdbdev4、执行:alter database sybsystemdb on sybsystemdbdev=100 5、执行:sp_helpdb sybsystemdb查看sybsystemdb数据库大小是否增加了100M。同样,如果一个数据库的空间太小,也

20、可以这样来增加数据库的空间或扩充日志。实验目的1通过对Sybase的安装和简单使用:(1)了解安装Sybase的软硬件环境和安装方法;(2)熟悉Sybase相关使用;(3)熟悉Sybase的构成和相关工具;(4)通过Sybase的使用来理解数据库系统的基本概念。实验内容。2通过创建数据库、并进行相应的维护,了解并掌握Sybase数据库的创建和维护的不同方法和途径,并通过这一具体的数据库理解实际数据库所包含的各要素。实验内容1Sybase系统安装(1) 在windows2000/XP上安装并运行Sybase。(2) 练习启动和停止数据库服务。(3) 通过Adaptive Server Enter

21、prise连接数据库。(4) 熟悉Adaptive Server Enterprise的各项功能,了解Sybase数据库的主要对象。 (5) 了解Sybase在安装时自动创建的数据库和几类系统表。2数据库创建与维护(1) 创建“学生选课”数据库;(2) 对数据库属性和参数进行查询、相应的修改和维护,内容包括:调整数据库的大小,完成数据库大小的增加、减小;(3) 练习数据库的删除等维护;(4) 用Adaptive Server Enterprise管理工具和交互式的Transact_SQL语句分别完成以上操作。实验与要求1Sybase的安装实验要求学生在微机上安装Sybase数据库系统,为后续各

22、个实验搭建实验环境;2数据库创建与维护实验则要求面向具体应用领域,利用Sybase相关机制,创建并维护数据库系统,为后续各个实验提供前期准备;3要求学生根据以上要求确定实验步骤,独立完成以上实验内容。并在安装和数据库运行后熟悉Sybase的各种运行管理;4实验完成后完成实验报告。实验步骤使用Adaptive Server Enterprise 熟悉Sybase的安装过程。实验报告要求1实验报告需要完成以下内容:2实验目的:描述本次实验的目的。3实验平台及环境:介绍自己实验所基于的软硬件环境及所用到的工具。4实验内容:介绍本次实验的具体内容。5实验步骤:根据实验内容和实验过程情况介绍实验步骤。6

23、实验结果及分析:1)对实验结果进行总结和分析。2)给出完成以上实验内容的Transact_SQL语句,并对相应的SQL语句进行分析。3)说明建立的数据库的相关内容,和维护后的相关属性的改变。7实验小结:总结本次实验遇到的问题和心得。实验二 数据库表/视图的创建与维护实验实验背景知识SYBASE 基本对象的创建和删除 T-SQL是一种增强的SQL(Structure Query Language)语言,它在SQL语言的基础上扩充了许多新的功能。十四、 表是用于存储数据库的数据1创建表语法:create table database.owner.table-name ( column-name d

24、atatype default constant_expression|user|null identity|null|not null unique|primary key clustered|nonclustered , )说明:表的列最多有可达250个,每个列有三个特征:名字、数据类型和属性;每行的最大字节数为1962字节。如果更新数据总数超过1962字节时,SYBASE会产生错误信息,而且命令失败。所有的对象的名字最多可由30个字符组成,其名字对大小写是敏感的,创建的对象在sysobjects表中,表的列在syscolumns系统表中。Identity表明列具有IDENTITY特性。I

25、DENTITY列用于存储由SYBASE自动产生连续的数字。clustered|nonclustered指定由unique或primary key约束产生的索引是聚簇的还是非聚簇的。例如: create table LSHSZD (F_HSBH varchar(12) not null, F_HSJS char(1) not null, F_MX tinyint not null, F_HSMC varchar(30) null, F_FLBH char(2) not null, F_KMBH varchar(250) null, F_WBBH char(4) null, F_BZLB char

26、(2) null, F_BZBM varchar(60) null)2删除表语法:drop table database.owner.table_name ,database.owner.table_name 从数据库中删除表的定义以及它所有的数据、索引、触发器和权限指定。例如: if exists(select * from sysobjects where rtrim(name)=LSHSZD and rtrim(type)=U) drop table LSHSZD go十五、 视图是来自一个或多个表的数据的逻辑描述。1创建视图语法:语法:create view view-name ( c

27、olumn-name, . ) as select-without-order-by with check option 说明:with check option指出所有的数据修改语句都必须通过视图的选择条件。所有的通过视图插入或修改的记录仍必须是通过视图可见。如:create view VW_LSWLDW as select * from LSWLDW where F_DWMC like %山东% with check option2删除视图语法: drop view owner.view_name ,owner.view_name例如: if exists(select * from sy

28、sobjects where name=VW_LSKMSL and type=V) drop view VW_LSKMSL go十六、 索引用于维护数据的一致性并改善性能。1创建索引语法:create unique clustered | unclustered index index-name on table-name( column-name , )SYBASE提供了两种索引,聚簇索引和非聚簇索引,聚簇索引影响到记录的物理存放,所以一个表只能有一个聚簇索引,每个表最多有249个非聚簇索引。索引中可以包含116列,但索引项宽度不能超过255个字符。例如:在LSHSZD上创建索引create

29、 unique clustered index LSHSZD on LSHSZD(F_FLBH,F_HSBH)gocreate nonclustered index LSHSZDJS on LSHSZD(F_HSJS)go2删除索引drop index table_name.index_name,table_name.index_name例如:drop index LSKMZD.LSKMZD十七、 触发器是维护表间的数据的一致性和完整性的一种机制。触发器的主要用途在于: 能够对数据库的多个表的内容级联(cascade)修改 当违反参照完整性时,触发器能够撤回试图进行数据修改的事务。 触发器能够

30、实施比规则复杂的多的限制 触发器还能够比较数据修改前后某表的状态,并进行相应的动作。1创建处发器语法:create trigger trigger_name on table_name for insert,update,delete as sql_statements 或 create trigger trigger_name on table_name for insert,update,delete as if update(column_name) and|orupdate(column_name) sql_statements其中:on子句给出了引发触发器的表名(我们把它叫做触发器表

31、) for子句说明了那些数据修改命令可以启动触发器 if update子句用来检查是否对column_name列发出了插入或更新的操作。注意:触发器作为事务的一部分被执行,所以其内容不能含有如下的sql语句:所有的create命令;所有的drop命令;alter table或database;disk系列的命令;select into;load系列命令等;2触发器的工作原理:当数据修改影响到某个码时,触发器把新的列值作为相关码,放在触发器测试表(有deleted和inserted)中,它们是临时表,一旦完成这个事务将自动消失。执行的命令和临时表的关系如下:命令触发器表涉及到的临时表Insert

32、插入新数据inserted(新插入数据)delete删除数据deleted(被删数据)update修改数据deleted(被删数据)inserted(修改数据)例如:当删除自动生成凭证时,自动删除分录定义和公式中的相关内容。create trigger TR_LSZDPZ_DEL on LSZDPZ for deleteasbegin delete LSZDFL from LSZDFL,deleted where LSZDFL.F_ZDBH=deleted.F_ZDBH delete LSZDJE from LSZDJE,deleted where LSZDJE.F_ZDBH=deleted.

33、F_ZDBHend3删除触发器if exists(select * from sysobjects where rtrim(name)=TR_LSZDPZ_DEL and rtrim(type)=TR) drop trigger TR_LSZDPZ_DELgo十八、 存储过程存储过程经过预编译的一段程序。 它是有sql语句和控制流语句构成的语句串(语句集合)。存储过程大大提高了sql的能力和效率,表现在:存储过程是预先编译好的,第一次运行时,Sybase的查询处理器对它进行分析并做了一个执行计划,把这个计划放到系统表中,以后执行都依据这个计划,所以速度比较快。存储过程简化了操作,一般的用户甚至

34、不用知道SQL语句,就可以完成特定的任务。1创建存储过程语法:create procedure procedure-name ( parameter_name datatype =defaultoutput , parameter_name datatype =defaultoutput ) with recompile as sql_statements说明:参数必须一开头,包括最长为30个字符 default指执行存储过程时没有给出参数时的缺省值。例如:创建一个存储过程:将两串中相同的子串删除,返回两剩余串。各子串以“,”隔开。create procedure prTwoStr sOldK

35、mstr char(255) output ,sNewKmstr char(255) outputasbegin declare iKmlen int,i int declare sKmbh varchar(30),sOldKm varchar(255),sNewKm varchar(255) select sOldKm=ltrim(rtrim(sOldKmstr)+, select sNewKm=ltrim(rtrim(sNewKmstr)+, select i=1 select sKmbh= while i0 and charindex(sKmbh,sNewKm)0 begin selec

36、t iKmlen=datalength(sKmbh) select i=i-iKmlen select sOldKm=stuff(sOldKm,i,iKmlen+1,rtrim() select sNewKm=stuff(sNewKm,charindex(sKmbh,sNewKm),iKmlen+1,rtrim() select i=i-1 end select sKmbh= end else begin select sKmbh=convert(varchar(30),sKmbh)+substring(sOldKm,i,1) end select i=i+1 end select sOldK

37、mstr=sOldKm select sNewKmstr=sNewKmendgo2删除存储过程例如: if exists(select * from sysobjects where rtrim(name)=prTwoStr and rtrim(type)=P) drop procedure prTwoStr go实验目的1 了解E-R图的基本概念和根据数据需求描述抽象出E-R图并将其转换为数据库逻辑模式进而物理实现数据库中的表和视图。2 通过进行数据库表的建立操作,熟悉并掌握Sybase数据库表的建立方法,理解关系数据库表的结构,巩固SQL标准中关于数据库表的建立语句。3 通过进行数据库表数

38、据的增加、删除和插入等维护操作,熟悉并掌握Sybase数据库数据的操作方法,进而巩固数据维护语句的使用。4 通过对Sybase中建立、维护视图的实验,熟悉Sybase中对视图的操作方法和途径,理解和掌握视图的概念。实验内容同学应该先了解学生选课的相关知识,进而将其数据描述抽象成实体和联系,形成E-R图,然后将该E-R图转换成数据库中的表结构。建立相应的表及视图,并熟悉基本操作,例如数据增删改、表结构修改等。实验环境C/S结构,Sybase企业版服务器及客户端。数据库存储在服务器上,表和视图定义也存储在服务器上,但同学通过网络使用客户端连接到服务器上进行操作。实验要求本实验内容比较繁多,要求同学

39、一定要进行完全的实验,并做出详尽的记录。实验步骤1 熟悉课程实验背景知识。2 将其中数据需求转化为E-R图。3 将E-R图转化为逻辑模式(确定表结构及其属性,特别要注意标明其主键和外键等约束关系)。4 进一步明确数据类型等,将逻辑模式转化为物理模式。5 根据物理模式使用Sybase创建相应的表(假设数据库已在上次实验做好,如果没有做好,就需要先建立自己的数据库)。6 将教师提供的数据导入表。7 对每个表都尝试增加、删除或者修改一条记录,看看是否能够成功,原因何在?8 自行设置过滤条件和属性,对每一张表做一个视图。9 尝试对视图进行修改,看看是否能够成功,原因何在?实验总结在实验中有哪些重要问题或者事件?你如何

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论