2011年5月26日 星期四

停用外部索引鍵(FK)

 

--測試將停用外部索引鍵,並建立一個在父資料表未有的 RT_UID 資料
ALTER TABLE DBO.MY_CHILD_TABLE NOCHECK CONSTRAINT FK_MY_CHILD_TABLE_MY_ROOT_TABLE

SQL - 停用外部索引鍵(FK) @ 張小呆的碎碎唸 :: 隨意窩 Xuite日誌

資料庫索引-叢集索引

 

根據叢集索引鍵的順序來排序和儲存資料表或檢視的資料列。叢集索引將實作成 B 型樹狀索引結構,以根據它們的叢集索引鍵值快速地擷取資料列。

資料庫索引的重要性 - 博客文库 - 博客园

2011年5月17日 星期二

交易式複寫效能的調整與最佳化

 

交易式複寫是 Microsoft® SQL Server™ 2000 所提供的一種複寫類型,可用來在分散式環境中的伺服器之間以增量的方式傳播資料修改。

交易式複寫可用於許多不同的應用模式,從報告伺服器和資料倉儲環境,到 Web 伺服器和電子商務應用程式,都在應用的範圍內。在網際網路上,有許多執行 SQL Server 的重要網站都是使用交易式複寫,包括 MSN.com、Passport.com、BarnesandNoble.com 和 Buy.com。

交易式複寫是既可調整又可靠的方案,可在高效能的環境中散發資料。本文會檢視交易式複寫中的效能,並示範幾種可改進應用程式效能的方式。本文是以使用不同硬體組態和複寫環境所做的測試結果作為基礎,並根據測試結果提供幾方面的建議,例如套用初始快照集、最佳化複寫設定和複寫延展性 (Scalability)。

交易式複寫效能的調整與最佳化

2011年5月1日 星期日

SQL Server 完整備份、差異備份、交易記錄備份

 

完整備份

  • 同時會備份 資料檔 ( *.mdf ) 與 交易記錄檔 ( *.ldf )
  • 要做任何差異備份交易記錄備份之前,一定要做一次完整備份

差異備份

  • 只會備份 資料檔 ( *.mdf ),但僅有最近一次完整備份備份當下這段時間所異動的資料
  • 差異備份不會備份任何交易記錄檔備份的內容只會拿目前資料檔最近一次完整備份的資料內容做差異比對

交易記錄檔備份

  • 只會備份 交易記錄檔 ( *.ldf )
  • 若透過 SSMS 操作,在預設的情況下會自動截斷交易記錄
  • 交易記錄備份紀錄序號 (LSN) 是從資料庫建立開始就一直連貫的

The Will Will Web | 觀念釐清:SQL Server 完整備份、差異備份、交易記錄備份

資料庫的正規化 - 功能相依

 

:「一般能當主鍵值的屬性,它應該要有一個特色,那就是它可以唯一決定所有其他的屬性,換句話說,所有其他的屬性就會功能相依於主鍵了。」

第七章、資料庫的正規化

串聯式參考完整性的條件約束

 

ON DELETE CASCADE

指定若有人嘗試刪除包含了索引鍵的資料列,而該索引鍵又被其他資料表的現有資料列中的外部索引鍵所參考時,包含這些外部索引鍵的所有資料列也會被刪除

串聯式參考完整性的條件約束

SQL 笛卡兒乘積

 

交叉連接為兩個資料表間的乘積 (Cartesian product),兩個資料表在結合時,不指定任何條件,即將兩個資料表中所有的可能排列組合出來,以下例而言 CROSS JOIN 出來的結果資料列數為 3×5=15 筆,因此,當有WHERE、ON、USING條件時不建議使用。

CROSS JOIN 語法 (SQL CROSS JOIN Syntax)

SELECT table_column1, table_column2···
FROM table_name1
CROSS JOIN table_name2;
SELECT table_column1, table_column2···
FROM table_name1, table_name2;

SQL 教學 » CROSS JOIN - SQL Tutorial

SQL 子查詢

 

子查詢的語法如下:

SELECT "欄位1"
FROM "表格"
WHERE "欄位2" [比較運算素]
(SELECT "欄位1"
FROM "表格"
WHERE [條件])

SQL 子查詢

資料正規化

 

何謂正規

 將表格細分成多個更小的表格,直到每個表格只描述一種事實為止,這一連串的調整過程就稱為資料正規(Normalization)。

資料正規化

char 和 varchar (Transact-SQL)

 

char [ ( n ) ]

這些是長度為 n 位元組的固定長度非 Unicode 字元資料。n 必須是 1 到 8,000 的值。儲存體大小是 n 位元組。char 的 ISO 同義字是 character。

varchar [ ( n | max ) ]

可變長度,非 Unicode 字元資料。n 可以是 1 到 8,000 的值。max 表示最大儲存體大小是 2^31-1 位元組。儲存體大小是輸入資料的實際長度再加上 2 位元組。輸入的資料長度可以是 0 字元。varchar 的 ISO 同義字是 char varying 或 character varying。

char 和 varchar (Transact-SQL)

CREATE USER

 

A. 建立資料庫使用者

下列範例會先建立一個具有密碼且名叫 AbolrousHazem 的伺服器登入,然後在 AdventureWorks2008R2 建立一個對應的資料庫使用者 AbolrousHazem。

複製

CREATE LOGIN AbolrousHazem 
WITH PASSWORD = '340$Uuxwp7Mcxo7Khy';
USE AdventureWorks2008R2;
CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem;
GO

CREATE USER (Transact-SQL)

SQL DROP VIEW Statement

 

What is the SQL DROP VIEW Statement?

The SQL DROP VIEW statement is the SQL command that removes an entire SQL view.

SQL DROP VIEW Statement