Microsoft PowerPoint - sql2005_ch03.ppt

Similar documents
投影片 1

untitled

Microsoft PowerPoint - C_Structure.ppt

Microsoft PowerPoint - sql2005_ch10.ppt

习题1

學 科 100% ( 為 單 複 選 題, 每 題 2.5 分, 共 100 分 ) 1. 請 參 閱 附 圖 作 答 : (A) 選 項 A (B) 選 項 B (C) 選 項 C (D) 選 項 D Ans:D 2. 下 列 對 於 資 料 庫 正 規 化 (Normalization) 的 敘

01 SQL Server SQL Server 2008 SQL Server 6-1 SSIS SQL Server ( master ) ( msdb ) SQL Server ( master ) master 6-1 DTS sysadmin 6-1 sysa

目錄... ivv...vii Chapter DETECT

ASP.NET MVC Visual Studio MVC MVC 範例 1-1 建立第一個 MVC 專案 Visual Studio MVC step 01 Visual Studio Web ASP.NET Web (.NET Framework) step 02 C:\M

untitled

untitled

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

使用手冊

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

Oracle Database 10g: SQL (OCE) 的第一堂課

Microsoft Word - ACL chapter02-5ed.docx

第4单元 创建数据类型和表

第三篇 第 10 章 - 管理者登入第 11 章 - 更改網路商店 Logo 第 12 章 - 系統設定第 13 章 - 商品上架第 14 章 - 付款方式設定第 15 章 - 出貨方式設定第 16 章 - 特價商品 oscommerce 103

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

数 据 库 系 统 基 础 2/54 第 6 章 数 据 库 管 理 与 维 护

123

基于UML建模的管理管理信息系统项目案例导航——VB篇

WQ.s92

R D B M S O R D B M S R D B M S / O R D B M S R D B M S O R D B M S 4 O R D B M S R D B M 3. ORACLE Server O R A C L E U N I X Windows NT w w

PowerPoint Presentation

ebook 96-16

User Group SMTP

未命名


威 福 髮 藝 店 桃 園 市 蘆 竹 區 中 山 里 福 祿 一 街 48 號 地 下 一 樓 50,000 獨 資 李 依 純 105/04/06 府 經 登 字 第 號 宏 品 餐 飲 桃 園 市 桃 園 區 信 光 里 民

運算子多載 Operator Overloading

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

安裝與使用 SQL Server 2014

目錄

Oracle 4

SyncMail AJAX Manual

The golden pins of the PCI card can be oxidized after months or years

RUN_PC連載_12_.doc

( )... 5 ( ) ( )

Microsoft Word - 三峽鎮衛生所_3_-張家宸.李永繁.doc

Microsoft Word - 武漢大學交流營心得_黃莉云_.doc

TopTest_Adminstrator.doc

ebook 132-2

