Knowledge (XXG)

Relational database

Source 📝

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). 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. 476: 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
2284: 1318: 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, 2267: 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
2748: 2743: 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
2279: 1333: 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
2023: 279: 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
1162: 1193: 1604: 2149: 2033: 1956: 1853: 1828: 1693: 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
2718: 2677: 53: 726:
operators. New tuples can supply explicit values or be derived from a query. Similarly, queries identify tuples for updating or deleting.
2350: 2239: 1677: 1642: 1400: 1981: 1553: 2697: 804:
in the database and support subsequent data use within the application layer. SQL implements constraint functionality in the form of
2049: 2006: 1922: 1502: 915: 119: 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: 2403: 2063: 1411: 1068: 2654: 926:
SQL syntax. Stored procedures are not part of the relational database model, but all commercial implementations include them.
2301: 2192: 1528: 57: 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. 440: 1560:
The product was called SQL/DS (Structured Query Language/Data Store) and ran under the DOS/VSE operating system environment
79: 2593: 1874: 232: 1344: 1260: 868:. A composite key is a key made up of two or more attributes within a table that (together) uniquely identify a record. 2738: 2733: 2619: 2338: 940:
An index is one way of providing quicker access to data. Indices can be created on any combination of attributes on a
500: 488: 86: 380:(such as "Lee" or "chair") and the columns represent values attributed to that instance (such as address or price). 2542: 2532: 2308: 411: 256: 46: 2723: 2629: 2362: 1768:
Ramakrishnan, Raghu; Donjerkovic, Donko; Ranganathan, Arvind; Beyer, Kevin S.; Krishnaprasad, Muralidhar (1998).
1441: 1015: 548: 427: 369: 68: 2728: 423: 395:). Codd showed that data relationships of arbitrary complexity can be represented by a simple set of concepts. 268: 2588: 2578: 2232: 1026: 923: 419: 2291: 944:. Queries that filter using those attributes can find matching tuples directly using the index (similar to 2659: 2614: 1108: 1101: 919: 1572: 1161:
management systems in the 1980s and 1990s, (which were introduced in an attempt to address the so-called
2634: 1354: 1150: 829: 679: 2388: 1878: 338:
Alternative query languages have been proposed and implemented, notably the pre-1996 implementation of
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
2687: 2624: 2506: 2476: 2345: 2296: 1282: 1222: 1007:
and removes all duplicate tuples from the result. The relational union operator is equivalent to the
339: 17: 451:
In order for a database management system (DBMS) to operate efficiently and accurately, it must use
2644: 2537: 2522: 2449: 2174: 1004: 984: 941: 907: 852: 809: 757: 670: 659: 598: 308: 274:
The first systems that were relatively faithful implementations of the relational model were from:
201: 1849: 2639: 2583: 2552: 2501: 2333: 2225: 2043: 1460: 1286: 1205: 1170: 1084: 1000: 988: 974: 949: 240: 93: 2393: 492: 193: 2459: 2313: 2198: 2188: 2029: 2002: 1977: 1952: 1918: 1824: 1689: 1549: 1524: 1498: 1037: 856: 813: 765: 691: 562: 495:. A relational database has become the predominant type of database. Other models besides the 452: 361: 304:. By this definition, RDBMS products typically implement some but not all of Codd's 12 rules. 244: 217: 1390: 2649: 2496: 2486: 2454: 2093: 1889: 1816: 1750: 1681: 1646: 1450: 1359: 1238: 1174: 1154: 1142: 935: 897: 823: 805: 683: 663: 589: 464: 357: 351: 301: 209: 192:. One well-known definition of what constitutes a relational database system is composed of 145: 1479: 475: 2557: 2527: 2481: 2262: 2206: 1914: 1769: 1338: 1212: 1158: 1019: 884: 761: 751: 236: 231:, a research project to develop a prototype RDBMS. The first system sold as an RDBMS was 2609: 2547: 2491: 2464: 2357: 2318: 2184: 1328: 1255: 911: 801: 687: 645: 531: 365: 332: 264: 213: 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
2712: 2428: 2413: 1464: 1432: 860: 730: 504: 484: 407: 177: 2178: 2125: 948:
lookup), without having to check each tuple in turn. This is analogous to using the
1166: 1057: 1030: 962: 910:, gathering statistical information about usage patterns, or encapsulating complex 865: 260: 228: 1741:
Todd, Stephen (1976). "The Peterlee Relational Test Vehicle - A System Overview".
1630: 1518: 2418: 2398: 1949:
Database systems: a practical approach to design, implementation, and management
1369: 1265: 1208:, in January 2023 the most popular systems on the db-engines.com web site were: 1061: 1008: 877: 846: 777: 695: 403: 399: 392: 312: 35: 2025:
Dateso 10; Database Trends and Directions: Current Challenges and Opportunities
1974:
Database Systems – A Practical Approach to Design Implementation and Management
953:
relation size, and typical access pattern. Indices are usually implemented via
2562: 2471: 2433: 2408: 2217: 1227: 1119: 1076: 1041: 992: 945: 842: 630: 620: 149: 2202: 1808: 1671: 1181:
databases have recently become popular as an alternative to RDBMS databases.
267:
began being developed, code-named Silver Surfer, and was released in 1987 as
1820: 1650: 1294: 27:
Digital database whose organization is based on the relational model of data
2210: 1455: 1436: 1396: 954: 164:). Many relational database systems are equipped with the option of using 2423: 2378: 2248: 1306: 1271: 1128: 1071:(π) extracts only the specified attributes from a tuple or set of tuples. 855:/table has a primary key, this being a consequence of a relation being a 735: 248: 141: 2097: 1754: 1951:(global ed.). Boston Columbus Indianapolis: Pearson. p. 416. 1886:
Proceedings of the 7th International Conference on Very Large Databases
1323: 1278: 1249: 1233: 980: 615:
A set of tuples sharing the same attributes; a set of columns and rows
289: 252: 2328: 1302: 1298: 1243: 1053: 958: 747: 606: 377: 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. 1685: 2323: 2028:(1st ed.). Prague, Sokolovsk: MATFYZPRESS. pp. 163–174. 1348: 1217: 1178: 1145:. Most databases in widespread use today are based on this model. 1118: 903: 675: 542: 474: 373: 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
2383: 1189: 584:
A labeled element of a tuple, e.g. "Address" or "Date of birth"
293: 153: 2221: 1520:
Funding a Revolution: Government Support for Computing Research
1392:
Portable Software Tools for Managing and Referencing Taxonomies
1056:
in terms of set theory. The SQL equivalent of selection is the
812:. These are usually defined using expressions that result in a 368:, with a unique key identifying each row. Rows are also called 1364: 1290: 979:
Queries made against the relational database, and the derived
511: 328: 181: 165: 29: 491:. Codd's view of what qualifies as an RDBMS is summarized in 463:
Part of the programming within a RDBMS is accomplished using
1911:
Distributed Transaction Processing: Concepts and Techniques
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" 729:
Tuples by definition are unique. If the tuple contains a
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
2602: 2571: 2515: 2442: 2371: 2255: 1397:
Digital Mapping Techniques '03 Workshop Proceedings
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" 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 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. 322:pseudo-relational database management systems 251:followed. Other examples of an RDBMS include 8: 1947:Connolly, Thomas M; Begg, Carolyn E (2015). 1813:The Nested Universal Relation Database Model 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) 204:(a presentation in tabular form, i.e. as a 156:used to maintain relational databases is a 2240: 2226: 2218: 1129:Database § Database management system 1454: 1351:(Relational Online Analytical Processing) 120:Learn how and when to remove this message 1770:"SRQL: Sorted Relational Query Language" 1523:. National Academies Press. 8 Jan 1999. 1194:Distributed Data Management Architecture 1003:operator (υ) combines the tuples of two 516: 2126:"DB-Engines Ranking of Relational DBMS" 1381: 288:IBM UK Scientific Centre at Peterlee – 212:with each table consisting of a set of 2749:Relational database management systems 2744:Computer-related introductions in 1969 2041: 1722:. IBM United Kingdom Scientific Centre 1427: 1425: 1423: 1421: 557:A data set representing a single item 406:may also be identified and defined as 1976:(6th ed.). Pearson. p. 64. 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 18:Relational database management system 7: 1934: 1856:from the original on 6 February 2009 1163:object–relational impedance mismatch 58:adding citations to reliable sources 2693: 2022:Feuerlich, George (21 April 2010). 1852:. Microsoft PressPass. 1998-11-23. 1678:Association for Computing Machinery 1643:Association for Computing Machinery 983:in the database are expressed in a 184:in 1970. Codd introduced the term 25: 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 200:Present the data to the user as 34: 2683: 1999:Concepts of Database Management 1478:Ambler, Scott (21 March 2023). 1412:United States Geological Survey 1403:from the original on 2014-10-21 479:Relational database terminology 263:. In 1984, the first RDBMS for 45:needs additional citations for 2114:. IBM Corp. SC26-4651-0. 1990. 1277:According to research company 292:(1970–72), and its successor, 227:In 1974, IBM began developing 1: 2048:: CS1 maint: date and year ( 1609:tribunedigital-chicagotribune 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 2719:Database management systems 2249:Database management systems 501:hierarchical database model 2765: 2655:Object–relational database 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: 154:database management system 2668: 2630:Federated database system 2363:Blockchain-based database 1586:(2). Oracle: 26. May 2007 1442:Communications of the ACM 1389:Hastings, Jordan (2003). 523:Relational database term 441:entity-relationship model 278:University of Michigan – 1719:The Peterlee IS/1 System 1200:List of database engines 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 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: 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: 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: 2173: 2170: 2165: 2164: 2155: 2153: 2148: 2147: 2143: 2134: 2132: 2124: 2123: 2119: 2110: 2109: 2105: 2083: 2082: 2078: 2069: 2067: 2062: 2061: 2057: 2040: 2036: 2021: 2020: 2016: 2009: 1996: 1995: 1991: 1984: 1971: 1970: 1966: 1959: 1946: 1945: 1941: 1933: 1929: 1915:Morgan Kaufmann 1908: 1904: 1895: 1893: 1881: 1873: 1872: 1868: 1859: 1857: 1848: 1847: 1843: 1835: 1833: 1831: 1807: 1806: 1802: 1789: 1788: 1784: 1772: 1767: 1766: 1762: 1740: 1739: 1735: 1725: 1723: 1715: 1714: 1710: 1700: 1698: 1696: 1670: 1669: 1665: 1655: 1653: 1635:ACM SIGIR Forum 1628: 1627: 1623: 1614: 1612: 1603: 1602: 1598: 1589: 1587: 1580:Profit Magazine 1575: 1571: 1570: 1566: 1556: 1543: 1542: 1538: 1531: 1517: 1516: 1512: 1505: 1492: 1491: 1487: 1477: 1476: 1472: 1431: 1430: 1419: 1406: 1404: 1388: 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: 2760: 2752: 2751: 2746: 2741: 2736: 2731: 2726: 2721: 2711: 2710: 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: 2247: 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: 24: 14: 13: 10: 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: 2167: 2151: 2145: 2142: 2131: 2127: 2121: 2118: 2113: 2107: 2104: 2099: 2095: 2091: 2087: 2080: 2077: 2065: 2059: 2056: 2051: 2045: 2037: 2031: 2027: 2026: 2018: 2015: 2010: 2008:9781285427102 2004: 2000: 1993: 1990: 1985: 1979: 1975: 1968: 1965: 1960: 1954: 1950: 1943: 1940: 1936: 1931: 1928: 1924: 1923:1-55860-190-2 1920: 1916: 1912: 1906: 1903: 1891: 1887: 1880: 1876: 1870: 1867: 1855: 1851: 1845: 1842: 1832: 1826: 1822: 1818: 1814: 1810: 1804: 1801: 1796: 1792: 1786: 1783: 1778: 1771: 1764: 1761: 1756: 1752: 1748: 1744: 1737: 1734: 1721: 1720: 1712: 1709: 1697: 1691: 1687: 1683: 1679: 1675: 1674: 1667: 1664: 1652: 1648: 1644: 1640: 1636: 1632: 1625: 1622: 1610: 1606: 1600: 1597: 1585: 1581: 1574: 1568: 1565: 1561: 1557: 1551: 1547: 1540: 1537: 1532: 1526: 1522: 1521: 1514: 1511: 1506: 1504:0-596-10012-4 1500: 1496: 1489: 1486: 1481: 1474: 1471: 1466: 1462: 1457: 1452: 1448: 1444: 1443: 1438: 1434: 1428: 1426: 1424: 1422: 1418: 1413: 1402: 1398: 1394: 1393: 1385: 1382: 1375: 1371: 1368: 1366: 1363: 1361: 1358: 1356: 1353: 1350: 1346: 1343: 1340: 1337: 1335: 1332: 1330: 1327: 1325: 1322: 1320: 1317: 1316: 1312: 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 1199: 1197: 1195: 1191: 1184: 1182: 1180: 1176: 1172: 1168: 1164: 1160: 1156: 1152: 1146: 1144: 1140: 1135: 1130: 1121: 1114: 1112: 1110: 1103: 1096:Normalization 1095: 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: 968: 966: 964: 960: 956: 951: 947: 943: 937: 929: 927: 925: 921: 917: 913: 909: 905: 899: 891: 889: 886: 879: 871: 869: 867: 866:composite key 862: 858: 854: 848: 844: 836: 834: 832: 831: 826: 825: 820: 815: 811: 807: 803: 794: 792: 790: 786: 779: 771: 769: 767: 763: 759: 753: 749: 741: 739: 737: 732: 727: 725: 721: 717: 713: 709: 705: 699: 697: 693: 689: 685: 681: 677: 673: 672: 665: 661: 653: 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: 470: 468: 466: 458: 456: 454: 446: 444: 442: 435:Relationships 434: 432: 429: 425: 421: 415: 413: 409: 405: 401: 396: 394: 386: 384: 381: 379: 375: 371: 367: 363: 359: 353: 345: 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: 171: 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:)

Index

Relational database management system

verification
improve this article
adding citations to reliable sources
"Relational database"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
database
relational model
E. F. Codd
database management system
SQL
E. F. Codd
IBM
Codd's 12 rules
relations
tables
rows
columns
System R
Multics Relational Data Store
Oracle
Oracle Corporation
Ingres
IBM BS12

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.