MySQL数据库设计[技术学习].doc

上传人:rrsccc 文档编号:9393287 上传时间:2021-02-23 格式:DOC 页数:13 大小:517KB
返回 下载 相关 举报
MySQL数据库设计[技术学习].doc_第1页
第1页 / 共13页
MySQL数据库设计[技术学习].doc_第2页
第2页 / 共13页
MySQL数据库设计[技术学习].doc_第3页
第3页 / 共13页
MySQL数据库设计[技术学习].doc_第4页
第4页 / 共13页
MySQL数据库设计[技术学习].doc_第5页
第5页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《MySQL数据库设计[技术学习].doc》由会员分享,可在线阅读,更多相关《MySQL数据库设计[技术学习].doc(13页珍藏版)》请在三一文库上搜索。

1、MySQL数据库设计课程设计说明书题 目: 驾校学员管理糸统院 系:信息与智能工程糸 专业班级: 嵌入式技术与应用 学 号: 2011251011 学生姓名: 张杰 指导教师:郭伟 2012年1月9日驾校学员管理系统一.系统概述驾校学员管理系统主要用于管理驾校的各种数据,利用这种mysql数据库的驾校管理系统可以给学员的管理资料的整理,资料的查询,数据的处理带来了很大的方便,能够很大的提高管理员的工作效率.本系统主要用于管理学员的学籍信息/体检信息/成绩信息和驾驶证的领取信息等.这些信息的录入/查询/修改等操作都是该系统的重点解决的问题.本系统分为5个管理部分,即用户的管理/秘籍信息管理/体检

2、信息管理/成绩信息管理和领证信息管理.本驾校学员管理系统的开发语言为java语言,选择的数据库是mysql.本系统是B/架构的系统,需要web服务器tomcat二.系统功能驾校学员管理糸统驾校学员管理系统主要的功能是5个管理部分,即用户的管理/秘籍信息管理/体检信息管理/成绩信息管理和领证信息管理.本系统的管理模块如图所示 学员领証信息管理学员学籍信息管理学员体检信息管理学员成绩信息管理学员领証信息管理学员成绩信息管理用户信息管理图中模块的详细介绍如下:用户信息管理:主要是对管理员的登录进行管理.管理员登录成功后,系统会进入到系统的管理界面.而且管理员可以修改自己的密码.学籍信息管理:主要是对

3、学生信息的插入/查询/修改和删除.查询学员的信息时,可以通过学号/姓名/报考的车型和学员的状态进行查询/通过这四个方面的处理,使学籍信息的管理更加的方便.体检信息管理:主要对学员的体检信息的插入/查询/修改和删除.成绩信息管理:对学员的学籍信息进行插入/查询/修改和删除等操作,以便有效的管理学员的成绩信息.领证信息管理:对学员的驾驶证的领取进行管理.这部分主要是对学员的领证信息的插入/查询/修改和删除等操作.这样可以保证学员的驾驶证领取后,领取驾驶证的信息能够有效的管理.三.数据库设计.数据库设计是开发管理系统的一个重要的步骤,下面是数据库的设计过程.数据库设计是要确定创建一些表/表中的字段/

4、字段的数据类型和字段的长度.1.设计表本系统所有的表都放在drivingschool数据库下,创建drivingschool数据库的SQL代码如下:CREATE DATABASE drivingschool;运行的结果如图:1.user表user表中存储用户名和密码,所以将user表设计为只有两个字段.username字段表示用户名,password字段表示密码.因为用户名和密码都是字符串,所以这两个字段都是使用varchar类型.而且将这两个字段的长度都设置为20.而且用户名必须唯一.user表的每个字段的信息如表所示字段名字段描述数据类型主键外键非空 唯一默认值自增 Username用户名

5、Varchar(20)是否是是无否Password密码Varchar(20)否否是否无否根据上表的内容创建user表.创建user表的语句如下:CREATE TABLE user(Username varchar(20) primary key unique not null,Password varchar(20) not null);创建完成后,可以使用desc语句来查询user表的结构,如图所示:1.studentinfo表studentinfo表中主要的存放学员的学籍信息,包括学号/姓名/性别/年龄和身份证号等信息.用sno字段表示学号,因为学号是studentinfo表的主建,所以s

6、no字段是下能为空值的,而且必须是唯一的.identify字段表示学员的身份证,而每个学员的身份证必须是唯一的.因为在些的身份证是以字母x结束的,所以identify字段设计为VARCHAR类型.Sex字段表示为学员的性别,该字段只有”男”和”女”两种取值.因此sex字段使用enum类型.scondition字段表示学员的学业状态,每个学员只有3种状态,分别为”学习”/”结业”/”退学”.因此,scondition字段也使用enum类型.入学时间和毕业时间都是日期,因此选择date类型.s_text字段用于存储备注信息,所以选择text类型比较合适.studentinfo表的每个字段的信息如下

7、表所示:字段名字段描述数据类型主键外键非空唯一默认值自增Sno学号Nit(8)是否是是无否Sname姓名Varchar(20)否否是否无否Sex性别Enum否否是否无否Age 年龄Int(3)否否否否无否Identify身份証号Varchar(18)否否是是无否tel电话Varchar(15)否否否否无无Car_type报考车型Varchar(4)否否是否无否Enroll_time入学时间date否否是否无否Leave_time毕业时间date否否否否无否scondition学业状态enum否否是否无否S_text备注text否否否否无吞创建studentinfo表的sql代码如下:Creat

