Sybase学习笔记.docx

上传人:b****6 文档编号:8485590 上传时间:2023-01-31 格式:DOCX 页数:72 大小:82.84KB
下载 相关 举报
Sybase学习笔记.docx_第1页
第1页 / 共72页
Sybase学习笔记.docx_第2页
第2页 / 共72页
Sybase学习笔记.docx_第3页
第3页 / 共72页
Sybase学习笔记.docx_第4页
第4页 / 共72页
Sybase学习笔记.docx_第5页
第5页 / 共72页
点击查看更多>>
下载资源
资源描述

Sybase学习笔记.docx

《Sybase学习笔记.docx》由会员分享,可在线阅读,更多相关《Sybase学习笔记.docx(72页珍藏版)》请在冰豆网上搜索。

Sybase学习笔记.docx

Sybase学习笔记

第一章Sybase客户/服务器体系结构概貌3

一、上机目的3

二、预备知识3

1.Sybase客户/服务器数据库环境3

2.Sybase产品系列3

3.SQLServer的功能和特点4

4.系统数据库简介4

5.用isql客户软件访问SQLServer5

三、上机内容5

第二章创建表的方法6

一、上机目的6

二、预备知识6

1.SybaseSQLServer对象及其命名规则6

2.SybaseSQLServer的数据类型7

3.用户定义数据8

4.列的性质9

5.使用CREATETABLE语句创建表9

6.创建基于现存表的新表10

7.视图10

三、上机内容11

四、上机作业12

第三章数据完整性13

一、上机目的13

二、预备知识13

1.数据完整性13

2.使用声明完整性实现数据完整性13

3.使用数据库对象来实现数据完整性16

三、上机内容17

四、上机作业17

第四章修改数据18

一、上机目的18

二、预备知识18

1.访问数据库18

2.插入数据19

3.更新数据20

4.删除数据20

5.使用TRUNCATETABLE语句删除数据21

三、上机内容21

四、上机作业22

第五章数据查询与函数24

一、上机目的24

二、预备知识24

1.ANSISQL的select语句24

2.选择指定的列25

3.条件查询25

4.T-SQL关于LIKE子句和通配符的扩充27

5.ORDERBY子句28

6.分组结果函数29

7.使用groupby子句29

8.使用having子句29

9.数学函数30

10.isnull()函数30

11.嵌套查询31

12.连接31

三、上机内容32

四、上机作业36

第六章游标37

一、上机目的37

二、预备知识37

1.游标的定义37

2.声明游标37

3.打开游标38

4.从一个打开的游标中提取行38

5.把提取的结果放入目的变量清单中39

6.关闭和释放游标39

7.使用游标删除数据40

8.使用游标更新数据40

三、上机内容41

举例1:

游标代码41

举例2:

游标代码42

四、上机作业43

第七章触发器44

一、上机目的44

二、预备知识44

1.建立触发器命令44

2.触发器工作中的行计数44

3.查看和删除触发器45

4.举例45

三、上机内容47

四、上机作业48

第八章授权与数据安全控制49

一、上机目的49

二、预备知识49

1.SQLServer安全管理层次49

2.SQLServer的三种角色50

3.SQLServer的帐户授权层次50

4.授权控制命令51

三、上机内容51

四、上机作业52

第一章Sybase客户/服务器体系结构概貌

一、上机目的

了解Sybase的客户/服务器结构

了解Sybase的产品

了解并掌握SQLServer的成分及它们的功能

利用isql客户应用软件访问SQLServer

二、预备知识

1.Sybase客户/服务器数据库环境

1)基本特点

a)SQLServer数据库服务器执行数据库管理系统的全部功能.对用户而言,数据的物理位置和网络结构都是透明的.

b)SQLServer将业务规则和完整性逻辑集中化,

2)主要优点

a)客户服务器体系结构简化了应用维护

b)将业务规则以保证数据完整性集中化

c)客户应用优化用户界面

d)服务器优化数据存取

2.Sybase产品系列

Sybase针对企业范围异构分布式应用中的三个只要范畴:

OLAP、数据仓库和海量分布,分别在数据库、中间件及工具这三个层次上提供了最佳产品.

下面简介各层的主要产品.

1)数据库层

数据库层

SybaseSQLServer

高性能关系数据库管理系统

SybaseMPP

是使用SQLServer充分发挥大规模并行处理硬件优势的并行处理软件产品

SybaseIQ

该服务器采用独特的BitWise索引技术为数据仓库应用中即席查询提供极快的查询速度

SQLAnywhere

基于PC的全功能SQLDBMS;它还包括一个名为SQLRemote的异步复制组件

SQLServerManager

直观可视化的数据库系统管理软件

SQLServerMonitor

以图形方式实时监视系统性能

2)中间件

中间件

ReplicationServer

