数据库系统工程师考试估题
下午试题目的是考能力,考“普遍性”的东西,而尽量避免“特殊性”。也就是说,考题不应该受考生个人特殊知识背景影响太大。象高程试题就是这样。即使是程序设计,还有C/C++的选择,也就是照顾到了不同,考生的知识背景,这样才是公平的。
我的个人看法是,下午试题中,出现数据流图、E-R图、案例分析与设计、数据库设计、SQL、UML这样的可能性比较大,另外这些概念也可能会考。JDBC基础教程之概述1.1什么是JDBCTM? JDBCTM是一种用于执行SQL语句的JavaTMAPI(有意思的是,JDBC本身是个商标名而不是一个缩写字;然而,JDBC常被认为是代表“Java数据库连接(JavaData
baseConnectivity)”)。它由一组用Java编程语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,使他们能够用纯JavaAPI来编写数据库应用程
序。 有了JDBC,向各种关系数据库发送SQL语句就是一件很容易的事。换言之,有了JDBCAPI,就不必为访问Sybase数据库专门写一个程序,为访问数据库又专门写一个程序,
为访问Informix数据库又写另一个程序,等等。您只需用JDBCAPI写一个程序就够了,它可向相应数据库发送SQL语句。而且,使用Java编程语言编写的应用程序,就无须去忧虑要为不同
的平台编写不同的应用程序。将Java和JDBC结合起来将使程序员只须写一遍程序就可让它在任何平台上运行。 Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是Java应用程序与各种不同数据库之间进行对话的方法。而JDBC正是作为此
种用途的机制。 JDBC扩展了Java的功能。例如,用Java和JDBCAPI可以发布含有applet的网页,而该applet使用的信息可能来自远程数据库。企业也可以用JDBC通过Int
ranet将所有职员连到一个或多个内部数据库中(即使这些职员所用的有Windows、Macintosh和UNIX等各种不同的操作系统)。随着越来越多的程序员开始使用Java编程语
言,对从Java中便捷地访问数据库的要求也在日益增加。 MIS管理员们都喜欢Java和JDBC的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发
期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务,Java和JDBC可为外部客户
提供获取信息更新的更好方法。 ODBC(OpenDatabaseConnectibvity)是被人们广泛接受的用于数据库访问的应用程序编程接口。对于数据库API,它以X/Open和ISO/IEC的Call-LevelInterface(CLI)规范为基础,并使用结构化查询语言(SQL)作为其数据库访问语言。ODBC是为最大的互用性而设计的,即一个应用程序用相同的源代码访问不同的数据库管理系统(DBMS)的能力。数据库应用程序在ODBC接口中调用函数,ODBC接口在叫做驱动程序的针对数据库的模块中实现。驱动程序的使用使应用程序从具体的数据库调用中隔离开来,这与打印机驱动程序将字处理程序与具体的打印机命令隔离开的方式是一样的。因为驱动程序在运行时才加载,所以,用户只需要增加一个新的驱动程序来访问新的DBMS,没有必要重新编译或者重新链接应用程序下午考试第五题猜想JDBC的所有基本功能,现在我们可以编写一个简单的程序,该程序打开数据库,打印它的表名以及某一表列的内容,然后对该数据库执行查询。此程序如下所示:importjava.sql.*;
publicclassJdbcOdbc_test{
ResultSetresults;
ResultSetMetaDatarsmd;
DatabaseMetaDatadma;
Connectioncon;
publicJdbcOdbc_test()throwsSQLException{
Stringurl="jdbc:odbc:Northwind";
try{
//加载JDBC-ODBC桥驱动程序
(————————————————————);
con=(————————————);//连接数据库
dma=(————————————);//获取数据库的元数据
System.out.println("Connectedto:"+dma.getURL());
System.out.println("Driver"+dma.getDriverName());
}catch(Exceptione){
System.out.println(e);
}
try{
Statementstmt=(————————————)
results=(———————————)ResultSetMetaData(————————————)intcols=(————————————)
StringresultRow="";
for(inti=1;i<cols;i++){
resultRow+=resultMetaData.getColumnName(i)+";";
}
System.out.println(resultRow);
while(————————————){
resultRow="";
for(inti=1;i<cols;i++){
try{
resultRow+=(————————————)+";";
}catch(NullPointerExceptione){
System.out.println(e.getMessage());
}
}
System.out.println(resultRow);
}
}catch(Exceptione){
System.out.println("queryexception");
}finally{
(————————————)
}
}
}
TAG:
