The database abstraction layer (DAL) of web2py dynamically and transparently generates SQL queries and runs on multiple compatible database backend without the need for database-specific SQL commands (though SQL commands can be issued explicitly). SQLite is included in Python and is the default web2py database. A connection string change allows connection to Firebird, IBM DB2, Informix, Ingres, Microsoft SQL Server, MySQL, Oracle, PostgreSQL, and Google App Engine (GAE) with some caveats. Specialities: The DAL is fast, at least comparable with SQLAlchemy and Storm. Web2py implements a DAL, not an ORM.

List of collaborative software

collaboration servicecollaborativecollaborative software
GroveSite, online collaboration, project and document management; online relational database. Horde. InLoox, web-based project management and collaboration software with Outlook integration. Intraboom, web-based collaboration and communication software. LiquidPlanner, web-based project management and collaboration software. Mindquarry, has document synchronizing, wiki, task management. PBworks is a commercial real-time collaborative editing (RTCE) system. phpGroupWare, has a project collaboration module. Plone, content management. project.net. Projectplace, full suite of collaborative project tools.


List of Sybase productsSAP-SybaseSybase 365
Advantage Database Server (ADS) – Relational Database Management System. Sybase Replication Server – a platform for data replication and movement between database systems, including Sybase and Oracle, a vendor-neutral data-movement system. Sybase IQ – an analytics data warehousing and business intelligence RDBMS. RAP the Trading Edition- a capital markets analytics platform. Sybase Complex Event Processing – Optimized real-time risk and trade analytics software. SQL Anywhere – RDBMS with a small footprint designed for mobility. Afaria – Mobile device management and security software.

Catalyst (software)

CatalystMaypole frameworkMojoMojo
Several different RDBMS systems are supported, including MySQL, PostgreSQL, SQLite, IBM DB2, Oracle and Microsoft SQL Server. For ODBMSes, there is explicit support for KiokuDB via Catalyst::Model::KiokuDB. The Model abstraction allows databases of any nature to be accessed via Catalyst::Model::Adaptor. Many Catalyst-based projects use DBIx::Class as the ORM layer, which provides further abstraction of SQL queries, using a resultset-based API with transparent support for arbitrary joins and other features. Websites powered by Catalyst include Magazines.com, bbc.co.uk iPlayer backend, DuckDuckGo's Community Platform, http://flexibase.io and Tripwolf.com.

FileMaker Pro

FileMakerFileMaker DeveloperFileMaker II
FileMaker, since version 9, includes the ability to connect to a number of SQL databases without resorting to using SQL, including MySQL, SQL Server, and Oracle. This requires installation of the SQL database ODBC driver (in many cases a third-party license per client driver) to connect to a SQL database. SQL databases can be used as data sources in FileMaker's relationship graph, thus allowing the developer to create new layouts based on the SQL database; create, edit, and delete SQL records via FileMaker layouts and functions; and reference SQL fields in FileMaker calculations and script steps. It is a cross-platform relational database application.

List of relational database management systems

Any SQL database
Comparison of object-relational database management systems. Comparison of relational database management systems. Comparison of database tools.


Perl 5Perl programming languagePerl Script
In Perl 5, database interfaces are implemented by Perl DBI modules. The DBI (Database Interface) module presents a single, database-independent interface to Perl applications, while the DBD (Database Driver) modules handle the details of accessing some 50 different databases; there are DBD drivers for most ANSI SQL databases. DBI provides caching for database handles and queries, which can greatly improve performance in long-lived execution environments such as mod perl, helping high-volume systems avert load spikes as in the Slashdot effect.


Savepoints are defined in the SQL standard and are supported by all established SQL relational databases, including PostgreSQL, Oracle Database, Microsoft SQL Server, MySQL, DB2, SQLite (since 3.6.8), Firebird, H2 Database Engine, and Informix (since version 11.50xC3).

Structured type

structured user-defined type
The SQL:1999 standard introduced a number of object-relational database features into SQL, chiefly among them structured user-defined types, usually called just structured types. These can be defined either in plain SQL with but also in Java via SQL/JRT. SQL structured types allow single inheritance. Structured types are supported to varying degrees in Oracle database, IBM DB2, PostgreSQL and Microsoft SQL Server, although the latter only allows structured types defined in CLR.

Hierarchical and recursive queries in SQL

