SQL Server 快速上手 (3) - 建立你的第一個關聯式資料庫
本篇以 SQL Server 2019 Express Edition 及 SQL Server Management Studio 18.9 為教學範例,透過SQL Server 匯入和匯出精靈 快速入門
概要
資料庫的應用落實在我們生活的任何角落,包含大家常用的社交軟體(IG,FB…)、每天聊天的通訊軟體(Line,Wechat…)、電商軟體(蝦皮、PChome、Momo)、醫療軟體等系統都有龐大的資料庫系統在運作中,本篇文章將帶著大家來建立出自己的第一個資料庫。
資料庫與資料表概述
在關聯式資料庫的架構中,一個資料庫(Database)內可以有許多張資料表(Table),可以用Excel或GoogleSheet來想,一個檔案就是一個資料庫,而裡面的工作表(Sheet)就是資料表。 而我們可以從中以許多不同的方式進行增查改刪(CRUD)或重建數據。
利用Excel建立你的資料庫思維
我們可以用Excel來簡略的認識資料庫,這邊來舉個情境: 因為COVID-19疫情蔓延,醫療院所紛紛設立了遠距門診提供病人視訊看診,我們來用Excel檔製作一個遠距門診的資料集合。
首先我們會需要新增一個Excel檔案,並且定義工作表(Sheet)要存放的資料,那我們簡單列出幾個項目,看診日期、掛號科別、時段、醫師、病人、身分證、手機
再來我們需要填入一些資料
在填入時可以發現,在都不調整直接輸入的情況下,輸入完手機後0會不見,原因是因為Excel把手機號碼當成是數字型態所以去除了0
我們需要從格式中把此欄位調整成文字,再輸入一次才會看到有0喔!
欄位的格式,也就是資料表中的資料型態,在設計資料庫時一定要注意。
透過匯入精靈匯入Excel
我們可以把一個Excel檔案視為一個資料庫(Database) 接下來一步一步教大家使用工具快速建立一個資料庫
Step1. 開啟SSMS連線資料庫
開啟後會需要輸入伺服器名稱與驗證,用上一篇工具與環境教學中的LocalDB路徑,並選擇Windows驗證(無須輸入帳密)按下連線即可登入
看到左邊的物件總管中有資料庫清單就是成功連線了。
Step2. 建立空白資料庫
對資料庫的圖示按右鍵,選擇[新增資料庫]
輸入資料庫名稱,既然我們的EXCEL檔是做遠距看診,名稱就訂為TeleClinic
按下確定後就新增完成啦! 可以按下資料庫左邊的 + 符號展開資料庫清單,可以看到我們的TeleClinic資料庫就是成功囉!
Step3. 匯入Excel建立資料表與資料
對資料庫按右鍵 > 工作 > 匯入資料
開啟後執行下一步
接下來很重要
資料來源請選擇 [Microsoft Excel]
Excel檔案路徑 請尋找你儲存的Excel位置
並且確認Excel版本是否與你電腦上安裝的相同
(因新版Excel需要安裝ACE.OLED驅動程式,故範例為可直接使用的Excel 97-2003)
並確認 [第一個資料列有資料行名稱] 已勾選,再按Next
若大家有出現下面錯誤訊息就代表你的Excel版本選擇不對
可以把你的Excel檔案另存為 Excel 97-2003格式或是依據訊息安裝ACE.OLED程式
選擇目的地為 SQL Server Native Client 11.0 (即SQL Server) 選擇後畫面會出現伺服器名稱與驗證
理論上預設會帶出你登入的伺服器與資料庫,若沒有的話再自行輸入。 資料庫請選擇剛剛建立的空白資料庫 TeleClinic ,進行下一步
選擇 從一個多個資料表或檢視表複製資料(預設),進行下一步
可以看到我們剛剛的工作表遠距門診出現了
按下編輯對應,可以看到我們剛剛輸入的欄位
有趣的是可以看到看診日期的類型自動轉換為 datetime,其餘的為nvarchar (可以先粗淺的把它視為是文字),確認欄位無誤後按下確定,進行下一步
直接按下 [Finish]
按下 [Finish]
執行完成,可以看到訊息中顯示有4個資料列,就是我們Excel表中寫入的資料
開啟資料表
執行完成後,點擊TeleClinc資料庫旁邊的 + 符號 展開細項,在點擊資料表 旁邊的+符號 展開資料表,可以看到剛剛匯入的 遠距門診資料表 右鍵選擇 [選取前1000個資料列]
大功告成,可以看到我們順利的把Excel建立的工作表與資料匯入資料庫囉!
結語
本篇僅是讓初學者快速入門學習建立資料庫,對於資料表與欄位的命名方式(如不要使用中文)、主索引的建立以及欄位型態等會在後續文章中陸續說明,有興趣深入研究者也可用本文章中的關鍵字在Google搜尋其他作者的文章。
參考資料
https://en.itpedia.nl/2020/01/20/de-relationele-database-het-hart-van-saas/ https://blog.techbridge.cc/2020/02/09/sql-basic-tutorial/