• 沒有找到結果。

資料表詳細說明

在文檔中 資料結構教學– 排序法 (頁 72-80)

第四章 系統實作

4.4 資料庫規劃、設計

4.4.3 資料表詳細說明

此章節將會詳細介紹所有資料表的資料欄位,型態,說明。

表4-1為student table 主要存放學生的基本資料,直接想 到所需要紀錄的就是學生的姓名,學生的座號,學生的學號,

學生所屬的班級,為了方便學生使用系統,我們便學習一般互 動式網站使用帳號,密碼的觀念,往後只需輸入兩次資料即可 認證,所以我們又增加了 account 以及 passwd 兩個欄位,倘 若學生忘記密碼,則可利用學號欄位(std_no),帳號欄位 (account),姓名欄位(name),E-mai(maill)欄位來做身份確 認,以獲得密碼。

圖4-29表示與學生資料表有關聯性的,就是學生答案資料 表,因為每次的測驗成績,也都需要紀錄是哪個學生所做的測 驗。

圖4-29 學生資料表圖 表4-1 學生資料表欄位 TABLE:student (學生資料 TABLE)

欄位 型態 說明 備註

account varchar(12) 帳號 主鍵

std_no varchar(12) 學號 主鍵

class varchar(12) 班級

name varchar(12) 姓名

seat_no tinyint(4) 座號 passwd varchar(12) 密碼

mail varchar(30) 電子郵件

表 4-2 是 problem_base table 存放著所有題目的資料,

pid 欄位為主鍵,其值會自動增加,一個題目所需紀錄的資料,

題目的敘述(question),題目的選項(option1,option2,

option3,optipn4,option5),題目的答案(ans),題目所屬的 章節(chapter),而 pid 之所以作為主鍵,為的是方便我們能馬 上找尋到所需要的題目,題目解答說明(why)可以讓答錯的學 生,能夠了解做錯的原因,而其他的欄位(total_std,

correct_std,easy_level,opt1_std,opt2_std,opt3_std,

opt4_std,opt_std),主要讓我們能分析學生作答的情況,老 師可由這些資訊了解學生情形,進而協助學生釐清觀念,圖片 編號(cid) ,存放題目所需圖形。

圖 4-30 是表示與題庫資料表有關聯性的就是考卷資料 表,考卷由許多題目所組成,因此我們需要知道此份考卷究竟 有哪些題目,也須知道此題目的答案。

圖 4-30 題庫資料表圖 表 4-2 題庫資料表欄位 TABLE:problem_base (題庫 TABLE)

欄位 型態 說明 備註

pid int(10) 編號 AutoIncrement,主鍵

chapter varchar(32) 單元

question text 題目

option1 text 選項 1

option2 text 選項 2

option3 text 選項 3

option4 text 選項 4

option5 text 選項 5

ans tinyint(4) 答案 預設值 '0'

why text 說明

total_std int(11) 總作答人數

correct_std int(11) 答對人數 easy_level varchar(10) 難易度

cid int(10) 圖片編號 預設值 '0'

opt1_std int(11) 選答 1 人數

opt2_std int(11) 選答 2 人數

opt3_std int(11) 選答 3 人數

opt4_std int(11) 選答 4 人數

opt5_std int(11) 選答 5 人數

表 4-3 是表示 test_paper 資料表存放著考卷的資料,需要 紀錄的有,此份考卷的名稱(test_name),考卷代號(test_no),

考卷開啟的狀態(test_status),此份考卷建立的日期 (create_date),其他的欄位(question_total,

question_total_now,question_no,ans_no),則紀錄著此份考 卷裡的題目資訊。

由圖 4-31 可了解考卷資料表除了跟題庫資料表有關連之 外,也跟學生答案資料表有關連,因為我們也須知道學生是參加 了哪份考卷的考試。

圖 4-31 考卷資料表圖

表 4-3 考卷資料表欄位 TABLE:test_paper (考卷資料 TABLE)

欄位 型態 說明 備註

tid int(10) 考卷編號 AutoIncrement,主鍵

test_name varchar(64) 試卷名稱 test_no varchar(64) 試卷代號

test_status tinyint(4) 試卷狀態 預設值 '0'

create_date date 日期 預設值'0000-00-00'

question_total int(11) 題數 預設值 '0' question_total_now int(11) 已選的題數

question_no text 所選題目題號

ans_no text 所選題目答案

表 4-4 表示 section 資料表存放著章節名稱,chapter 紀 錄了章節的名稱。

圖 4-32 可知題目章節與題目資料表存在著關連,由此我們 可以知道題庫資料表內的題目是屬於哪個章節。

圖 4-32 題目章節資料表圖

表 4-4 題目章節資料表欄位 TABLE:section (題目章節 TABLE)

欄位 型態 說明 備註

chapter varchar(32) 題目章節 主鍵

表 4-5 是 manager 資料表存放著老師的帳號密碼資料,

以便使用管理權限時的確認,管理者名稱(name)紀錄老師的 名稱,passwd 紀錄老師的密碼。

由圖 4-33 可知道管理者資料表獨立於資料庫內,並無跟 其它 table 有所關聯。

圖 4-33 管理者資料表圖

表 4-5 管理者資料表欄位 TABLE:manager (管理者 TABLE)

欄位 型態 說明 備註

name varchar(32) 管理者名稱 AutoIncrement,主

passwd varchar(32) 密碼

表 4-6 是 std_ans 資料表主要紀錄著學生參加考試的資 料,因為學生參加每次考試的資訊也都需要記錄起來,test_no 欄位可得知學生所參加的是哪次考試。

圖 4-34 表示學生答案資料表與考卷資料表有關連,而 (accont,class,name,seat_no,std_no)紀錄所參加學生的 資料,所以也與學生資料表存在著關連性。學生此次考試的成 績(score),班級的排名(rank_class)。

圖 4-34 學生答案資料表圖

表 4-6 學生答案資料表欄位 TABLE:std_ans(學生答案資料 TABLE)

欄位 型態 說明 備註

test_no varchar(64) 考卷代號 主鍵

accont varchar(12) 帳號

class varchar(12) 班級

name varchar(12) 姓名

seat_no tinyint 座號

std_no varchar(12) 學號

std_ans text 學生答案

score tinyint 總分

rank_class integer 班級排名

表 4-7 是 disscuss 資料表存放著討論版文章的資料,文章 的編號(serial)為主鍵,文章的內容(content)存放內容,文章 的標題(title)記錄此文章的標題,其他欄位(name,email,

web,ip),紀錄發文者的資訊,而 count 可以存放此篇文章被 點閱的次數。

表 4-7 討論版資料表欄位 TABLE:disscuss(討論版文章 TABLE)

欄位 型態 說明 備註

serial Mediumint(8) 文章編號 主鍵,

auto_increment

time datetime 發表時間

title varchar(255) 標題 TABLE:re_disscuss(回覆文章 TABLE)

欄位 型態 說明 備註

re_email varchar(50) 回覆者 E-MAIL re_ip varchar(15) 回覆者 ip 位址 re_web varchar(100) 回覆者網站

圖 4-35 表示了討論版文章資料表與回覆文章資料表之間 的關連,當文章發表後,若有人對此文章進行回覆,則我們在 re_disscuss 裡的 re_id 欄位放置原本文章的編號,藉此我們 就能搜尋到此篇回覆文章究竟是回覆了哪篇文章。

圖 4-35 討論版文章資料表圖

在文檔中 資料結構教學– 排序法 (頁 72-80)

相關文件