重庆交通大学数据库结业报告Word下载.docx

上传人:b****3 文档编号:16412320 上传时间:2022-11-23 格式:DOCX 页数:21 大小:300.91KB
下载 相关 举报
重庆交通大学数据库结业报告Word下载.docx_第1页
第1页 / 共21页
重庆交通大学数据库结业报告Word下载.docx_第2页
第2页 / 共21页
重庆交通大学数据库结业报告Word下载.docx_第3页
第3页 / 共21页
重庆交通大学数据库结业报告Word下载.docx_第4页
第4页 / 共21页
重庆交通大学数据库结业报告Word下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

重庆交通大学数据库结业报告Word下载.docx

《重庆交通大学数据库结业报告Word下载.docx》由会员分享,可在线阅读,更多相关《重庆交通大学数据库结业报告Word下载.docx(21页珍藏版)》请在冰豆网上搜索。

重庆交通大学数据库结业报告Word下载.docx

表3客户信息属性表

表4银行产品信息表

表5贷款信息属性表

表6借贷款信息属性表

(2).实现本数据库所用的工具:

EclipseKEPLER、PowerDesigner16、SQLSERVER2012、ODBC、jre1.6等

四、概念模型

图1:

cdm图

(1).通过PowerDesigner绘制相关的概念模型图,并说明本数据库系统中用到的所有抽象实体和关系的定义。

实体有:

银行,银行员工,客户,银行产品,存取款流水单,借贷流水单,其中关系1:

银行—客户关系为多对多,一个银行有多个客户,一个客户可以办理多银行业务;

关系2:

银行—银行员工关系为一对多,一个银行有多个员工,一个员工只对应一个银行;

关系3:

银行—银行产品为一对多关系,一个银行有多个产品,一个产品只对应一个银行;

关系4:

客户—银行产品是多对多,一个客户可办理多个产品,一个银行产品可以被很多用户办理;

关系5:

客户—存款单关系为一对多,一个客户可以有多个存款单,一张存款单只对应一个客户;

关系6:

客户—借贷单关系为一对多,一个客户可以有多个借贷单,一张借贷单只对应一个客户;

五、物理模型

图2:

pdm图

六、数据库实现

(1).选用具体的DBMS,实现设计的物理模型。

本设计选用SQLSERVER2012,通过PowerDesigner导入数据库后为:

图3:

数据库表结构

七、数据库系统实现

用EclipseKepler软件Java语言制作简单数据库应用程序。

(1).构造一个银行信息类

packageedu.text;

