Introduction to Database

Slides:



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

第四週課程 1 (10/10~10/16) 如何建立資料. 原始資料範例 a1~a5 表示選擇題,輸入原始答案,如 A 、B、C、D b1~b5 表示填充題, c1~c5 表示計算題,輸入得分.
樞紐分析與資料庫 蕭世斌 Nov 20, 2010.
10-1 資料庫管理系統簡介 10-2 關聯式資料模式和查詢語言 10-3 Access簡介 10-4 XML簡介
Excel –格式設定 資訊教育.
第 13 章 建立資料表的關聯 著作權所有 © 旗標出版股份有限公司.
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
DreamWeaver MX (II) 林偉川.
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
LINQ 建國科技大學 資管系 饒瑞佶.
課程名稱:資料庫系統 授課老師:李春雄 博士
9/28號專題報告 Web網頁遊戲 曾建瑋.
連結資料庫 ACCESS MSSQL.
Q101 在701 SDX Linux上的標準安裝與使用程序v2
JDK 安裝教學 (for Win7) Soochow University
第八章 利用SELECT查詢資料.
資料庫管理 操作DBMS 指導教授:楊維邦  助教:廖皓翔.
第五章 關聯式資料庫的理論基礎.
SQL語法 定義與操作指令.
資料庫操作.
應用軟體 本節重點: 應用軟體簡介 Word Excel PowerPoint 資料庫Acess.
Endnote書目資料匯入 -西文資料庫.
SQL Stored Procedure SQL 預存程序.
安裝JDK 安裝Eclipse Eclipse 中文化
自由軟體介紹(一) 把flash通通帶回家 報告人:陳俊銘.
Word與PowerPoint的結合 建功國小 陳旻杰 健行國小 張慧如.
SQL語法.
連結資料庫管理系統.
App Inventor2呼叫PHP存取MySQL
第二章 SPSS的使用 2.1 啟動SPSS系統 2.2 結束SPSS系統 2.3 資料分析之相關檔案 2.4 如何使用SPSS軟體.
Java 程式設計 講師:FrankLin.
私立南山高中 信息組 電腦研習 電腦資料的備份 中華民國 99年4月20日 星期二.
SuperGIS 2.0 基本架構介紹.
TB-054A  周天穎 編著 儒林圖書公司 發行.
Pocket Access.
第一章 Excel 2007介紹 Microsoft Excel 是一套電子試算表軟體, 提供 豐富的函數及圖表製作 工作表製作功能
如何使用片庫系統.
SuperGIS DataManager的使用
安裝 / 操作 flashget SOP (以Win 7 作業系統為範例)
期末考.
挑戰C++程式語言 ──第8章 進一步談字元與字串
個人網路空間 資訊教育.
GridView操作 (II).
CVPlayer下載及安裝& IVS操作說明
網路科技在商店經營管理之應用 第十章 osCommerce客戶與訂單 Ting-Yi Chang (張庭毅)
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
FTP使用教學 簡介: 軟體名稱:FileZilla 軟體性質:Freeware 版本: 繁體中文版
Ogive plot example 說明者:吳東陽 2003/10/10.
DRC with Calibre 課程名稱:VLSI 報告人:黃家洋 日期: 改版(蔡秉均) 1.
MicroSim pspice.
挑戰C++程式語言 ──第7章 輸入與輸出.
MiRanda Java Interface v1.0的使用方法
第 4 章 認識 SQL 語言與資料型別.
Chapter 15 檔案存取 LabVIEW中的檔案存取函數也可將程式中的資料儲存成Excel或Word檔。只要將欲存取的檔案路徑位址透過LabVIEW中的路徑元件告訴檔案存取函數後,LabVIEW便可將資料存成Excel或Word檔;當然也可以將Excel或Word檔的資料讀入LabVIEW的程式中。
學生English Central 手機版.
Access 2003 練習與作業
商品交易資料庫 顧客上網買商品 如何紀錄客戶資料? 如何紀錄商品資料? 如何紀錄交易資料? 如何處理交易後的所有『後處理』程序?
Brief Guide of FrontPage
國立台灣大學 關懷弱勢族群電腦課程 By 資訊工程 黃振修
資料表示方法 資料儲存單位.
資料庫系統_答案 Database System Week3
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
Cloud Training Material- 事件 Sherman Wang
電子郵件簡報.
連結資料庫 MYSQL.
單元三:敘述統計 內容: * 統計量的計算 * 直方圖的繪製.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
SQLite資料庫 靜宜大學資管系 楊子青.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
InputStreamReader Console Scanner
Presentation transcript:

