資料庫設計與教學 2015/09/30 John.

Slides:



Advertisements
Similar presentations
ACCESS 入門 主講人 : 黃國倫 日期 :2002/11/14. Outline  ACCESS介紹  資料分析方法  建立ACCESS資料庫  ACCESS查詢功能  建立表單  進階查詢-SQL.
Advertisements

正規化範例 第 1 、 2 階正規化. 正規化範例 ( 水果供應商 ) 編號姓名電話地址 郵遞區 號 品名價格 001 林國鐘 高雄市 100 頻果 100 香蕉 60 鳳梨 葉連芳 台北市 400 葡萄 60 頻果 郭明正
第 22 章 SQL Server與XML.
國立高雄海洋科技大學 電子郵件收信軟體設定說明
LINQ 建國科技大學 資管系 饒瑞佶.
課程名稱:資料庫系統 授課老師:李春雄 博士
JAVA vs. SQL Server 建國科技大學 資管系 饒瑞佶 2013/4 V1.
連結資料庫 ACCESS MSSQL.
Q101 在701 SDX Linux上的標準安裝與使用程序v2
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
JDK 安裝教學 (for Win7) Soochow University
2-3 基本數位邏輯處理※.
第八章 利用SELECT查詢資料.
資料庫管理 操作DBMS 指導教授:楊維邦  助教:廖皓翔.
第五章 關聯式資料庫的理論基礎.
彰化縣政府補助辦理網頁設計資料庫應用班 資料庫簡介 建國技術學院資管系 饒瑞佶.
SQL語法 定義與操作指令.
Working with Databases (II) 靜宜大學資管系 楊子青
資料庫操作.
HiNet 光世代非固定制 用戶端IPv6設定方式說明
SQL Stored Procedure SQL 預存程序.
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
CHT IPv6測試 D-Link Taiwan 友訊科技台灣分公司 TTSS 電信技術支援課 Name:
自由軟體介紹(一) 把flash通通帶回家 報告人:陳俊銘.
Windoop操作步驟 於作業系統Windows 10 專業版.
SQL語法.
連結資料庫管理系統.
資料庫管理(Access 2003) 第五章 利用查詢來 統計與分析資料 許欽嘉 老師.
資管所資料庫系統 -期末專案 立欣建材行進貨銷貨退貨系統
App Inventor2呼叫PHP存取MySQL
第二章 SPSS的使用 2.1 啟動SPSS系統 2.2 結束SPSS系統 2.3 資料分析之相關檔案 2.4 如何使用SPSS軟體.
2019/1/13 行動裝置如何使用東海大學SSLVPN.
資料庫程式設計 VB資料庫設計簡介 週次:6 建國科技大學 資管系 饒瑞佶.
Java 程式設計 講師:FrankLin.
DHCP for W2K.
電腦攻擊與防禦 使用電腦教室VMware軟體說明.
本院使用建教合作之輔仁大學 圖書館資料庫 設定方式說明
Pocket Access.
雲端計算.
第18章 SQL結構化查詢語言 18-1 SQL語言的基礎 18-2 SQL的查詢指令 18-3 SQL子查詢與合併查詢.
CS, ZJU 4/18/2019 Chapter 7 数据库.
資料來源 2 網路過濾軟體之安裝說明 資料來源 2.
PHP與MySQL 入門學習指南 凱文瑞克 著 第 22 章 SQL 介紹與建立MySQL資料庫.
3. SQL语言的应用 3.1 SQL历史和优点 3.2 数据查询 3.3 数据操纵.
WinPXE 無硬碟系統 6.0 安裝說明 憶傑科技股份有限公司
安裝 / 操作 flashget SOP (以Win 7 作業系統為範例)
GridView.
GridView操作 (II).
1 打开 SQL Server 2005 安装盘,单击 SPLASH.HTA 文件进行安装,安装界面如图所示。
如何使用Gene Ontology 網址:
CVPlayer下載及安裝& IVS操作說明
FTP使用教學 簡介: 軟體名稱:FileZilla 軟體性質:Freeware 版本: 繁體中文版
資料庫正規化與E-R Model 簡介 義守大學資管系 張心怡、陶幼慧
專題E組 選課教學輔助系統 指導教授:林娟娟 教授 組員: 許韶玲 詹博為 賴育潔
SQL語法教學 2015/10/15 John.
從HTML表格到CSS 靜宜大學 資管系 楊子青.
第 4 章 認識 SQL 語言與資料型別.
1. 查詢個人電腦版本 1.進入控制台 2.點選“所有控制台項目” 3.點選“系統”.
商品交易資料庫 顧客上網買商品 如何紀錄客戶資料? 如何紀錄商品資料? 如何紀錄交易資料? 如何處理交易後的所有『後處理』程序?
Cloud Operating System - Unit 03: 雲端平台建構實驗
電子化企業整合 E-Enterprise Integration 張捷中 (Acer) 2014/10/02
資料表示方法 資料儲存單位.
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
Cloud Training Material- 事件 Sherman Wang
連結資料庫 MYSQL.
多站台網路預約系統之 AJAX即時資料更新機制
SQLite資料庫 靜宜大學資管系 楊子青.
Chapter 4 Multi-Threads (多執行緒).
課程查詢─查詢網頁指引 1.請至【師大首頁】選擇學生.
CHT IPv6測試 D-Link Taiwan 友訊科技台灣分公司 TTSS 電信技術支援課 Name:
Presentation transcript:

資料庫設計與教學 2015/09/30 John

大綱 資料表關聯 資料庫正規化 SQL基本介紹 安裝與建立資料庫、資料表 國立清華大學 工業工程與工程管理學系

資料表關聯

資料庫結構 Data Row Data Table Data Table:表示記憶體中資料的一個資料表 國立清華大學 工業工程與工程管理學系

主索引(primary key) 必須為資料表內獨一無二的欄位,值不可重覆 身份證字號 姓名 性別 就讀學校 A1234567 Tina Female NTHU F1234567 Tom Male NCTU A1122334 Jane NTU 國立清華大學 工業工程與工程管理學系

系統分析-資料表關聯 設計資料表與資料表之間的關聯 關聯:即為存取資料時,可從資料表得知另一張資料表的相關內容 依數量上的基數(Cardinality)關係,分為3種: (1)一對一 (2)一對多 (3)多對多 國立清華大學 工業工程與工程管理學系

Example-學校 兩張資料表尚無關聯! 老師(教師代號,教師姓名,教師電話) 學生(學號,學生姓名,學生電話) 國立清華大學 工業工程與工程管理學系

一對一 科系(代號,名稱,位置,學生代表學號) 學生(學號,學生姓名,學生電話) 科系由多位學生組成,而各學生有自己的學號,學號也就是學生對應到自己系上專屬的代號,關係為一對一 國立清華大學 工業工程與工程管理學系

一對多 老師(教師代號,教師姓名,教師電話) 課程(課程代號,教師代號,課程名稱,上課教室,學分數) 在任何學期當中,每一位老師通常不只開設一門課程,可能同時開設多門學士班或碩士班的課程,關係為一對多 國立清華大學 工業工程與工程管理學系

多對多 學生(學號,學生姓名,學生電話) 課程(課程代號,學號,課程名稱,上課教室,學分數) 在任何學期當中,每一位學生通常不只修習一門課程,可能一次修多門課程;而每一門課程又由許多位學生修習,關係為多對多 國立清華大學 工業工程與工程管理學系

資料庫正規化

資料庫正規化(Normalization) 主要是對表格做分割的動作 沒有正規化會造成: 容易有資料重覆儲存的浪費情形 資料在做新增、刪除或修改動作時產生異常情形 國立清華大學 工業工程與工程管理學系

資料表範例 供應商編號 供應商名稱 聯絡人 區域 代號 產品 編號 名稱 單價 0001 松柏 陳雪芬 A01 基隆市 P01 奶茶 15 蘋果汁 12 0002 皎月 劉名山 B01 桃園縣 P03 汽水 0003 星空 沈芯鈺 C01 台北市 P04 綠茶 10 P05 黑咖啡 20 0004 皓雲 林郁芳 B02 新竹市 0005 秋楓 盧松浩 A02 台中市 國立清華大學 工業工程與工程管理學系

新增異常 新供應商『荷風』具有供應商的相關資料,唯獨缺少所提供的產品資料→產品欄位會是空值(null) 供應商編號 供應商名稱 聯絡人 區域 代號 產品 編號 名稱 單價 0001 松柏 陳雪芬 A01 基隆市 P01 奶茶 15 P02 蘋果汁 12 0002 皎月 劉名山 B01 桃園縣 P03 汽水 0003 星空 沈芯鈺 C01 台北市 P04 綠茶 10 P05 黑咖啡 20 0004 皓雲 林郁芳 B02 新竹市 0005 秋楓 盧松浩 A02 台中市 0006 荷風 許琦琦 null 國立清華大學 工業工程與工程管理學系