publicclassBankinfo{

privateStringBname;

privateStringBno;

privateStringBcity;

privateStringBarea;

privateintBcount;

privateintBstaffcount;

privateintBmoney;

privateintBgold;

publicStringgetBname(){

returnBname;

}

publicvoidsetBname(Stringbname){

Bname=bname;

publicStringgetBno(){

returnBno;

publicvoidsetBno(Stringbno){

Bno=bno;

publicStringgetBcity(){

returnBcity;

publicvoidsetBcity(Stringbcity){

Bcity=bcity;

publicStringgetBarea(){

returnBarea;

publicvoidsetBarea(Stringbarea){

Barea=barea;

publicintgetBcount(){

returnBcount;

publicvoidsetBcount(intbcount){

Bcount=bcount;

publicintgetBstaffcount(){

returnBstaffcount;

publicvoidsetBstaffcount(intbstaffcount){

Bstaffcount=bstaffcount;

publicintgetBmoney(){

returnBmoney;

publicvoidsetBmoney(intbmoney){

Bmoney=bmoney;

publicintgetBgold(){

returnBgold;

publicvoidsetBgold(intbgold){

Bgold=bgold;

publicStringprint(){

StringBankinfo="

\t"

+this.Bname+"

+this.Bno+"

+this.Bcity+"

+this.Barea

+"

+this.Bcount+"

+this.Bstaffcount+"

+this.Bmoney+

"

+this.Bgold;

returnBankinfo;

}

(2).在对银行信息表进行操作的Dboperate.java代码如下:

importjava.sql.Connection;

importjava.sql.DriverManager;

importjava.sql.PreparedStatement;

importjava.sql.ResultSet;

importjava.sql.SQLException;

importjava.util.ArrayList;

importjava.util.List;

importedu.text.Bankinfo;

publicclassDboperate{/*

*数据库的连接

*/

publicConnectiongetConn(){

StringdriverName="

com.microsoft.sqlserver.jdbc.SQLServerDriver"

;

StringdbURL="

jdbc:

sqlserver:

//localhost:

1433;

DatabaseName=BANK"

StringuserName="

sa"

StringuserPwd="

631507030101"

Connectionconn=null;

try{

Class.forName(driverName);

conn=(Connection)DriverManager.getConnection(dbURL,userName,

userPwd);

//获取连接

}catch(ClassNotFoundExceptione){

e.printStackTrace();

}catch(SQLExceptione){

}//指定连接类型

returnconn;

/*

*数据库的关闭

*数据库插入记录

publicintinsert(Bankinfoban){

Connectionconn=getConn();

inti=0;

Stringsql="

insertintoBankinfo(Bname,Bno,Bcity,Barea,Bcount,Bstaffcount,Bmoney,Bgold)values(?

?

)"

PreparedStatementpst;

pst=conn.prepareStatement(sql);

pst.setString(1,ban.getBname());

pst.setString(2,ban.getBno());

pst.setString(3,ban.getBcity());

pst.setString(4,ban.getBarea());

pst.setInt(5,ban.getBcount());

pst.setInt(6,ban.getBstaffcount());

pst.setInt(7,ban.getBmoney());

pst.setInt(8,ban.getBgold());

i=pst.executeUpdate();

pst.close();

conn.close();

//TODOAuto-generatedcatchblock

returni;

*数据库得到所有记录

publicList<

Bankinfo>

getAllData(){

Connectionconn=getConn();

Stringsql="

select*fromBankinfo"

List<

bankinfos=newArrayList<

();

pst=(PreparedStatement)conn.prepareStatement(sql);

ResultSetresult=pst.executeQuery();

while(result.next()){

Bankinfoban=newBankinfo();

Stringbname=result.getString

(1);

ban.setBname(bname);

Stringbno=result.getString

(2);

ban.setBno(bno);

Stringbcity=result.getString(3);

ban.setBcity(bcity);

Stringbarea=result.getString(4);

ban.setBarea(barea);

intbcount=result.getInt(5);

ban.setBcount(bcount);

intbstaffcount=result.getInt(6);

ban.setBstaffcount(bstaffcount);

intbmoney=result.getInt(7);

ban.setBmoney(bmoney);

intbgold=result.getInt(8);

ban.setBgold(bgold);

bankinfos.add(ban);

}

returnbankinfos;

*删除记录

publicintdelete(intBno){

inti=0;

deletefromBankinfowhereBno="

+Bno;

pst=conn.prepareStatement(sql);

i=pst.executeUpdate();

*更新数据库记录

publicvoidupdate(intBno,Bankinfoban){

inti;

updateBankinfosetBname='

"

+ban.getBname()+"

'

Bno="

+ban.getBno()

+"

Bcity="

+ban.getBcity()

Barea="

+ban.getBarea()

Bcount="

+ban.getBcount()

Bstaffcount="

+ban.getBstaffcount()

Bmoney="

+ban.getBmoney()

Bgold="

+ban.getBgold()

whereBno="

*数据库的查询

search(Stringkey){

select*fromBankinfowhereBnamelike'

%"

+key+"

%'

orBnolike'

}

}

(3).对数据库操作接口Option.java

*系统的操作类

publicinterfaceOption{

*添加银行信息

publicabstractvoidaddStudent(Stringname,Stringname2,Stringname3,Stringname4,intkk1,intkk2,intkk3,intkk4);

/*

*显示所有的银行信息

*/

publicabstractvoidshowAll();

*显示银行信息

publicabstractvoidshowInfo(List<

banks);

*查询银行信息

publicabstractvoidsearch(Stringkey);

*更新银行信息

publicabstractvoidupdate(intbno);

*删除银行信息

publicabstractvoiddelete(intbno);

(4).对接口的实现

importjava.util.Iterator;

importjava.util.Scanner;

importedu.text.Dboperate;

publicclassOptionimpimplementsOption{

DboperatedbOperate=newDboperate();

@Override

publicvoidaddStudent(Stringbname,Stringbno,Stringbcity,Stringbarea,intbcount,intbstaffcount,intbmoney,intbgold){

Bankinfostudent=newBankinfo();

student.setBname(bname);

student.setBno(bno);

student.setBcity(bcity);

student.setBarea(barea);

student.setBcount(bcount);

student.setBstaffcount(bstaffcount);

student.setBmoney(bmoney);

student.setBgold(bgold);

dbOperate.insert(student);

this.showAll();

publicvoidshowInfo(List<

students){

System.out.println("

\t====================================================================="

);

Stringmsg="

\t银行名\t银行号\t所在城市\t所属区域\t银行数量\t员工数量\t现金储备\t黄金储备"

System.out.println(msg);

Iterator<

i=students.iterator();

while(i.hasNext()){

Bankinfostu=i.next();

if(stu!

=null){

Stringinf="

+stu.getBname()+"

+stu.getBno()+"

+stu.getBcity()+"

+stu.getBarea()

+stu.getBcount()+"

+stu.getBstaffcount()+"

+stu.getBmoney()+

"

+stu.getBgold();

System.out.println(inf);

publicvoidupdate(intbno){

Stringid=Integer.toString(bno);

student=dbOperate.search(id);

this.showInfo(student);

Bankinfostu=newBankinfo();

Scannerin=newScanner(System.in);

---更银行的名字---"

Stringbname=in.next();

stu.setBname(bname);

---更新银行的城市---"

Stringbcity=in.next();

stu.setBcit

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

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1