Atitit db access req数据库访问规范jdo jdbc jpa pdo sql

目录

1. 常见特性 1

1.1. 元数据 API 1

1.2. 分布式事务 vs事务中使用 Savepoint 1

1.3. 离线数据api 1

1.4. Ui数据绑定 2

1.5. 多数据集的支持 2

1.6. 分页访问数据的支持 2

1.7. 数据源的获取方式式多样 2

1.8. 数据库与数据对象化 2

2. BDE的性能比初期的ODBC 3

2.1. Jdbc 3

3. Jdo   jpa 4

4. Sql 5

5. Atitit 数据库抽象层jdbc pdo ado.net等比较与异常点 7

6. Ref 7

  1. 常见特性

    1. 元数据 API
    2. 分布式事务 vs事务中使用 Savepoint

ADO .NET不包括分布式事务的接口,ADO .NET的分布式事务是通过MS DTC统一管理的。JDBC本身就提供了对分布式事务支持的接口,不同的JDBC Driver实现了这一个接口,就支持分布式事务了。

  1. 离线数据api

ADO .NET最大的特性是对断开连接方式的全方位支持,其引入了DataSet、DataTable、DataRow等等对象,构建了一个“内存数据库”简化版本

DataAdapter把DataReader的数据填充到DataTable或者DataSet中,给使用者一个直观的使用方式

ADO .NET最大的优点是对断开连接访问数据库方式的强有力支持。相比起来,JDBC也引入类似的功能,RowSet,但是比起ADO .NET来,还是不够。

Php pdo好像没有离线数据api

  1. Ui数据绑定

ADO .NET还能够和ASP .NET和Windows Form的控件进行数据邦定,使得编写一些小程序很简单。

  1. 多数据集的支持
  2. 分页访问数据的支持
  3. 数据源的获取方式式多样

JDBC的数据源的获取方式多样:
  a、直接通过DriverManager.getConnection获得连接
  b、通过应用服务器的数据源获得连接。例如:

// Get the initial JNDI naming context
  Context ctx = new InitialContext();
  // Get the DataSource object associated with the logical name
  // "jdbc/AcmeDB" and use it to obtain a database connection
  DataSource ds = (DataSource)ctx.lookup("jdbc/AcmeDB");
  Connection con = ds.getConnection("user", "pwd");

.NET中,没有类似的咚咚。

  1. 数据库与数据对象化

关系数据库对象化、SQL99与JDBC3.0

随着许多关系数据库厂商开始提供对象化服务,各自的接口开始互不兼容,在经历一些麻烦之后,关系数据库厂商感觉到规范化的必要,因为当初关系数据库雄霸天下时SQL92标准起了很大作用,大家可以按照统一的编程方式来访问高性能的商用数据库。

关系数据库厂商集中起来,重新将对象化服务规范起来,形成了SQL99规范,将其中的对象结构等内容规范起来,开始一个崭新的面向对象的关系数据库(ORDBMS)的历程。

(···条消息)JDO之前世今生_sun2bin的专栏-CSDN博客

  1.  BDE的性能比初期的ODBC 

当市场上出现众多的数据库产品之后,Borland和微软都发现自己拥有的数据库产品挺多,市场也不小,不同的产品给用户带来不同的配置任务,不利于所有产品的推广,于是,两者纷纷开始制定数据库访问的规范,微软推出了ODBC,其面向开发人员的亲和性,逐步获得了认可,同时,Borland纠集了IBM和Novell也推出了IDAPI数据库接口规范,也就是今天BDE的核心,不过后来Novell和IBM先后退出,只剩Borland独力支撑。不过Borland是一个技术实力雄厚的公司,其技术一向领先于微软,BDE的性能比初期的ODBC不知道要好多少倍,后来微软偷师学艺,把连接池等技术加到ODBC中,在Delphi3.0及其BDE在市场上风光无限的时候,逐步赶了上来并有超过。直到今天,BDE仍是Borland的产品线上的数据库访问标准,而微软如果不是将ODBC和多数数据库的客户端内嵌进Windows的话,估计BDE仍是市场的赢家。不过,微软是玩弄市场的老手,通过对操作系统的垄断,其数据库产品和ODBC标准终究占据了多数开发市场。

————————————————

  1.  Jdbc

ava开始涉及数据库应用后,Sun就极力制定Java的数据库规范,JDBC API就是类似ODBC一样,对数据库访问的底层协议进行最基本的包装,然后形成一套统一的数据访问接口,数据库连接、SQL语句句柄、结果集,都带有ODBC的影子。以方便配置为目的,Sun极力推荐完全瘦客户端的TYPE 4型JDBC驱动,这是一个不需要安装数据库客户端的驱动规范,是现在使用最多的。当然,为了保持与旧的数据库兼容,JDBC规范中包括了专用于连接ODBC的TYPE 1驱动和需要安装数据库客户端的TYPE 2驱动,以及可以由厂商在数据库服务端专门提供面向JDBC的服务的TYPE 3驱动。

JDBC最早出现时,还不属于标准JDK的一部分,而是作为一个额外包提供下载。后来,随着Java编写的数据库应用的的增多,和JDBC规范本身的逐渐成熟,JDBC终于成为JDK1.1的一部分。

JDBC目前最新的是3.0版本,还有正在讨论中的4.0版本。实际上,在开发中使用得最多的还是1.0中的API,2.0中主要增加了可双向滚动的结果集、更新批处理等提高可用性和性能的API,3.0主要增加了连接池、可更新的结果集等特性。4.0将在可管理性、连接池规范化等方面再做改进。

————————————————

Atitit  jdbc3.0 新特性 【JDBC发展史】从JDBC1.0到JDBC4.0.html

目录

1. jdbc2.0 1

1.1. 1)数据源(DataSource)。 1

1.2. 2)连接池(ConnectionPoolDataSource)。 1

2. 四、JDBC 3.0 1

2.1. 元数据 API 2

2.2. CallableStatements 中已命名的参数 2

2.3. 检索自动产生的关键字 2

3. 五.JDBC 4.0 3

3.1. 6.对SQL XML的支持 3

3.2. 自动加载驱动 3

3.3. SQLExcpetion 的增强 3

  1. Jdo   jpa

JDO的全文是:Java Data Object,就是对象持久化的新的规范。也是一个用于存取某种数据仓库中的对象的标准化API。JDO提供了透明的对象存储,因此对开发人员来说,存储数据对象完全不需要额外的代码(如JDBC API的使用)。这些繁琐的例行工作已经转移到JDO产品提供商身上,使开发人员解脱出来,从而集中时间和精力在业务逻辑上。另外,JDO很灵活,因为它可以在任何数据底层上运行。JDBC只是面向关系数据库(RDBMS)JDO更通用,提供到任何数据底层的存储功能,比如关系数据库、文件、XML以及对象数据库(ODBMS)等等,使得应用可移植性更强

————————————————

2.2 数据库与数据对象化

数据库是企业级应用不可缺少的,因此,在面向对象流行的时候,数据库厂商也在进行着数据对象化的研究。这些研究在上个世纪八十年代就初现端倪。

数据库的对象化一般有两个方向:一个是在主流的关系数据库的基础上加入对象化特征,使之提供面向对象的服务,但访问语言还是基于SQL;另一个方向就是彻底抛弃关系数据库,用全新的面向对象的概念来设计数据库,这就是对象数据库ODBMS。

2.2.1 关系数据库对象化、SQL99与JDBC3.0

随着许多关系数据库厂商开始提供对象化服务,各自的接口开始互不兼容,在经历一些麻烦之后,关系数据库厂商感觉到规范化的必要,因为当初关系数据库雄霸天下时SQL92标准起了很大作用,大家可以按照统一的编程方式来访问高性能的商用数据库。

关系数据库厂商集中起来,重新将对象化服务规范起来,形成了SQL99规范,将其中的对象结构等内容规范起来,开始一个崭新的面向对象的关系数据库(ORDBMS)的历程。

JDBC3.0就是在这种情况下出台的,它将对关系数据库中的对象服务的访问API规范起来,为Java平台提供了访问ORDBMS的标准方式。当然,JDBC3.0对传统的SQL操作也进行了很多功能增强。

Oracle是一个传统的关系数据库厂商,在对象化的道路上,Oracle当然采取追加对象化特征的道路,以侵入数据对象化的市场,保持Oracle在数据库领域的领导地位。如果说Oracle7.4使Oracle走向全盛的话,从Oracle8开始,Oracle就成为关系数据库加对象类型的先驱。在Oracle8中,我们可以定义一些数据结构(Record),将普通的类型包装在其中成为数据元素,然后可以在客户端按Record结构进行访问,初步提供了面向对象的数据库服务。

2.2.2 对象数据库

对象数据库就是采用全新的面向对象概念来设计数据库的全新数据库类型。在这方面,主要以一些大学研究机构进行设计和开发,有些也形成了产品,不过由于市场方面的原因(主要是关系数据库的容易上手和市场绝对领导地位)和ODBMS先天的一些弱点(比如查询引擎很难优化),使ODBMS没有象关系数据库那样流行起来。

不过对象数据库的对象化特点还是令人割舍不下,目前还是有一些很好的产品在市场上,从商用的到免费的都用。目前在ODBMS领域占据领导地位的是Versant、FastObjects和ObjectStore等几大厂商,并且,市场份额也在逐步扩展。免费的产品包括C++编写的Ozone、纯Java的db4o等等。还有一些研究机构开发一些底层的面向对象数据库引擎,但只提供一些底层的API,不提供管理方面的功能,以及一些算法提供开放式接口,让厂商去选择和实现。比如美国威斯康新大学计算机系数据库组的SHORE引擎,就是一个非常出色的面向对象数据库引擎,现在还在积极的更新中,一些其它研究机构和数据库厂商采用它完成了自己的特别的对象数据库,比如专用于地理信息的数据库、专用于宇宙空间数据研究的数据库等等。

目前对象数据库最大的障碍是缺乏统一的规范,各个数据库厂商有各自的访问接口。对象数据库比起关系数据库来,不只是基本的几种数据类型那么简单,它还涉及继承处理、多态等一大堆面向对象特征的实现,规范化道路当然困难重重。这也是对象数据库无法普及的一个重要原因。

也有一些机构提出了一些建议的规范,比如制定Corba标准的OMG小组的一个分组ODMG提出的ODMG规范,目前已经是3.0版本,其中的OQL对象查询语言相当具有吸引力。还有一些中立的机构提出了其它的一些标准化的对象访问API,也可算是面向对象数据库的规范之一。象前面提到的FastObjects和Ozone就是符合ODMG3.0规范的。

————————————————

  1. Sql

8. Sql标准化 8

8.1. 1. Sql标准化的历史3 8

8.2. 1.1. Sql92标准4 8

8.3. 1.2. Sql99标准4 8

8.4. 1.3. SQL:2003为例,它包括以下9个部分 5 8

8.5. 1.4. Sql2006标准6 8

8.6. 1.5. Sql2008标准7 8

8.7. 1.6. SQL:2011 7 8

Atitit sql的标准化与新特性

目录

1. SQL标准分为十部分。 2

1.1. 第1部分:框架(SQL /框架)。它提供了逻辑概念。[41] 2

1.2. 第2部分:基础(SQL / Foundation)。它包含语言的最主要元素,并且包含强制性和可选性功能。 2

1.3. 第3部分:呼叫层介面(SQL / CLI)。它定义了接口组件(结构,过程,变量绑定),可用于执行以应用程序中的SQL语句 3

1.4. 第4部分:持久存储的模块(SQL / PSM) sp udf 3

1.5. 第9部分:外部数据管理(SQL / MED)。 3

1.6. 第10部分:对象语言绑定(SQL / OLB)。它定义了SQLJ的语法和语义,SQLJ是Java中嵌入的SQL(另请参见第3部分) 3

1.7. 第11部分:信息和定义架构(SQL / Schemata)。 4

1.8. 第13部分:使用Java TM编程语言(SQL / JRT) 4

1.9. 第14部分:与XML相关的规范(SQL / XML)。 4

1.10. 第15部分:多维数组(SQL / MDA)。 5

2. 废弃的步伐 5

3. Sql标准化的历史 5

3.1. 1986年 SQL-86 SQL-87 首先由ANSI规范化。 6

3.2. 1989年 SQL-89  ,增加了完整性约束 6

3.3. Sql92标准 7

3.3.1. ·定义了新的数据类型:DATE,TIME,TIMESTAMP, 8

3.3.2. ·新的标量运算,例如字符串连接和子字符串提取,日期和时间数学以及条件语句。 8

3.3.3. ·1996年的SQL / PSM(存储过程) 9

3.4. Sql99标准 9

3.4.1. 使用Java编程语言存储过程 10

3.4.2. 触发器,对过程和流程控制语句的支持 10

3.4.3. ,非标量类型(数组)和一些面向对象的功能(例如,结构化类型)。 10

3.4.4. 支持在Java(SQL / OLB)中嵌入SQL,反之亦然(SQL / JRT)。 10

3.5. SQL:2003为例,它包括以下9个部分 10

3.5.1. 与XML相关的功能(SQL / XML) 11

3.5.2. 窗口功能 11

3.5.3. ·两种新的列类型:自动生成的值和标识列 11

3.5.4. ·新的MERGE语句 11

3.5.5. ·对CREATE TABLE语句的扩展,以允许“ CREATE TABLE AS”和“ CREATE TABLE LIKE” 11

3.6. Sql2006标准 11

3.6.1. 可以使用XQuery 11

3.7. Sql2008标准 12

3.7.1. TRUNCATETABLE语句, 12

3.7.2. FETCH子句 12

3.7.3. INSTEAD 数据库触发器 12

3.7.4. 分区连接表, 12

3.7.5. 各种XQuery的正则表达式/模式匹配功能的支持,并 13

3.8. SQL:2011 13

3.9. 2016年 SQL:2016年  添加行模式匹配,多态表函数JSON。 14

3.10. 2019年 SQL:2019年  添加了第15部分,多维数组(MDarray类型和运算符)。 14

  1. Atitit 数据库抽象层jdbc pdo ado.net等比较与异常点

目录

1. 应该具有的功能 1

1.1. 元数据 API 1

1.2. 分布式事务 vs事务中使用 Savepoint 1

1.3. 离线数据api 1

1.4. Ui数据绑定 2

1.5. 多数据集的支持 2

1.6. 分页访问数据的支持 2

1.7. 数据源的获取方式式多样 2

2. 离线数据集合的填充方式 2

2.1. (1)从数据库直接获取数据 3

2.2. (2)用ResultSet填充 3

2.3. (3)用XML填充 3

2.4. (4)用其他方法填充 csv、excel、text、http等格式 4

3. 4、操作离线数据集的操作RowSet中的数据及元数据 4

3.1. 1)更新数据 4

3.2. (2)插入数据 4

3.3. (3)删除数据 4

3.4. (4)查询 4

3.5. (5)元数据 5

4. 类与方法对应表 5

5. Rf 5

  1. Ref

Atitit  sql art 艺术 attilax著 v4 u55.docx

Atitit  jdbc3.0 新特性 【JDBC发展史】从JDBC1.0到JDBC4.0.html

(···条消息)JDO与JPA哪个更好?_java_wu560130911的专栏-CSDN博客

Atitit db access req数据库访问规范jdo jdbc jpa pdo sql 目录 1. 常见特性 1 1.1. 元数据 API 1 1.2. 分布式事务 vs事务中使用 Sav相关推荐

  1. Oracle 数据库安装规范--database所在路径和归档目录所在路径必须分开

    database 所在路径和归档目录所在路径必须分开 此处说的database的所在路径是 指:redol log file 所在路径,datafile 所在路径,control file 所在路径 ...

  2. 【商业版】C# ASP.NET 通用权限管理系统组件源码中的数据库访问组件可以全面支持Access单机数据库了...

    可能在5年前还用过Access单机数据库但是后来很少用了,可能平时接触的都是大型管理类系统的开发工作大部分是Oracle.SQLServer数据库上做开发的,很少做一些小网站或者单机版本的东西,所以跟 ...

  3. 数据库访问抽象层系列-1(介绍数据库编程接口及数据库访问抽象层概念)

    摘要 本人最近完成了一个封装数据库访问抽象层的项目.我们开发的数据库访问抽象层作为分布式集群基础平台的一个组件.可以支持不同数据库编程接口(OCI.mysql.ODBC.pgsql)等.本系列博客主要 ...

  4. 【Java程序设计】JDBC与数据库访问

    JDBC与数据库访问 文章目录 JDBC与数据库访问 一.JDBC概述 (1)JDBC API (2)JDBC API的体系结构 (2)JDBC API的任务 (3)JDBC API中的重要接口和类 ...

  5. mysql的ole db 访问接口msdasql的数据源对象_数据库访问接口(ODBC,OLEDB,ADO)

    目录 数据库访问接口发展历史 ODBC历史 ODBC(Open Database Connectivity,开放数据库互连).要了解ODBC是什么,先了解一下数据库连接的相关知识.在最开始连接数据库时 ...

  6. vs2008 MFC访问Access 2010数据库

    MSDN给出了各种语言访问Access 2010的详细介绍:点击打开链接.下图列出了各种语言访问Access 2010的接口. 我在VS2008下使用MFC下的ODBC相关接口访问Access 201 ...

  7. Access数据库访问助手类

    using System; using System.Collections.Generic; using System.Text; using System.Data; using System.D ...

  8. 通过OleDB连接方式,访问Access,Excel数据库.

    通过OleDB连接方式,访问Access,Excel数据库. OleDbConnectionStringBuilder oleConStr = new OleDbConnectionStringBui ...

  9. c access mysql数据库_基于C#的Access MsSQL MySQL 三种数据库访问演示(含源文件Demo)...

    基于C#的Access MsSQL MySQL 三种数据库访问演示(含源文件Demo) 一.三种数据库的主要对比 数据库类型 特点 Microsoft Access 桌面数据库.数据库载体是单个文件 ...

  10. Atitit db analysis statistics tonjyi fsy数据库统计分析目录1. Atitit 数据库表与注释文档与统计(表,说明) 11.1. 获取表列表 数据库包含哪些

    Atitit db analysis statistics tonjyi fsy数据库统计分析 目录 1. Atitit 数据库表与注释文档与统计(表,说明)    1 1.1. 获取表列表 数据库包 ...

最新文章

  1. 原生js——四种对话框
  2. 黑马lavarel教程---9、缓存操作
  3. VTK:PolyData之CombineImportedActors
  4. Firefly 3288又一次制作android和lubuntu双系统固件
  5. Python 命令行之旅:使用 argparse 实现 git 命令
  6. C# 简单连接数据库并执行SQL查询语句
  7. CHI2019 ChewIt. An Intraoral Interface for Discreet Interactions
  8. 阿里云原生专家洛浩:详解Serverless的起源、发展和落地实践
  9. java学习资料整理(开发必备)
  10. java实现归并排序(详解)
  11. python实现多人脸识别
  12. Win10系统优化工具
  13. 《Efficient Android Threading》Chapter 3---Threads on Android (Android中的线程)
  14. ArcBlock 赴美国华盛顿州议会作证支持区块链立法
  15. python实现——40W告警日志分析(上)
  16. cugoj-1697梦回三国
  17. dw超链接标签_使用Dreamweaver制作网页超链接的详细图文教程--系统之家
  18. LSL学习笔记(4)
  19. 转:苹果CEO库克:伟大的想法来自不断拒绝接受现状
  20. Java整合腾讯云短信发送

热门文章

  1. python用turtle调整文字位置_Python内置模块turtle绘图详解
  2. image.open()得到的图片是什么类型_复古门窗花格图片大全让精彩生活继续闪耀 「巴森」...
  3. 如何调用畅捷通接口_用友金蝶多组织多账套的不同数据如何合并?
  4. BOOST库介绍(八)——deadline_timer
  5. 浅谈ajax同步、异步的问题
  6. ATL ActiveX开发入门
  7. BlackHat 2015:如何用洗衣机盗取计算机文件
  8. linux高编IO-------空洞文件
  9. 第二篇、python进阶篇
  10. 将html导出到excel或word