Introduction to Database

但是資料庫不只是單純儲存在那裡, 還需要能夠不時地汰舊換新, 且能提供使用者有用的資訊 何謂資料庫 資料庫就是用來儲存一堆資料 日常生活中處處可見資料庫的存在 銀行記錄客戶存款與提款金額 航空公司管理班機航次和定位資料 學校記錄學籍和選課成績 但是資料庫不只是單純儲存在那裡, 還需要能夠不時地汰舊換新, 且能提供使用者有用的資訊 需要資料庫管理系統來幫忙維護資料庫

資料庫與資料庫管理系統的關係 使用者介面 用來管理, 分析, 查詢 儲存資料的地方 資料庫 資料庫管理系統

資料庫管理系統簡介 建立資料庫系統的方法 利用程式語言 利用專門的資料庫軟體 資料難以存取 造成資料的重複與不一致性 安全控管的困難 Access, MySQL

Access簡介 為美國微軟公司所發展的資料庫軟體,是廣受歡迎的Office系列中之一員 啟動Access的方法,就如同啟動Word一樣,透過【開始】功能表,進入到【程式集】選項,即可點選【Microsoft Access】將Access啟動。 啟動之後的畫面類似Office其他軟體,Access的功能表如下圖:

資料庫管理者 具有專門技術且瞭解整個系統的人 職責包含下列幾項: 決定哪些資料包含在資料庫內,且設定資料彼此之間的關聯 設計資料存放在硬碟裡面的架構 建立使用者帳號 執行安全的控管 週期性的資料維護,譬如:將資料備份、確定硬碟空間是否足夠、監控系統的效能並作適當的調整等等

以資料庫的儲存架構來看, 資料庫又可以分為多種類型 關聯式資料庫 以資料庫的儲存架構來看, 資料庫又可以分為多種類型 關聯式, 階層式, 網狀式, 以及物件導向式等 最常見的是關聯式資料庫 關聯式資料庫是以2維矩陣來儲存資料, 而儲存在行,列裡的資料必會有所關聯 姓名 地址 電話 小明 台北市敦化南路 02-2222 小華 台中市精誠路 04-1111 小小 新竹市光復路 03-5555 一筆資料 欄位

通常一張資料表都會盡量精簡, 避免資料的重複性, 以防資料被修改後的不一致性 關聯式資料庫 資料表和資料表也常有關連存在 通常一張資料表都會盡量精簡, 避免資料的重複性, 以防資料被修改後的不一致性 我們可透過資料表間的關聯性, 找到更多資訊 客戶資料表 訂單資料表 客戶 編號 姓名 地址 電話 1 小明 台北市敦化南路 02-2222 2 小華 台中市精誠路 04-1111 3 小小 新竹市光復路 03-5555 訂單 序號 日期 客戶 編號 是否付款 1 11/23 3 否 2 11/24 是

資料定義語言 定義一筆資料裡有哪些欄位, 每個欄位的資料型態, 簡稱DDL 範例:學生表格定義

資料型態 文字:資料為字串,最長可包含255個字元 數字:資料為可計算之數值,可根據資料值的範圍或是否允許小數點,選擇「整數」、「長整數」、「單精準度」或「雙精準度」等 日期/時間:其中包含年、月、日、時、分、秒 自動編號:自動插入的唯一順序值,有時具有主鍵的功能 是/否:只能在二種值中選一,譬如「是/否 」、「真/假」 或「開/關」

一般欄位限制 (cont) 格式: 資料顯示在螢幕上與列印出來的方式,若設定格式為「百分比」,則欄位值「0.6」會顯示為「60%」。 輸入遮罩: 遮罩是用來提醒或控制資料輸入的樣子,設定輸入遮罩時是以分號隔出以下三個區段: 第一區段:遮罩本身 第二區段:「0」表示顯示在螢幕上(非使用者輸入)的符號也會被儲存在資料庫中;否則使用「1」。 第三區段:提醒使用者輸入的定位字元。 譬如,「電話號碼」欄位的輸入遮罩可設定為 「\(999\) 0000\-0000;0;#」