刪除異常 供應商『星空』不再提供『綠茶 』與『 黑咖啡』兩項產品→資料表將直接刪除『星空』的資料 供應商編號 供應商名稱 聯絡人 區域 代號 單價 0001 松柏 陳雪芬 A01 基隆市 P01 奶茶 15 P02 蘋果汁 12 0002 皎月 劉名山 B01 桃園縣 P03 汽水 0003 星空 沈芯鈺 C01 台北市 P04 綠茶 10 P05 黑咖啡 20 0004 皓雲 林郁芳 B02 新竹市 0005 秋楓 盧松浩 A02 台中市 國立清華大學 工業工程與工程管理學系

修改異常 修改供應商『松柏』的聯絡人為『陳雪芙』 全部欄位都必須修改→易出錯、耗費時間 供應商編號 供應商名稱 聯絡人 區域 代號 產品 單價 0001 松柏 陳雪芙 A01 基隆市 P01 奶茶 15 陳雪芬 P02 蘋果汁 12 0002 皎月 劉名山 B01 桃園縣 P03 汽水 0003 星空 沈芯鈺 C01 台北市 P04 綠茶 10 P05 黑咖啡 20 0004 皓雲 林郁芳 B02 新竹市 0005 秋楓 盧松浩 A02 台中市 國立清華大學 工業工程與工程管理學系

資料庫正規化(Normalization) 正規化的目的: 簡化單一資料表的資料量 加快資料庫存取速度 正規化類型:第一至第三正規化 正規化是在資料庫中組織資料的程序。其中包括建立資料表,以及在這些資料表之間根據規則建立關聯性, 這些規則的設計目的是:透過刪除重複性和不一致的相依性,保護資料並讓資料庫更有彈性。  重複的資料會浪費磁碟空間,並產生維護方面的問題。如果必須變更現有資料,並且該資料的位置超過一個以上,就必須在所有位置上以完全相同的方式進行變更。如果資料只儲存於 [客戶] 資料表中,而不儲存於資料庫中任何其他位置,變更客戶地址就會更容易執行。 國立清華大學 工業工程與工程管理學系

第一正規化 定義:資料表一個儲存格只能儲存一個值 去除『多值屬性』 客戶編號 統一編號 公司名稱 聯絡人 1 1234 First Tom John 2 5678 Second Mary Jane 國立清華大學 工業工程與工程管理學系

第一正規化結果 客戶編號 統一編號 公司名稱 聯絡人 1 1234 First John Tom 2 5678 Second Mary Jane 國立清華大學 工業工程與工程管理學系

第二正規化 定義:依據相依性,讓表單的非主key欄位『完全功能相依』所有主索引(primary key) 。 則違反第二正規化 當設計table時,有2個或2個以上的主索引(primary key) 要注意是否有違反第二正規化 如果違反,則分割table 如果主索引(primary key)只有1個欄位 則沒有第二正規化的問題 國立清華大學 工業工程與工程管理學系

第二正規化 相依性(一):{產品編號} → {產品名稱} 相依性(二):{供應商編號,產品編號} → {單價} 相依性(三):{供應商編號} → {供應商名稱,聯絡人,區域,區域代號} 因此主key必須設成{供應商編號,產品編號},但是會有 a non-key column is dependent on a component of the primary key 的問題 此table的主key=?? 主key=「供應商編號」或是主key=「產品編號」→皆會有重複值出現的問題 此table沒有2筆資料﹛供應商編號,產品編號﹜此兩欄位值都一樣,因此主key可設成複合key=﹛供應商編號,產品編號﹜→相依性(二) 相依性(一) →只要知道產品編號(不需知道供應商編號)就知道產品名稱→給定一「產品編號」可以找出唯一一個「產品名稱」 相依性(三) →有非主key的欄位只依賴部分的主key→違反”第二正規化” 國立清華大學 工業工程與工程管理學系

第二正規化結果 三個相依性,切割成三個『完全功能相依』 {產品編號} → {產品名稱} {供應商編號,產品編號} → {單價} {供應商編號} → {供應商名稱,聯絡人,區域,區域代號} 要讓原先設計的資料表單滿足第二正規化,避免non-key column is dependent on a component of the primary key的問題,要依據相依性,將原先設計的資料表單切割成新表單,讓表單的非主key欄位『完全功能相依』所有主key欄位。 國立清華大學 工業工程與工程管理學系

