搜尋
新增至資料庫
Homework11 建立資料庫,包函四個資料表,定義每個資料表主健的 關係
z EDR
老師 科目
成績 教導
學生
1.老師基本資料表:老師編號、姓名、性別、系所 2. 科目基本資料表:科目編號、科目名稱、老師編號 3. 學生基本資料表:學號、姓名、性別…..
4. 成績表:編號、科目編號、學號、成績 精簡:去除不必要重覆—正規化
利用 Access 做 4 個資料表,欄位如上
定義主索引鍵:1.老師編號 2.科目編號 3.學號 4.編號<自動編號>
正規化:減少資料重覆/將一個大的資料表,拆成多個互相關聯的小 資料表
資料倉儲(data warehouse):
1. 為特定目的
2. 橫跨多年度,整合多個資料庫----分析:資料探勘 資料庫:人事資料庫、銷售資料庫、生產資料庫、存貨資料庫
Homework 12
<2006/05/26>筆記
SQL:Standard Query Language 標準查詢語言
資料庫
讀寫資料庫程式 程式
一般程式
z 例 1.讀一資料庫內所有的記錄
SQL:Select 所有欄位(*) from 資料表名稱 VBScript
Conn.execute “select * from 資料表名稱”
z 例 2.讀學生成績資料表內的所有記錄的學號、科目、成績等三個
欄位
SQL:Select 學號科目成績 (*) from 學生成績資料表 z 例 3.從學生成績資料表中找出所有不及格的記錄 SQL:Select * from 學生成績資料表 where 成績<60 z 例 4.找出王小明的所有成績
SQL:Select * from 學生成績資料表 where 姓名=”王小明”
Access 中查詢方法:
1. QBE(Query By Example)-用範例來查詢 2. 用寫程式來查詢(VB+SQL)來查詢 查詢-新增-設計
z 例 5.找出王小明的不及格記錄
Select * from 學生基本資料表 where (姓名=”王小明”) AND(成績
<60)
z 例 6.新增一筆成績如下:
學號:D1234567 姓名:王大華 科目:英文 成績=82
SQL:insert into 學生成績資料表(學號、姓名、科目、成績) values
z 例 7.刪除所有成績
SQL:delete * from 學生成績資料表
z 例 8. delete * from 學生成績資料表 where 年級=4 z 例 9.更正英文為英語
SQL:update 學生成績資料表 Set 科目=’英語’ where 科目=’英文’
z 例 10.更正王小明的應數成績為 60
SQL:update 學生成績資料表 Set 成績=60 where 姓名=’王小明’
AND 科目=’應數’
z 例 11. 更正王小明的應數成績如下:
應數(一) 60 分
SQL:update 學生成績資料表 Set 科目=’應數(一)’,’ 成績=60’ where 姓名=’王小明’
z 結構圖:拆成小程式
成績查詢系統
輸入查詢條件格式 查詢資料庫程式 顯示查詢成績程式
z 整合系統分析與設計概念如下:
ERD 資料庫 資料庫關聯圖
DFD 結構圖 流程圖 結構化英文
虛擬碼 程式
資料辭典
輸出入介面設計
SQL、一般程式語言
z 通訊錄管理系統 1.ERD
Entity:1.同學
2.系統管理者 3.通訊資料 4.通訊資料庫
z 資料維數標記法
z 鴉足標記法
系統管理者 1 1 管理 通訊資料庫
服務
同學 繳交
儲存
M M
1 1
通訊資料
1 1
系統管理者 通訊資料庫
同學 通訊資料
來自於 繳交
儲存 儲存於
被服務
服務
由系統管理者來管理 管理
z 資料表
--系統管理者基本資料表 --通訊資料表
1. 系統管理者基本資料表應包含欄位如下:
a. 編號<自動編號-為主索引鍵>
b. 管理者姓名<文字>
c. 帳號<文字>
d. 密碼<文字>
2.通訊資料表應包含欄位如下:
a. 編號<為主索引鍵>
b. 姓名 c. 性別 d. 生日 e. 地址
DFD
查詢結果 同學
2006/06/08
使用者輸入 帳號
帳號規定 否
合規定?
帳號符
是
使用者輸入 密碼
密碼符 合規定?
密碼規定
否
是
傳送給查詢 資料庫程式
結 束
z 查詢資料庫程式
開 始 開 始
z 作業系統:windows XP 等,網站伺服器,IIS 資料庫管理系統:MS Access XP 等
輸入介面:網頁(.htm) 程式:VBScript
z 使用 VBScript 寫”查詢資料庫程式”
帳號=reguest.from(“帳號”) 密碼= reguest.from(“密碼”)
SQL 連結=server.createobject(“ADODB.connetion”) 連結.open”通訊資料庫”
SQL=”select * from 管理者資料 where 帳號=’”&帳號&”’ AND 密碼
=’”&密碼&”’”
SQL=”select * from 管理者資料 where 帳號=’ David’ AND 密碼
=’13524’”
Set 結果=連結 .execute (SQL) If 結果.eof then
管理者=”否”
else
管理者=”是”
end if
z 最後傳輸的動作
z session(“管理者”)= 管理者
公共變數:可跨
程式
z 刪除程式中
if session(“管理者”)=”是” then 刪除程式
else
非管理者應退出
end if
參考文獻
z 系統分析與設計 林國平 吳宗彬譯 東華書局