common table expressionsHierarchical queryrecursive queries
Recursive CTEs are also supported by Microsoft SQL Server (since SQL Server 2008 R2), Firebird 2.1, PostgreSQL 8.4+, SQLite 3.8.3+, IBM Informix version 11.50+, CUBRID, MariaDB 10.2+ and MySQL 8.0.1+,. Tableau has documentation describing how CTEs can be used. TIBCO Spotfire does not support CTEs, while Oracle 11g Release 2's implementation lacks fixpoint semantics. Without common table expressions or connected-by clauses it is possible to achieve hierarchical queries with user-defined recursive functions. A common table expression, or CTE, (in SQL) is a temporary named result set, derived from a simple query and defined within the execution scope of a,,, or statement.

List of databases using MVCC

MariaDB (MySQL fork) – when used with XtraDB, an InnoDB fork and that is included in MariaDB sources and binaries or PBXT. MarkLogic Server – a bit of this is described in. MemSQL. Meronymy SPARQL Database Server. Microsoft SQL Server – when using READ_COMMITTED_SNAPSHOT, starting with SQL Server 2005. MonetDB. MongoDB – when used with the WiredTiger storage engine. MySQL – when used with InnoDB, Falcon, or Archive storage engines. NuoDB. ObjectDB. ObjectStore. Oracle database – all versions since Oracle 4. Oracle (née DEC) Rdb. OrientDB. PostgreSQL. Postgres-XL. Rdb/ELN. RDM Embedded. REAL Server. Realm. RethinkDB. SAP HANA. SAP IQ. sones GraphDB. Splice Machine. Sybase SQL Anywhere.

Data warehouse

data warehousingdata warehousesEnterprise Data Warehouse
Operational systems are optimized for preservation of data integrity and speed of recording of business transactions through use of database normalization and an entity-relationship model. Operational system designers generally follow Codd's 12 rules of database normalization to ensure data integrity. Fully normalized database designs (that is, those satisfying all Codd rules) often result in information from a business transaction being stored in dozens to hundreds of tables. Relational databases are efficient at managing the relationships between these tables.

Document-oriented database

document databasedocumentdocument-oriented
Relational databases generally store data in separate tables that are defined by the programmer, and a single object may be spread across several tables. Document databases store all information for a given object in a single instance in the database, and every stored object can be different from every other. This eliminates the need for object-relational mapping while loading data into the database. The central concept of a document-oriented database is the notion of a document.

C Sharp (programming language)

C#Visual C#C# programming language
A developer can query any object, XML documents, an ADO.NET dataset, and a SQL database. Using LINQ in C# brings advantages like Intellisense support, strong filtering capabilities, type safety with compile error checking ability, and consistency for querying data over a variety of sources. There are several different language structures that can be utilized with C# with LINQ and they are query expressions, lambda expressions, anonymous types, implicitly typed variables, extension methods, and object initializers. Though primarily an imperative language, C# 2.0 offered limited support for functional programming through first-class functions and closures in the form of anonymous delegates.


Netezza CorporationIBM Netezza
The S-Blade is composed of a standard blade-server combined with a special Netezza Database Accelerator card that snaps alongside the blade. Each S-Blade is, in turn, connected to multiple disk drives processing multiple data streams in parallel in TwinFin or Skimmer. AMPP employs industry-standard interfaces (SQL, ODBC, JDBC, OLE DB) and provides load times in excess of 2 TB/hour and backup/restore data rates of more than 4 TB/hour. In 2009, the company transitioned from PowerPC processors to Intel CPUs. In August, 2009, with the introduction of the 4th generation TwinFin product, Netezza moved from proprietary blades to IBM blades.

Object-relational impedance mismatch

object/relational impedance mismatch
However, SQL is currently the only widely accepted common database language in the marketplace; use of vendor-specific query languages is seen as a bad practice when avoidable. Other database languages such as Business System 12 and Tutorial D have been proposed; but none of these has been widely adopted by DBMS vendors. In current versions of mainstream "object-relational" DBMSs like Oracle and Microsoft SQL Server, the above point may be a non-issue.


JavaScript Object NotationJSON SchemaECMA-404
For example, what the user types into a search box, client-side code then sends to the server, which immediately responds with a drop-down list of matching database items. The following JavaScript code is an example of a client using XMLHttpRequest to request data in JSON format from a server. (The server-side programming is omitted; it must be set up to service requests to the containing a JSON-formatted string.) While JSON is a data serialization format, it has seen ad hoc usage as a configuration language. In this use case, support for comments and other features have been deemed useful, which has led to several nonstandard JSON supersets being created.