一般欄位限制 (cont) 預設值: 使用者若未輸入任何值,則系統會為該欄位自動補上此值。譬如,將「性別」欄位預設值設定為「F」 驗證規則: 利用函數或算數運算子來寫出限制輸入值的式子。譬如,我們可利用「like」函數,設定「電子郵件」欄位的驗證規則為「like “*@*”」 驗證文字: 這裡是設定違反驗證規則時的提醒文字 必須有資料: 若填「是」的話,則使用者一定要在第一次輸入某筆資料列時,就提供該欄位的資料

一般欄位限制 允許零長度字串: 針對資料型態為「文字」或「備忘錄」的欄位,如果允許空字串,才可設定為「是」 索引: 索引是一種可加快搜尋資料的結構,指定「是」則Access會幫此欄位建立索引,不過根據欄位值在表格中的特性,還必須再指定為「可重複」或「不可重複」。

建立資料庫 進入Access之後,在出現的視窗中按一下【Access空白資料庫】指令 再按【確定】,出現【開新資料庫】對話方塊 選取目錄以指定【儲存位置】 輸入資料庫檔案名稱(副檔名為mdb) 建立一個「學校」資料庫,檔名是「School.mdb」,檔案存放在「C」槽的「database」目錄 ,畫面如右:

資料庫視窗 左邊的窗格:為物件按鈕,如【資料表】【查詢】等 右邊的窗格,對應於此物件的命令或資訊

資料表功能表 開啟:將一個已經建立好的資料表打開,會顯示這個資料表內的所有資料列 設計:修改一個既有資料表的欄位格式及限制 新增:新增一個資料表 刪除:刪除一個既有的資料表 大圖示、小圖示、清單、詳細資料:指定資料表在資料庫視窗右邊窗格的顯示方式,如同檔案管理員所提供的功能

建立資料表的不同方法 資料工作表檢視:等同於選取資料庫視窗中的【藉由輸入資料建立資料表】 設計檢視:等同於選取資料庫視窗中的【使用設計檢視建立資料表】 資料表精靈:等同於選取資料庫視窗中的【使用精靈建立資料表】,也就是利用Access提供的內建範例資料再加以修改 匯入資料表:將外部資料轉入 連結資料表:連結外部資料

設計檢視步驟 設計個別欄位 欄位名稱、資料類型、一般限制 設計主鍵限制(設計檢視畫面如下:)

資料工作表檢視 確定完欄位個數與名稱後,可直接輸入資料列 完成後,按一下視窗右上角的【x】,並鍵入表格的名稱「Student」

使用主鍵(primary key)和外來鍵(foreigner key)來建立資料表間的關聯性 建立資料表間的關聯性 (cont) 使用主鍵(primary key)和外來鍵(foreigner key)來建立資料表間的關聯性 主鍵(primary key): 找到表格裡某個欄位的值是獨一無二, 不會有重複的情況發生 可想成是資料的身分證號碼 可由多個欄位組成, 只要是獨一無二即可 當有很多欄位可以成為主鍵,選擇一個合理且比較通用 客戶 編號 姓名 地址 電話 1 小明 台北市敦化南路 02-2222 2 小華 台中市精誠路 04-1111 3 小小 新竹市光復路 03-5555 主鍵

外來鍵(foreigner key): 用來連結某一個表格上和另一個表格之間的關係 外來鍵通常是另一個表格的主鍵 建立資料表間的關聯性 外來鍵(foreigner key): 用來連結某一個表格上和另一個表格之間的關係 外來鍵通常是另一個表格的主鍵 客戶資料表 訂單資料表 客戶 編號 姓名 地址 電話 1 小明 台北市敦化南路 02-2222 2 小華 台中市精誠路 04-1111 3 小小 新竹市光復路 03-5555 訂單 序號 日期 客戶 編號 是否付款 1 11/23 3 否 2 11/24 是 訂單資料表的主鍵 外來鍵, 可和客戶資料表建立連結 客戶資料表的主鍵

定義範例

設定主鍵(Primary key) 進入設計檢視的畫面,選取(反白)主鍵屬性 按滑鼠右鍵,選取「主索引」(如下圖),設定之後屬性的前面會出現鑰匙般的小符號

設定外來鍵(foreigner key) 開啟[工具]→[資料庫關聯圖] 在【顯示資料表】視窗內選取欲處理的表格 下圖圈選取了學生表格和成績表格

設定表格欄位間的關聯 利用滑鼠指標,從學生表格的學號欄位拖曳到成績表格的學號欄位,此時出現編輯關聯的視窗,如下圖:

