430 likes | 577 Views
資料庫設計與教學. 2013/10/22. 大綱. 資料表關聯 資料庫正規化 SQL 基本介紹 安裝與建立資料庫、資料表. 資料庫結構. Data Row Data Table. 主索引 (primary key). 必須為資料表內獨一無二的欄位 , 值不可重覆. 系統分析 - 資料表關聯. 設計資料表與資料表之間的關聯 關聯 即為存取資料時可從資料表可得知另一張資料表的相關內容 1. 一對一 2. 一對多 3. 多對多. Example- 學校. 老師 ( 教師代號 , 教師姓名 , 教師電話 ) 學生 ( 學號 , 學生姓名 , 學生電話 ).
E N D
資料庫設計與教學 2013/10/22
大綱 • 資料表關聯 • 資料庫正規化 • SQL基本介紹 • 安裝與建立資料庫、資料表 國立清華大學 工業工程與工程管理學系
資料庫結構 • Data Row • Data Table 國立清華大學 工業工程與工程管理學系
主索引(primary key) • 必須為資料表內獨一無二的欄位,值不可重覆 國立清華大學 工業工程與工程管理學系
系統分析-資料表關聯 • 設計資料表與資料表之間的關聯 • 關聯即為存取資料時可從資料表可得知另一張資料表的相關內容 1.一對一 2.一對多 3.多對多 國立清華大學 工業工程與工程管理學系
Example-學校 • 老師(教師代號,教師姓名,教師電話) • 學生(學號,學生姓名,學生電話) 兩張資料表尚無關聯! 國立清華大學 工業工程與工程管理學系
一對一 • 科系(代號,名稱,位置,學生代表學號) • 學生(學號,學生姓名,學生電話) 國立清華大學 工業工程與工程管理學系
一對多 • 老師(教師代號,教師姓名,教師電話) • 課程(課程代號,學號,課程名稱,上課教室,學分數) 國立清華大學 工業工程與工程管理學系
多對多 • 學生(學號,學生姓名,學生電話) • 課程(課程代號,學號,課程名稱,上課教室,學分數) 國立清華大學 工業工程與工程管理學系
資料庫正規化(Normalization) • 簡化單一資料表的資料量 • 加快資料庫存取速度 • 正規化類型:第一至第三正規化 國立清華大學 工業工程與工程管理學系
第一正規化 • 定義:資料表一個儲存格只能儲存一個值 國立清華大學 工業工程與工程管理學系
第一正規化結果 國立清華大學 工業工程與工程管理學系
第二正規化 • 相依性(一):{產品編號} → {產品名稱} • 相依性(二):{供應商編號,產品編號} → {單價} • 相依性(三):{供應商編號} → {供應商名稱,聯絡人,區域,區域代號} • 因此主key必須設成{供應商編號,產品編號},但是會有 a non-key column is dependent on a component of the primary key 的問題 國立清華大學 工業工程與工程管理學系
第二正規化結果 • 三個相依性,切割成三個『完全功能相依』 • {產品編號} → {產品名稱} • {供應商編號,產品編號} → {單價} • {供應商編號} → {供應商名稱,聯絡人,區域,區域代號} 國立清華大學 工業工程與工程管理學系
第三正規化 • 定義:已符合第一及第二正規化,所有欄位只與主鍵相依,使功能相依關係單純化. • 訂單(訂單編號,接單日期,下單公司) • 客戶(下單公司,聯絡人,電話) 國立清華大學 工業工程與工程管理學系
第三正規化結果 • 訂單(訂單編號,接單日期,下單公司) • 客戶(下單公司,聯絡人編號) • 聯絡人(聯絡人編號,電話) 國立清華大學 工業工程與工程管理學系
SQL介紹 • SQL: Structured Query Language 一個用來查詢、更新和管理關聯式資料庫的語言。 • SQL 可以從資料庫中擷取、排序和篩選特定想要的資料。 • 您可以使用 SQL 的 SELECT 陳述式在任何資料表名稱、查詢名稱、或欄位名稱可以被接受的地方 • 現今市面上所有關聯性資料庫軟體幾乎都支援SQL。(Microsoft Visual Basic / Microsoft Access Jet database engine) 國立清華大學 工業工程與工程管理學系
SQL 語言包含四個部分 • 資料定義語言 (DDL-Data Definition Language) • 資料操縱語言 (DML-Data Manipulation Language) • 資料查詢語言 (DQL-Data Query Language) • 資料控制語言 (DCL-Data Control Language) 國立清華大學 工業工程與工程管理學系
安裝資料庫 • 安裝網址:SQL Server with Tools • 注意:在Windows XP上必須先安裝下列軟體後才能安裝SQL Server 2008 R2: • 步驟 1:下載並安裝 Microsoft .Net Framework 3.5 SP1 • 步驟 2:下載並安裝 Windows Installer 4.5 • 步驟 3:下載並安裝 Windows PowerShell 1.0 • 以上元件都安裝完成後,再來安裝Express系統。 國立清華大學 工業工程與工程管理學系
點擊【新的安裝或將功能加入到現有安裝】 國立清華大學 工業工程與工程管理學系
全選後按下一步 國立清華大學 工業工程與工程管理學系
選具名執行個體SQLExpress後按下一步 國立清華大學 工業工程與工程管理學系
點擊所有SQL服務都使用相同帳戶,並指定帳戶名稱為NT_AUTHORITY\SYSTEM 點擊所有SQL服務都使用相同帳戶,並指定帳戶名稱為NT_AUTHORITY\SYSTEM 國立清華大學 工業工程與工程管理學系
驗證模式請選用混合模式,並輸入密碼。 國立清華大學 工業工程與工程管理學系
設定資料庫連線 • 安裝好系統後要再做設定,讓Client程式能連線。 • 由開始功能表→【所有程式】→【SQL Server 2008 R2】→【組態工具】→點選【SQL Server組態管理員】。 國立清華大學 工業工程與工程管理學系
點擊【SQL Server網路組態】→【SQLEXPRESS的通訊協定】,將右方的【具名管道】與【TCP/IP】用右鍵功能表由【已停用】變更為【已啟用】。 • 在右方的【TCP/IP】的右鍵功能表裡選【內容】。 國立清華大學 工業工程與工程管理學系
點擊【IP位址】分頁,將最下方的【IPAll】→【TCP通訊埠】設定為1433後按確定。 點擊【IP位址】分頁,將最下方的【IPAll】→【TCP通訊埠】設定為1433後按確定。 國立清華大學 工業工程與工程管理學系
再點擊SQL Server服務,選右方第一個【SQL Server (SQLEXPRESS)】後,右上方的重新啟動,讓SQL Server重新啟動使剛才的修改生效。 國立清華大學 工業工程與工程管理學系
SQL 建立資料庫 資料庫→右鍵→新增資料庫
SQL 建立資料表 選擇剛新增的資料庫底下的資料表→右鍵→新增資料表
資料型態 • 數值資料 (Numeric Data) SQL 的數值型態有 integer, float, money等,使用數值資料有一個好處就是你能搭配內建的數值函數來做資料處理,例如 SUM() 函數即可直接獲得該數值欄位的總合 • 字串(元)資料 (Character & Strings Data) 儲存字元或符號之資料型別。 • 日期/時間資料 (Date Data) 用來記錄日期/時間的資料型別,有 date, time, timestamp等。 國立清華大學 工業工程與工程管理學系
布林值 (Boolean Data) true/false, Yes/No, 1/0。 • 空值 (NULL Data) 空值,沒有資料存在於欄位。通常在建立資料表時,你可以設定欄位是否允許空值: 國立清華大學 工業工程與工程管理學系
還原資料庫 • 新增完資料庫後 國立清華大學 工業工程與工程管理學系
ERModel 國立清華大學 工業工程與工程管理學系
homework • 請將期中project中的object model 建表到資料庫當中,並切拉出他的關聯性,並截圖。 • 1. In your midterm exam, you have defined an ER model (object model) for your E-Commerce catalog database. In this homework assignment, use your ER model design to setup all needed database tables. • 2. Enter sample data to your tables to simulate your catalog content. • 3. Turn in your assignment next week. 國立清華大學 工業工程與工程管理學系