驾校理论考试系统之数据库设计一


 

应用开发工具: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