forumphpBB2James Atkinson (software developer)
Features of phpBB include support for multiple database engines (PostgreSQL, SQLite, MySQL, Oracle Database, Microsoft SQL Server), flat message structure (as opposed to threaded), hierarchical subforums, topic split/merge/lock, user groups, multiple attachments per post, full-text search, plugins and various notification options (e-mail, Jabber instant messaging, ATOM feeds). phpBB was started by James Atkinson as a simple UBB-like forum for his own website on June 17, 2000. Nathan Codding and John Abela joined the development team after phpBB's CVS repository was moved to SourceForge.net, and work on version 1.0.0 began.

LAMP (software bundle)

MySQL's original role as the LAMP's relational database management system (RDBMS) has since been alternately provisioned by other RDBMSs such as MariaDB or PostgreSQL, or even NoSQL databases such as MongoDB. MySQL is a multithreaded, multi-user, SQL database management system (DBMS), acquired by Sun Microsystems in 2008, which was then acquired by Oracle Corporation in 2010. Since its early years, the MySQL team has made its source code available under the terms of the GNU General Public License, as well as under a variety of proprietary agreements. MariaDB is a community-developed fork of MySQL, led by its original developers.


denormalizeddatabase denormalization
If these relations are stored physically as separate disk files, completing a database query that draws information from several relations (a join operation) can be slow. If many relations are joined, it may be prohibitively slow. There are two strategies for dealing with this. One method is to keep the logical design normalized, but allow the database management system (DBMS) to store additional redundant information on disk to optimize query response. In this case it is the DBMS software's responsibility to ensure that any redundant copies are kept consistent. This method is often implemented in SQL as indexed views (Microsoft SQL Server) or materialized views (Oracle, PostgreSQL).

Insert (SQL)

Oracle SQL INSERT statement (Oracle Database SQL Language Reference, 11g Release 2 (11.2) on oracle.com). Microsoft Access Append Query Examples and SQL INSERT Query Syntax. MySQL INSERT statement (MySQL 5.5 Reference Manual).

Database Workbench

Database Workbench supports the following relational databases: Oracle Database, Microsoft SQL Server, SQL Anywhere, Firebird, NexusDB, InterBase, MySQL, MariaDB and PostgreSQL Version 5 of Database Workbench runs on 32-bit or 64 bit Windows platforms. Under Linux, FreeBSD or Mac OS X Database Workbench can operate using Wine. Database Workbench can be used to view, create and edit tables, indexes, stored procedures and other database meta data objects.

Physical schema

physical data model.pdmPhysical architecture
For example: SQL Server runs only on Microsoft Windows operating-systems (Starting with SQL Server 2017, SQL Server runs on Linux. It's the same SQL Server database engine, with many similar features and services regardless of your operating system ), while Oracle and MySQL can run on Solaris, Linux and other UNIX-based operating-systems as well as on Windows. This means that the disk requirements, security requirements and many other aspects of a physical data model will be influenced by the RDBMS that a database administrator (or an organization) chooses to use.

Microsoft Data Access Components

Open Database Connectivity (ODBC) is a native interface that is accessed through a programming language (usually C) that can make calls into a native library. In MDAC this interface is defined as a DLL. A separate module or driver is needed for each database that must be accessed. The functions in the ODBC API are implemented by these DBMS-specific drivers. The driver that Microsoft provides in MDAC is called the SQL Server ODBC Driver (SQLODBC), and (as the name implies) is designed for Microsoft's SQL Server. It supports SQL Server v6.5 and upwards. ODBC allows programs to use SQL requests that will access databases without having to know the proprietary interfaces to the databases.


Notably both of Oracle's implementations depend on the database transaction log and so only allow temporal queries against recent changes which are still being retained for backup. Microsoft SQL Server (version 2016) implements temporal tables with. MariaDB 10.3 implements system-versioned tables. PostgreSQL requires installation of the temporal_tables extension. Ebean ORM supports History AS OF and VERSIONS BETWEEN queries on Postgres and MySql using triggers, history tables and views. *. Time Period definitions use two standard table columns as the start and end of a named time period, with closed-open semantics.