第三正規化 定義:已符合第一及第二正規化,所有欄位只與主索引(primary key)相依,使功能相依關係單純化 去除間接相依性與遞移相依性。 訂單(訂單編號,接單日期,下單公司) 客戶(下單公司,聯絡人,電話) 遞移性(Transitivity):若 A→B,且 B→C 則 A→C。 部份功能相依(Partial Functional Dependence):假設 X→Y,若 H 為 X 的部份屬性 (也就是 H 包含於 X 中) 使得 H→Y 稱之 Y 部份功能相依於 X;否則稱之 Y 完全功能相依於 X。 國立清華大學 工業工程與工程管理學系

第三正規化結果 訂單(訂單編號,接單日期,下單公司) 客戶(下單公司,聯絡人編號) 聯絡人(聯絡人編號,電話) 國立清華大學 工業工程與工程管理學系

SQL基本介紹

SQL介紹 SQL: Structured Query Language SQL 可以從資料庫中擷取、排序和篩選特定想要的資料。 一個用來查詢、更新和管理關聯式資料庫的語言。 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系統。 國立清華大學 工業工程與工程管理學系

點擊【新的安裝或將功能加入到現有安裝】 國立清華大學 工業工程與工程管理學系

全選後按下一步 國立清華大學 工業工程與工程管理學系

選具名執行個體SQL Express後按下一步 國立清華大學 工業工程與工程管理學系

點擊所有SQL服務都使用相同帳戶,並指定帳戶名稱為NT_AUTHORITY\SYSTEM 國立清華大學 工業工程與工程管理學系

驗證模式請選用混合模式,並輸入密碼。 國立清華大學 工業工程與工程管理學系

安裝好系統後要再做設定,讓Client程式能連線。 設定資料庫連線 安裝好系統後要再做設定,讓Client程式能連線。 由開始功能表→【所有程式】→【SQL Server 2008 R2】→【組態工具】→點選【SQL Server組態管理員】。  國立清華大學 工業工程與工程管理學系

在右方的【TCP/IP】的右鍵功能表裡選【內容】。 點擊【SQL Server網路組態】→【SQLEXPRESS的通訊協定】,將右方的【具名管道】與【TCP/IP】用右鍵功能表由【已停用】變更為【已啟用】。 在右方的【TCP/IP】的右鍵功能表裡選【內容】。  國立清華大學 工業工程與工程管理學系

點擊【IP位址】分頁,將最下方的【IPAll】→【TCP通訊埠】設定為1433後按確定。 國立清華大學 工業工程與工程管理學系

再點擊SQL Server服務,選右方第一個【SQL Server (SQLEXPRESS)】後,右上方的重新啟動,讓SQL Server重新啟動使剛才的修改生效。  國立清華大學 工業工程與工程管理學系

建立資料庫、資料表

SQL 建立資料庫 資料庫→右鍵→新增資料庫

輸入資料庫名稱→確定

選擇剛新增的資料庫底下的資料表→右鍵→新增資料表 SQL 建立資料表 選擇剛新增的資料庫底下的資料表→右鍵→新增資料表

輸入資料行名稱 (欄位)、類型、是否允許Null 若輸入為字串,資料類型一律可改為nvarchar(MAX),但主key該欄位請設為nvarchar(50) 輸入資料行名稱 (欄位)、類型、是否允許Null 國立清華大學 工業工程與工程管理學系

資料型態 數值資料 (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) 空值,沒有資料存在於欄位。通常在建立資料表時,你可以設定欄位是否允許空值: 布林值,就是真假值,True 與False,或是1 與0,1 代表True,0 代表False。 國立清華大學 工業工程與工程管理學系

資料表標籤欄位點選右鍵→儲存資料表 國立清華大學 工業工程與工程管理學系

輸入資料表名稱→確定,即建立資料表成功 國立清華大學 工業工程與工程管理學系

新增資料庫圖表 國立清華大學 工業工程與工程管理學系

國立清華大學 工業工程與工程管理學系

選擇需要的資料表→加入,即加入資料表成功 國立清華大學 工業工程與工程管理學系

國立清華大學 工業工程與工程管理學系

選取購物車明細資料表的書名欄位,按左鍵,拖曳至書本明細資料表的書名欄位。 國立清華大學 工業工程與工程管理學系

國立清華大學 工業工程與工程管理學系

國立清華大學 工業工程與工程管理學系

國立清華大學 工業工程與工程管理學系

國立清華大學 工業工程與工程管理學系

國立清華大學 工業工程與工程管理學系

國立清華大學 工業工程與工程管理學系

ER Model 國立清華大學 工業工程與工程管理學系

Q&A Time