MySQL数据库设计说明文档格式.docx
- 文档编号:16907490
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:16
- 大小:50.39KB
MySQL数据库设计说明文档格式.docx
《MySQL数据库设计说明文档格式.docx》由会员分享,可在线阅读,更多相关《MySQL数据库设计说明文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
运行的结果如图:
1.user表
USer表中存储用户名和密码,所以将USer表设汁为只有两个字段.USernamez?
段表示用户名,PaSSWOrd字段表示密码•因为用户名和密码都是字符串,所以这两个字段都是使用VarChar类型•而且将这两个字段的长度都设置为20.而且用户名必须唯一・USer表的每个字段的信息如表所示
字段名
字段描述
数据类型
主键
外键
非空
唯
默认值
自增
USername
用户名
VarChar(20)
是
否
无
PaSSWOrd
密码
根据上表的容创建USer表•创建USer表的语句如下:
CREATETABLEuser(
USernameVarChar(20)PrimarykeyUniqUenotnull,
PaSSWOrdVarChar(20)notnull
);
创建完成后,可以使用desc语句来查询USer表的结构,如图所示:
mysql>
descUSeFJ
*H+■!
H÷
h
IFieIdSTypeSNUll!
KeSF'
DefaUIt∣EXtraS
+++-b十♦+
HSepnane:
UaFChar(20):
NO:
PRl:
MULL:
:
1PaSSWOFd!
UaFChaI√20)!
NO!
!
MULL!
♦H+■!
K
2rowsinSet<
0.02sec>
1・StUdentinfO表
StUdentinfO表中主要的存放学员的学籍信息,包括学号//性别/年龄和号等信息•用SnO字段表示学号,因为学号是StUdentinfO表的主建,所以Sno字段是下能为空值的,而且必须是唯一的・identify字段表示学员的,而每个学员的必须是唯一的•因为在些的是以字母X结束的,所以identify字段设计为VARCHAR类型・
SeX字段表示为学员的性别,该字段只有”男”和"
女”两种取值•因此SeX字段使用enum类型.SCOnditiOn字段表示学员的学业状态,每个学员只有3种状态,分别为”学习”Γ结业”Γ退学”•因此,Scondition字段也使用enum类型•入学时间和毕业时间都是日期,因此选择date类型.s_text字段用于存储备注信息,所以选择text类型比较合适・StUdentinfo表的每个字段的信息如下表所示:
StUdentinfO表创建在功以后,通过desc语句查看StUdentinfO表的结构,也可以通过ShOWCreatetable语句查看StUdentinfO表的详细信息,查看如图:
ιI.
illrowsinSet<
O.03SeC)
ShOWCreatetableStUdentinfo;
StUdentinfO;
CREArETABLEIStU(Ientinfo,<
BSnO%int<
8>
NOINULL,'
snane'
UarChar<
2U>
sex'
enun<
男J女〉NoTNULL,Jge'
int<
3>
DEFAULTNULL,'
identify'
UaVChal<
18>
NOTNULLF'
tel'
UaFChar<
15>
car_type'
UarChaι<
4>
NoTNULL,⅛npoll-time'
dateNOTNULL,'
leaue.time'
dateDFFfiIJLTNULL.
textλ
'
econdition'
entm「学习结业退学〉NOTNULL,'
s-,to×
t
PRIMARyKEY<
⅛lw'
>
UHlQUEKEY'
snu'
<
srw'
UNlQUEKEY'
「identify'
儿KEYWindex_StU_nane%<
snaπe*>
j.KEy'
index_car*('
caυ-ti∣pe'
>
j.KE?
'
index_COn'
('
scondition'
ENGINE=InnODBDEFAlJLTCHARSET=IatinI!
++
Ψ:
descStudentinfo;
⅜∙
+-
4
卜
++
FieId
II
TyPes
NUlII
«
KeiF
DefaUItI
IEXtra:
L.-Λ.
TBi----————————
~T-
——————r
卜
T-
Br
SnO
int<
NO
PRI
NULL
Snane
UarChav<
20>
MUL
SeX
enuπ(,男—,女。
;
I
:
1
age
■I
VES
NiJLL
I■
identify
UNI
tel
Car_type
UaVCbar<
1MUL
enroll_time
date!
IeaUe_time
YES
SCOnditiOn
enun<
^学习,「结业艮学,〉;
MUL
s_text
text!
NlJLL
11vov/sInSet<
0-03sec>
3・healthinfo表因为驾校体检主要体检身高/体重/视力/听力/拜色能力/腿长和血压信息•所以heathinfo表中必须包含这些信息•身高/体重/左眼和石眼视力分别用height字段/weight字段/left_sight字段和rightβsight字段表示•因为这些数值有些小数,所以这些字段都定义成float类型•拜色能力/左耳听力/石耳听力/腿长和血压分别用CHfferentiate字段/IefJear字段∕right-ear字段/legs字段和PreSSUer字段表示.这些字段的取值都是在特定儿个取值中取一个,因此定义成enum类型・创建healthinfo表的SQL代码如下:
Createtablehealthinfo(
Idint(8)PrimClrykeyUniCIUenotUnlIauto-increment,
SnOint(8)UniqUenotnull,
SnameVarChar(20)notnull,
Heightfloat,
Weightfloat,
Differentiateenum('
正常'
,'
色弱'
色盲'
),
Left-Sightfloat,
RighteSightfloat,
Left_earenum('
偏弱'
Right-earenum('
),
LegSenum('
J不相等'
PreSSUreenum('
「偏高'
「偏低'
HiStOryVarChar(50),
H_texttext,
COnStrainthealth.fkforeignkey(sno)
ReferenCeSStUdentinfO(SnO)
创建healthinfo表时将SnO字段设置为外键,而且外键的别名为health_fk.而且,id字段加上了auto-increment属性,这样就可以将id字段设置为自增字段.
表建好了后用desc语句查询,如下:
nysql>
deschealthinfo;
-W
+
FieId
■
r
TyPe
■
NulI
P
Key
P
DefaUIt
丄-
EXtVa
-Λ.
厶
id
PRl
NULL
auto_incre
nent!
NO
UNI
1I
height
fIOat
SWeight
F丄Oat
BI
aa
;
differentiate
*lE常J
色弱色盲TiYES
aI
Ieft_sigbt
float
YES
Vlgħt-sight
5NULL
iIeft_ear
enum「正常J
,偏弱T;
riyht-ear
»
eιιuι∣ι<
正常
偏弱T;
iIeyS
I匕num—正常,,
不相等,〉IVES
JNULL
PrCSStICr
ICnUm<
正常*■
偏咼偏低,〉IVES
•bi3t0ry
IVarCbαr<
50>
IVES
J
INULL
b_toxt
text
VES
aB
IS
13rowsinSet
my<
jql>
(Q.04eec>
—■————
酷狗2012,
4・COUrSeinfO表
COUrSeinfO表用于存储考试科U的信息,每个科U都必须有科U号/科U名称.这个表只需要3个字段就可以了,cn。
字段表示科IJ号,Cname字段表示科口名称,beforeβcour字段表示先行考试的科Ll号•每条记录中,只有before-cour字段中存储的科U考试通过后,学员才可以报考Cno表示的科U.COUrSeinfO表的每个字段的信息如下
名字
段述字描
型类据数
≡
空
K
TrT
一唯
认
默值
增自
Cno
科目号
⑷nt
H称科名
C一
lr-≡
⑷ntI
π
口
创建COUrSeinfO表的SqI代码如下:
CreatetableCOUrSeinfo(
CnOint(4)Prinlarykeynotnullunique,
CnameVarChar(20)notnullunique,
BefOre_COUrint(4)notnulldefaultO
COUrSeinfO表创建完成后用desc语句查询,如下图:
msjsql>
descCoUPSeinfO;
FieId
-+-
TyPe
+
MlIlI!
KesF
Default
-÷
Eκtι*a
■-T-T-I-T--T
CrK)
4〉
Ho
P-一
Te-
HULL
丁―——————
Cnalne
VarChar<
No
UNl
heforeβcour
int(4)
MO
3rowsin:
SEt(0.05SeC)
5・gradeinfo表
GradeinfO表用于存储学员的成绩信息.这个表必须和StUdent和COUrSe表建立联糸.因此设计Sno字段和Cno字段.SnO字段和CnO字段作为外键.Sno字段依赖于StUdentinfO表的SnO字段,CnO字段依赖于COUrSeinfO表的CnO字段.这里用time字段表示某一个科U的考试次数•默认的情况下是第一次参加考试,因此times字段的默认值为1.分数用grade字段表示,默认分数为O分•它的每
个字段的信息如下图所示:
宇段名
字段描述
唯一
自噌
Id
编号
INT⑻
学号
INT(8)
尢
CnO
科Ht>
INT(4)
IaStjime
占试时间
DATE
times
考试次数
grade
FLOAT
O
创建gradeinfo表的SqI代码如下:
Createtablegradeinfo(
Idint(8)PrimarykeyUniqUenotnullauto-increment,
SnOint(8)notnull,
CnOint(4)notnull,
Last-timedate,
TimeSint(4)default1,
GradefloatdefaultO,
COnStraintgrade-sno-fkforeignkey(SnO)
ReferenCeSStUdentinfO(SnO),
COnStraintgrade-cno-fkforeignkey(CnO)
);
代码执行后,在SnO字段被设置成外键,该外键的别名为grade_sno_fk.同时,CnO字段也被设置成外键,改外键的别名为grade_CnO_fk.用desc语句查询gradeinfo表的结构如下图:
descgradeinfo;
Field
_1_
-+
NHll
■-T-I-I-I
≡≡≡≡≡≡≡∙≡Key
→
IDefAUIt
」■-I-I-T-T--Γ-IJ
FXtFa
id
F—
-F—
〒—————————
aiitOeinCrenent
CnQ
IaSt_time
date
∖VES
I1
float
I0
—
--t-
6rowsinSet<
0.06SeC)
6.IiCenSeinfO表
LiCenSeinfO表用于存储学员领取驾驶证的信息•这个表中需要记录学员的学号//驾驶证/领取的时间/领取人等信息.
驾驶证用Ino字段表示,每个人的驾驶証号都是唯一的.IiCenSeinfO表的每个字段的信息如下图所示:
字段扌苗述
数据娄型
NT(8)
足
INT(S)
^name
姓名
VARCHAR(20>
InO
镯缎址兮
VARCHAR(⑻
receivetime
领证时间
Al
rccciVCnamC
领证人
VARCHAR(20)
杏
LteXt
篇注
TEXT
创建IiCenSeinfO表的SqI代码如下:
CreatetableIiCenSeinfo(
Idint(8)PrimarykeyUniqUenotnullauto_increment,
LnOVarChar(18)UniqUenotnull,
ReCeiVe_timedate,
ReCeiVe_nameVarChar(20)J
L_texttext,
COnStraintIiCenSe_fkforeignkey(SnO)
SnO'
F段设置成外键,该外键的别名为IiCenSe_fk・Iiceseinfo表创建完成后,使用desc语句查询IiCenSeinfO表的如构如下图:
descIiCenSeinFO;
A亠亠▲<
Λ.-Λ.
T
-Γ-
T—
NUlI
Ke5F
DefaUIt
∙_
E×
tι*a
•T-
fl
一
Iid
int(8>
autoβin∣crement
Sno
8)
SnafTIe
uaι*chav<
Iino
Uar-Chare18>
rece:
ive_time
receive_name
uaι*char<
Ii_text
7rowsinSet<
0.02SeC>
1.在StUdentinfO表上建立索引
下面使用Createindex语句在Sname初段上创建名为index-stUename的索引.sql代码如下:
Createindexindex_stu_nameOnStUdentinfO(Sname);
Createindexindex-carOnStUdentinfO(Car-type
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MySQL 数据库 设计 说明