Java学习中的数据库和数据库开发⼯具
⼀、数据库
1、数据库,通常是⼀个戒⼀组⽂件,保存了⼀些符合特定规格的数据,数据库对应的英询单词是DataBase,简称DB;数据库软件称为数据库管理系统,英⽂简称DBMS,全称为DataBase Management System,例如:Oracle、MySQL、SQL Server、Sybase、informix、DB2等等。
2、⽆论你开发的是⼀款PC端的Web应⽤,还是⼀款移动端的app,都需要⼀个数据库来存储你的业务数据(包括电商的商品信息、游戏的道具信息、社交的⼈员信息等等)。可以说,数据库是后端系统最重要的存储组件。作为⼀名Java程序开发⼈员,你会发现你所完成的⼤部分代码逻辑最终都是在不断的与数据库进⾏交互。
⼆、MySQL数据库
1、MySQL是⼀个关系型的⼩型数据库管理系统。
在 WEB 应⽤⽅⾯是最好的关系数据库管理系统应⽤软件之⼀。市场占有率有20%左右。
它的优点有如下⼏⽅⾯:
(1)开源软件。
使⽤ C语⾔和 C++语⾔编写,以及使⽤了多种编译器进⾏测试,保证了源代码的可移植性。
(2)适⽤性⾼。
⽀持多种操作系统。⽀持多种存储引擎。能够作为⼀个单独的应⽤程序应⽤在客户端服务器⽹络环境中,也能够作为⼀个库⽽嵌⼊到其他的软件中。并且提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。
(3)为多种编程语⾔(包括C、C++、Python、Java、PHP等)提供了 API。
(4)⽀持多线程,充分利⽤cpu。
(5)使⽤优化了的 SQL语句查询算法,提⾼查询效率。
2、补充:
另外,如果Linux作为操作系统,Apache和 Nginx作为 Web 服务器,MySQL 作为数据库,PHP/Perl/Python作为服务器端脚本解释器。由于这四个软件都是免费的,因此使⽤这种⽅式不⽤花⼀分钱(除开⼈⼯成本)就可以建⽴起⼀个稳定、免费的⽹站系统,被业界称
为“LAMP“或“LNMP”组合。
所以也就是为什么很多新创业的公司或者中⼩型企业会使⽤mysql。
三、Oracle数据库
Oracle Database是甲⾻⽂公司研发的关系型的⼤型的数据库管理系统。
它是数据库领域的⽼⼤。可以说Oracle数据库管理系统是世界上⽬前最流⾏的关系型数据库管理系统,市场占有率达40%。
原因有如下⼏个⽅⾯:
(1)系统开放性⾼。(付费之后)
Oracle能在所有主流系统平台上运⾏。⽀持所有的⼯业标准。采⽤完全开放的策略。对开发商全⼒⽀持。使客户可以选择最适合的解决⽅案。
(2)可伸缩性、并⾏性⾼。
Oracle数据库系统以分布式数据库作为核⼼,并⾏服务器通过使⼀组结点共享同⼀簇中的⼯作来扩展w
indownt的能⼒,提供⾼可⽤性和⾼伸缩性的簇的解决⽅案。如果windowsNT不能满⾜需要,⽤户可以把数据库移到UNIX中。Oracle的并⾏服务器对各种UNIX平台的集机制都有着相当⾼的集成度。
(3)安全性⾼
Oracle数据库获得最⾼认证级别的ISO标准认证。
(4)性能优越
保持着开放平台下的TPC-D和TPC-C的世界记录。
(5)适⽤性⾼
多层次⽹络计算,⽀持多种⼯业标准,可以⽤ODBC、JDBC、OCI等⽹络客户连接。
(6)风险低
完全向下兼容的数据库系统。得到很⼴泛的应⽤。没有任何风险。
四、MySQL和Oracle的⽐较
(1)Oracle⽀持多任务处理,也就是⼤并发,⼤访问量,是联机事务处理过程(OLTP)最好的⼯具。⽽MySQL却不能⽀持过⼤的访问量。
(2)Oracle是付费的⼤型数据库;Mysql是开源的中⼩型数据库,Oracle市场占有率很⾼,Mysql⽐较低。
(3)两者安装使⽤的空间差距很⼤的,Mysql安装完后⼀百多兆,Oracle却有三千多兆,⽽且使⽤的时候Oracle占⽤特别⼤的内存空间和其他机器性能。
(4)Oracle的操作较复杂,同时提供GUI和命令⾏,在windowsNT和unix下操作相同。
⽽Mysql使⽤sql语⾔进⾏操作,⽐较简单。这也就造成⼀个⼈⼯成本问题,使⽤Oracle的公司,需要对数据库技术⼈员进⾏专门的培训,⽽MySQL却不⽤。
(5)给出现在⼀些知名公司数据库的配置:
⼀号店、JD:都是MySQL和Oracle的混合体系,还买了叼炸天的Oracle⼀体机(⼀台Oracle Exadata X5有24T内存,576核CPU,价格估计⼏千万到上亿⼈民币)
苏宁易购:是IBM⼀⼿打造的技术团队和技术体系,使⽤的是DB2、MySQL、Oracle的混合体系;
携程旅⾏:.NET技术为主,所以是以SQL Server为主、MySQL为辅的混合体系;
唯品会:也是MySQL和Oracle的混合体系;
亚马逊:选择的是Oracle+MongoDB。
fBay:⽤MySQL+MongoDB
五、JDBC
1、概念
(1)JDBC(Java DataBase Connectivity,java数据库连接)是⼀种⽤于执⾏SQL语句的Java API,可以为多种关系数据库提供统⼀访问,它由⼀组⽤Java语⾔编写的类和接⼝组成。JDBC提供了⼀种基准,据此可以构建更⾼级的⼯具和接⼝,使数据库开发⼈员能够编写数据库应⽤程序。
(2)有了JDBC,向各种关系数据发送SQL语句就是⼀件很容易的事。换⾔之,有了JDBC API,就不必为访问MySQL数据库专门写⼀个程序,为访问Oracle数据库⼜专门写⼀个程序,程序员只需⽤JDBC API写⼀个程序就够了,它可向相应数据库发送SQL调⽤。同时,将Java 语⾔和JDBC结合起来使程序员不必为不同的平台编写不同的应⽤程序,只须写⼀遍程序就可以让它在任何平台上运⾏,这也是Java语
⾔“编写⼀次,处处运⾏”的优势。
2、应⽤程序、JDBC API、数据库驱动及数据库之间的关系:
3、JDBC访问数据库步骤
(1)加载JDBC驱动程序(具体要加载哪⼀个数据库的驱动程序)
(2)建⽴数据库连接(驱动程序和数据库之间建⽴⼀条路径)
(3)创建Statement对象(负责发送SQL语句和接受查询结果)
(4)执⾏SQL语句(Statement对象的execuQuery()⽅法)
(5)处理返回结果
(6)关闭创建的对象
六、MySQL-Front
1、使⽤mysql数据库的时候,我们尽可能希望就像使⽤SQL Server⼀样有⼀个图形化⼯具,来⽅便我们的操作。其实mysql也有它的图形化⼯具,还有好多种⽐如MySQL GUI Tools、MySQL-Front等。
2、mysql-front是为mysql制作的⼀种图形化界⾯⼯具,可以管理和操作数据库,⽐如建表,修改数据,拖拽⽅式的数据库和表格,可编辑/可增加/删除的域,可编辑/可插⼊/删除的记录,可显⽰的成员,可执⾏的SQL脚本,提供与外程序接⼝,保存数据到CSV⽂件等。
七、Oracle SQL Developer和SQL Plus
1、Oracle SQL Developer
Oracle SQL Developer是Oracle公司出品的⼀个免费的集成开发环境。是⼀个免费⾮开源的⽤以开发
数据库应⽤程序的图形化⼯具,使⽤SQL Developer 可以浏览数据库对象、运⾏ SQL 语句和脚本、编辑和调试 PL/SQL 语句。另外还可以创建执⾏和保存报表。
2、SQL Plus
SQL Plus是Oracle⾃带的数据库管理客户端,可以在这⾥编辑SQL语句执⾏,是命令⾏模式的。
借助SQL Plus可以查看、修改数据库记录。在SQL Pluss中,可以运⾏SQL Plus命令与SQL语句。
3、SQL Plus是Oracle⾃带的数据库管理客户端,安装Oracle软件时会⾃动安装上SQL Plus这个开发⼯具。
SQL Developer是Oracle公司⾃⼰推出的官⽅的开发⼯具。不过,我们在安装甲⾻⽂(Oracle)公司的其中⼀个 数据库软件Oracle 11g 时,在安装的过程中,系统也会附带的同时安装上SQL Plus和SQL Developer这两个开发⼯具。
⼆者在Oracle 11g上⾃带安装:
如图,Oracle 11g的两种SQL执⾏环境:
在学习Oracle数据库知识时,我们⼜发现SQL Developer⽐SQL Plus更加⼈性化,⽅便。
⼋、PL/SQL Developer
PL/SQL Developer是⼀个集成开发环境,专门开发⾯向Oracle数据库的应⽤。PL/SQL也是⼀种程序语⾔,叫做过程化SQL语⾔(Procedural Language/SQL)。PL/SQL是Oracle数据库对SQL语句的扩展。在普通SQL语句的使⽤上增加了编程语⾔的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。PL/SQL 只有Oracle 数据库有。 MySQL ⽬前不⽀持 PL/SQL 的,但⽀持Navicat Premium。
九、Oracle的⼏个开发⼯具
Oracle 数据库并不提供图形界⾯的开发环境,只是⾃带了⼀个类似于 CMD 的 SQL Plus 开发⼯具,所以需要其他的集成开发软件。 总的来说,Oracle的开发⼯具为:
(1)SQL Plus,Oracle软件⾃带了⼀个类似于 CMD 的 SQL Plus 开发⼯具。
(2)Oracle SQL Developer,SQL Developer是Oracle公司⾃⼰推出的官⽅的免费的开发⼯具。在数据库软件Oracle 11g中,已经内嵌到数据库的安装程序中去了,相当于Oracle软件⾃带的开发⼯具了。
(3)PL/SQL Developer,是第三⽅的Oracle客户端开发⼯具,服务于Oracle,类似的⼯具还有Toad,SQL Plus,Oracle SQL Developer等等。安装PL/SQL Developer与安装Oracle软件没啥关系,但是如果没有Oracle客户端,安装PL/SQL Developer就没啥意义。
(4)Toad,Oracle数据库的第三⽅⼯具,当今oracle数据库主流⼯具之⼀。Toad⾥⾯与Oracle数据库的功能,基本上都可以在Oracle⾃带的SQL Plus⾥⾯实现。只是他把很多的命令图形化了,可以让记不住命令的⼈快速⼊门,帮助⼈更加⽅便的管理数据库。
总之,⼀般的开发使⽤Orale SQL Deveploer就可以了,⽽且是免费的,后两个是商业软件,需要授权费⽤。
⼗、Oracle SQL Developer和PL/SQL Developer
1、Oracle SQL Developer:
(1)SQL Developer⽬前已经⽀持Windows,Mac OS X,Linux系统,其具有多平台性(fedora、ubuntu等桌⾯级linux上唯⼀可⽤的图形化开发⼯具)。
(2)免费。
(3)除了可以连接oracle数据库以外,sybase、mysql、mssqlserver、MS Access等数据库也可以访问查看数据。
(4)同⼀个界⾯可以登陆多个数据库,⽅便在多个数据库之间操作。虽然这不是什么复杂的功能,但是,PL/SQL Developer却做不到。⽽且,Oracle SQL Developer的插件⽐较丰富。
(5)⽀持⾃定义快捷键可以实现组合键清空界⾯、组合键复制代码等快捷操作。
(6)⽐较占⽤内存消耗资源较多,这是缺点也是优点,缺点是相对消耗资源,优点是由于占⽤较多内存在执⾏⼏⼗、⼏百条sql的效率上很⾼,不像PL/SQL Dev还要有⼀个初始化的动作。
(7)Oracle SQL Developer,是Oracle官⽅⾃⼰出的⼯具,11g已经内嵌到数据库的安装⾥去了,也提供⽐较好的开发和管理的功能。其中带有的migration tools是此⼯具的⼀亮点,可以对异构或者同构的数据库进⾏数据迁移,在mysql和ms sql上都做个不是很复杂的迁移,还是很⽅便和实⽤的。⽽且该⼯具最好的⼀点是 java开发,使⽤的jdbc的连接⽅式,所以即使没有安装客户端也可以通过thin的⽅式连接。
2、PL/SQL Developer
(1)PL/SQL Developer只能在Windows上使⽤。
(2)PL/SQL Dev是⽼牌的开发⼯具,稳定性很⾼。
(3)新版本也开始⽀持其他数据库的连接,但⽀持的种类还是不够全。
(4)要同时访问多个数据库的话需要启动多个软件界⾯。
(5)不⽀持⾃定义快捷键,但是界⾯上的按键也⾜够开发者使⽤了。
(6)资源占⽤很少。mongodb和mysql结合
(7)HTML Manual功能可以将从Oracle下载的官⽅⽂档直接索引到⾃⼰的帮助当中,尤其适合不能上⽹的环境,即便能上⽹,在这个⾥⾯搜索⼀些语法、错误号等效率也是很⾼的。
(8)report窗⼝⽀持直接从⽤sql当中选取表的字段来做成图表,例如饼、曲线、柱状、雷达图等,可以另存为PDF、图⽚等。
(9)⽀持select * from xxx for update的修改⽅式,SQL Developer貌似不⽀持。
(10)PL/SQL需要安装Oracle的客户端,并且需要配置tnsname。
3、⼩结:两种⼯具⼤致上功能都是⼀样的。PL/SQL Developer还是⽐较主流的,在开发和管理上都
⽐较⽅便,还⽀持导⼊、导出功能。⽬前使⽤PL/SQL Developer的Oracle DBA或者开发⼈员占据了超过60%,⽽其中绝⼤部分都在使⽤破解版。这两个⼯具在开发和管理上,PL/SQL胜出⼀筹。但是在迁移功能和跨平台上,SQL Developer⼜展现出它⼀⼤亮点。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。