采用基于事务的复制技术,可在地理分布的环境下实现多厂商数据库间的数据复制

OpenClient

它为要访问的SQLServer的客户应用和工具提供一个通用的接口

OpenServer

是一个高可配置的服务器工具箱;开发人员用它把任何数据源或服务器应用构造成一个多线索的服务器

OmniCONNECT

它能使用户对整个企业范围内的任何异构数据源(比如DB2或Oracle)进行完全透明的存取

InforPump

用来在异构的数据库间实现数据搬移的允许Sybase销售的第三方产品

dbQ

数据库消息排队服务系统

3)工具

工具

PowerBuilder

面向对象的开发工具

PowerDesignor

对数据库和应用进行设计、创建、分析和维护的工具集

Power++

支持客户、服务器和Internet的快速应用开发的C++软件

InfoMaker

用于C/S和数据仓库应用的综合报表和数据分析工具

PowerSite

能创建动态数据库内容的Web应用的全特性开发工具

3.SQLServer的功能和特点

Sybase的SQLServer是第一个真正的基于客户/服务器结构的RDBMS产品.SQLServer服务器软件主要有两大部分组成:

SQLServer内核(kernel)及数据库管理系统(DBMS).

DBMS部分完成数据存取、资源管理、安全控制等各项操作.SQLServer内核部分处理客户与SQLServer的连接及磁盘和网络I/O等,它负责为DBMS提供必要的运行环境.

SQLServerRDBMS是一个多数据库结构的数据库管理系统.这些数据库被分为两种类型:

系统数据库和用户数据库.系统数据库是在系统安装时自动创建的;用户数据库是由系统管理员或授权用户用建库命令(CREATEDATABASE)来创建的.该用户被称之为此数据库的属主(dbo);各系统库的dbo则是系统安装时自动建立的名为sa的超级用户.

4.系统数据库简介

1)master数据库

master数据库全面控制和管理用户数据库及SQLServer上的一切操作.由于其中的信息是至关重要的,因而禁止一般用户直接访问它.

2)model数据库

它为新建的用户数据库提供一个原型.Model数据库中含有为每个用户数据库所必须的系统表.每当利用建表命令建新库时,SQLServer都自动拷贝一份model数据库,并能依据设定的参数来扩展该用户库的尺寸.

3)sybsystemprocs数据库

Sybase的系统存储过程被储存在sybsystemprocs数据库中.

4)tempdb数据库

它为临时表和其它临时工作空间提供一个存贮区域.Tempdb的空间为该服务器上的全体数据库用户所共享.

5.用isql客户应用软件访问SQLServer

1)isql的使用方法

isql客户应用是基于字符的最基本的访问SQLServer数据库服务器的实用程序.它能够实现与服务器的连接,向服务器发送T-SQL命令,并在屏幕上显示返回的结果和信息.还可利用操作系统的正文编辑器来编辑命令行.另外isql还允许接受输入文件,然后以批方式执行其中的T-SQL命令.

2)语法

isql[-e][-W列宽][-U用户名][-P口令][-S服务器名]

[-i输入文件名][-o输出文件名]

结束命令:

go

清除命令缓冲区:

reset

调用编辑器:

vi(unix),edit(dos)

退出isql:

quit或exit

3)举例

a)isql-Ujoe-Pfriday

1>usepubs

2>go

3>select*

4>frompublishers

5>go

b)isql-Ujoe-Pfriday

1>select

2>frompublishers

3>vi

注:

a)执行对pubs库中的表publishers的查询.而b)因在第3>行打入vi则转入编辑环境.此时你可对行1>、2>的内容进行编辑,然后退出编辑环境再回到isql环境.直到打如go,才真正执行.

三、上机内容

1.按数据库管理员分配的用户进入SYBASE,熟悉SYBASE的环境和产品.

2.熟悉一些基本的isql语句.

第二章创建表的方法

一、上机目的

了解并掌握SQLServer的数据类型

了解并掌握用户定义的数据类型

了解并掌握列的性质

了解并掌握掌握建表和建视图的语句

二、预备知识

1.SybaseSQLServer对象及其命名规则

SQLServer对象有:

数据库、表、视图、列、索引、触发器、存储过程、缺省、规则、用户定义数据类型和游标等.对于它们的命名必须满足SQLServer标识符的如下准则:

●标识符的最大长度为30个字节.

●名字可以用字母或#开头,以#开始的为临时表的表名.

●名字中不能嵌入空格.

●名字中下划线(_)是唯一被允许的专用字符.

●名字应该注意唯一性.SQLServer中的数据库名必须唯一;在一个表中的列名和索引名必须唯一;对每一属主(对象的拥有者)来讲,其对象名也必须唯一.

●如果名字用双引号括起来,则该名字是个保留字.

对象类型

对象名字

举例

column列名字

aaaaa…_aaaaa…_aaaaa…