8、e table studentinfo(Sno int(8) primary key unique not null,Sname varchar(20) not null,Sex enum(男,女) not null,Age int(3),Identify varchar(18) unique not null,Tel varchar(15),Car_type varchar(4) not null,Enroll_time date not null,Leave_time date,Scondition enum(学习,结业,退学) not null,S_text text);Studenti

9、nfo表创建在功以后,通过desc语句查看studentinfo表的结构,也可以通过show create table语句查看studentinfo表的详细信息,查看如图:3.healthinfo表因为驾校体检主要体检身高/体重/视力/听力/辡色能力/腿长和血压信息.所以heathinfo表中必须包含这些信息.身高/体重/左眼和石眼视力分别用height字段/weight字段/left_sight字段和right_sight字段表示.因为这些数值有些小数,所以这 些字段都定义成float类型.辡色能力/左耳听力/石耳听力/腿长和血压分别用differentiate字段/left_ear字段/r

10、ight_ear字段/legs字段和pressuer字段表示.这些字段的取值都是在特定几个取值中取一个,因此定义成enum类型.创建healthinfo表的SQL代码如下:Create table healthinfo(Id int(8) primary key unique not unll auto_increment,Sno int(8) unique not null,Sname varchar(20) not null,Height float,Weight float,Differentiate enum(正常,色弱,色盲),Left_sight float,Right_sight

11、 float,Left_ear enum(正常,偏弱),Right_ear enum(正常,偏弱),Legs enum(正常,不相等),Pressure enum(正常,偏高,偏低),History varchar(50),H_text text,Constraint health_fk foreign key(sno)References studentinfo(sno);创建healthinfo表时将sno字段设置为外键,而且外键的别名为health_fk.而且,id字段加上了auto_increment属性,这样就可以将id字段设置为自增字段.表建好了后用desc语句查询,如下:4.co

12、urseinfo表Courseinfo表用于存储考试科目的信息,每个科目都必须有科目号/科目名称.这个表只需要3个字段就可以了,cno字段表示科目号,cname字段表示科目名称,before_cour字段表示先行考试的科目号.每条记录中,只有before_cour字段中存储的科目考试通过后,学员才可以报考cno表示的科目.courseinfo表的每个字段的信息如下字段名字段描述数据类型主键外键非空唯一默认值自增Cno 科目号Int(4)是否是是无否Cname科目名称Varchar(20)否否是是无否Before_cour先行考试科目Int(4)否否是否0否创建courseinfo表的sql代码

13、如下:Create table courseinfo(Cno int(4) primary key not null unique,Cname varchar(20) not null unique,Before_cour int(4) not null default 0);Courseinfo表创建完成后用desc语句查询,如下图:5.gradeinfo表Gradeinfo表用于存储学员的成绩信息.这个表必须和student和course表建立联糸.因此设计sno字段和cno字段.sno字段和cno字段作为外键.sno字段依赖于studentinfo表的sno字段,cno字段依赖于cour

14、seinfo表的cno字段.这里用time字段表示某一个科目的考试次数.默认的情况下是第一次参加考试,因此times字段的默认值为1.分数用grade字段表示,默认分数为0分.它的每个字段的信息如下图所示:创建gradeinfo表的sql代码如下:Create table gradeinfo(Id int(8) primary key unique not null auto_increment,Sno int(8) not null,Cno int(4) not null,Last_time date,Times int(4) default 1,Grade float default 0,

15、Constraint grade_sno_fk foreign key (sno)References studentinfo(sno),Constraint grade_cno_fk foreign key (cno)References courseinfo(cno);代码执行后,在sno字段被设置成外键,该外键的别名为grade_sno_fk.同时,cno字段也被设置成外键,改外键的别名为grade_cno_fk.用desc语句查询gradeinfo表的结构如下图:6.licenseinfo表Licenseinfo表用于存储学员领取驾驶证的信息.这个表中需要记录学员的学号/姓名/驾驶证号

16、码/领取的时间/领取人等信息.驾驶证号码用lno字段表示,每个人的驾驶証号都是唯一的.licenseinfo表的每个字段的信息如下图所示:创建licenseinfo表的sql代码如下:Create table licenseinfo(Id int(8) primary key unique not null auto_increment,Sno int(8) unique not null,Sname varchar(20) not null,Lno varchar(18) unique not null,Receive_time date,Receive_name varchar(20),L

17、_text text,Constraint license_fk foreign key (sno)References studentinfo(sno);Sno字段设置成外键,该外键的别名为license_fk.liceseinfo表创建完成后,使用desc语句查询licenseinfo表的如构如下图:1. 在studentinfo表上建立索引下面使用create index语句在sname初段上创建名为index_stu_name的索引.sql代码如下:Create index index_stu_name on studentinfo(sname);Create index index_car on studentinfo(car_type);使用alter table语句在scondition字段上创建名为index_con的索引.sql代码如下:Alter table studentinfo add index index_con(scondition);代码执行完了后,使用show create table语句查看studentinfo表的结构.查看结果中如果显示了index_stu_naem和index_car和index_con这3个索引,这表示索引已经创建成功了:13互联网络

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1