汽车站管理系统.docx
- 文档编号:30242708
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:38
- 大小:134.04KB
汽车站管理系统.docx
《汽车站管理系统.docx》由会员分享,可在线阅读,更多相关《汽车站管理系统.docx(38页珍藏版)》请在冰豆网上搜索。
汽车站管理系统
《数据库原理》课程设计报告
设计题目:
汽车站管理系统
系别:
计算机与信息科学系
学生姓名:
学号:
指导教师:
专业:
班级:
完成时间:
一、需求分析
(1)系统综合需求..................................................................3
(2)系统逻辑模型..................................................................3
二、系统设计
(1)概念结构设计..................................................................4
(2)逻辑结构设计..................................................................4
(3)相关SQL语句操作........................................................5
三、详细设计
(1)开发平台及工具..............................................................8
(2)java实现相关代码.......................................................8
(3)系统运行相关解析............................................................22
四、参考文献...........................................................................26
五、设计总结...........................................................................27
一、需求分析
(一)系统综合需求
主要实现的功能是汽车站驾驶人员和路线及汽车等基本信息进行管理,包括浏览驾驶员信息、路线信息,查询和统计一些驾驶员、汽车等数据,修改驾驶员行走的路线信息等。
1.以用户需求为方针,以便操作户为原则,体系将在统一的WINDOWS操作体系图形界面下供应各类适用成果,尽年夜概低落使用前的进修、执行和使用中的维护时刻。
2.近于手工的操作,直不雅的图形用户界面,美不雅、友好、年夜略易用:
悉数菜单,窗口,操作方法均为win98气概。
操作便利,丰裕思量前台操作职员操作前说起风俗,有精采的易用性。
(二)系统逻辑模型
实体E-R图
二、系统设计
(一)概念结构设计
1.驾驶员表driver
字段含义
字段名称
字段类型
驾驶员编号
driverID
Char(20)primarykey
汽车编号
car_ID
Char(20)notnull
姓名
name
char(20)unique
生日
birthday
Char(20)
性别
sex
Char(20)
工作年限
standing
Char(20)
2.汽车表car:
字段含义
字段名称
字段类型
汽车编号
car_ID
Char(20)primarykey
类型
type
char(20)
载客量
capacity
Char(20)
3.路线表line
字段含义
字段名称
字段类型
路线编号
Line_ID
Char(20)primarykey
目的地
destination
char(20)notnull
所需时间
take_time
char(20)
出发地
start_address
char(20)notnull
票价
ticket_price
Char(20)notnull
4.汽车路线表car_line
字段含义
字段名称
字段类型
汽车编号
carID
Char(20)
路线编号
lineID
char(20)
5.用户表user_ID.
字段含义
字段名称
字段类型
汽车编号
username
Char(20)
路线编号
password
char(20)
(二)逻辑结构设计
1.驾驶员表driver
CREATETABLEdriver
(
driverIDchar(20)primarykey,
car_IDchar(20)NOTNULL,
namechar(20)unique,
brithdaychar(20),
sexchar
(2),
standingchar(20),
foreignkey(car_ID)referencescar(car_ID)
);
2.汽车表car:
创建汽车表表:
CREATETABLEcar
(
car_IDchar(20)primarykey,
typechar(20),
capacitychar(20),
);
3.路线表line
创建路线表:
CREATETABLEline
(
line_IDchar(20)primarykey,
destinationchar(20)notnull,
take_timechar(20),
start_addresschar(20)notnull,
ticket_pricechar(20)notnull
);
4.汽车路线表car_line
创建汽车路线表:
CREATETABLEcar_line
(
carIDchar(20),
lineIDchar(20),
primarykey(carID,lineID)
);
5.用户表user_ID.
创建用户表表:
CREATETABLEuser_ID
(
usernamevarchar(20),
passwordvarchar(20),
primarykey(username,password)
);
(三)相关SQL语句操作
⏹插入数据
1.汽车表数据
insertintocarvalues('091201','飞鹤','45');
insertintocarvalues('091202','快鹿','40');
insertintocarvalues('091203','鸵鸟','42');
insertintocarvalues('091204','风火轮','45');
insertintocarvalues('091205','筋斗云','38');
insertintocarvalues('091206','白龙马','42');
insertintocarvalues('091207','毛驴','36');
insertintocarvalues('091208','青牛','50');
2.驾驶员数据
insertintodriver(driverID,car_ID,name,brithday,sex,standing)
values('19491001','091201','吴士','1981','1','6');
insertintodriver(driverID,car_ID,name,brithday,sex,standing)
values('19491002','091204','孙悟','1974','1','15');
insertintodriver(driverID,car_ID,name,brithday,sex,standing)
values('19491003','091203','李娇','1979','0','9');
insertintodriver(driverID,car_ID,name,brithday,sex,standing)
values('19491004','091202','夏雨荷','1983','0','6');
insertintodriver(driverID,car_ID,name,brithday,sex,standing)
values('19491005','091205','刘备','1977','1','16');
insertintodriver(driverID,car_ID,name,brithday,sex,standing)
values('19491006','091208','诸葛亮','1985','1','4');
insertintodriver(driverID,car_ID,name,brithday,sex,standing)
values('19491007','091206','陈娜','1975','0','17');
insertintodriver(driverID,car_ID,name,brithday,sex,standing)
values('19491008','091207','张海风','1978','1','10');
insertintodriver(driverID,car_ID,name,brithday,sex,standing)
values('19491009','091201','朱翠翠','1980','0','8');
insertintodriver(driverID,car_ID,name,brithday,sex,standing)
values('19491010','091204','赵薇','1988','0','1');
insertintodriver(driverID,car_ID,name,brithday,sex,standing)
values('19491011','091208','李鸣','1978','1','12');
insertintodriver(driverID,car_ID,name,brithday,sex,standing)
values('19491012','091203','周杰磊','1981','1','4');
3.路线表数据
insertintoline(line_ID,destination,take_time,start_address,ticket_price)values('201001','上海','3小时','南京','123');
insertintoline(line_ID,destination,take_time,start_address,ticket_price)values('201002','南通','4小时','南京','233');
insertintoline(line_ID,destination,take_time,start_address,ticket_price)values('201003','苏州','3个半小时','南京','256');
insertintoline(line_ID,destination,take_time,start_address,ticket_price)values('201004','盐城','3小时20分','南京','330');
insertintoline(line_ID,destination,take_time,start_address,ticket_price)values('201005','泰州','2个半小时','南京','450');
insertintoline(line_ID,destination,take_time,start_address,ticket_price)values('201006','扬州','2小时','南京','326');
insertintoline(line_ID,destination,take_time,start_address,ticket_price)values('201007','上海','3小时','南京','521');
insertintoline(line_ID,destination,take_time,start_address,ticket_price)values('201008','苏州','3小时','南京','430');
4.汽车路线表数据
insertintocar_line(carID,lineID)values('91202','201001');
insertintocar_line(carID,lineID)values('91207','201002');
insertintocar_line(carID,lineID)values('91208','201007');
insertintocar_line(carID,lineID)values('91206','201003');
insertintocar_line(carID,lineID)values('91205','201008');
insertintocar_line(carID,lineID)values('91204','201005');
insertintocar_line(carID,lineID)values('91201','201004');
insertintocar_line(carID,lineID)values('91203','201006');
insertintocar_line(carID,lineID)values('91202','201003');
insertintocar_line(carID,lineID)values('91206','201006');
5.用户表数据
insertintouser_IDvalues('邱冬','123456');
⏹建立索引
建立索引遵循的规律:
1.建立在where子句经常引用的列上,
2.经常需要排序的列上,
3.连接属性列上等
createindexcar_indexoncar(car_ID);
--汽车表在汽车编号字段上建立索引
createindexdriver_indexondriver(driverID);
--驾驶员表在驾驶员编号字段上建立索引
createindexline_indexonline(lineID);
--路线表在路线编号字段上建立索引
createindextake_time_indexonline(take_time);
--路线表在路线所需时间上建立索引,以备查询各路线所需时间
⏹建立视图
1.创建过程take_time_list,查询各路线所花时间:
createviewtake_time_list
as
selectline_ID,take_time
fromline;
2.创建过程ticket_price,查询各路线所需票价
createviewticket_price
as
selectdestination,start_address,ticket_price
fromline;
3.创建过程car_line_driver,查询各路线行驶的所有驾驶员及车辆
createviewcar_line_driver
as
selectline.destination,start_address,driverID,car.car_ID
fromcar,line,driver
三、详细设计
(一)开发平台及工具
●开发工具:
eclipse7.0
●DBMS:
MicrosoftSQLSever2000
●连接:
JDBC连接SQLServer2000
(二)java实现相关代码
Ø连接代码
packageSelect;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
publicclasslianjie{
publicstaticConnectiongetConnection(){
Connectioncon=null;
try{//加载JDBC驱动StringdriverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
StringdbURL="jdbc:
sqlserver:
//127.0.0.1:
1433;DatabaseName=db_car";StringuserName="sa";//默认用户名
StringuserPwd="123456";//密码
Class.forName(driverName);//注册con=DriverManager.getConnection(dbURL,userName,userPwd);
}catch(Exceptionex){ex.printStackTrace();}returncon;
}}
Ø登陆窗体
packageFram.login;
publicclassLoginextendsJDialog{
privateJPasswordFieldpasswordField;
privateJTextFieldtextField_user;
privateJTextFieldtextField;
staticLogindialog;
publicstaticvoidmain(Stringargs[]){
EventQueue.invokeLater(newRunnable(){
publicvoidrun(){
try{
dialog=newLogin();
dialog.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
dialog.setVisible(true);
}catch(Exceptione){
e.printStackTrace();}}});}
publicLogin(){
super();
setTitle("登陆系统");
getContentPane().setLayout(null);
setBounds(100,100,435,281);
finalJLabellabel=newJLabel();
label.setForeground(Color.RED);
label.setFont(newFont("",Font.PLAIN,26));
label.setBackground(Color.CYAN);
label.setText("登录车站管理系统");
label.setBounds(66,0,257,100);
getContentPane().add(label);
textField=newJTextField();
textField.setBackground(Color.BLUE);
textField.setBounds(0,0,437,100);
getContentPane().add(textField);
finalJLabellabel_1=newJLabel();
label_1.setText("用户名");
label_1.setBounds(98,119,48,18);
getContentPane().add(label_1);
textField_user=newJTextField();
textField_user.setBounds(166,117,87,22);
getContentPane().add(textField_user);
passwordField=newJPasswordField();
passwordField.setBounds(166,145,87,22);
getContentPane().add(passwordField);
finalJLabellabel_1_1=newJLabel();
label_1_1.setText("密码");
label_1_1.setBounds(98,147,48,18);
getContentPane().add(label_1_1);
finalJButtonbutton=newJButton();
button.addActionListener(newActionListener(){
publicvoidactionPerformed(finalActionEventarg0){
Connectionconn=lianjie.getConnection();
try{
Statements=conn.createStatement();
Stringsql="select*fromuser_ID";
ResultSetrs=s.executeQuery(sql);
String[]name=newString[rs.getMetaData().getColumnCount()];
while(rs.next()){name[0]=rs.getString("username").toString();
name[1]=rs.getString("password").toString();}
System.out.println(textField_user.getText().toString().equals(name[0]));if(!
textField_user.getT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汽车站 管理 系统