employee_number

constraint约束

ttt_[c]_xxxxx…

pky_c_carrier_id

database数据库

ddddd…_vvvvv…

travel_dev

databasedevice数据库设备

dev_xxx_n

dev_dat_1

user_defineddatatype用户定义数据类型

typ_ss_xxxxx…

typ_ch_carrier_id

default缺省

def_xxxxx…

def_country

dumpdevice转储设备

dmp_ddddd…_uuu

dmp_travel_test_log

group组

xxxxx…_xxxxx…

marketing

index索引

idx_[u][c]_ttttt…_n

idx_uc_air_segment_1

login登录/注册

f[m]lllll…

lkampinsky

rule规则

rul_xxxxx…

rul_branch_number

segment段

seg_n

seg_1

server服务器

hhhh…_ttt_vvvv…

nysparc_sql_prod

storedprocedure存储过程

proc_aaaaa…_xxxxx…

proc_get_carrier

table表

eeeee…_eeeee…_eeeee…

group_client

trigger触发器

trg_[d][l][u]_ttttt…

trg_iu_air_segment

databaseuser数据库用户

f[m]lllll…

lkampinsky

view视图

vw_xxxx…_xxxxx…

vw_employee_review

本表中使用的约定:

●下划线(_):

为提高名字的可读性,可以使用下划线来分割名字中的元素.

●替换(由斜体字或5个相同的小写字母后跟省略号来表示):

指明该元素由用户提供的字符串替换.

●常数(由小写字符表示):

一般是前缀,用以指明对象类型等.

●省略号(…):

表示该名字元素的长度可变.

●方括号([]):

表示其中的字符仅在特定条件下才被包括进来.

6.SybaseSQLServer的数据类型

SybaseSQLServer的数据类型可分为:

系统定义的数据类型和用户定义的数据类型.1.1系统定义数据类型

本节阐述系统定义数据类型,或称SQLServer数据类型,分为以下六类:

●精确数值型数据:

提供精确数值型数据的存储.

●近似数值型数据:

提供依赖于计算精度数值型数据的存储.

●货币型数据:

提供货币金额数据的格式化存储.

●日期和时间型数据:

提供日期和时间数据的格式化存储.

●字符型数据:

提供字符串数据的存储.

●二进制型数据:

提供对二进制信息(images,bits)的存储.

数据类型

取值

范围

存储字节数

tinyint

全部数字

0~255

1

smallint

全部数字

-32,678~32,677

2

int

全部数字

-2,147,483,648~2,147,483,647

4

numeric(p,s)

十进制小数

-1038~1038-1

2~17

decimal(p,s)

十进制小数

-1038~1038-1

2~17

图2-1精确数值数据类型

数据类型

取值

范围

存储字节数

float(p)

浮点数

取决于硬件

4或8

doubleprecision

双精度数

取决于硬件

8

real

实数

取决于硬件

4

图2-2近似数值数据类型

数据类型

取值

范围

存储字节数

money

Money

-922,337,203,685,477.5808~922,337,203,685,477.5807

8

smallmoney

Money

-214,748.3648~214,748.3647

4

图2-3货币数据类型

数据类型

取值

范围

存储字节数

datetime

日期和时间

January1,1753~December31,9999

8

smalldatetime

日期和时间

January1,1900~June6,2079

4

图2-4日期和时间数据类型

数据类型

取值

范围

存储字节数

char(n)nchar(n)

固定长字符串

最多255个字符

N

varchar(n)nvarchar(n)

可变长字符串

最多255个字符

实际输入长度(最多n)

text

字符串

最多231-1个字符

16字节地址+2K的倍数

图2-5字符数据类型

数据类型

取值

范围

存储字节数

bit

bit

0或1

每字节8bit

binary(n)

定长二进制数

最多255字节

N

varbinary(n)

变长二进制数

最多255字节

实际输入长度(最多n)

image

二进制数

最长231-1字节

16字节地址+2K的倍数

图2-6二进制数据类型

7.用户定义数据

SybaseSQLServer允许用户根据需要,建立用户定义数据类型,以实现某些功能:

利用用户定义的数据类型可使在不同的表中重复出现的各列具有相同特性.

如果把规则和缺省捆绑到一个用户定义的数据类型上,那么该规则和缺省也适用于采用此用户定义数据类型的每个列.

1)一个用户定义数据类型:

●是数据库的对象之一.

●可以用于系统数据类型可使用的地方.

●由名字、系统数据类型、列性质{null|notnull|identity}组成.

●可以与规则和缺省相捆绑.

2)定义用户定义数据类型:

sp_addtypetype_name,phystype[(length)|(precison[,scale])][,nulltype|identity]

●type_name是用户定义数据类型的名字.

●phystype是用户定义数据类型所基于的系统数据类型,可以包括长度、精度、标度.