(Microsoft PowerPoint -

書面

Microsoft PowerPoint - Ch6

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

DBI307 SQL Server 2012跨國企業資料庫管 理與效能調教實戰 經驗分享 楊志強 MCT of SQL Server, Global DBA 台灣微軟 MVP

Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆

Microsoft PowerPoint - sql2005_ch09.ppt

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

封面-12

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

CC213

untitled

1 IT IT IT IT Virtual Machine, VM VM VM VM Operating Systems, OS IT

致理技術學院資訊管理學系專題企劃書格式建議書

Microsoft Word - 1-3陳詠琳-近代..

ebook 165-5

PHOTON Web Hosting

一 個 SQL Injection 實 例 的 啟 示 頁 2 / 6 因 此, 在 知 名 網 站 上 看 到 SQL Injection, 讓 人 驚 心, 卻 不 意 外 網 站 專 案 外 包 是 目 前 業 界 的 常 態, 而 在 價 格 取 勝 的 制 度 下, 低 價 得 標 的 S

10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD

由社會發展趨勢探討國人睡眠品質

starter_pdfmerge

<4D F736F F D20C540A468BAC2BFEFB3F8A657B6B7AABE2E646F63>

2017政府共同供應契約採購指南V3.xls

資料結構之C語言重點複習

Excel VBA Excel Visual Basic for Application

Microsoft PowerPoint - SAGE 2010

软件概述

ebook4-14

11 for Server 教育版續約 for Server 教育版續約 套 5, for Virtual Host 教育版 for Virtual Host 教育版 套 29, for Virtual Host 教育版續約 for Virtual Host 教育版續約 套

1 1 Excel VBA 說明 ( ) (_) STEP4 Excel 2 STEP5 A1 1 B2 2 C3 3 STEP6 A1 STEP7 > > 1-11

用友零售案例集V4

使用SQL Developer

Acronis P.1 Acronis Anydata Engine P.2 P.4 Acronis Backup Advanced P.5 Acronis Backup Advanced for AP P.6 Vmware P.7 Acronis Backup P.8 IDC 80 % $20,0

輕鬆學 Dreamweaver CS5 網頁設計..\Example\Ch0\ \.html..\example\ch0\ \mouse.txt..\example\ch0\ \ _Ok.html 學習重點 JavaScript 複製程式碼 mouse.txt Ctrl+C Ctrl+C 0-4

Microsoft Word - ACI chapter00-1ed.docx

ACI pdf

untitled

untitled

Transcription:

第三章認識及操作 SQL Server 資料庫 3-1 關於系統資料庫 3-2 資料庫的組成 3-3 以 T-SQL 控制及了解資料庫 3-3-1 以 T-SQL 查詢資料 3-3-2 查看伺服器組態設定 1

3.1 關於系統資料庫 系統資料庫 master 資料庫 tempdb 資料庫 描述 記錄 SQL Server 執行個體的所有系統層級資訊 是保存暫存物件或中繼結果集的工作空間 model 資料庫 msdb 資料庫 resource 資料庫 用來當作 SQL Server 執行個體上建立之所有資料庫的範本 對 model 資料庫進行的修改 ( 例如, 資料庫大小 定序 復原模式和其他資料庫選項 ) 會套用到之後建立的任何資料庫 SQL Server Agent 用於排程警示和作業 唯讀的資料庫 包含 SQL Server 2005 擁有的系統物件 系統物件實際上會保存在資源資料庫中, 但邏輯上會出現在每個資料庫的 sys 結構描述中 2

master 資料庫 記錄了 SQL Server 系統的所有系統資訊, 例如 : 登入帳戶 連結的伺服器, 以及系統組態設定 記錄 SQL Server 的初始化資訊 如果 master 資料庫無法使用,SQL Server 也會無法啟動 備份 master 資料庫 在 SQL Server 2005 中, 系統物件不再儲存於 master 資料庫, 而是儲存於資源資料庫 3

tempdb 資料庫 內含連線至系統的所有使用者之暫存資料表與預存程序 當 SQL Server 啟動時, 便會使用模型 (model) 資料庫的複本來重建 Tempdb, 並將其大小重設為上次的設定大小 tempdb 不允許進行備份和還原作業 4

model 資料庫 可作為資料庫範本 使用 CREATE DATABASE 陳述式時, 會複製 model 資料庫的內容, 來建立資料庫的第一個部份, 新資料庫的剩餘部份則填入空白頁 5

msdb 資料庫 SQL Server 代理程式 使用的資料庫 提供 Service Broker, Database Mail 之類的功能使用 Database Mail 是從 Microsoft SQL Server 2005 Database Engine 傳送電子郵件訊息的企業解決方案 使用 Database Mail, 資料庫應用程式就能夠將電子郵件訊息傳送給使用者 這類訊息能包含查詢結果, 也可以包含來自網路上任何資源的檔案 6

3-2 資料庫的組成 (8 大物件 ) 由 資料庫圖表 至 安全性 都是資料庫的組成 7

3-2-1 資料表 table 8

3-2-2 資料庫圖表 9

3-2-2 資料庫圖表 (cont.) 1 對多 1 對多 10

3-2-3 檢視表 view SP 參考第 8 章 檢視表是一種虛擬資料表, 是由查詢定義其內容 檢視表與真正的資料表類似, 檢視是由一組命名的資料行和資料列所組成 除了索引檢視以外, 檢視在資料庫中並沒有儲存的資料值集 資料的資料列與資料行是從定義檢視的查詢所參考的資料表而來, 而且在參考檢視時不會動態產生 11

3-2-3 檢視表 view (cont.) 12

3-2-4 預存程序 Store Procedure 預存程序 : 類似於其他程式設計語言中的程序 SP 參考第 10 章 可接受輸入參數, 並以輸出參數的形式將多個數值傳回呼叫程序或批次處理 包含可在資料庫中執行作業的程式陳述式, 包括呼叫其他程序 將狀態值傳回呼叫程序或批次處理, 以指示成功或失敗 ( 及失敗原因 ) Transact-SQL 的 EXECUTE 陳述式可用來執行預存程序 系統內建以 sp_ 開頭 13

3-2-4 預存程序 Store Procedure (cont.) 使用者建立之預存程序盡量不以 sp_ 開頭 14

DML 觸發程序 : 3-2-5 觸發程序 trigger 只有當資料表中的資料被修改時才會執行 在 INSERT UPDATE 及 DELETE 陳述式上操作, 並可協助強制執行商業規則, 以及當資料表或檢視中的資料修改時協助擴充資料的完整性 DDL 觸發程序 : Trigger 參考第 11 章 在回應 資料定義語言 (DDL) 陳述式時引發 在 CREATE ALTER DROP 以及其他 DDL 陳述式上操作 它們是用以執行管理工作並強制執行影響資料庫的商業規則 它們適用於整個資料庫或整個伺服器之單一類型的所有命令 15

3-2-5 觸發程序 trigger 範例 16

3-2-6 自訂函數 user-define function 使用者自訂函數是以資料庫物件的形式儲存, 可提供下列方式重複使用的程式碼 : 在 Transact-SQL 陳述式中, 例如 : SELECT 在呼叫函數的應用程式中 在另一個使用者自訂函數的定義中 若要將檢視參數化, 或改善索引檢視的功能 若要在資料表中定義資料行 若要在資料行上定義 CHECK 條件約束 若要取代預存程序 17

3-2-6 自訂函數 user-define function (cont.) 18

3-2-7 自訂資料型態 ( 二大類 ) 1. 使用別名使用者自訂類型 : ( 較簡易 ) 2. 使用 CLR 使用者自訂類型 : 在 SQL Server 針對 Microsot.NET Framework Common Language Runtime (CLR) 中所建的組件進行程式化後,SQL Server 2005 可讓您在此 SQL Server 內建立資料庫物件 資料庫物件可充分運用 CLR 所提供的豐富程式設計模型, 包括觸發程序 預存程序 函數 彙總函數和類型等 其他資料可參考線上叢書 19

使用別名使用者自訂類型 別名資料類型是以系統資料類型為基礎 別名資料類型的使用時機 : 當多個資料表必須在一個資料行中儲存相同的資料類型 這些資料行的資料類型 長度和 Null 屬性完全一樣時 例如 :postal_code 的別名資料類型可以根據 char 資料類型來建立 當您建立別名資料類型時, 必須提供下列參數 : 名稱 做為別名資料類型基礎的系統資料類型 Null 值屬性 ( 資料類型是否允許 Null 值 ) 20

使用別名使用者自訂類型 - 範例 21

22

補充篇 Null 值 NULL 是資料庫中的特殊值, 用來代表未知值的概念 NULL 與空白字元或 0 不同 空白實際上是有效的字元, 而 0 是有效的數字 NULL 只代表不知道數值究竟為何這樣的一個概念 NULL 也與零長度的字串不同 如果資料行定義中包含 NOT NULL 子句, 就無法插入包含 NULL 值的資料列 如果資料行定義中只包含 NULL 關鍵字, 就可以接受 NULL 值 23

資料完整性 : 補充篇 完整性 資料行的每筆資料有正確的資料值 必須屬於正確的資料類型 正確的值域內 參考完整性 : 正確地維護資料表之間的關係 資料表中的資料只應該指向另一個資料表中現有的資料列 ; 而不應該指向不存在的資料列 維護完整性的實作方法 : 1. 條件約束 constraint 2. 規則 rule 3. 預設值 default 4. DML 觸發程序, DML trigger 24

條件約束 (constraint) 條件約束是定義有關資料行中允許值的規則, 是強制完整性的標準機制 條件約束應優先於 DML 觸發程序 規則以及預設值 查詢最佳化工具也使用條件約束定義來建立高效能的查詢執行計劃 e.g. NOT NULL : 指定資料行不接受 NULL 值 CHECK 條件約束 : 限制資料行中可接受的值 UNIQUE 條件約束 : 資料行中數值的唯一性 FOREIGN KEY 條件約束 : 強制資料表之間的關係 25

條件約束 (constraint) 範例 26

規則 規則它會執行一些與 CHECK 條件約束一樣的功能 具有回溯相容性 (Backward Compatibility) 的功能 3-2-8 規則 rule CHECK 條件約束 在限制資料行的數值方面, 使用 CHECK 條件約束是優先 標準的方式 CHECK 條件約束也會比規則更加精確 只可以將一個規則套用到資料行 規則會建立成個別的物件, 須與資料行連結 未來 SQL 不再提供 rule, 使用 CHECK 條件約束代替 可以套用多個 CHECK 條件約束到資料行 CHECK 條件約束是指定為 CREATE TABLE 陳述式的一部份 27

3-2-9 預設值 default 新增資料時, 如果未指定資料行的值, 將由預設值指定資料行所用的值 預設值可以是求值結果為常數的任何值, 例如 : 常數 內建函數或數學運算式 若要套用預設值, 使用 DEFAULT 關鍵字來建立預設值定義 若資料行並不允許 Null 值, 並且沒有 DEFAULT 定義, 必須明確地替資料行指定值, 否則會傳回錯誤, 指出該資料行並不允許 Null 值 28

3-3 以 T-SQL 控制及了解資料庫 3-3-1 以 Transact-SQL 查詢資料 使用新增查詢功能 撰寫程式碼 分別按下及按鈕 剖析 : 檢查 SQL 語法是否有誤 執行 : 執行 SQL 語法 29

T-SQL 範例 TRY! 將 SELECT 改為 SELET >> 30

3-3-2 查看伺服器組態設定 執行 EXEC sp_configure sp_configure 是 SQL Server 系統提供的預存程序 顯示或變更目前伺服器的全域組態設定 31

sp_configure 資料行名稱 name minimum maximum config_value run_value 資料類型 nvarchar(35) int int int int 描述 組態選項的名稱 組態選項的最小值 組態選項的最大值 利用 sp_configure 來設定的組態選項值 (sys.configurations.value 中的值 ) 組態選項目前在執行中的值 (sys.configurations.value_in_use 中的值 ) 32