第五章 資料庫暨資料表設計與建立.

Slides:



Advertisements
Similar presentations
FCU, Department of ECE, IC Design Research Lab. TEL: # 4945 Pre-SIm , Post-Sim.
Advertisements

1 生物計算期末作業 暨南大學資訊工程系 2003/05/13. 2 compare f1 f2  只比較兩個檔案 f1 與 f2 ,比完後將結果輸出。 compare directory  以兩兩比對的方式,比對一個目錄下所有檔案的相 似程度。  將相似度很高的檔案做成報表輸出,報表中至少要.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
布林代數的應用--- 全及項(最小項)和全或項(最大項)展開式
第七章 抽樣與抽樣分配 蒐集統計資料最常見的方式是抽查。這 牽涉到兩個問題: 抽出的樣本是否具有代表性?是否能反應出母體的特徵?
學習C++的基本語法 認識關鍵字與識別字的不同 學習程式碼偵錯的流程 學習如何提高程式的可讀性
:Word Morphing ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10508:word morphing 解題者:楊家豪 解題日期: 2006 年 5 月 21 日 題意: 第一行給你兩個正整數, 第一個代表下面會出現幾個字串,
“Rule” By OX. By Check CREATE TABLE 員工薪資 ( 編號 int IDENTITY PRIMARY KEY, 薪資 smallmoney, CHECK ( 薪資 > 0 AND 薪資
3Com Switch 4500 切VLAN教學.
如何將數字變成可用之資訊 現代化資料處理與應用概念. 如何將數字變成可用之資訊 人最容易接受的訊息是圖像化資訊。 在一堆數字中,要進行比較分析,一般會使用表格形 式計算與分析。 所以一般我們會將數字依關聯性, 轉換成表格計算與分析。 此表格一般稱試算表或稱表格。 再將結果轉換為圖表,進行比較與分析。
BY OX. 檢視表與資料表的差異性 查詢 (query) 檢視表 (View) 的紀錄,是經由查詢 (query) 而來,而檢 視表的資料來源可以是單一資料表或是多資料表,甚 至其他檢視表 但檢視表中的紀錄只存在資料表中.
1.1 線性方程式系統簡介 1.2 高斯消去法與高斯-喬登消去法 1.3 線性方程式系統的應用(-Skip-)
1 Web of Science 利用指引 單元二 瀏覽與處理查詢結果. 2 瀏覽檢索結果 查出的結果,預設以時間排列, 使用者可改變結果的排列方式: 還可以依被引用次數、相關度、 第一作者、刊名、出版年等排序 回到前先查的結果畫面 點選想看資料的完整書目 本館訂購範圍的期刊 全文,便可直接連結.
亂數產生器安全性評估 之統計測試 SEC HW7 姓名:翁玉芬 學號:
: OPENING DOORS ? 題組: Problem Set Archive with Online Judge 題號: 10606: OPENING DOORS 解題者:侯沛彣 解題日期: 2006 年 6 月 11 日 題意: - 某間學校有 N 個學生,每個學生都有自己的衣物櫃.
第一章 變數、常數及資料型態. 變數 C 程式語言的變數名稱 第一個字必須是英文字母或底線 (_) 之後可以是數字, 英文字母或底線 (_) 不可以是保留字 例: Num (Ο) _score (Ο) C&C (X) 8num (X)
消費者物價指數反映生活成本。當消費者物價指數上升時,一般家庭需要花費更多的金錢才能維持相同的生活水準。經濟學家用物價膨脹(inflation)來描述一般物價持續上升的現象,而物價膨脹率(inflation rate)為物價水準的變動百分比。
Last modified 2004/02 An Introduction to SQL (Structured Query Language )
1. 假設以下的敘述為一未提供 “ 捷徑計算 ” 能力的程式段,試用程 式設計的技巧,使此敘述經此改 寫的動作後,具有與 “ 捷徑計算 ” 之 處理方法相同之處理模式。 if and then E1 else E2 endif.
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Monte Carlo Simulation Part.2 Metropolis Algorithm Dept. Phys. Tunghai Univ. Numerical Methods C. T. Shih.
JAVA 程式設計與資料結構 第十章 GUI Introdution III. File Chooser  File Chooser 是一個選擇檔案的圖形介面, 無論我們是要存檔還是要開啟檔案,使 用這個物件都會讓我們覺得容易且舒適。
© The McGraw-Hill Companies, Inc., 2008 第 6 章 製造流程的選擇與設計.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
Chapter 13 塑模靜態觀點:物件圖 Static View : Object Diagram.
Introduction to Java Programming Lecture 17 Abstract Classes & Interfaces.
:Problem D: Bit-wise Sequence ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 10232: Problem D: Bit-wise Sequence 解題者:李濟宇 解題日期: 2006 年 4 月 16.
: The largest Clique ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11324: The largest Clique 解題者:李重儀 解題日期: 2008 年 11 月 24 日 題意: 簡單來說,給你一個 directed.
最新計算機概論 第 5 章 系統程式. 5-1 系統程式的類型 作業系統 (OS) : 介於電腦硬體與 應用軟體之間的 程式,除了提供 執行應用軟體的 環境,還負責分 配系統資源。
3-3 使用幾何繪圖工具 Flash 的幾何繪圖工具包括線段工具 (Line Tool) 、橢圓形工具 (Oval Tool) 、多邊星形 工具 (Rectangle Tool) 3 種。這些工具畫出 來的幾何圖形包括了筆畫線條和填色區域, 將它們適當地組合加上有技巧地變形與配 色, 不但比鉛筆工具簡單,
Chapter 20 塑模動態觀點:狀態圖 Statechart Diagram. 學習目標  說明狀態圖的目的  定義狀態圖的基本記號  展示狀態圖的建構  定義活動、內部事件及遞延事件的狀態 圖記號.
: Happy Number ★ ? 題組: Problem Set Archive with Online Judge 題號: 10591: Happy Number 解題者:陳瀅文 解題日期: 2006 年 6 月 6 日 題意:判斷一個正整數 N 是否為 Happy Number.
: Fast and Easy Data Compressor ★★☆☆☆ 題組: Problem Set Archive with Online Judge 題號: 10043: Fast and Easy Data Compressor 解題者:葉貫中 解題日期: 2007 年 3.
CH 15- 元件可靠度之驗證  驗證方法  指數模式之可靠度驗證  韋式模式之可靠度驗證  對數常態模式之可靠度驗證  失效數為零時之可靠度估算  各種失效模式之應用.
資料庫程式設計與系統管理 SQL Server 2005 Express 第六章 進階資料庫設計.
Fugacity Coefficient and Fugacity
: Multisets and Sequences ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 11023: Multisets and Sequences 解題者:葉貫中 解題日期: 2007 年 4 月 24 日 題意:在這個題目中,我們要定義.
1-6 動畫的文件屬性 舞台是動畫實際播放的畫面, 所以舞台的大 小與長寬比例對將來動畫的呈現有很大的 影響。 Flash 預設的舞台尺寸是 550 Pixels × 400 Pixels, 背景為白色, 如果要更改舞台大小與 背景色, 請執行『修改 / 文件』命令, 開啟文 件屬性 (Document.
:Nuts for nuts..Nuts for nuts.. ★★★★☆ 題組: Problem Set Archive with Online Judge 題號: 10944:Nuts for nuts.. 解題者:楊家豪 解題日期: 2006 年 2 月 題意: 給定兩個正整數 x,y.
從此處輸入帳號密碼登入到管理頁面. 點選進到檔案管理 點選「上傳檔案」上傳資料 點選瀏覽選擇電腦裡的檔案 可選擇公開或不公開 為平台上的資料夾 此處為檔案分類,可顯示在展示頁面上,若要參加 MY EG 競賽,做品一律上傳到 “ 98 MY EG Contest ” 點選此處確定上傳檔案.
資料結構實習-一 參數傳遞.
6-2 認識元件庫與內建元件庫 Flash 的元件庫分兩種, 一種是每個動畫專 屬的元件庫 (Library) ;另一種則是內建元 件庫 (Common Libraries), 兩者皆可透過 『視窗』功能表來開啟, 以下即為您說明。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2008.
公用品.  該物品的數量不會因一人的消費而受到 影響,它可以同時地被多人享用。 角色分配  兩位同學當我的助手,負責:  其餘各人是投資者,每人擁有 $100 , 可以投資在兩種資產上。  記錄  計算  協助同學討論.
Management Abstracts Retrieval System; MARS 檢索操作.
Section 4.2 Probability Models 機率模式. 由實驗看機率 實驗前先列出所有可能的實驗結果。 – 擲銅板:正面或反面。 – 擲骰子: 1~6 點。 – 擲骰子兩顆: (1,1),(1,2),(1,3),… 等 36 種。 決定每一個可能的實驗結果發生機率。 – 實驗後所有的實驗結果整理得到。
JAVA 程式設計與資料結構 第二十章 Searching. Sequential Searching Sequential Searching 是最簡單的一種搜尋法,此演 算法可應用在 Array 或是 Linked List 此等資料結構。 Sequential Searching 的 worst-case.
演算法 8-1 最大數及最小數找法 8-2 排序 8-3 二元搜尋法.
845: Gas Station Numbers ★★★ 題組: Problem Set Archive with Online Judge 題號: 845: Gas Station Numbers. 解題者:張維珊 解題日期: 2006 年 2 月 題意: 將輸入的數字,經過重新排列組合或旋轉數字,得到比原先的數字大,
Structural Equation Modeling Chapter 6 CFA 根據每個因素有多重指標,以減少 測量誤差並可建立問卷的構念效度 驗證性因素分析.
第 17 章 樣板 17-1 樣板的基礎 17-1 樣板的基礎 17-2 樣板函數 17-2 樣板函數 17-3 樣板類別 17-3 樣板類別 17-4 非型態參數的樣板類別 17-4 非型態參數的樣板類別 17-5 樣板類別的繼承 17-5 樣板類別的繼承 17-6 特化樣板與靜態成員 17-6 特化樣板與靜態成員.
Learning Method in Multilingual Speech Recognition Author : Hui Lin, Li Deng, Jasha Droppo Professor: 陳嘉平 Reporter: 許峰閤.
Chapter 10 m-way 搜尋樹與B-Tree
概念性產品企劃書 呂學儒 李政翰.
Probability Distribution 機率分配 汪群超 12/12. 目的:產生具均等分配的數值 (Data) ,並以 『直方圖』的功能計算出數值在不同範圍內出現 的頻率,及繪製數值的分配圖,以反應出該 機率分配的特性。
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2009.
連續隨機變數 連續變數:時間、分數、重量、……
Teacher : Ing-Jer Huang TA : Chien-Hung Chen 2015/6/30 Course Embedded Systems : Principles and Implementations Weekly Preview Question CH7.1~CH /12/26.
函式 Function 東海大學物理系‧資訊教育 施奇廷. 函式簡介 當程式越來越大、越複雜時,程式的維護、 除錯會變得更困難,此時必須引入函式來 簡化程式或將程式分段,將程式重複的部 分改寫為函式,將程式「模組化」 這種作法有下列優點:節省程式發展的時 間、邏輯容易瞭解、程式容易除錯、可分 工合作完成程式.
Visual C++重點複習.
1 Introduction to Java Programming Lecture 3 Mathematical Operators Spring 2008.
1 Introduction to Java Programming Lecture 2: Basics of Java Programming Spring 2010.
Microsoft Excel.
: Finding Paths in Grid ★★★★☆ 題組: Contest Archive with Online Judge 題號: 11486: Finding Paths in Grid 解題者:李重儀 解題日期: 2008 年 10 月 14 日 題意:給一個 7 個 column.
著作權所有 © 旗標出版股份有限公司 第 14 章 製作信封、標籤. 本章提要 製作單一信封 製作單一郵寄標籤.
幼兒行為觀察與記錄 第八章 事件取樣法.
CH 14-可靠度工程之數學基礎 探討重點 失效時間之機率分配 指數模式之可靠度工程.
第 1 章 PC 的基本構造. 本章提要 PC 系統簡介 80x86 系列 CPU 及其暫存器群 記憶體: Memory 80x86 的分節式記憶體管理 80x86 的 I/O 結構 學習組合語言的基本工具.
: How many 0's? ★★★☆☆ 題組: Problem Set Archive with Online Judge 題號: 11038: How many 0’s? 解題者:楊鵬宇 解題日期: 2007 年 5 月 15 日 題意:寫下題目給的 m 與 n(m
McGraw-Hill/Irwin © 2003 The McGraw-Hill Companies, Inc.,All Rights Reserved. 肆 資料分析與表達.
Presentation transcript:

第五章 資料庫暨資料表設計與建立

Chapter 5 Outline 5-1 資料庫正規化實例 5-2 資料庫正規化與SQL Server的運作效能 5-3 SQL Server 2005的系統資料型態 5-4 新建一資料庫 5-5 新建一資料表 5-6 變更資料表的結構 5-7 產生建立資料表的指令碼 5-8 刪除資料表 5-9 本章總結

5-1 正規化實例 做完3NF後的資料表,如右圖所示。日後如有加入相關的資料表或是欄位都需要檢查是否符合正規化原則

5-2 正規化與SQL Server的運作效能 資料庫正規化有助於排除資料存取的異常與存取效率的提昇,是將關聯式資料庫最佳化的核心。 良好的邏輯資料庫設計可替最佳的資料庫和應用程式效能奠定最好的基礎 。 正規化過的資料庫最大的特點是:「每一個資料表的欄位數量較少」(但是資料表的數量會相對地增加),而未經過正規化的資料庫可能會是一些欄位較多的大資料表。

5-2 正規化與SQL Server的運作效能 由於較大較少的資料表被分割成較小較多的資料表,所以可以建立更多的叢集索引以加速查詢。 因為每個資料表的欄位較少,所以每筆記錄的資料量都會較小,如此便可加速資料排序和索引的建立過程。 由於每個資料表上的索引較少,有助於資料變更時所付出的維護代價。 資料表中會出現較少的NULL值,因此重複性的資料也會變少進而提昇資料庫的存取效率。 在SQL Server中,合理的正規化會有提昇執行效能的功用。但是一旦正規化的程度提高,就會造成存取資料時其資料表連結鏈過長 (需要合併好幾個表格方能查出資料,這樣一來不但會造成存取資料變慢也會困擾應用程式的開發人員)。 因此,一般來說,除非正規化的結果會造成在查詢資料時必須透過四層以上的連結,否則都會儘可能進行資料庫正規化的動作。

5-3 SQL Server的系統資料型態 無論是在新建資料表的欄位設定、宣告區域變數或是參數設定時都需要宣告它們的資料型態,好的資料庫設計必須是使用正確的資料型態。 SQL Server 2005的系統資料型態若依照使用的用途來歸類,大致上可分為下列幾種資料型態: 精確數值型態 近似數值型態 日期與時間型態 字元字串型態 Unicode字元字串 二進位字串型態 其他資料型態

5-3 SQL Server的系統資料型態 精確數值型態(Numeric):可精確表示各種數字,依其使用位元組之大小而有範圍。 整數型態( Integers ) Bigint(8 bytes)、int(4 bytes)、smallint(2 bytes)、tinyint (1 byte) 十進制小數型態(Decimal) decimal[(precision[, scale])] 、numeric ,位元組大小與宣告的精確度有關 金錢型態(Monetary) Money(8 bytes) 、 smallmoney(4 bytes) 在精確數值資料型態中可以表示各種數字,包括:正數和負數、小數和分數以及整數,又可細分為整數型態、十進制小數型態以及金錢型態。 使用這些的數字是精準的,並不會受到電腦捨去小數點的位數而影響數值,例如:0.3以二進位紀錄為變成0.01001…,再轉成十進制0.299999 這樣一來就會與原先的0.3有一些誤差,但這樣的情況並不會發生在精確數值型態上。 ,decimal(l0,4)表示6位整數及4位小數

5-3 SQL Server的系統資料型態 近似數值型態(Approximate Numeric):該型態的數值資料可能會因為數值運算而會有些許的誤差,包含 float real 在SQL Server中real為float(24),儲存大小為4個位元組 ;而float準確度最高可宣告至float(53),儲存大小為8個位元組。

5-3 SQL Server的系統資料型態 日期與時間型態(Date And Time):用來儲存「日期-時間」的資料,包含 datetime:佔用8個位元組,精準度到1/300秒 smalldatetime :佔用4個位元組,精準度只有到分鐘 事實上SQL Server 2005在內部會將datetime資料類型的值儲存成兩個位元組的整數, 前面的位元組用來儲存在「基底日期」(1900年1月1日) 之前或之後的天數。 另外一個位元組用來儲存當日午夜時間之後的某種單位數字 (datetime與smalldatetime單位不同)

5-3 SQL Server的系統資料型態 字元字串型態(Character) 二位元資料型態(Binary Strings) 一般字元型態 char 、 varchar 、 varchar(max) Unicode的字元字串型態 nchar 、 nvarchar 、 n varchar(max) 二位元資料型態(Binary Strings) binary varbinary Varbinary(max) Char(n):儲存固定長度n的非unicode字元,最大的長度為8,000 字,所佔的儲存大小為n個位元組。 Varchar(n):儲存不固定長度的非Unicode資料,最大的長度亦為8,000 字,所佔的儲存大小為實際資料的大小。例如:char(20),儲存 “Hello”,佔用20bytes,如果使用varchar(20),則只佔用5bytes Varchar(max):儲存不固定長度的非Unicode資料,但最大可儲存2G個字 Nchar(n):儲存固定長度的unicode字元,最大的長度為4,000 字,所佔的儲存大小為2n個位元組。 Binary(n):儲存固定長度的二位元資料,最大長度為8,000 個位元組,所佔的儲存大小為n+4個位元組。

5-3 SQL Server的系統資料型態 其他特殊的資料型態(Special) timestamp:時間戳記,在同一資料庫中該戳記是唯一值,所佔的儲存大小為8個位元組,一個資料表只可以有一個timestamp的資料欄位。 uniqueidentifier:這是一個全域唯一識別的資料型態(Globally Unique Identifier /GUID) sql_variant :可儲存varchar(max)、nvarchar(max)、timestamp 以及 sql_variant以外的各種 SQL Server所支援的資料型態。 xml :儲存XML的文件或文字片段。 Timestamp:在同一系統中的不同資料庫可能會有相同之戳記,而uniqueidentifier在同一系統中是唯一值,就算在不同的資料庫也不會出現相同的值。

5-3 SQL Server的系統資料型態 資料型別轉換 在Transact-SQL中,資料型別轉換可能發生在兩個不同層級﹕ 將一個物件的資料轉移到「比較」或「結合」另一個物件的資料,此時可能要將資料從一個物件的資料型別轉換成其他物件的資料型別。 將Transact-SQL結果資料行、傳回碼或輸出參數移入程式變數時,必須將它從SQL Server資料型別轉換成變數的資料型別。

5-3 SQL Server的系統資料型態 SQL Server的資料型別轉換分為 使用者看不到的隱含轉換 SQL Server 會自動將資料轉換成另一種資料型別。如果將Int與float做運算,則會將int隱含地轉換成float。 使用CAST或CONVERT轉換函數 CAST與CONVERT函數會將數值(區域變數、資料行或別的運算式) 轉換成別的資料型別。 CAST ( expression AS data_type ) CONVERT ( data_type [ ( length ) ] , expression [ , style ] ) 例如:CAST ( $157.27 AS VARCHAR(10) )會將數值$157.27轉換成字元字串 ‘$157.27’ 。

5-4 新建一資料庫 1.建立資料庫時必須考慮該資料庫的名稱、擁有者(建立該資料庫的使用者)、大小,以及用來儲存該資料庫的檔案和檔案群組 2.進入SSMSE中,選欲建立資料庫的伺服器點選[資料庫]滑鼠右鍵彈出式選單的[新增資料庫]選項 只要輸入資料庫名稱,其餘都是使用預設值即可 在SQL Server 中資料庫,會依據儲存的資料自動長大,初始大小只是開始建立時的預留空間而已。

5-5 新建一資料表 1.在關聯式資料庫中資料表可說是靈魂所在,因為必須先要資料才能在做進一步的處理。 2.建立資料表之前必須先做資料庫的正規化以得到較佳的綱要,以便建立相關欄位與限制。 3.必須了解系統資料型態,欄位使用適當的型態可以提高運作的效率

5-5 新建一資料表(續) 1.在SSMSE中展開某一資料庫,接著點選[資料表]物件(右邊視窗的空白處亦可)滑鼠右鍵彈出式選單的[新增資料表]選項即可進入資料表設計畫面,如右圖所示。

5-5 新建一資料表(續) 2.請輸入欄位名稱,並選擇適當的資料型別。

5-5 新建一資料表(續) [資料行屬性]可以規劃其他更細項的設定,例如 允許Null:決定該資料欄位在輸入時是否允需沒有輸入 描述:顯示選定資料行的文字描述。 識別規格的(Is Identity)、識別值種子以及識別值增量:可設定該欄位的唯一性,使用欄位的唯一性時還需要設定[識別值種子](Identity Seed/初始值)及[識別值增量](Identity Increment/每次自動增加的量) 為 RowGuid:可設定該欄位的「全域唯一性」 (GUID) 計算資料行規格:可以輸入用於計算該資料行的公式。 勾選識別規格的(Is Identity)欄位可使系統為該欄位邊寫流水號,換句話說就是使用者可以不用輸入該欄位的值 計算資料行規格:可為欄位設定計算公式,例如商品小計=單價*數量*折扣

5-6 變更資料表的結構 建立資料表之後可能需要新增/刪除欄位,或是修改欄位的資料型態,此時可以在SSMSE中點選該資料表滑鼠右鍵彈出式選單中的[修改]選項即可。 修改資料表結構的使用方式與新增資料表相同

5-7產生建立資料表的指令碼 在SQL Server中除了使用SSMSE的方式可以建立資料庫物件(就是資料庫、資料表、預存程序、登入、資料庫使用者…etc)也可以使用SQL敘述(搭配系統預存程序來建立更方便)。 除了自行撰寫SQL敘述之外,SSMSE提供產生建立物件的SQL指令碼引擎。透過該工具可以輕鬆產生建立物件的指令碼加以備份。 有了指令碼就等於我們對這個資料表的結構做了備份,我們只要執行這個指令碼就可以輕易的再造出一個一模一樣的資料表 ,但是這並不包含資料表內的資料

5-7產生建立資料表的指令碼

5-8 刪除資料表 在資料庫中刪除物件通常稱之為DROP 刪除物件在SQL Server 中的方式都相同,只要點選該物件滑鼠右鍵彈出式選單的[刪除]選項就會進入刪除物件的畫面。 如果有其他物件相依於該物件,則可能無法刪除(例如資料表為檢視的基底資料表)或一併刪除相依物件(例如資料表的觸發程序)。

5-9 本章總結 正規化是資料庫設計與提昇資料庫整體效能的重要技巧,從第一正規化到第三正規化原則都該牢記 5-9 本章總結 正規化是資料庫設計與提昇資料庫整體效能的重要技巧,從第一正規化到第三正規化原則都該牢記 1NF:去除非單元值屬性 1NF→2NF:去除非鍵屬性的部份功能相依 2NF→3NF:去除非鍵屬性的遞移功能相依。 SQL Server 2005系統資料型態介紹。 資料表的新建、修改以及刪除的方法。 資料欄位建立的方法與所要注意的事項。 如何產生物件的指令碼。