●nulltype指定该用户定义数据类型是否可接受null值.

●identity指定该用户定义数据类型具有identity性质.

3)SybaseSQLServer建议命名用户定义数据类型时使用如下格式:

typ_ss_xxxxx…

●typ是常量,指出这个对象是用户定义的数据类型.

●ss是该用户定义数据类型所基于的系统数据类型的代码.

●xxxxx…是该用户定义数据类型的描述名字.

4)使用用户定义数据类型的例子

定义execsp_addtypetyp_ch_pid,“char(4)”

查看execsp_helptyp_ch_pid

重命名execsp_renametyp_ch_pid,typ_ch_tid

删除execsp_droptypetyp_ch_tid

4.列的性质

列的性质包括列的NULL性质和列的IDENTITY性质,它们在列定义时指定.

1)列的NULL性质

NULL(空)意味着“未知”,不要将它误以为对数值列是数字0,或对字符列是空格.列的NULL性质确定该列是否需要一个明确的输入值,如果列被定义为具有:

●notnull表示该列需要一个明确的输入值,即不允许空值(未知值).

●null表示该列不一定需要一个明确的输入值,可以不输入值,即允许空值.

●如果没有指定列的这个性质,缺省为notnull.

2)列的IDENTITY性质

列的IDENTITY(标识)性质使SQLServer自动为该列赋予一个顺序数字数据值,例如发票号或雇员号等.IDENTITY列的值唯一地标识表中的每一行.

1对IDENTITY列的限制

●IDENTTITY列必须是numeric数据类型,且其小数部分为0,例如numeric(5,0).

●IDENTITY列不接受NULL值.

●每个表只可以有一个IDENTITY列,IDENTITY列可以不用它的名字而用保留字syb_identity来引用.

2IDENTITY列的数据

●对IDENTITY列的数据不可以更新(UPDATE).

●表的属主、数据库属主、系统管理员可以通过发布如下命令,特许对IDENTITY列进行直接插入值:

setidentity_inserttableon(off恢复成自动插入值).

●如果在IDENTITY列上没有创建唯一索引的话,IDENTITY列的值可能会有重复.

5.使用CREATETABLE语句创建表

1)基本语法

CREATETEBLEtable_name

(col_namedatatype[identity|null|notnull],

col_namedatatype[identity|null|notnull],

col_namedatatype[identity|null|notnull])

●table_name为被创建的表的名字,它必须遵循SQLServer标识符准则.

●col_namedatatype[identity|null|notnull]为对列的描述,包括列名、数据类型和identity与null性质.

●每个表最多可有250个列.

2)例子

CREATETABLEtitles

(pub_idtp_ch_pid,

pricemoneynull,

pubdatesmalldatetimenotnull,

…)

3)删除表

从数据库中删除表的定义和表中数据,使用如下的命令:

DROPTABLEtable_name

此时,SQLServer执行:

●表中被删除的数据写入事务日志(TransactionLog).

●删除表中的全部数据.

●删除表的定义.

8.创建基于现存表的新表

创建基于现存表的新表的方法是使用SELECTINTO语句,执行这个语句有两个步骤:

●根据FROM子句中指定的表和delect_list中指定的列,拷贝表结构建立一个新表.

●根据WHERE子句中选中的行(如果有的话),插入到新表.

1)语法

SELECTselect_listINTOnew_table_name

FROMold_table_name[WHEREsearch_conditions]

●select_list包含一个或多个从现存表中选择出来的列,其顺序和列名可根据建表的需要改变.

●new_table_name是新建表的表名,它应符合SQLServer标识符准则.

●old_table_name是现存的一个或多个表的表名,若为多个表,表名间用逗号隔开.

●search_condition是用于指定从现存表中提取哪些数据插入到新建表中.若为从多个表中选择,还包括表间的连接条件.

2)举例

从表titles创建一名字为newtitle的永久表,并且用where子句指定要插入的数据:

select*intonewtitlefromtitleswherepubdate<”Jan1,1997”

从表publishers创建一个名字newpubs的永久表,但它不含数据行:

select*intonewpubsfrompubloisherswhere1=2

9.视图

1)定义

视图(View)是从一个或多个表中使用SELECTFROM语句导出的,那些用来导出视图的表称为基表或根表,视图也可以从一个或多个其它视图中产生.导出视图的定义存放在数据库的数据字典中,而与视图定义相关的数据并没有存入数据库中,所以视图也成为虚表,通过视图看到的是它所基于的表的数据.

2)建立视图的语法

CREATEVIEWview_name[(column_name,column_name,…)]

ASselect_statement[withcheckoption]

●view_name为视图名,应遵循SQLServer标识符和命名规则.

●(column_name,column_name,…)命名视图表中的列的清单.如果被省略,视图列继承select语句中select_list指定的列.

●select_statement为定义视图的SELE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 实习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1