Table (database)

From Wikipedia, the free encyclopedia

In relational databases, SQL databases, and flat file databases, a table is a set of data elements (values) that is organized using a model of horizontal rows and vertical columns. The columns are identified by name, and the rows are identified by the values appearing in a particular column subset which has been identified as a candidate key. Table is another term for relations; although there is the difference that a table is usually a multi-set (bag) of rows whereas a relation is a set and does not allow duplicates. A table has a specified number of columns but can have any number of rows. Besides the actual data rows, tables generally have associated with them some meta-information, such as constraints on the table or on the values within particular columns.

The data in a table does not have to be physically stored in the database. Views are also relational tables, but their data is calculated at query time. Another example are nicknames, which represent a pointer to a table in another database.

[edit] Comparisons with other data structures

In non-relational systems, such as hierarchical databases, the distant counterpart of a table is a structured file, representing the rows of a table in each record of the file and each column in a field of the record.

Unlike a spreadsheet, the datatype of each field is ordinarily defined by the schema describing the table. Some relational systems are less strict field datatype definitions.

[edit] Tables versus relations

In terms of the relational model of databases, a table can be considered a convenient representation of a relation, but the two are not strictly equivalent. For instance, an SQL table can potentially contain duplicate rows, whereas a true relation cannot contain duplicate tuples. Similarly, representation as a table implies a particular ordering to the rows and columns, whereas a relation is explicitly unordered. However, the database system does not guarantee any ordering of the rows unless an ORDER BY clause is specified in the SELECT statement that queries the table.

An equally valid representation of a relation is as an n-dimensional graph, where n is the number of attributes (a table's columns). For example, a relation with two attributes and three values can be represented as a table with two columns and three rows, or as a two-dimensional graph with three points. The table and graph representations are only equivalent if the ordering of rows is not significant, and the table has no duplicate rows.

[edit] See also


Topics in database management systems (DBMS)view  talk  edit )

Concepts
Database • Database model • Relational database • Relational model • Relational algebra • Primary key, Foreign key, Surrogate key, Superkey, Candidate key • Database normalization • Referential integrity • Relational DBMS • Distributed DBMS • ACID

Objects
Trigger • View • Table • Cursor • Log • Transaction • Index • Stored procedure • Partition

Topics in SQL
Select • Insert • Update • Merge • Delete • Join • Union • Create • Drop

Implementations of database management systems

Types of implementations
Relational • Flat file • Deductive • Dimensional • Hierarchical • Object oriented • Temporal • XML data stores

Components
Query language • Query optimizer • Query plan • ODBC • JDBC

Database products

Apache Derby • Berkeley DB • Caché • DB2 • DBase • Filemaker Pro • Firebird • H2 • Helix • Informix • Ingres • InterBase • Microsoft Access • Microsoft SQL Server • MySQL • NonStop SQL • OpenLink Virtuoso • OpenOffice.org Base • Oracle • Oracle Rdb • Paradox • Perst • PostgreSQL • SQLite • Sybase IQ • Sybase • Teradata • Visual FoxPro


Other: Object-oriented (comparison) • relational (comparison)