設定表格欄位間的關聯 (cont) 設定強迫參考完整性:設定之後就代表定義了外來鍵。此項設定,會強制要求建立成績表格的學號時,該值必須已經存在於學生表格裡。 重疊顯示更新相關欄位:若是選取此項,則當更改學生表格的學號欄位時,會連帶更新成績表格的對應學號值,在這裡我們不選取。 重疊顯示刪除相關記錄:若是選取此項,則刪除學生表格的某筆紀錄時,會把成績表格中,所有學號相同的資料列連帶刪除,在這裡我們不選取。

設定表格欄位間的關聯

SQL 使用者欲查詢資料, 通常會給一些條件的限制 SQL是用來描述使用者的查詢, 而關聯式資料庫都支援SQL 由三個部分所構成 SELECT:想要列出來的欄位 FROM:欲查詢的資料表 WHERE:條件的限制 查詢句1:輸出名字為小明的客戶地址與電話 輸出結果 SELECT 地址, 電話 FROM 客戶資料表 WHERE 姓名=“小明” 台北市敦化南路 02-2222

條件限制 利用算數運算子:如「>」、「<」等 使用邏輯運算子:如「and」、「or」、「not」 查詢句2:列出所有編號小於3的客戶的姓名和地址 使用邏輯運算子:如「and」、「or」、「not」 查詢句3:針對客戶編號小於3的客戶, 查出住在台北市敦化南路的客戶, 並列出姓名和電話 SELECT 姓名, 電話 FROM 客戶資料表 WHERE 客戶編號<3 SELECT 姓名, 電話 FROM 客戶資料表 WHERE 客戶編號<2 and 地址=‘台北市敦化南路’

條件限制(續) 查詢句2的輸出結果 查詢句3的輸出結果 小明 02-2222 小華 04-1111 小明 02-2222

常見的錯誤:直接把所要的關聯寫在FROM子句裡,而不加以限制 錯誤範例: 參考多個關聯 當所需要的資料表示在不同資料表裡 常見的錯誤:直接把所要的關聯寫在FROM子句裡,而不加以限制 錯誤範例: 錯誤結果:產生所有可能的組合,包含許多不合理或無意義的資料列 (見下頁) SELECT * FROM 訂單資料表, 客戶資料表

錯誤結果 訂單序號 日期 訂單資料表.客戶編號 是否付款 客戶資料表.客戶編號 姓名 地址 電話 1 11/23 3 否 小明 台北市敦化南路 02-2222 2 小華 台中市精誠路 04-1111 小小 新竹市光復路 03-5555 11/24 是

連結多個關聯 正確寫法:將參考到的表格,以適當的屬性串連起來 範例: 正確結果 SELECT 訂單日期, 姓名, 地址 FROM 訂單資料表, 客戶資料表 WHERE 訂單資料表.客戶編號 = 客戶資料表.客戶編號 訂單日期 姓名 地址 11/23 小小 新竹市光復路 11/24 小明 台北市敦化南路

於【資料庫視窗】中,選取【查詢】之後,再選取【新增】,會出現【新增查詢】視窗 選取【設計檢視】,則會出現【顯示資料表】視窗 建立SQL設計查詢 於【資料庫視窗】中,選取【查詢】之後,再選取【新增】,會出現【新增查詢】視窗 選取【設計檢視】,則會出現【顯示資料表】視窗 在該視窗中選取查詢句需要參考到的一個或數個資料表後,就會出現【選取查詢】視窗 【選取查詢】視窗 上半部:顯示已經選取好的資料表 下半部:或稱為【設計格線區】,提供指定輸出的欄位及限制資料選取的準則。

Access提供的查詢介面 其實Access也是將使用者的查詢轉成SQL

資料庫系統的管理必須具備? 資料庫管理者 資料庫管理軟體 如何分類資料庫(切割成數張資料表) 建立資料表間的關連性 資料庫 主鍵 外來鍵 管理資料庫系統(汰舊換新, 提供查詢) SQL

練習 請下載db.xls 試著將這些資料分成數個資料表, 並且在各資料表都要設主鍵(primary key)和外來鍵(foreigner key) 畫出此資料庫的關連圖 查詢清華書店什麼時候買了超過400元的書,列出書名和數量 查詢哪些還沒結帳的書單價超過400元, 列出書名和訂單日期和客戶 查詢新竹市的書店買了哪些超過400元的書, 列出書名和數量和單價

Reference Avi Silberschatz Henry F. Korth S. Sudarshan, “Database System Concepts” 全華科技圖書,”計算機概論”