資料庫 (Database) SQL Server 2008實作 2011/11,12 南台資管 吳昭儀
系統開發的三項主要工作 使用者介面 (User Interface) 流程控制 (Process Control) 使用者操作畫面的安排 Textbox, ComboBox, ListBox, CheckList, … 流程控制 (Process Control) 使用者輸入資料檢查 計算 資料輸出(Monitor, Printer) 資料存取 (Data Access) 資料庫 (Database) 文字檔案 (File)
關連式資料庫 目前普遍採用的資料庫技術 知名軟體 Oracle (世界最大的資料庫廠商) SQL Server (微軟) SyBase MySQL (Open source) PostgreSQL (Open source)
資料庫運作架構 資料庫伺服器 資料庫 資料庫 資料庫 … 資料列 … … … 資料表 資料表 欄位1 欄位2 … 欄位n 欄位1 欄位2 …
練習範例: 學生成績系統 學生成績系統資料庫 「基本資料」資料表 「修課/成績」資料表 「課程資料」資料表 學號 姓名 電話 地址 生日 監護人 「修課/成績」資料表 學號 課程代碼 平時 期中考 期末考 學期成績 「課程資料」資料表 課程 代碼 課程 名稱 開課 學期 教師代碼 上課 教室 上課 時段
決定欄位型態 欲存放至資料庫的資料有不同的類型 建立資料表(Table)時必須指定各欄位的型態 文字 數值 整數 實數 日期 建立資料表(Table)時必須指定各欄位的型態 不同型態的存放方式在資料庫中會佔用不一樣的空間長度
範例: 欄位資料型態 修課/成績 (Score) 選課 (Course) 基本資料 (Student) 欄位名稱 欄位型態 學號 SID 文字(8) 姓名 SName 文字(30) 電話 STel 文字(12) 地址 SAddress 文字(100) 生日 SBirthday 日期 監護人 SGuardian 欄位名稱 欄位型態 學號 SID 文字(8) 課程代碼 CID 文字(10) 平時 CQuiz 整數(3) 期中考 CMidterm 期末考 CFterm 學期 CGPA 欄位名稱 欄位型態 課程代碼 CID 文字(10) 課程名稱 CName 文字(50) 開課學期 CPeriod 授課教師 CTeacher 文字(30) 上課教室 CPlace 文字(20) 上課時段 CTime
資料庫實作: 1. 登入資料庫伺服器 SQL Server的系統管理員: sa 開啟管理工具箱
要登入的伺服器名稱或IP位址 登入伺服器的驗證方式: Windows驗證 SQL Server驗證
登入後畫面
資料庫實作: 2. 建立資料庫 在「資料庫名稱」欄中輸入新建資料庫的名稱 在「資料庫」的字上按滑鼠右鍵後,選擇「新增資料庫」
資料庫中尚未有任何資料表
刪除資料庫 在欲刪除的資料庫名稱上按滑鼠右鍵,再選取刪除。
資料表(Table)維謢 利用SQL命令 圖形化管理介面 建立資料表: Create Table 刪除資料表: Drop Table 新增資料: Insert 查詢資料: Select 修改資料: Update 刪除資料: Delete 圖形化管理介面
資料庫實作: 3. 建立資料表 語法格式: CREATE TABLE table_name ( column_name1 data_type, column_name2 data_type, ··· ); 基本資料 (Student) 欄位名稱 欄位型態 學號 SID 文字(8) 姓名 SName 文字(30) 電話 STel 文字(12) 地址 SAddress 文字(100) 生日 SBirthday 日期 監護人 SGuardian Create Table Student ( SID varchar(8), SName varchar(30), STel varchar(12), Saddress varchar(100), Sbirthday date, Sguardian varchar(30) );
點選工具列中的「新增查詢」 先點選要新增資料表的資料庫
命令輸入後按下「執行」 在此輸入Create Table的命令
資料庫實作: 3. 刪除資料表 命令輸入後按下「執行」 語法格式: DROP TABLE database_name ; 點選工具列中的「新增查詢」 語法格式: DROP TABLE database_name ; 輸入刪除資料表命令 Use Scores; Drop Table Students;
資料庫實作: 4. 新增資料列 語法一 INSERT INTO “表格名” (“指定欄位1”, “指定欄位2”, ...) VALUES ("值1", "值2", ...) 語法二 INSERT INTO “表格名” VALUES (“欄位1值", "欄位2值", ...)
資料表新增範例1: 基本資料 (Student) 欄位名稱 欄位型態 學號 SID 文字(8) 姓名 SName 文字(30) 電話 STel 文字(12) 地址 SAddress 文字(100) 生日 SBirthday 日期 監護人 SGuardian 學生1新增 Insert Into Student ( ‘49990001’, ‘李小明’, ‘(06)2777799’, ‘台南市XX區中正路1號”, ‘1991-01-01’, ‘李大龍’); 注意: 每個資料庫軟體對資料型態的設定方式可能會不一樣 練習: 學生2新增 學生1 學生2 學號 49990001 49990100 姓名 李小明 張純純 電話 (06)2777799 (07)6233325 地址 台南市XX區中正路1號 高雄市鼓山區文化路1號 生日 1991-01-01 1990-06-30 監護人 李大龍 張冬冬
練習 修課/成績 (Score) 選課 (Course) 範例1 範例2 範例3 學號 49990001 49990100 課程代碼 平時 75 80 68 期中考 60 53 72 期末考 77 83 學期 課程1 課程2 課程代碼 C0990101 C1000115 課程名稱 程式設計 資料庫管理 開課學期 99上 100上 授課教師 張X興 王X超 上課教室 L406 L408 上課時段 (二)2,3,4 (一)7,8;(四)1
資料庫實作: 5. 查詢資料列 基本語法 SELECT "欄位名" FROM "表格名"
資料庫實作: 6. 修改資料列 語法 UPDATE "表格名" SET "欄位1" = [新值] WHERE {條件}
資料庫實作: 7.刪除資料列 語法 DELETE FROM “表格名” WHERE {條件}
資料庫實作: 8. Join查詢