第一范式:表中的每个表元应该只有一个值(永远不可能是一个数组) 。(1NF)
第二范式:满足 1NF,并且每一个非主键列完全依赖于主键列 。这表示主键和该行中的剩余表元之间是 1 对 1 的关系 。(2NF)
第三范式:满足 2NF,并且所有非主键列是互相独立的 。任何一个数据列中包含的值都不能从其他列的数据计算得到 。(3NF)
现在,几乎所有的数据库都是基于“第三范式 (3NF)”创建的 。这意味着通常都有相当多的表,每个表中的信息列都相对较少 。
从数据库中获取数据
假设我们希望生成一个包含员工及其工资范围的表,在我们设计的一个练习中将使用这个表 。这个表格不是直接存在在数据库中,但可以通过向数据库发出一个查询来构建它 。我们希望得到如下所示的一个表:
Name Min Max
Tully $30,000.00 $45,000.00
Johnson $30,000.00 $45,000.00
Wolff $45,000.00 $60,000.00
Adams $45,000.00 $60,000.00
Smyth $60,000.00 $75,000.00
我们发现,获得这些表的查询形式如下所示
SELECT DISTINCTROW Employees.Name, SalaryRanges.Min,
SalaryRanges.Max FROM Employees INNER JOIN SalaryRanges ON Employees.SalaryKey = SalaryRanges.SalaryKey
ORDER BY SalaryRanges.Min;
这种语言称为结构化查询语言,即 SQL , 而且它是几乎目前所有数据库都可以使用的一种语言 。SQL-92 标准被认为是一种基础标准 , 而且已更新多次 。
数据库的种类
PC 上的数据库,如 dBase、Borland Paradox、Microsoft Access 和 FoxBase 。
数据库服务器:IBM DB/2、Microsoft SQL Server、 Oracle、Sybase、SQLBase 和 XDB 。
所有这些数据库产品都支持多种相对类似的 SQL 方言,因此,所有数据库最初看起来好象可以互换 。每种数据库都有不同的性能特征,而且每一种都有不同的用户界面和编程接口 。
ODBC
如果我们能够以某种方式编写不依赖于特定厂商的数据库的代码 , 并且能够不改变自己的调用程序即可从这些数据库中得到相同的结果 , 那将是一件很好的事 。如果我们可以仅为所有这些数据库编写一些封装 , 使它们具有相似的编程接口 , 这种对数据库编程独立于供应商的特性将很容易实现 。
什么是 JDBC?
JDBC 是对 ODBC API 进行的一种面向对象的封装和重新设计,它易于学习和使用 , 并且它真正能够使您编写不依赖厂商的代码,用以查询和操纵数据库 。尽管它与所有 Java API 一样,都是面向对象的,但它并不是很高级别的对象集.
除 Microsoft 之外,多数厂商都采用了 JDBC,并为其数据库提供了 JDBC 驱动程序;这使您可轻松地真正编写几乎完全不依赖数据库的代码 。另外,JavaSoft 和 Intersolv 已开发了一种称为 JDBC-ODBC Bridge 的产品,可使您连接还没有直接的 JDBC 驱动程序的数据库 。支持 JDBC 的所有数据库必须至少可以支持 SQL-92 标准 。这在很大程度上实现了跨数据库和平台的可移植性 。
安装和使用 JDBC
JDBC 的类都被归到 java.sql 包中,在安装 Java JDK 1.4时会自动安装 。然而,如果您想使用 JDBC-ODBC 桥 。JDBC-ODBC 驱动程序可从 Sun 的 Java 网站 () 轻松地找到并下载 。在您扩充并安装了这个驱动程序后,必须执行下列步骤:
将 \jdbc-odbc\classes; 路径添加到您的 PATH 环境变量中 。
将 \jdbc-odbc\classes; 路径添加到您的 CLASSPATH 环境变量中 。
JDBC 驱动程序的类型
Java 程序连接数据库的方法实际上有四种:
1. JDBC-ODBC 桥和 ODBC 驱动程序 -- 在这种方式下 , 这是一个本地解决方案,因为 ODBC 驱动程序和桥代码必须出现在用户的每台机器中 。从根本上说这是一个临时解决方案 。
推荐阅读
- apimfc和net类库的区别,net api
- 金河田电脑怎么调整硬盘,金河田电脑装系统教程
- 飞行梦想家游戏,飞行梦想家游戏怎么玩
- 直播平台java源代码 直播系统源代码
- Aix7.1编译Redis,编译redis报错
- postgresql时间截取的简单介绍
- vbnet下载 vbnet怎么打开
- 实时查看mysql查询日志的简单介绍
- 腾讯好的角色扮演游戏,腾讯好的角色扮演游戏叫什么