965:. Indices are usually not considered part of the database, as they are considered an implementation detail, though indices are usually maintained by the same group that maintains the other parts of the database. The use of efficient indexes on both primary and foreign keys can dramatically improve query performance. This is because B-tree indexes result in query times proportional to log(n) where n is the number of rows in a table and hash indexes result in constant time queries (no size dependency as long as the relevant part of the index fits into memory).
476:
467:(SPs). Often procedures can be used to greatly reduce the amount of information transferred within and outside of a system. For increased security, the system design may grant access to only the stored procedures and not directly to the tables. Fundamental stored procedures contain the logic needed to insert new and update existing data. More complex procedures may be written to implement additional rules and logic related to processing or selecting the data.
2674:
2684:
36:
1120:
2694:
760:. Relations that store data are called "base relations", and in implementations are called "tables". Other relations do not store data, but are computed by applying relational operations to other relations. These relations are sometimes called "derived relations". In implementations these are called "
430:
relationships by creating an additional table that contains the PKs from both of the other entity tables – the relationship becomes an entity; the resolution table is then named appropriately and the two FKs are combined to form a PK. The migration of PKs to other tables is the second
952:
to go directly to the page on which the information you are looking for is found, so that you do not have to read the entire book to find what you are looking for. Relational databases typically supply multiple indexing techniques, each of which is optimal for some combination of data distribution,
887:
tables, and it effectively uses the values of attributes in the referenced relation to restrict the domain of one or more attributes in the referencing relation. The concept is described formally as: "For all tuples in the referencing relation projected over the referencing attributes, there must
1079:
operator. In SQL, an INNER JOIN prevents a cartesian product from occurring when there are two tables in a query. For each table added to a SQL Query, one additional INNER JOIN is added to prevent a cartesian product. Thus, for N tables in an SQL query, there must be N−1 INNER JOINS to prevent a
417:
The primary keys within a database are used to define the relationships among the tables. When a PK migrates to another table, it becomes a foreign key in the other table. When each cell can contain only one value and the PK migrates into a regular entity table, this design pattern can represent
733:
or primary key then obviously it is unique; however, a primary key need not be defined for a row or record to be a tuple. The definition of a tuple requires that it be unique, but does not require a primary key to be defined. Because a tuple is unique, its attributes by definition constitute a
863:
are often used instead. A surrogate key is an artificial attribute assigned to an object which uniquely identifies it (for instance, in a table of information about students at a school they might all be assigned a student ID in order to differentiate them). The surrogate key has no intrinsic
1106:
Normalization was first proposed by Codd as an integral part of the relational model. It encompasses a set of procedures designed to eliminate non-simple domains (non-atomic values) and the redundancy (duplication) of data, which in turn prevents data manipulation anomalies and loss of data
782:
A domain describes the set of possible values for a given attribute, and can be considered a constraint on the value of the attribute. Mathematically, attaching a domain to an attribute means that any value for the attribute must be an element of the specified set. The character string
1087:(÷) operation is a slightly more complex operation and essentially involves using the tuples of one relation (the dividend) to partition a second relation (the divisor). The relational division operator is effectively the opposite of the cartesian product operator (hence the name).
410:(AK). Often several columns are needed to form an AK (this is one reason why a single integer column is usually made the PK). Both PKs and AKs have the ability to uniquely identify a row within a table. Additional technology may be applied to ensure a unique ID across the world, a
1133:
Connolly and Begg define database management system (DBMS) as a "software system that enables users to define, create, maintain and control access to the database". RDBMS is an extension of that initialism that is sometimes used when the underlying database is relational.
816:
value, indicating whether or not the data satisfies the constraint. Constraints can apply to single attributes, to a tuple (restricting combinations of attributes) or to an entire relation. Since every attribute has an associated domain, there are constraints
1148:
RDBMSs have been a common option for the storage of information in databases used for financial records, manufacturing and logistical information, personnel data, and other applications since the 1980s. Relational databases have often replaced legacy
402:(PK) for each row in a table. When a new row is written to the table, a new unique value for the primary key is generated; this is the key that the system uses primarily for accessing the table. System performance is optimized for PKs. Other, more
1192:(DRDA) was designed by a workgroup within IBM in the period 1988 to 1994. DRDA enables network connected relational databases to cooperate to fulfill SQL requests. The messages, protocols, and structural components of DRDA are defined by the
799:
Constraints are often used to make it possible to further restrict the domain of an attribute. For instance, a constraint can restrict a given integer attribute to values between 1 and 10. Constraints provide one method of implementing
882:
Foreign key refers to a field in a relational table that matches the primary key column of another table. It relates the two keys. Foreign keys need not have unique values in the referencing relation. A foreign key can be used to
701:
The relational model specifies that the tuples of a relation have no specific order and that the tuples, in turn, impose no order on the attributes. Applications access data by specifying queries, which use operations such as
1040:(X) of two relations is a join that is not restricted by any criteria, resulting in every tuple of the first relation being matched with every tuple of the second relation. The cartesian product is implemented in SQL as the
1091:
Other operators have been introduced or proposed since Codd's introduction of the original eight including relational comparison operators and extensions that offer support for nesting and hierarchical data, among others.
1074:
The join operation defined for relational databases is often referred to as a natural join (⋈). In this type of join, two relations are connected by their common attributes. MySQL's approximation of a natural join is the
315:
and others), it is not relational. This view, shared by many theorists and other strict adherents to Codd's principles, would disqualify most DBMSs as not relational. For clarification, they often refer to some RDBMSs as
1717:
888:
exist a tuple in the referenced relation projected over those same attributes such that the values in each of the referencing attributes match the corresponding values in the referenced attributes."
196:. However, no commercial implementations of the relational model conform to all of Codd's rules, so the term has gradually come to describe a broader class of database systems, which at a minimum:
764:" or "queries". Derived relations are convenient in that they act as a single relation, even though they may grab information from several relations. Also, derived relations can be used as an
383:
For example, each row of a class table corresponds to a class, and a class corresponds to multiple students, so the relationship between the class table and the student table is "one to many"
991:. In his original relational algebra, Codd introduced eight relational operators in two groups of four operators each. The first four operators were based on the traditional mathematical
902:
A stored procedure is executable code that is associated with, and generally stored in, the database. Stored procedures usually collect and customize common operations, like inserting a
1029:
operator (-) acts on two relations and produces the set of tuples from the first relation that do not exist in the second relation. Difference is implemented in SQL in the form of the
791:
is. Another example of domain describes the possible values for the field "CoinFace" as ("Heads","Tails"). So, the field "CoinFace" will not accept input values like (0,1) or (H,T).
391:
Each row in a table has its own unique key. Rows in a table can be linked to rows in other tables by adding a column for the unique key of the linked row (such columns are known as
439:
Relationships are a logical connection between different tables (entities), established on the basis of interaction among these tables. These relationships can be modelled as an
376:. Columns are also called attributes. Generally, each table/relation represents one "entity type" (such as customer or product). The rows represent instances of that type of
859:. A primary key uniquely specifies a tuple within a table. While natural attributes (attributes used to describe the data being entered) are sometimes good primary keys,
864:(inherent) meaning, but rather is useful through its ability to uniquely identify a tuple. Another common occurrence, especially in regard to N:M cardinality is the
398:
Part of this processing involves consistently being able to select or modify one and only one row in a table. Therefore, most physical implementations have a unique
431:
major reason why system-assigned integers are used normally as PKs; there is usually neither efficiency nor clarity in migrating a bunch of other types of columns.
1673:
SIGFIDET '74: Proceedings of the 1974 ACM SIGFIDET (Now SIGMOD) Workshop on Data
Description, Access and Control: Data Models: Data-Structure-Set versus Relational
682:. A tuple usually represents an object and information about that object. Objects are typically physical objects or concepts. A relation is usually described as a
307:
A second school of thought argues that if a database does not implement all of Codd's rules (or the current understanding on the relational model, as expressed by
17:
300:
The most common definition of an RDBMS is a product that presents a view of data as a collection of rows and columns, even if it is not based strictly upon
2284:
2023:
1318:
1052:
The selection, or restriction, operation (σ) retrieves tuples from a relation, limiting the results to only those that meet a specific criterion, i.e. a
2267:
2748:
2743:
1604:
2279:
1333:
2149:
1853:
1157:, because RDBMS were easier to implement and administer. Nonetheless, relational stored data received continued, unsuccessful challenges by
188:
in his research paper "A Relational Model of Data for Large Shared Data Banks". In this paper and later papers, he defined what he meant by
726:
operators. New tuples can supply explicit values or be derived from a query. Similarly, queries identify tuples for updating or deleting.
279:
1400:
804:
in the database and support subsequent data use within the application layer. SQL implements constraint functionality in the form of
1193:
1162:
1018:
operator (∩) produces the set of tuples that two relations share in common. Intersection is implemented in SQL in the form of the
918:(API) for security or simplicity. Implementations of stored procedures on SQL RDBMS's often allow developers to take advantage of
100:
72:
2063:
926:
SQL syntax. Stored procedures are not part of the relational database model, but all commercial implementations include them.
2033:
1956:
1828:
1693:
1815:, Lecture Notes in Computer Science, vol. 595, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 109–135, 1992,
1399:. Vol. U.S. Geological Survey Open-File Report 03–471. 2. Relational Database Technology and Taxonomic Representation.
2718:
2677:
1560:
The product was called SQL/DS (Structured Query
Language/Data Store) and ran under the DOS/VSE operating system environment
79:
53:
2350:
2239:
1677:
1642:
868:. A composite key is a key made up of two or more attributes within a table that (together) uniquely identify a record.
1981:
1553:
940:
An index is one way of providing quicker access to data. Indices can be created on any combination of attributes on a
2049:
2006:
1922:
1502:
915:
119:
86:
380:(such as "Lee" or "chair") and the columns represent values attributed to that instance (such as address or price).
2697:
2403:
1768:
Ramakrishnan, Raghu; Donjerkovic, Donko; Ranganathan, Arvind; Beyer, Kevin S.; Krishnaprasad, Muralidhar (1998).
1411:
1068:
68:
2654:
2301:
2192:
1528:
395:). Codd showed that data relationships of arbitrary complexity can be represented by a simple set of concepts.
57:
2593:
1874:
440:
232:
1108:
1344:
1260:
944:. Queries that filter using those attributes can find matching tuples directly using the index (similar to
2588:
2738:
2733:
2619:
2338:
1572:
1161:
management systems in the 1980s and 1990s, (which were introduced in an attempt to address the so-called
500:
488:
2542:
2532:
2308:
1878:
411:
338:
Alternative query languages have been proposed and implemented, notably the pre-1996 implementation of
256:
1790:
1048:
The remaining operators proposed by Codd involve special operations specific to relational databases:
510:
The table below summarizes some of the most important relational database terms and the corresponding
2723:
2629:
2362:
1441:
1015:
1007:
and removes all duplicate tuples from the result. The relational union operator is equivalent to the
548:
427:
369:
451:
In order for a database management system (DBMS) to operate efficiently and accurately, it must use
2728:
423:
274:
The first systems that were relatively faithful implementations of the relational model were from:
268:
1849:
2578:
2232:
1026:
923:
419:
93:
46:
1084:
2659:
2614:
2291:
1101:
919:
1128:
495:. A relational database has become the predominant type of database. Other models besides the
304:. By this definition, RDBMS products typically implement some but not all of Codd's 12 rules.
2634:
2388:
1390:
1354:
1150:
829:
679:
192:. One well-known definition of what constitutes a relational database system is composed of
2687:
2624:
2506:
2476:
2345:
2296:
1479:
1282:
1222:
339:
1769:
8:
2644:
2537:
2522:
2449:
2174:
1004:
984:
941:
907:
852:
809:
757:
670:
659:
598:
308:
231:, a research project to develop a prototype RDBMS. The first system sold as an RDBMS was
201:
2639:
2583:
2552:
2501:
2393:
2333:
2225:
2043:
1460:
1286:
1205:
1170:
1000:
988:
974:
949:
492:
240:
193:
1169:
management systems in the 1990s. However, due to the expanse of technologies, such as
1165:
between relational databases and object-oriented application programs), as well as by
1107:
integrity. The most common forms of normalization applied to databases are called the
2459:
2313:
2198:
2188:
2029:
2002:
1977:
1952:
1918:
1824:
1689:
1549:
1524:
1498:
1464:
1037:
856:
813:
765:
691:
562:
452:
361:
244:
217:
2178:
2125:
948:
lookup), without having to check each tuple in turn. This is analogous to using the
2649:
2496:
2486:
2454:
2093:
1889:
1816:
1750:
1681:
1646:
1450:
1359:
1238:
1174:
1154:
1142:
935:
910:, gathering statistical information about usage patterns, or encapsulating complex
897:
823:
805:
683:
663:
589:
464:
357:
351:
301:
209:
145:
1741:
Todd, Stephen (1976). "The
Peterlee Relational Test Vehicle - A System Overview".
2557:
2527:
2481:
2262:
2206:
1914:
1630:
1518:
1338:
1212:
1158:
1019:
884:
761:
751:
236:
1949:
Database systems: a practical approach to design, implementation, and management
1208:, in January 2023 the most popular systems on the db-engines.com web site were:
2609:
2547:
2491:
2464:
2357:
2318:
2184:
2025:
Dateso 10; Database Trends and
Directions: Current Challenges and Opportunities
1974:
Database
Systems – A Practical Approach to Design Implementation and Management
1328:
1255:
953:
relation size, and typical access pattern. Indices are usually implemented via
911:
801:
687:
645:
531:
365:
332:
264:
213:
2217:
2712:
2428:
2413:
2202:
1808:
1671:
1432:
1181:
databases have recently become popular as an alternative to RDBMS databases.
860:
730:
504:
484:
407:
267:
began being developed, code-named Silver Surfer, and was released in 1987 as
177:
1820:
1650:
475:
27:
Digital database whose organization is based on the relational model of data
2210:
1166:
1057:
1030:
962:
865:
260:
228:
1455:
1436:
1396:
164:). Many relational database systems are equipped with the option of using
2418:
2398:
1369:
1265:
1071:(π) extracts only the specified attributes from a tuple or set of tuples.
1061:
1008:
877:
855:/table has a primary key, this being a consequence of a relation being a
846:
777:
695:
403:
399:
392:
312:
2097:
1754:
2562:
2471:
2433:
2408:
1951:(global ed.). Boston Columbus Indianapolis: Pearson. p. 416.
1886:
Proceedings of the 7th
International Conference on Very Large Databases
1767:
1227:
1076:
1041:
992:
945:
842:
630:
620:
615:
A set of tuples sharing the same attributes; a set of columns and rows
149:
1294:
1605:"New Database Software Program Moves Macintosh Into The Big Leagues"
787:, for instance, is not in the integer domain, but the integer value
223:
Provide relational operators to manipulate the data in tabular form.
168:(Structured Query Language) for querying and updating the database.
35:
2423:
2378:
2248:
1685:
1306:
1271:
954:
735:
248:
141:
2028:(1st ed.). Prague, Sokolovsk: MATFYZPRESS. pp. 163–174.
1145:. Most databases in widespread use today are based on this model.
1119:
1323:
1278:
1249:
1233:
980:
821:). The two principal rules for the relational model are known as
644:
Any set of tuples; a data report from the RDBMS in response to a
289:
252:
584:
A labeled element of a tuple, e.g. "Address" or "Date of birth"
2328:
1520:
Funding a
Revolution: Government Support for Computing Research
1392:
Portable
Software Tools for Managing and Referencing Taxonomies
1302:
1298:
1243:
1056:
in terms of set theory. The SQL equivalent of selection is the
1053:
958:
812:. These are usually defined using expressions that result in a
747:
606:
377:
368:, with a unique key identifying each row. Rows are also called
979:
Queries made against the relational database, and the derived
2323:
1348:
1217:
1178:
903:
675:
542:
491:. Codd's view of what qualifies as an RDBMS is summarized in
463:
Part of the programming within a RDBMS is accomplished using
373:
2383:
1911:
Distributed
Transaction Processing: Concepts and Techniques
1628:
1189:
293:
153:
714:
to combine relations. Relations can be modified using the
694:. All the data referenced by an attribute are in the same
483:
The relational database was first defined in June 1970 by
2064:"NoSQL databases eat into the relational database market"
1364:
1290:
729:
Tuples by definition are unique. If the tuple contains a
511:
328:
181:
165:
1850:"Gray to be Honored With A. M. Turing Award This Spring"
1480:"Relational Databases 101: Looking at the Whole Picture"
1437:"A Relational Model of Data for Large Shared Data Banks"
1631:"A set theoretic data structure and retrieval language"
426:
relationship. Most relational database designs resolve
2150:"Oracle the clear leader in $ 24 billion RDBMS market"
2112:
Distributed
Relational Database Architecture Reference
1546:
Fundamentals of Relational Database Management Systems
1495:
Database in depth: relational theory for practitioners
808:. Constraints restrict the data that can be stored in
2084:
Reinsch, R. (1988). "Distributed database for SAA".
1319:
Comparison of relational database management systems
1141:
is a database management system (DBMS) based on the
327:
As of 2009, most commercial relational DBMSs employ
1928:
1397:
Digital Mapping Techniques '03 Workshop Proceedings
1184:
922:extensions (often vendor-specific) to the standard
356:A relational model organizes data into one or more
60:. Unsourced material may be challenged and removed.
1879:"The Transaction Concept: Virtues and Limitations"
1809:"A universal relation model for a nested database"
1543:
176:The concept of relational database was defined by
1629:Hershey, W.R.; Easthope, C.H. (1 December 1972).
914:and calculations. Frequently they are used as an
239:was released in 1979 by Relational Software, now
2710:
2247:
1997:Pratt, Philip J.; Last, Mary Z. (2014-09-08).
1972:Connolly, Thomas M.; Begg, Carolyn E. (2014).
1334:List of relational database management systems
1123:The general structure of a relational database
414:, when there are broader system requirements.
2233:
2001:(8 ed.). Course Technology. p. 29.
741:
322:pseudo-relational database management systems
251:followed. Other examples of an RDBMS include
1971:
1947:Connolly, Thomas M; Begg, Carolyn E (2015).
1946:
1813:The Nested Universal Relation Database Model
1715:
1544:Sumathi, S.; Esakkirajan, S. (13 Feb 2008).
1285:relational database vendors by revenue were
1190:Distributed Relational Database Architecture
318:truly-relational database management systems
285:Massachusetts Institute of Technology (1971)
1199:
204:(a presentation in tabular form, i.e. as a
156:used to maintain relational databases is a
2240:
2226:
1129:Database § Database management system
2021:
1996:
1734:
1454:
1351:(Relational Online Analytical Processing)
120:Learn how and when to remove this message
1965:
1770:"SRQL: Sorted Relational Query Language"
1523:. National Academies Press. 8 Jan 1999.
1388:
1194:Distributed Data Management Architecture
1118:
1003:operator (υ) combines the tuples of two
968:
474:
2126:"DB-Engines Ranking of Relational DBMS"
2083:
288:IBM UK Scientific Centre at Peterlee –
212:with each table consisting of a set of
14:
2749:Relational database management systems
2744:Computer-related introductions in 1969
2711:
1722:. IBM United Kingdom Scientific Centre
1477:
1427:
1425:
1423:
1421:
891:
653:
557:A data set representing a single item
406:may also be identified and defined as
18:Relational database management systems
2221:
1976:(6th ed.). Pearson. p. 64.
1664:
1139:relational database management system
756:All data are stored and accessed via
698:and conform to the same constraints.
158:relational database management system
2173:
1934:
1873:
1856:from the original on 6 February 2009
1740:
1709:
1492:
1431:
1163:object–relational impedance mismatch
458:
58:adding citations to reliable sources
29:
2693:
2022:Feuerlich, George (21 April 2010).
1852:. Microsoft PressPass. 1998-11-23.
1678:Association for Computing Machinery
1643:Association for Computing Machinery
1622:
1418:
983:in the database are expressed in a
345:
24:
184:in 1970. Codd introduced the term
25:
2760:
916:application programming interface
2692:
2682:
2673:
2672:
1909:Gray, Jim, and Reuter, Andreas,
1791:"A Relational Database Overview"
1185:Distributed relational databases
1137:An alternative definition for a
1095:
434:
200:Present the data to the user as
34:
2683:
2142:
2118:
2104:
2077:
2056:
2015:
1999:Concepts of Database Management
1990:
1940:
1903:
1867:
1842:
1801:
1783:
1761:
1478:Ambler, Scott (21 March 2023).
1412:United States Geological Survey
1403:from the original on 2014-10-21
479:Relational database terminology
446:
263:. In 1984, the first RDBMS for
45:needs additional citations for
2114:. IBM Corp. SC26-4651-0. 1990.
1597:
1565:
1537:
1511:
1486:
1471:
1382:
1277:According to research company
871:
836:
794:
470:
292:(1970–72), and its successor,
227:In 1974, IBM began developing
13:
1:
2048:: CS1 maint: date and year (
1609:tribunedigital-chicagotribune
1375:
233:Multics Relational Data Store
1345:Online analytical processing
1281:, in 2011, the five leading
1261:Microsoft Azure SQL Database
710:to identify attributes, and
668:In a relational database, a
489:San Jose Research Laboratory
7:
2719:Database management systems
2249:Database management systems
1312:
501:hierarchical database model
10:
2765:
2655:Object–relational database
2167:
1493:Date, Chris (5 May 2005).
1126:
1099:
972:
933:
895:
875:
840:
775:
745:
742:Base and derived relations
686:, which is organized into
657:
412:globally unique identifier
349:
171:
154:database management system
2668:
2630:Federated database system
2602:
2571:
2515:
2442:
2371:
2363:Blockchain-based database
2255:
1586:(2). Oracle: 26. May 2007
1442:Communications of the ACM
1389:Hastings, Jordan (2003).
771:
523:Relational database term
441:entity-relationship model
278:University of Michigan –
1719:The Peterlee IS/1 System
1200:List of database engines
1114:
929:
320:(TRDBMS), naming others
148:of data, as proposed by
1821:10.1007/3-540-55493-9_5
1651:10.1145/1095495.1095500
1060:query statement with a
386:
271:and known today as 4D.
2660:Transaction processing
2615:Database normalization
2558:Query rewriting system
1777:E Proceedings of SSDBM
1151:hierarchical databases
1124:
1102:Database normalization
480:
2635:Referential integrity
1716:Notley, M.G. (1972).
1456:10.1145/362384.362685
1355:Relational transducer
1122:
969:Relational operations
830:referential integrity
478:
69:"Relational database"
2625:Distributed database
2183:(student ed.).
1283:proprietary software
1223:Microsoft SQL Server
1069:projection operation
706:to identify tuples,
360:(or "relations") of
54:improve this article
2645:Relational calculus
2523:Concurrency control
2098:10.1147/sj.273.0362
2086:IBM Systems Journal
1755:10.1147/sj.154.0285
1743:IBM Systems Journal
1085:relational division
985:relational calculus
678:that have the same
660:Relation (database)
654:Relations or tables
309:Christopher J. Date
134:relational database
2739:English inventions
2734:Types of databases
2640:Relational algebra
2584:Query optimization
2389:Armstrong's axioms
1892:. pp. 144–154
1877:(September 1981).
1680:. 1 January 1975.
1171:horizontal scaling
1125:
1080:cartesian product.
1033:or MINUS operator.
989:relational algebra
975:Relational algebra
819:domain constraints
481:
241:Oracle Corporation
2706:
2705:
2314:Wide-column store
2309:Document-oriented
2035:978-80-7378-116-3
1958:978-1-292-06118-4
1888:. Cupertino, CA:
1830:978-3-540-55493-6
1695:978-1-4503-7418-7
1573:"Oracle Timeline"
1175:computer clusters
1155:network databases
1038:cartesian product
892:Stored procedures
806:check constraints
766:abstraction layer
651:
650:
465:stored procedures
459:Stored procedures
453:ACID transactions
302:relational theory
130:
129:
122:
104:
16:(Redirected from
2756:
2724:Relational model
2696:
2695:
2686:
2685:
2676:
2675:
2650:Relational model
2620:Database storage
2497:Stored procedure
2242:
2235:
2228:
2219:
2218:
2214:
2161:
2160:
2158:
2157:
2146:
2140:
2139:
2137:
2136:
2122:
2116:
2115:
2108:
2102:
2101:
2081:
2075:
2074:
2072:
2071:
2060:
2054:
2053:
2047:
2039:
2019:
2013:
2012:
1994:
1988:
1987:
1969:
1963:
1962:
1944:
1938:
1932:
1926:
1907:
1901:
1900:
1898:
1897:
1890:Tandem Computers
1883:
1871:
1865:
1864:
1862:
1861:
1846:
1840:
1839:
1838:
1837:
1805:
1799:
1798:
1787:
1781:
1780:
1774:
1765:
1759:
1758:
1738:
1732:
1731:
1729:
1727:
1713:
1707:
1706:
1704:
1702:
1668:
1662:
1661:
1659:
1657:
1626:
1620:
1619:
1617:
1616:
1601:
1595:
1594:
1592:
1591:
1577:
1569:
1563:
1562:
1541:
1535:
1534:
1515:
1509:
1508:
1490:
1484:
1483:
1475:
1469:
1468:
1458:
1429:
1416:
1415:
1409:
1408:
1386:
1360:Snowflake schema
1272:Teradata Vantage
1239:Microsoft Access
1143:relational model
936:Index (database)
898:Stored procedure
824:entity integrity
664:Table (database)
517:
516:
497:relational model
352:Relational model
346:Relational model
146:relational model
125:
118:
114:
111:
105:
103:
62:
38:
30:
21:
2764:
2763:
2759:
2758:
2757:
2755:
2754:
2753:
2729:Database theory
2709:
2708:
2707:
2702:
2664:
2610:Database models
2598:
2567:
2553:Query optimizer
2528:Data dictionary
2511:
2482:Transaction log
2438:
2394:Codd's 12 rules
2367:
2297:Column-oriented
2263:Object-oriented
2251:
2246:
2195:
2170:
2165:
2164:
2155:
2153:
2148:
2147:
2143:
2134:
2132:
2124:
2123:
2119:
2110:
2109:
2105:
2082:
2078:
2069:
2067:
2062:
2061:
2057:
2041:
2040:
2036:
2020:
2016:
2009:
1995:
1991:
1984:
1970:
1966:
1959:
1945:
1941:
1933:
1929:
1915:Morgan Kaufmann
1908:
1904:
1895:
1893:
1881:
1872:
1868:
1859:
1857:
1848:
1847:
1843:
1835:
1833:
1831:
1807:
1806:
1802:
1789:
1788:
1784:
1772:
1766:
1762:
1739:
1735:
1725:
1723:
1714:
1710:
1700:
1698:
1696:
1670:
1669:
1665:
1655:
1653:
1635:ACM SIGIR Forum
1627:
1623:
1614:
1612:
1603:
1602:
1598:
1589:
1587:
1580:Profit Magazine
1575:
1571:
1570:
1566:
1556:
1542:
1538:
1531:
1517:
1516:
1512:
1505:
1491:
1487:
1476:
1472:
1430:
1419:
1406:
1404:
1387:
1383:
1378:
1339:Object database
1315:
1268:(free software)
1252:(free software)
1246:(free software)
1230:(free software)
1213:Oracle Database
1202:
1187:
1159:object database
1131:
1117:
1104:
1098:
977:
971:
950:index of a book
938:
932:
900:
894:
885:cross-reference
880:
874:
849:
841:Main articles:
839:
797:
780:
774:
754:
752:View (database)
746:Main articles:
744:
666:
658:Main articles:
656:
493:Codd's 12 rules
473:
461:
449:
437:
389:
354:
348:
194:Codd's 12 rules
174:
126:
115:
109:
106:
63:
61:
51:
39:
28:
23:
22:
15:
12:
11:
5:
2762:
2752:
2751:
2746:
2741:
2736:
2731:
2726:
2721:
2704:
2703:
2701:
2700:
2690:
2680:
2669:
2666:
2665:
2663:
2662:
2657:
2652:
2647:
2642:
2637:
2632:
2627:
2622:
2617:
2612:
2606:
2604:
2603:Related topics
2600:
2599:
2597:
2596:
2591:
2586:
2581:
2579:Administration
2575:
2573:
2569:
2568:
2566:
2565:
2560:
2555:
2550:
2548:Query language
2545:
2540:
2535:
2530:
2525:
2519:
2517:
2513:
2512:
2510:
2509:
2504:
2499:
2494:
2489:
2484:
2479:
2474:
2469:
2468:
2467:
2462:
2457:
2446:
2444:
2440:
2439:
2437:
2436:
2431:
2426:
2421:
2416:
2411:
2406:
2401:
2396:
2391:
2386:
2381:
2375:
2373:
2369:
2368:
2366:
2365:
2360:
2355:
2354:
2353:
2343:
2342:
2341:
2331:
2326:
2321:
2316:
2311:
2306:
2305:
2304:
2294:
2289:
2288:
2287:
2282:
2272:
2271:
2270:
2259:
2257:
2253:
2252:
2245:
2244:
2237:
2230:
2222:
2216:
2215:
2193:
2185:Addison-Wesley
2180:A Guide to DB2
2169:
2166:
2163:
2162:
2141:
2117:
2103:
2092:(3): 362–389.
2076:
2066:. 4 March 2015
2055:
2034:
2014:
2007:
1989:
1983:978-1292061184
1982:
1964:
1957:
1939:
1937:, p. 268.
1927:
1902:
1866:
1841:
1829:
1800:
1782:
1760:
1749:(4): 285–308.
1733:
1708:
1694:
1686:10.1145/800297
1663:
1621:
1611:. 28 June 1987
1596:
1564:
1555:978-3540483977
1554:
1536:
1529:
1510:
1503:
1485:
1470:
1449:(6): 377–387.
1417:
1380:
1379:
1377:
1374:
1373:
1372:
1367:
1362:
1357:
1352:
1342:
1336:
1331:
1329:Data warehouse
1326:
1321:
1314:
1311:
1275:
1274:
1269:
1263:
1258:
1253:
1247:
1241:
1236:
1231:
1225:
1220:
1215:
1201:
1198:
1186:
1183:
1116:
1113:
1100:Main article:
1097:
1094:
1089:
1088:
1081:
1072:
1065:
1046:
1045:
1034:
1027:set difference
1023:
1012:
993:set operations
973:Main article:
970:
967:
934:Main article:
931:
928:
912:business logic
896:Main article:
893:
890:
876:Main article:
873:
870:
861:surrogate keys
838:
835:
802:business rules
796:
793:
776:Main article:
773:
770:
743:
740:
655:
652:
649:
648:
642:
639:Derived relvar
635:
617:
616:
613:
596:
586:
585:
582:
569:
559:
558:
555:
538:
528:
527:
524:
521:
472:
469:
460:
457:
448:
445:
436:
433:
408:alternate keys
388:
385:
350:Main article:
347:
344:
333:query language
298:
297:
286:
283:
257:SAP Sybase ASE
225:
224:
221:
173:
170:
128:
127:
42:
40:
33:
26:
9:
6:
4:
3:
2:
2761:
2750:
2747:
2745:
2742:
2740:
2737:
2735:
2732:
2730:
2727:
2725:
2722:
2720:
2717:
2716:
2714:
2699:
2691:
2689:
2681:
2679:
2671:
2670:
2667:
2661:
2658:
2656:
2653:
2651:
2648:
2646:
2643:
2641:
2638:
2636:
2633:
2631:
2628:
2626:
2623:
2621:
2618:
2616:
2613:
2611:
2608:
2607:
2605:
2601:
2595:
2592:
2590:
2587:
2585:
2582:
2580:
2577:
2576:
2574:
2570:
2564:
2561:
2559:
2556:
2554:
2551:
2549:
2546:
2544:
2541:
2539:
2536:
2534:
2531:
2529:
2526:
2524:
2521:
2520:
2518:
2514:
2508:
2505:
2503:
2500:
2498:
2495:
2493:
2490:
2488:
2485:
2483:
2480:
2478:
2475:
2473:
2470:
2466:
2463:
2461:
2458:
2456:
2453:
2452:
2451:
2448:
2447:
2445:
2441:
2435:
2432:
2430:
2429:Surrogate key
2427:
2425:
2422:
2420:
2417:
2415:
2414:Candidate key
2412:
2410:
2407:
2405:
2402:
2400:
2397:
2395:
2392:
2390:
2387:
2385:
2382:
2380:
2377:
2376:
2374:
2370:
2364:
2361:
2359:
2356:
2352:
2349:
2348:
2347:
2344:
2340:
2337:
2336:
2335:
2332:
2330:
2327:
2325:
2322:
2320:
2317:
2315:
2312:
2310:
2307:
2303:
2300:
2299:
2298:
2295:
2293:
2290:
2286:
2283:
2281:
2278:
2277:
2276:
2273:
2269:
2266:
2265:
2264:
2261:
2260:
2258:
2254:
2250:
2243:
2238:
2236:
2231:
2229:
2224:
2223:
2220:
2212:
2208:
2204:
2200:
2196:
2190:
2186:
2182:
2181:
2176:
2172:
2171:
2151:
2145:
2131:
2127:
2121:
2113:
2107:
2099:
2095:
2091:
2087:
2080:
2065:
2059:
2051:
2045:
2037:
2031:
2027:
2026:
2018:
2010:
2008:9781285427102
2004:
2000:
1993:
1985:
1979:
1975:
1968:
1960:
1954:
1950:
1943:
1936:
1931:
1924:
1923:1-55860-190-2
1920:
1916:
1912:
1906:
1891:
1887:
1880:
1876:
1870:
1855:
1851:
1845:
1832:
1826:
1822:
1818:
1814:
1810:
1804:
1796:
1792:
1786:
1778:
1771:
1764:
1756:
1752:
1748:
1744:
1737:
1721:
1720:
1712:
1697:
1691:
1687:
1683:
1679:
1675:
1674:
1667:
1652:
1648:
1644:
1640:
1636:
1632:
1625:
1610:
1606:
1600:
1585:
1581:
1574:
1568:
1561:
1557:
1551:
1547:
1540:
1532:
1526:
1522:
1521:
1514:
1506:
1504:0-596-10012-4
1500:
1496:
1489:
1481:
1474:
1466:
1462:
1457:
1452:
1448:
1444:
1443:
1438:
1434:
1428:
1426:
1424:
1422:
1413:
1402:
1398:
1394:
1393:
1385:
1381:
1371:
1368:
1366:
1363:
1361:
1358:
1356:
1353:
1350:
1346:
1343:
1340:
1337:
1335:
1332:
1330:
1327:
1325:
1322:
1320:
1317:
1316:
1310:
1308:
1304:
1300:
1296:
1292:
1288:
1284:
1280:
1273:
1270:
1267:
1264:
1262:
1259:
1257:
1254:
1251:
1248:
1245:
1242:
1240:
1237:
1235:
1232:
1229:
1226:
1224:
1221:
1219:
1216:
1214:
1211:
1210:
1209:
1207:
1204:According to
1197:
1195:
1191:
1182:
1180:
1176:
1172:
1168:
1164:
1160:
1156:
1152:
1146:
1144:
1140:
1135:
1130:
1121:
1112:
1110:
1103:
1096:Normalization
1093:
1086:
1082:
1078:
1073:
1070:
1066:
1063:
1059:
1055:
1051:
1050:
1049:
1043:
1039:
1035:
1032:
1028:
1024:
1021:
1017:
1013:
1010:
1006:
1002:
998:
997:
996:
994:
990:
986:
982:
976:
966:
964:
960:
956:
951:
947:
943:
937:
927:
925:
921:
917:
913:
909:
905:
899:
889:
886:
879:
869:
867:
866:composite key
862:
858:
854:
848:
844:
834:
832:
831:
826:
825:
820:
815:
811:
807:
803:
792:
790:
786:
779:
769:
767:
763:
759:
753:
749:
739:
737:
732:
727:
725:
721:
717:
713:
709:
705:
699:
697:
693:
689:
685:
681:
677:
673:
672:
665:
661:
647:
643:
641:
640:
636:
634:
633:
632:
626:
625:
624:
619:
618:
614:
612:
611:
610:
604:
603:
602:
597:
595:
594:
593:
588:
587:
583:
581:
580:
575:
574:
570:
568:
567:
566:
561:
560:
556:
554:
553:
552:
546:
545:
544:
539:
537:
536:
535:
530:
529:
525:
522:
519:
518:
515:
513:
508:
506:
505:network model
502:
498:
494:
490:
486:
477:
468:
466:
456:
454:
444:
442:
435:Relationships
432:
429:
425:
421:
415:
413:
409:
405:
401:
396:
394:
384:
381:
379:
375:
371:
367:
363:
359:
353:
343:
341:
336:
334:
330:
325:
323:
319:
314:
310:
305:
303:
295:
291:
287:
284:
281:
277:
276:
275:
272:
270:
269:4th Dimension
266:
262:
258:
254:
250:
246:
242:
238:
235:(June 1976).
234:
230:
222:
219:
215:
211:
207:
203:
199:
198:
197:
195:
191:
187:
183:
179:
169:
167:
163:
159:
155:
151:
147:
144:based on the
143:
139:
135:
124:
121:
113:
102:
99:
95:
92:
88:
85:
81:
78:
74:
71: –
70:
66:
65:Find sources:
59:
55:
49:
48:
43:This article
41:
37:
32:
31:
19:
2274:
2179:
2154:. Retrieved
2152:. 2012-04-12
2144:
2133:. Retrieved
2129:
2120:
2111:
2106:
2089:
2085:
2079:
2068:. Retrieved
2058:
2024:
2017:
1998:
1992:
1973:
1967:
1948:
1942:
1930:
1910:
1905:
1894:. Retrieved
1885:
1869:
1858:. Retrieved
1844:
1834:, retrieved
1812:
1803:
1794:
1785:
1776:
1763:
1746:
1742:
1736:
1724:. Retrieved
1718:
1711:
1699:. Retrieved
1672:
1666:
1654:. Retrieved
1638:
1634:
1624:
1613:. Retrieved
1608:
1599:
1588:. Retrieved
1583:
1579:
1567:
1559:
1548:. Springer.
1545:
1539:
1519:
1513:
1497:. O'Reilly.
1494:
1488:
1473:
1446:
1440:
1410:– via
1405:. Retrieved
1391:
1384:
1305:(4.6%), and
1276:
1203:
1188:
1167:XML database
1147:
1138:
1136:
1132:
1109:normal forms
1105:
1090:
1047:
1016:intersection
978:
939:
901:
881:
850:
828:
822:
818:
798:
788:
784:
781:
755:
728:
723:
719:
715:
711:
707:
703:
700:
674:is a set of
669:
667:
638:
637:
629:
628:
622:
621:
608:
607:
600:
599:
591:
590:
578:
577:
572:
571:
564:
563:
550:
549:
541:
540:
533:
532:
526:Description
509:
499:include the
496:
482:
462:
450:
447:Transactions
438:
428:many-to-many
416:
404:natural keys
397:
393:foreign keys
390:
382:
355:
337:
326:
321:
317:
306:
299:
273:
226:
205:
189:
185:
175:
161:
157:
137:
133:
131:
116:
110:January 2024
107:
97:
90:
83:
76:
64:
52:Please help
47:verification
44:
2698:WikiProject
2589:Replication
2477:Transaction
2419:Foreign key
2399:CAP theorem
2346:Multi-model
2175:Date, C. J.
1935:Date (1984)
1433:Codd, E. F.
1370:Star schema
1347:(OLAP) and
1266:Apache Hive
924:declarative
878:Foreign key
872:Foreign key
847:Primary key
837:Primary key
795:Constraints
778:Data domain
609:Base relvar
487:, of IBM's
471:Terminology
424:one-to-many
400:primary key
340:Ingres QUEL
324:(PRDBMS).
313:Hugh Darwen
152:in 1970. A
2713:Categories
2563:Query plan
2516:Components
2434:Unique key
2351:comparison
2285:comparison
2275:Relational
2268:comparison
2194:0201113171
2156:2013-03-01
2135:2022-04-29
2130:DB-Engines
2070:2018-03-14
1896:2006-11-09
1860:2009-01-16
1836:2020-11-01
1795:oracle.com
1615:2016-03-17
1590:2013-05-16
1530:0309062780
1407:2024-04-06
1376:References
1301:including
1228:PostgreSQL
1206:DB-Engines
1127:See also:
1077:Inner join
1042:Cross join
946:Hash table
920:procedural
843:Unique key
680:attributes
631:result set
485:Edgar Codd
420:one-to-one
296:(1973–79).
280:Micro DBMS
206:collection
186:relational
178:E. F. Codd
150:E. F. Codd
80:newspapers
2572:Functions
2507:Partition
2334:In-memory
2292:Key–value
2203:256383726
2044:cite book
1875:Gray, Jim
1726:4 January
1701:4 January
1656:4 January
1645:: 45–55.
1465:207549016
1297:(17.0%),
1295:Microsoft
1293:(20.2%),
1289:(48.8%),
1256:Snowflake
1044:operator.
1022:operator.
1020:INTERSECT
1011:operator.
1009:SQL UNION
1005:relations
810:relations
758:relations
731:candidate
573:Attribute
520:SQL term
418:either a
331:as their
265:Macintosh
202:relations
2678:Category
2594:Sharding
2450:Relation
2424:Superkey
2379:Database
2372:Concepts
2211:2838595M
2177:(1984).
1917:, 1993.
1854:Archived
1435:(1970).
1401:Archived
1341:(OODBMS)
1313:See also
1309:(3.7%).
1307:Teradata
955:B+ trees
942:relation
908:relation
853:relation
736:superkey
671:relation
601:Relation
503:and the
261:Informix
249:IBM BS12
229:System R
190:relation
142:database
2688:Outline
2487:Trigger
2443:Objects
2168:Sources
1324:Datalog
1279:Gartner
1250:MariaDB
1234:IBM Db2
1064:clause.
981:relvars
963:bitmaps
959:R-trees
906:into a
814:Boolean
708:project
692:columns
370:records
362:columns
253:IBM Db2
218:columns
172:History
140:) is a
94:scholar
2502:Cursor
2460:column
2329:NewSQL
2209:
2201:
2191:
2032:
2005:
1980:
1955:
1921:
1827:
1692:
1552:
1527:
1501:
1463:
1303:Sybase
1287:Oracle
1244:SQLite
1058:SELECT
1054:subset
1031:EXCEPT
961:, and
851:Every
772:Domain
748:Relvar
724:update
722:, and
720:delete
716:insert
704:select
696:domain
676:tuples
565:Column
551:record
514:term:
378:entity
374:tuples
358:tables
282:(1969)
259:, and
245:Ingres
237:Oracle
210:tables
96:
89:
82:
75:
67:
2492:Index
2455:table
2358:Cloud
2324:NoSQL
2319:Graph
2256:Types
1882:(PDF)
1773:(PDF)
1641:(4).
1576:(PDF)
1461:S2CID
1349:ROLAP
1218:MySQL
1179:NoSQL
1115:RDBMS
1062:WHERE
1001:union
987:or a
930:Index
904:tuple
785:"ABC"
762:views
684:table
646:query
592:Table
579:field
543:Tuple
162:RDBMS
101:JSTOR
87:books
2543:ODBC
2533:JDBC
2472:View
2409:Null
2404:CRUD
2384:ACID
2339:list
2302:list
2280:list
2199:OCLC
2189:ISBN
2050:link
2030:ISBN
2003:ISBN
1978:ISBN
1953:ISBN
1919:ISBN
1825:ISBN
1728:2024
1703:2024
1690:ISBN
1658:2024
1550:ISBN
1525:ISBN
1499:ISBN
1153:and
1083:The
1067:The
1036:The
1025:The
1014:The
999:The
845:and
827:and
750:and
712:join
690:and
688:rows
662:and
623:View
387:Keys
366:rows
364:and
294:PRTV
247:and
216:and
214:rows
73:news
2538:XQJ
2465:row
2094:doi
1817:doi
1751:doi
1682:doi
1647:doi
1451:doi
1365:SQL
1299:SAP
1291:IBM
1173:of
857:set
789:123
627:or
605:or
576:or
547:or
534:Row
512:SQL
422:or
372:or
329:SQL
290:IS1
208:of
182:IBM
180:at
166:SQL
138:RDB
56:by
2715::
2207:OL
2205:.
2197:.
2187:.
2128:.
2090:27
2088:.
2046:}}
2042:{{
1913:.
1884:.
1823:,
1811:,
1793:.
1775:.
1747:15
1745:.
1688:.
1676:.
1637:.
1633:.
1607:.
1584:12
1582:.
1578:.
1558:.
1459:.
1447:13
1445:.
1439:.
1420:^
1395:.
1196:.
1177:,
1111:.
995::
957:,
833:.
768:.
738:.
718:,
507:.
455:.
443:.
342:.
335:.
311:,
255:,
243:.
220:);
132:A
2241:e
2234:t
2227:v
2213:.
2159:.
2138:.
2100:.
2096::
2073:.
2052:)
2038:.
2011:.
1986:.
1961:.
1925:.
1899:.
1863:.
1819::
1797:.
1779:.
1757:.
1753::
1730:.
1705:.
1684::
1660:.
1649::
1639:7
1618:.
1593:.
1533:.
1507:.
1482:.
1467:.
1453::
1414:.
817:(
160:(
136:(
123:)
117:(
112:)
108:(
98:·
91:·
84:·
77:·
50:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.