駕校理論考試系統之數據庫設計一


 

應用開發工具:Microsoft Visual Studio 2010 旗艦版 - 簡體中文 sp1—— Microsoft Visual C# 2010

數據庫開發:Navicat for SQLite 10.0.11 Enterprise導航貓

應用程序:文檔處理:Microsoft Office Professional Plus 2010,截圖工具:SnagIt 10.0.1(2010)

操作系統名: Microsoft Windows 7 Ultimate

版本號:Version 6.1.7601 Service Pack 1 Build 7601

系統類型: x64

開發語言:C#語言,Sqlite數據庫,Winform,.NET Framework 4.0

不同的開發源碼來自:微軟的http://www.codeplex.com/

聞名的http://www.codeproject.com/(具體項目后文會給出)

原料:

2012年5月1日駕駛員考試新題庫.doc 1 1

附件1汽車類考試題庫.doc 1

附件2摩托車類考試題庫.doc 1

交通標志大全.doc 1

 

  1. 數據庫設計部分:

    1. E-R圖:

    用戶信息(USERS):{用戶ID,姓名,密碼 }

錯題集信息(ERRORLIST):{錯題編號,表名,題號ID,錯誤日期 }

綜合題庫信息/別類題庫(COMPREHENSIVE_EXAM/ OTHEREXAM):{編號ID,所屬類型,題型,問題,答案,圖片,視頻,評論,隨機數,錯題排名 }

 

題目類型信息(NODE):{節點ID,節點名,父節點 }

圖文信息(IMGTEXT):{圖文ID,所屬類型,圖片,短評,細評 }

 

數據字典(說明SQLite的數據類型四種:TEXT,REAL,BLOB,INTEGER)

數據名稱

USERS

用戶信息

名稱

格式

范圍

精度

說明

用戶ID

TEXT

10

-

主鍵

姓名

TEXT

20

-

不能為空

密碼

TEXT

8

 

不能為空

代碼生成

CREATE TABLE "USERS" (

"UID" TEXT(10) NOT NULL, "Name" TEXT(20) NOT NULL,

"Password" TEXT(8) NOT NULL,PRIMARY KEY ("UID" ASC)

);

數據名稱

ERRORLIST(來自倆個表,COMPREHENSIVE_EXAM和OTHEREXAM)

錯題集信息

名稱

格式

范圍

精度

說明

錯題編號

TEXT

10

-

主鍵,關聯用戶ID

表名

TEXT

20

-

不能為空

題號ID

TEXT

10

 

不能為空,關聯綜合題庫表,和別類題庫表

錯誤日期

TEXT

10

 

格式(YYYY-MM-dd)

代碼生成

CREATE TABLE "ERRORLIST" (

"UID" TEXT(10) NOT NULL,

"TableName" TEXT(20) NOT NULL,

"TestID" TEXT(10) NOT NULL,

"DateTime" TEXT(10),

CONSTRAINT "fkey0" FOREIGN KEY ("UID") REFERENCES "USERS" ("UID"),

CONSTRAINT "fkey1" FOREIGN KEY ("TestID") REFERENCES "COMPREHENSIVE_EXAM" ("TestID"),

CONSTRAINT "fkey2" FOREIGN KEY ("TestID") REFERENCES "OTHEREXAM" ("TestID")

);

數據名稱

COMPREHENSIVE_EXAM

綜合題庫

名稱

格式

范圍

精度

說明

編號ID

TEXT

10

-

主鍵

所屬類型

TEXT

10

-

關聯NODE表中的NODE

題型

TEXT

4

-

包括多選,單選,判斷

問題

TEXT

600

-

包括題目和選項ABCDEF

答案

INTEGER

 

-

用數字保存,ABCD代表1111,'A'代表0001,'對'代表0001,'錯'代表0010

圖片

BLOB

360000

-

以二進制的形式byte[]

 

視頻

TEXT

20

-

主要格式為AVI

 

評論

TEXT

600

-

 
 

錯題排名

INTEGER

 

-

默認為500,答對了減一,答錯了加一

 

隨機數

INTEGER

 

-

用來隨機抽取題目

代碼生成

CREATE TABLE "COMPREHENSIVE_EXAM" (

"TestID" TEXT(10) NOT NULL,

"BelongTo" TEXT(10),

"Type" TEXT(4) NOT NULL,

"Question" TEXT(600) NOT NULL,

"Answer" INTEGER NOT NULL,

"Comment" TEXT(600),

"Image" BLOB(360000),

"Video" TEXT(20),

"Rate" INTEGER NOT NULL DEFAULT 500,

"Random" INTEGER,

PRIMARY KEY ("TestID" ASC),

CONSTRAINT "PK_BelongTo_Node" FOREIGN KEY ("BelongTo") REFERENCES "NODE" ("NodeID")

);

數據名稱

OTHEREXAM

別類題庫

名稱

格式

范圍

精度

說明

編號ID

TEXT

10

-

主鍵

所屬類型

TEXT

40

-

不同於COMPREHENSIVE_EXAM

題型

TEXT

4

-

包括多選,單選,判斷

問題

TEXT

600

-

包括題目和選項ABCDEF

答案

INTEGER

 

-

用數字保存,ABCD代表1111,'A'代表0001,'對'代表0001,'錯'代表0010

圖片

BLOB

360000

-

以二進制的形式byte[]

 

視頻

TEXT

20

-

主要格式為AVI

 

評論

TEXT

600

-

 
 

錯題排名

INTEGER

 

-

默認為500,答對了減一,答錯了加一

 

隨機數

INTEGER

 

-

用來隨機抽取題目

代碼生成

CREATE TABLE "OTHEREXAM" (

"TestID" TEXT(10) NOT NULL,

"BelongTo" TEXT(40) NOT NULL,

"Type" TEXT(4) NOT NULL,

"Question" TEXT(600) NOT NULL,

"Answer" INTEGER NOT NULL,

"Comment" TEXT(600),

"Image" BLOB(360000),

"Video" TEXT(20),

"Rate" INTEGER NOT NULL DEFAULT 500,

"Random" INTEGER,

PRIMARY KEY ("TestID" ASC)

);

數據名稱

NODE

題目類型信息

名稱

格式

范圍

精度

說明

節點ID

TEXT

10

-

主鍵

節點名

TEXT

40

-

不能為空

父節點

TEXT

10

 

自連接到節點ID

代碼生成

CREATE TABLE "NODE" (

"NodeID" TEXT(10) NOT NULL,

"NodeName" TEXT(40) NOT NULL,

"ParNodeID" TEXT(10),

PRIMARY KEY ("NodeID" ASC),

CONSTRAINT "PK_ParNode_Node" FOREIGN KEY ("ParNodeID") REFERENCES "NODE" ("NodeID")

);

數據名稱

IMGTEXT

圖文信息

名稱

格式

范圍

精度

說明

圖文ID

TEXT

10

-

主鍵

所屬類型

TEXT

40

-

不能為空

短評

BLOB

360000

 

不能為空

細評

TEXT

600

 

可以為空

代碼生成

CREATE TABLE "IMGTEXT" (

"ImgTextID" TEXT(10) NOT NULL,

"BelongTo" TEXT(40) NOT NULL,

"Image" BLOB(360000) NOT NULL,

"BriefComments" TEXT(100) NOT NULL,

"DetailedComments" TEXT(600)

);

 

設計模式:

題外話

提示:推薦用WORD2010畫E-R圖

原因一:點到點自動附加圖形

原因二:節點聯動

原因三:樣式多變美觀


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM