导航:首页 > 机械知识 > 机械数据库名称有哪些

机械数据库名称有哪些

发布时间:2021-12-09 23:11:52

❶ 请问数据库有哪些种类呢

数据库可以从是否是关系型维度来区分,也可以从面向操作或面向数据分析方面来区分。

Operational-Relational Database:

Analytical-Relational Database:

Operational-Nonrelational Database:

Analytical -Nonrelational Database:

❷ 数据库有哪几种

一、关系数据库

关系型数据库,存储的格式可以直观地反映实体间的关系。关系型数据库和常见的表格比较相似,关系型数据库中表与表之间是有很多复杂的关联关系的。

常见的关系型数据库有Mysql,SqlServer等。在轻量或者小型的应用中,使用不同的关系型数据库对系统的性能影响不大,但是在构建大型应用时,则需要根据应用的业务需求和性能需求,选择合适的关系型数据库。

虽然关系型数据库有很多,但是大多数都遵循SQL(结构化查询语言,Structured Query Language)标准。 常见的操作有查询,新增,更新,删除,求和,排序等。

查询语句:SELECT param FROM table WHERE condition 该语句可以理解为从 table 中查询出满足 condition 条件的字段 param。

新增语句:INSERT INTO table (param1,param2,param3) VALUES (value1,value2,value3) 该语句可以理解为向table中的param1,param2,param3字段中分别插入value1,value2,value3。

更新语句:UPDATE table SET param=new_value WHERE condition 该语句可以理解为将满足condition条件的字段param更新为 new_value 值。

删除语句:DELETE FROM table WHERE condition 该语句可以理解为将满足condition条件的数据全部删除。

去重查询:SELECT DISTINCT param FROM table WHERE condition 该语句可以理解为从表table中查询出满足条件condition的字段param,但是param中重复的值只能出现一次。

排序查询:SELECT param FROM table WHERE condition ORDER BY param1该语句可以理解为从表table 中查询出满足condition条件的param,并且要按照param1升序的顺序进行排序。

总体来说, 数据库的SELECT,INSERT,UPDATE,DELETE对应了我们常用的增删改查四种操作。

关系型数据库对于结构化数据的处理更合适,如学生成绩、地址等,这样的数据一般情况下需要使用结构化的查询,例如join,这样的情况下,关系型数据库就会比NoSQL数据库性能更优,而且精确度更高。

由于结构化数据的规模不算太大,数据规模的增长通常也是可预期的,所以针对结构化数据使用关系型数据库更好。关系型数据库十分注意数据操作的事务性、一致性,如果对这方面的要求关系型数据库无疑可以很好的满足。

二、非关系型数据库(NoSQL)

随着近些年技术方向的不断拓展,大量的NoSql数据库如MongoDB、Redis、Memcache出于简化数据库结构、避免冗余、影响性能的表连接、摒弃复杂分布式的目的被设计。

指的是分布式的、非关系型的、不保证遵循ACID原则的数据存储系统。NoSQL数据库技术与CAP理论、一致性哈希算法有密切关系。所谓CAP理论,简单来说就是一个分布式系统不可能满足可用性、一致性与分区容错性这三个要求,一次性满足两种要求是该系统的上限。

而一致性哈希算法则指的是NoSQL数据库在应用过程中,为满足工作需求而在通常情况下产生的一种数据算法,该算法能有效解决工作方面的诸多问题但也存在弊端,即工作完成质量会随着节点的变化而产生波动,当节点过多时,相关工作结果就无法那么准确。

这一问题使整个系统的工作效率受到影响,导致整个数据库系统的数据乱码与出错率大大提高,甚至会出现数据节点的内容迁移,产生错误的代码信息。

但尽管如此,NoSQL数据库技术还是具有非常明显的应用优势,如数据库结构相对简单,在大数据量下的读写性能好;能满足随时存储自定义数据格式需求,非常适用于大数据处理工作。

NoSQL数据库适合追求速度和可扩展性、业务多变的应用场景。

对于非结构化数据的处理更合适,如文章、评论,这些数据如全文搜索、机器学习通常只用于模糊处理,并不需要像结构化数据一样,进行精确查询,而且这类数据的数据规模往往是海量的,数据规模的增长往往也是不可能预期的;

而NoSQL数据库的扩展能力几乎也是无限的,所以NoSQL数据库可以很好的满足这一类数据的存储。

NoSQL数据库利用key-value可以大量的获取大量的非结构化数据,并且数据的获取效率很高,但用它查询结构化数据效果就比较差。

目前NoSQL数据库仍然没有一个统一的标准,它现在有四种大的分类:

1、键值对存储(key-value):代表软件Redis,它的优点能够进行数据的快速查询,而缺点是需要存储数据之间的关系。

2、列存储:代表软件Hbase,它的优点是对数据能快速查询,数据存储的扩展性强。而缺点是数据库的功能有局限性。

3、文档数据库存储:代表软件MongoDB,它的优点是对数据结构要求不特别的严格。而缺点是查询性的性能不好,同时缺少一种统一查询语言。

4、图形数据库存储:代表软件InfoGrid,它的优点可以方便的利用图结构相关算法进行计算。而缺点是要想得到结果必须进行整个图的计算,而且遇到不适合的数据模型时,图形数据库很难使用。

安全

数据库安全涉及保护数据库内容、其所有者和用户的所有各个方面。它的范围从防止有意的未经授权的数据库使用到未经授权的实体(例如,个人或计算机程序)无意的数据库访问。

数据库访问控制涉及控制谁(一个人或某个计算机程序)可以访问数据库中的哪些信息。该信息可以包括特定的数据库对象(例如,记录类型、特定记录、数据结构);

对特定对象的特定计算(例如,查询类型或特定查询),或者使用到前者的特定访问路径(例如,使用特定索引)或其他数据结构来访问信息)。

数据库访问控制由使用专用受保护安全 DBMS 接口的特别授权(由数据库所有者)人员设置。

这可以在个人基础上直接管理,或者通过将个人和特权分配给组,或者(在最复杂的模型中)通过将个人和组分配给角色,然后授予权利。数据安全可防止未经授权的用户查看或更新数据库。使用密码,用户可以访问整个数据库或它的子集,称为“子模式”。

例如,员工数据库可以包含有关单个员工的所有数据,但一组用户可能仅被授权查看工资数据,而其他用户仅被允许访问工作历史和医疗数据。如果 DBMS 提供了一种交互式输入和更新数据库以及查询数据库的方法,则此功能允许管理个人数据库。

数据安全通常涉及保护特定的数据块,包括物理保护(即免受损坏、破坏或移除;例如,参见物理安全),或将它们或它们的一部分解释为有意义的信息(例如,通过查看它们组成的位串,得出特定的有效信用卡号;例如,参见数据加密)。

更改和访问日志记录谁访问了哪些属性、更改了什么以及何时更改。日志服务通过保留访问发生和更改的记录,允许以后进行取证数据库审计。有时应用程序级代码用于记录更改而不是将其留给数据库。可以设置监控以尝试检测安全漏洞。

以上内容参考网络-数据库

机械设计常用数据库有哪些

标准件库、通用件库(各个行业不同)

❹ 数据库都有哪些

数据库是一组信息的集合,以便可以方便地访问、管理和更新,常用数据库有:1、关系型数据库;2、分布式数据库;3、云数据库;4、NoSQL数据库;5、面向对象的数据库;6、图形数据库。

计算机数据库通常包含数据记录或文件的聚合,例如销售事务、产品目录和库存以及客户配置文件。

通常,数据库管理器为用户提供了控制读写访问、指定报表生成和分析使用情况的能力。有些数据库提供ACID(原子性、一致性、隔离性和持久性)遵从性,以确保数据的一致性和事务的完整性。

数据库普遍存在于大型主机系统中,但也存在于较小的分布式工作站和中端系统中,如IBM的as /400和个人计算机。

数据库的演变

数据库从1960年代开始发展,从层次数据库和网络数据库开始,到1980年代的面向对象数据库,再到今天的SQL和NoSQL数据库和云数据库。

一种观点认为,数据库可以按照内容类型分类:书目、全文、数字和图像。在计算中,数据库有时根据其组织方法进行分类。有许多不同类型的数据库,从最流行的方法关系数据库到分布式数据库、云数据库或NoSQL数据库。

常用数据库:

1、关系型数据库

关系型数据库是由IBM的E.F. Codd于1970年发明的,它是一个表格数据库,其中定义了数据,因此可以以多种不同的方式对其进行重组和访问。

关系数据库由一组表组成,其中的数据属于预定义的类别。每个表在一个列中至少有一个数据类别,并且每一行对于列中定义的类别都有一个特定的数据实例。

结构化查询语言(SQL)是关系数据库的标准用户和应用程序接口。关系数据库易于扩展,并且可以在原始数据库创建之后添加新的数据类别,而不需要修改所有现有应用程序。

2、分布式数据库

分布式数据库是一种数据库,其中部分数据库存储在多个物理位置,处理在网络中的不同点之间分散或复制。

分布式数据库可以是同构的,也可以是异构的。同构分布式数据库系统中的所有物理位置都具有相同的底层硬件,并运行相同的操作系统和数据库应用程序。异构分布式数据库中的硬件、操作系统或数据库应用程序在每个位置上可能是不同的。

3、云数据库

云数据库是针对虚拟化环境(混合云、公共云或私有云)优化或构建的数据库。云数据库提供了一些好处,比如可以按每次使用支付存储容量和带宽的费用,还可以根据需要提供可伸缩性和高可用性。

云数据库还为企业提供了在软件即服务部署中支持业务应用程序的机会。

4、NoSQL数据库

NoSQL数据库对于大型分布式数据集非常有用。

NoSQL数据库对于关系数据库无法解决的大数据性能问题非常有效。当组织必须分析大量非结构化数据或存储在云中多个虚拟服务器上的数据时,它们是最有效的。

5、面向对象的数据库

使用面向对象编程语言创建的项通常存储在关系数据库中,但是面向对象数据库非常适合于这些项。

面向对象的数据库是围绕对象(而不是操作)和数据(而不是逻辑)组织的。例如,关系数据库中的多媒体记录可以是可定义的数据对象,而不是字母数字值。

6、图形数据库

面向图形的数据库是一种NoSQL数据库,它使用图形理论存储、映射和查询关系。图数据库基本上是节点和边的集合,其中每个节点表示一个实体,每个边表示节点之间的连接。

图形数据库在分析互连方面越来越受欢迎。例如,公司可以使用图形数据库从社交媒体中挖掘关于客户的数据。

访问数据库:DBMS和RDBMS

数据库管理系统(DBMS)是一种允许您定义、操作、检索和管理存储在数据库中的数据的软件。

关系数据库管理系统(RDBMS)是上世纪70年代开发的一种基于关系模型的数据库管理软件,目前仍然是最流行的数据库管理方法。

Microsoft SQL Server、Oracle数据库、IBM DB2和MySQL是企业用户最常用的RDBMS产品。DBMS技术始于20世纪60年代,支持分层数据库,包括IBM的信息管理系统和CA的集成数据库管理系统。一个关系数据库管理系统(RDBMS)是一种数据库管理软件是在20世纪70年代开发的,基于关系模式,仍然是管理数据库的最普遍的方式。

希望能帮助你还请及时采纳谢谢

❺ 数据库有哪些

目前比较常见的数据库:

目前,这些数据库都在树懒学堂有相关教程,可以跟着一步一步学习

❻ 数据库都有哪些有几种呀

VF
access
mysql
===
这些z在www.iyuanma.com这里都下的
还有不少有关这方面的资料

❼ 什么是数据库

什么是数据库?

数据库是以某种文件结构存储的一系列信息表,这种文件结构使您能够访问这些表、选择表中的列、对表进行排序以及根据各种标准选择行。数据库通常有多个 索引与这些表中的许多列相关联,所以我们能尽可能快地访问这些表。

以员工记录为例,您可以设想一个含有员工姓名、地址、工资、扣税以及津贴等内容的表。让我们考虑一下这些内容可能如何组织在一起。您可以设想一个表包含员工姓名、地址和电话号码。您希望保存的其它信息可能包括工资、工资范围、上次加薪时间、下次加薪时间、员工业绩评定等内容。

这些内容是否应保存在一个表格中?几乎可以肯定不应该如此。不同类别的员工的工资范围可能没有区别;这样,您可以仅将员工类型储存在员工记录表中,而将工资范围储存在另一个表中,通过类型编号与这个表关联。考虑以下情况:

Key Lastname SalaryType SalaryType Min Max
1 Adams 2 1 30000 45000
2 Johnson 1 2 45000 60000
3 Smyth 3 3 60000 75000
4 Tully 1
5 Wolff 2

SalaryType 列中的数据引用第二个表。我们可以想象出许多种这样的表,如用于存储居住城市和每个城市的税值、健康计划扣除金额等的表。每个表都有一个主键列(如上面两个表中最左边的列)和若干数据列。在数据库中建立表格既是一门艺术,也是一门科学。这些表的结构由它们的范式指出。我们通常说表属于1NF、2NF 或 3NF。

第一范式:表中的每个表元应该只有一个值(永远不可能是一个数组)。(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 网站 (http://java.sun.com/) 轻松地找到并下载。在您扩充并安装了这个驱动程序后,必须执行下列步骤:

将 \jdbc-odbc\classes; 路径添加到您的 PATH 环境变量中。

将 \jdbc-odbc\classes; 路径添加到您的 CLASSPATH 环境变量中。

JDBC 驱动程序的类型

Java 程序连接数据库的方法实际上有四种:

1. JDBC-ODBC 桥和 ODBC 驱动程序 -- 在这种方式下,这是一个本地解决方案,因为 ODBC 驱动程序和桥代码必须出现在用户的每台机器中。从根本上说这是一个临时解决方案。

2. 本机代码和 Java 驱动程序 -- 它用另一个本地解决方案(该平台上的 Java 可调用的本机代码)取代 ODBC 和 JDBC-ODBC 桥。

3. JDBC 网络的纯 Java 驱动程序 -- 由 Java 驱动程序翻译的 JDBC 形成传送给服务器的独立协议。然后,服务器可连接任何数量的数据库。这种方法使您可能从客户机 Applet 中调用服务器,并将结果返回到您的 Applet。在这种情况下,中间件软件提供商可提供服务器。

4. 本机协议 Java 驱动程序 -- Java 驱动程序直接转换为该数据库的协议并进行调用。这种方法也可以通过网络使用,而且可以在 Web 浏览器的 Applet 中显示结果。在这种情况下,每个数据库厂商将提供驱动程序。

如果您希望编写代码来处理 PC 客户机数据库,如 dBase、Foxbase 或 Access,则您可能会使用第一种方法,并且拥有用户机器上的所有代码。更大的客户机-服务器数据库产品(如 IBM 的 DB2)已提供了第 3 级别的驱动程序。

两层模型和三层模型

当数据库和查询它的应用程序在同一台机器上,而且没有服务器代码的干预时,我们将生成的程序称为两层模型。一层是应用程序,而另一层是数据库。在 JDBC-ODBC 桥系统中通常是这种情况。

当一个应用程序或 applet 调用服务器,服务器再去调用数据库时,我们称其为三层模型。当您调用称为“服务器”的程序时通常是这种情况。

编写 JDBC 代码访问数据库

用 ODBC 注册您的数据库
连接数据库

所有与数据库有关的对象和方法都在 java.sql 包中,因此在使用 JDBC 的程序中必须加入 "import java.sql.* "。 JDBC 要连接 ODBC 数据库,您必须首先加载 JDBC-ODBC 桥驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

该语句加载驱动程序,并创建该类的一个实例。然后,要连接一个特定的数据库,您必须创建 Connect 类的一个实例,并使用 URL 语法连接数据库。

String url = "jdbc:odbc:Northwind";
Connection con = DriverManager.getConnection(url);

请注意,您使用的数据库名是您在 ODBC 设置面板中输入的“数据源”名称。

URL 语法可能因数据库类型的不同而变化极大。

jdbc:subprotocol:subname

第一组字符代表连接协议,并且始终是 jdbc。还可能有一个子协议,在此处,子协议被指定为 odbc。它规定了一类数据库的连通性机制。如果您要连接其它机器上的数据库服务器,可能也要指定该机器和一个子目录:

jdbc:bark//doggie/elliott

最后,您可能要指定用户名和口令,作为连接字符串的一部分:

jdbc:bark//doggie/elliot;UID=GoodDog;PWD=woof

访问MSSQL Server方法:(驱动程序需要:msutil.jar,msbase.jar,mssqlServer.jar)
DBDriver=com.microsoft.jdbc.sqlserver.SQLServerDriver
URL=jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=demo
username=sa
password=
maxcon=10
mincon=1
poolName=SkyDev

利用我们开发的数据库类,使用方法如下:

DbObject DbO = new DbObject(new SqlServerConnectionFactory("localhost",
1433, "demo", "sa", ""));
Connection con = DbO.getConnection();
//类代码(不含连接工厂实现)
package skydev.moles.data;

public final class SqlServerConnectionFactory
extends ConnectionFactory {
private final String dbDriver =
"com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String host;
private int port;
private String databaseName;

public SqlServerConnectionFactory() {
super.setDriverName(dbDriver);
}

/**
*
* @param host 数据库所在的主机名:如"localhost"
* @param port SQL服务器运行的端口号,如果使用缺省值 1433,传入一个负数即可
* @param databaseName 数据库名称
* @param userName 用户名
* @param password 口令
*/
public SqlServerConnectionFactory(String host,
int port,
String databaseName,
String userName,
String password) {
this.setHost(host);
this.setPort(port);
this.setDatabaseName(databaseName);
this.setUserName(userName);
this.setPassword(password);

init();
}

private void init() {
super.setDriverName(dbDriver);
super.setUrl("jdbc:microsoft:sqlserver://" + host.trim() + ":" +
new Integer(port).toString() + ";DatabaseName=" +
databaseName.trim());
//super.setUrl("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=demo");
}
……

//------------------------------------------------------------------------------------

访问MySQL的方法:

DBDriver=com.mysql.jdbc.Driver
URL=jdbc:mysql://localhost/demo
username=
password=
maxcon=5
mincon=1
poolName=zhengmao
访问数据库

一旦连接到数据库,就可以请求表名以及表列的名称和内容等信息,而且您可以运行 SQL 语句来查询数据库或者添加或修改其内容。可用来从数据库中获取信息的对象有:

DatabaseMetaData 有关整个数据库的信息:表名、表的索引、数据库产品的名称和版本、数据库支持的操作。

ResultSet 关于某个表的信息或一个查询的结果。您必须逐行访问数据行,但是您可以任何顺序访问列。

ResultSetMetaData 有关 ResultSet 中列的名称和类型的信息。

尽管每个对象都有大量的方法让您获得数据库元素的极为详细的信息,但在每个对象中都有几种主要的方法使您可获得数据的最重要信息。然而,如果您希望看到比此处更多的信息,建议您学习文档以获得其余方法的说明。

ResultSet

ResultSet 对象是 JDBC 中最重要的单个对象。从本质上讲,它是对一个一般宽度和未知长度的表的一种抽象。几乎所有的方法和查询都将数据作为 ResultSet 返回。ResultSet 包含任意数量的命名列,您可以按名称访问这些列。它还包含一个或多个行,您可以按顺序自上而下逐一访问。在您使用 ResultSet 之前,必须查询它包含多少个列。此信息存储在 ResultSetMetaData 对象中。

//从元数据中获得列数
ResultSetMetaData rsmd;
rsmd = results.getMetaData();
numCols = rsmd.getColumnCount();

当您获得一个 ResultSet 时,它正好指向第一行之前的位置。您可以使用 next() 方法得到其他每一行,当没有更多行时,该方法会返回 false。由于从数据库中获取数据可能会导致错误,您必须始终将结果集处理语句包括在一个 try 块中。

您可以多种形式获取 ResultSet 中的数据,这取决于每个列中存储的数据类型。另外,您可以按列序号或列名获取列的内容。请注意,列序号从 1 开始,而不是从 0 开始。ResultSet 对象的一些最常用方法如下所示。

getInt(int); 将序号为 int 的列的内容作为整数返回。

getInt(String); 将名称为 String 的列的内容作为整数返回。

getFloat(int); 将序号为 int 的列的内容作为一个 float 型数返回。

getFloat(String); 将名称为 String 的列的内容作为 float 型数返回。

getDate(int); 将序号为 int 的列的内容作为日期返回。

getDate(String); 将名称为 String 的列的内容作为日期返回。

next(); 将行指针移到下一行。如果没有剩余行,则返回 false。

Close(); 关闭结果集。

getMetaData(); 返回 ResultSetMetaData 对象。

ResultSetMetaData

您使用 getMetaData() 方法从 ResultSet 中获取 ResultSetMetaData 对象。您可以使用此对象获得列的数目和类型以及每一列的名称。

getColumnCount(); 返回 ResultSet 中的列数。
getColumnName(int); 返回列序号为 int 的列名。
getColumnLabel(int); 返回此列暗含的标签。
isCurrency(int); 如果此列包含带有货币单位的一个数字,则返回 true。
isReadOnly(int); 如果此列为只读,则返回 true。
isAutoIncrement(int); 如果此列自动递增,则返回 true。这类列通常为键,而且始终是只读的。
getColumnType(int); 返回此列的 SQL 数据类型。这些数据类型包括

BIGINT
BINARY
BIT
CHAR
DATE
DECIMAL
DOUBLE
FLOAT
INTEGER
LONGVARBINARY
LONGVARCHAR
NULL
NUMERIC
OTHER
REAL
SMALLINT
TIME
TIMESTAMP
TINYINT
VARBINARY
VARCHAR

DatabaseMetaData

DatabaseMetaData 对象可为您提供整个数据库的信息。您主要用它获取数据库中表的名称,以及表中列的名称。由于不同的数据库支持不同的 SQL 变体,因此,也有多种方法查询数据库支持哪些 SQL 方法。

getCatalogs() 返回该数据库中的信息目录列表。使用 JDBC-ODBC Bridge 驱动程序,您可以获得用 ODBC 注册的数据库列表。这很少用于 JDBC-ODBC 数据库。

getTables(catalog, schema,tableNames, columnNames) 返回表名与 tableNames 相符而且列名与 columnNames 相符的所有表的说明。

getColumns(catalog, schema,tableNames, columnNames) 返回表名与 tableNames 相符而且列名与 columnNames 相符的所有表列说明。

getURL(); 获得您所连接的 URL 名称。

getDriverName(); 获得您所连接的数据库驱动程序的名称。

获取有关表的信息

您可以使用 DataBaseMetaData 的 getTables() 方法来获取数据库中表的信息。这个方法有如下4个 String 参数:

results =dma.getTables(catalog, schema, tablemask, types[]);

其中参数的意义是:

Catalog 要在其中查找表名的目录名。对于 JDBC-ODBC 数据库以及许多其他数据库而言,可将其设置为 null。这些数据库的目录项实际上是它在文件系统中的绝对路径名称。

Schema 要包括的数据库“方案”。许多数据库不支持方案,而对另一些数据库而言,它代表数据库所有者的用户名。一般将它设置为 null。

Tablemask 一个掩码,用来描述您要检索的表的名称。如果您希望检索所有表名,则将其设为通配符 %。请注意,SQL 中的通配符是 % 符号,而不是一般 PC 用户的 * 符号。

types[] 这是描述您要检索的表的类型的 String 数组。数据库中通常包括许多用于内部处理的表,而对作为用户的您没什么价值。如果它是空值,则您会得到所有这些表。如果您将其设为包含字符串“TABLES”的单元素数组,您将仅获得对用户有用的表格。

一个简单的 JDBC 程序

我们已经学习了 JDBC 的所有基本功能,现在我们可以编写一个简单的程序,该程序打开数据库,打印它的表名以及某一表列的内容,然后对该数据库执行查询。此程序如下所示:

package skydevkit;
import java.sql.*;
public class JdbcOdbc_test {
ResultSet results;
ResultSetMetaData rsmd;
DatabaseMetaData dma;
Connection con;

public JdbcOdbc_test() throws SQLException {
String url = "jdbc:odbc:Northwind";
try {
//加载 JDBC-ODBC 桥驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url);//连接数据库
dma = con.getMetaData();//获取数据库的元数据
System.out.println("Connected to:" + dma.getURL());
System.out.println("Driver " + dma.getDriverName());
} catch (Exception e) {
System.out.println(e);
}
try {
Statement stmt = con.createStatement();
results = stmt.executeQuery("select * from 客户;");
ResultSetMetaData resultMetaData = results.getMetaData();
int cols = resultMetaData.getColumnCount();
String resultRow = "";
for (int i = 1; i < cols; i++) {
resultRow += resultMetaData.getColumnName(i) + ";";
}
System.out.println(resultRow);
while (results.next()) {
resultRow = "";
for (int i = 1; i < cols; i++) {
try {
resultRow += results.getString(i) + ";";
} catch (NullPointerException e) {
System.out.println(e.getMessage());
}
}
System.out.println(resultRow);
}
} catch (Exception e) {
System.out.println("query exception");
} finally {
results.close();
}
}
}

补充高级内容

关于调用SQLServer存储过程的例子:(用到了我们开发的数据库连接类)

CREATE PROCEDURE [dbo].[sp_getStudentByName](@name char(10))
AS
Select * from Students where [Name]=@name
GO

DbObject DbO = new DbObject(new SqlServerConnectionFactory("localhost",
1433, "demo", "sa", ""));
Connection con = DbO.getConnection();
CallableStatement pstmt = null;
System.out.println("TestDB1()............");
/* try {
pstmt = con.prepareCall("{call sp_getStudentById(?)}");
pstmt.setInt(1, 1);
}*/
try {
pstmt = con.prepareCall("{call sp_getStudentByName(?)}"); //注意参数如何传递
pstmt.setString(1, "Tom");
}
……

使用输出参数:

CREATE PROCEDURE [dbo].[sp_insertStudent](@name char(10),@age int,@id int OUTPUT) AS
insert into Students([Name],[Age]) values (@name,@age)
select @id=@@IDENTITY
GO

try {
pstmt = con.prepareCall("{call sp_insertStudent(?,?,?)}");
pstmt.setString(1, "zengqingsong");
pstmt.setInt(2, 22);

pstmt.registerOutParameter(3, Types.INTEGER);
pstmt.executeUpdate();

int id = pstmt.getInt(3);
System.out.println(id);
}

使用返回参数的例子:

CREATE PROCEDURE [dbo].[sp_insertStudent](@name char(10),@age int,@id int OUTPUT) AS
insert into Students([Name],[Age]) values (@name,@age)
select @id=@@IDENTITY –测试输出参数
return 30 –测试返回30
GO

try {
pstmt = con.prepareCall("{?=call sp_insertStudent(?,?,?)}");
pstmt.setString(2, "zengqingsong");
pstmt.setInt(3, 22);

pstmt.registerOutParameter(4, Types.INTEGER);
pstmt.registerOutParameter(1, Types.INTEGER);
int ret = pstmt.executeUpdate(); //执行影响的行数

int ret2 = pstmt.getInt(1); //返回参数(输出参数)
int id = pstmt.getInt(4); //输出参数
System.out.println(ret);
System.out.println(ret2);
System.out.println(id);

❽ 常用的数据库有哪些

虽然是cop的,但是是专业的。
1. IBM 的DB2
作为关系数据库领域的开拓者和领航人,IBM在1997年完成了System R系统的原型,1980年开始提供集成的数据库服务器—— System/38,随后是SQL/DSforVSE和VM,其初始版本与SystemR研究原型密切相关。DB2 forMVSV1 在1983年推出。该版本的目标是提供这一新方案所承诺的简单性,数据不相关性和用户生产率。1988年DB2 for MVS 提供了强大的在线事务处理(OLTP)支持,1989 年和1993 年分别以远程工作单元和分布式工作单元实现了分布式数据库支持。最近推出的DB2 Universal Database 6.1则是通用数据库的典范,是第一个具备网上功能的多媒体关系数据库管理系统,支持包括Linux在内的一系列平台。
2. Oracle
Oracle 前身叫SDL,由Larry Ellison 和另两个编程人员在1977创办,他们开发了自己的拳头产品,在市场上大量销售,1979 年,Oracle公司引入了第一个商用SQL 关系数据库管理系统。Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系统平台。目前Oracle关系数据库产品的市场占有率名列前茅。
3. Informix
Informix在1980年成立,目的是为Unix等开放操作系统提供专业的关系型数据库产品。公司的名称Informix便是取自Information 和Unix的结合。Informix第一个真正支持SQL语言的关系数据库产品是Informix SE(StandardEngine)。InformixSE是在当时的微机Unix环境下主要的数据库产品。它也是第一个被移植到Linux上的商业数据库产品。
4. Sybase
Sybase公司成立于1984年,公司名称“Sybase”取自“system”和 “database” 相结合的含义。Sybase公司的创始人之一Bob Epstein 是Ingres 大学版(与System/R同时期的关系数据库模型产品)的主要设计人员。公司的第一个关系数据库产品是1987年5月推出的Sybase SQLServer1.0。Sybase首先提出Client/Server 数据库体系结构的思想,并率先在Sybase SQLServer 中实现。
5. SQL Server
1987 年,微软和 IBM合作开发完成OS/2,IBM 在其销售的OS/2 ExtendedEdition 系统中绑定了OS/2Database Manager,而微软产品线中尚缺少数据库产品。为此,微软将目光投向Sybase,同Sybase 签订了合作协议,使用Sybase的技术开发基于OS/2平台的关系型数据库。1989年,微软发布了SQL Server 1.0 版。
6. PostgreSQL
PostgreSQL 是一种特性非常齐全的自由软件的对象——关系性数据库管理系统(ORDBMS),它的很多特性是当今许多商业数据库的前身。PostgreSQL最早开始于BSD的Ingres项目。PostgreSQL 的特性覆盖了SQL-2/SQL-92和SQL-3。首先,它包括了可以说是目前世界上最丰富的数据类型的支持;其次,目前PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统.
7.mySQL
mySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL的官方网站的网址是: www.mysql.com

❾ 数据库有哪些

回答:

  1. SQL:是一种特殊目的的编程语言,是一种数据库查询和 程序设计语言,用于存取数据以及查询、更新和管理 关系数据库系统。现在很多电脑爱好者都喜欢用这类数据。

  2. Sybase:是美国Sybase公司研制的一种关系型数据库系统,是一种典型的UNIX或WindowsNT平台上客户机/服务器环境下的大型数据库系统。Sybase提供了一套应用程序编程接口,可以与非Sybase数据源及服务器集成,允许在多个数据库之间复制数据,适于创建多层应用。

  3. DB2:DB2是IBM出品的一系列关系型数据库管理系统,分别在不同的操作系统平台上服务。

  4. ACCESS:是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和图形用户界面两项特点,是 Microsoft Office的成员之一。

  5. Oracle:甲骨文股份有限公司(Oracle)是全球大型数据库软件公司,总部位于美国加州红木城的红木岸。在2008年,甲骨文股份有限公司是继Microsoft及IBM后,全球收入第三多的软件公司。

阅读全文

与机械数据库名称有哪些相关的资料

热点内容
steam令牌换设备了怎么办 浏览:246
新生测听力仪器怎么看结果 浏览:224
化学试验排水集气法的实验装置 浏览:156
家用水泵轴承位置漏水怎么回事 浏览:131
羊水镜设备多少钱一台 浏览:125
机械制图里型钢如何表示 浏览:19
测定空气中氧气含量实验装置如图所示 浏览:718
超声波换能器等级怎么分 浏览:800
3万轴承是什么意思 浏览:110
鑫旺五金制品厂 浏览:861
苏州四通阀制冷配件一般加多少 浏览:153
江北全套健身器材哪里有 浏览:106
水表阀门不开怎么办 浏览:109
花冠仪表盘怎么显示时速 浏览:106
洗砂机多少钱一台18沃力机械 浏览:489
超声波碎石用什么材料 浏览:607
组装实验室制取二氧化碳的简易装置的方法 浏览:165
怎么知道天然气充不了阀门关闭 浏览:902
公司卖旧设备挂什么科目 浏览:544
尚叶五金机电 浏览:59