Relational model: Difference between revisions

Content deleted Content added
PrimeBOT (talk | contribs)
m External links: Task 24: elink template removal following a TFD
m Disambiguating links to Object-orientation (link changed to Object-oriented programming) using DisamAssist.
 
(6 intermediate revisions by 5 users not shown)
Line 1:
{{short description|Database model}}
The '''relational model''' ('''RM''') is an approach to managing [[data]] using a [[Structure (mathematical logic)|structure]] and language consistent with [[first-order logic|first-order predicate logic]], first described in 1969 by English computer scientist [[Edgar F. Codd]],<ref>{{Citation | title = Derivability, Redundancy, and Consistency of Relations Stored in Large Data Banks | first = E.F | last = Codd | publisher = IBM | series = Research Report | year = 1969}}.</ref><ref name="codd1970">{{cite journal |last= Codd |first= E.F |year= 1970 |title= A Relational Model of Data for Large Shared Data Banks |series= Classics |url= http://www.acm.org/classics/nov95/toc.html |journal= [[Communications of the ACM]] |volume= 13 |issue= 6 |pages= 377–87 |doi= 10.1145/362384.362685 |s2cid= 207549016 |url-status= dead |archive-url= https://web.archive.org/web/20070612235326/http://www.acm.org/classics/nov95/toc.html |archive-date= 2007-06-12 |doi-access= free }}</ref> where all data isare represented in terms of [[tuple]]s, grouped into [[relation (database)|relation]]s. A database organized in terms of the relational model is a [[relational database]].
 
The purpose of the relational model is to provide a [[Declarative programming|declarative]] method for specifying data and queries: users directly state what information the database contains and what information they want from it, and let the [[database management system|database management system software]] take care of describing data structures for storing the data and retrieval procedures for answering queries.
Line 7:
 
== History ==
The relational model was developed by [[Edgar F. Codd]] as a general model of data, and subsequently promoted by [[Christopher J. Date|Chris Date]] and [[Hugh Darwen]] among others. In their 1995 ''The Third Manifesto'', Date and Darwen try to demonstrate how the relational model can accommodate certain "desired" [[Object-oriented programming|object-oriented]] features.<ref>{{Cite web |title=Did Date and Darwen's "Third Manifesto" have a lasting impact? |url=https://cs.stackexchange.com/questions/99350/did-date-and-darwens-third-manifesto-have-a-lasting-impact |access-date=2024-08-03 |website=Computer Science Stack Exchange |language=en}}</ref>
 
=== Extensions ===
Line 40:
{{main|Foreign key}}
 
A ''foreign key'' is a subset of attributes ''{A}'' in a relation ''R<sub>1</sub>'' that corresponds with a key of another relation ''R<sub>2</sub>'', with the property that the [[Projection (relational algebra)|projection]] of ''R<sub>1</sub>'' on ''{A}'' is a subset of the projection of ''R<sub>2</sub>'' on ''{A}''. In other words, if a tuple in ''R<sub>1</sub>'' contains values for a foreign key, there must be a corresponding tuple in ''R<sub>2</sub>'' containing the same values for the corresponding key.<ref name="professionals"/>{{rp|34}}
 
=== Relational operations ===
Line 257:
[[Category:Articles with example pseudocode]]
[[Category:Programming paradigms]]
[[Category:Database management systems]]