學學習網 手機版

學學習網

學習路徑: 學習首頁 > 數據庫 > Sybase >

第六節 數據庫與T-SQL語言

設置字體:
----------------------------------
一、關系模型的基本概念

關系數據庫以關系模型為基礎,它有以下三部分組成:
●數據結構——模型所操作的對象、類型的集合
●完整性規則——保證數據有效、正確的約束條件
●數據操作——對模型對象所允許執行的操作方式
關系(Relation)是一個由行和列組成的二維表格,表中的每一行是一條記錄(Record),每一列是記錄的一個字段(Field)。表中的每一條記錄必須是互斥的,字段的值必須具有原子性。

二、SQL語言概述

 SQL(結構化查詢語言)是關系數據庫語言的一種國際標準,它是一種非過程化的語言。通過編寫SQL,我們可以實現對關系數據庫的全部操作。
●數據定義語言(DDL)——建立和管理數據庫對象
●數據操縱語言(DML)——用來查詢與更新數據
●數據控制語言(DCL)——控制數據的安全性
T-SQL語言是Sybase對SQL92標準的一種擴展,主要在它的基礎上增加了三個方面的功能:自己的數據類型/特有的SQL函數/流程控制功能
T-SQL中的標識符使用說明:
(1)標識符由1-30個字符或數字構成,但首字符必須為字母。臨時表的表名以#開頭,長度不能超過13個字符。
(2)數據庫對象的標識方法舉例
database.owner.tablename.columnname
執行遠程存儲過程:
EXEC server.db.owner.proc_name
當執行語句在批處理的句首時,EXEC可以省略。

三、Sybase的數據類型

   在創建表或聲明局部變量時,必須使用Sybase系統預定義類型。

1.字符類型
Char(n)   VarChar(n)

2.數值類型
整數類型——Integer  SmallInt  TinyInt
浮點類型——Real  Float  Number[P,S]  Decimal[P,S]
貨幣類型——Money  SmallMoney

3.日期/時間類型
Datetime  SmallDatetime
兩者時間部分的精度不同,前者精確到分,后者精確到1/30秒。

4.文本和圖像類型
Text  Image

5.二進制數據類型
Binary(n)  VarBinary(n)

四、數據定義語言

用來定義數據庫對象。數據庫對象是Sybase用來存儲數據的邏輯實體,主要有:
表(Table)、視圖(View)、臨時表(Temp Table);
主鍵(Primary Key)、外鍵(Foreign Key)、索引(Index)、規則(Rule)、默認值(Default);
存儲過程(Stored Procedure)、觸發器(Trigger)
●基本語法
下面給出創建主要數據庫對象的語法:

1.表
創建表的基本語法是:
Create table[database.[owner].]table_name
(column_name datatype [default {constant_expression|user|null}]
{[{identity|null|not null}]|[[constraint constraint_name]
{{unique|primary key}[clustered|nonclustered]
[with{fillfactor|max_rows_per_page}=x]
[on segment_name]
|references[[database.]owner.]ref_table
[(ref_column)]
|check(search_condition)}]}…
在建立大型的數據庫時,可以考慮將創建表乃至其它數據庫對象的過程寫到一個文本里,當數據庫系統出現問題時,在最壞的情況下,重建過程可以得到簡化,也能比較好的對數據庫的建設過程進行監視。
創建表的過程完成下列活動:
·定義表的每一列;
·定義列名和列的數據類型并指定列是否處理空值;
·指定列是否具有IDENTITY屬性;
·定義列級的完整性約束和表級的完整性約束
上述過程可見,創建表的過程可以設定填充因子,將列置于段上,設計索引,外鍵等等。

2.索引
索引對查詢性能的影響很大,要引起重視。
索引加速了數據檢索,Adaptive Server有三類索引:
·復合索引——索引包含多列;當兩列或多列由于它們的邏輯關系而作為整體被查詢時可建立這種索引;
·唯一索引——索引列的值不允許重復;
·簇聚索引和非簇聚索引——簇聚索引強迫Server不斷地對表中數據排序或重排序以保證表中數據的物理順序和邏輯順序的一致性,簇聚索引對范圍查詢性能影響極大;非簇索引沒有這樣的要求,非簇聚索引對修改操作有利。
何時建索引?
·如果手動插入identity列,則創建唯一索引以保證不插入已經存在的值;
·經常被排序訪問的列,即被列在order by子句中的列,最好對其建立索引以便Adaptive Server能充分利用索引順序的優點;
----------------------------------
課程列表
重點難點
贊助鏈接
倾国妲己官网 山西十一选五遗漏号 分分彩人工计划 广东11选5官网 澳洲幸运5 大发棋牌官网下载安装 2016314福彩开奖 官方能提现的棋牌游戏 排三开奖结果 大学生赚钱比省钱重要的例子 陕西十一选五智能选号 空乘机长赚钱多吗 福建十一选五怎么算中奖号码准确 法师单刷祖格鳄鱼有多赚钱 辽宁11选5哪里查 雅虎靠什么赚钱 河北11选5开奖视频直播