{"id":41,"date":"2016-06-26T15:50:52","date_gmt":"2016-06-26T14:50:52","guid":{"rendered":"http:\/\/reldb.org\/wordpress\/?page_id=41"},"modified":"2016-06-26T15:54:10","modified_gmt":"2016-06-26T14:54:10","slug":"overview","status":"publish","type":"page","link":"https:\/\/reldb.org\/c\/index.php\/read\/overview\/","title":{"rendered":"Overview"},"content":{"rendered":"<h1>Overview<\/h1>\n<h2>Advantages of\u00a0<i>Rel<\/i> and\u00a0<b>Tutorial D<\/b>:<\/h2>\n<ul>\n<li><b>Tutorial D<\/b> uses relation-valued variables \u2013 known as relvars \u2013 instead of the tables used in most database languages. This provides a way to manage information that is consistent with the most familiar elements \u2013 variables and values \u2013 of easy-to-learn but powerful programming languages.<\/li>\n<li><b>Tutorial D<\/b> supports nested relations, to provide flexibility in modeling data storage requirements and presenting complex query results.<\/li>\n<li><b>Tutorial D<\/b> provides a clean query syntax that exposes the simplicity, elegance, power, and composability of the underlying relational algebra.<\/li>\n<li><b>Tutorial D<\/b> queries do not depend on column order. This reduces the likelihood of programmer error and makes code more maintainable.<\/li>\n<li><b>Tutorial D<\/b> does not allow duplicate rows (tuples) or use NULLs, which helps ensure the predictability and consistency of query results.<\/li>\n<li><b>Tutorial D<\/b> supports advanced database constraints, which go beyond foreign key and &#8220;check&#8221; constraints in specifying controls on data consistency and integrity.<\/li>\n<li><b>Tutorial D<\/b> is more than a query language; it is a full programming language. It offers an intuitive and highly readable way to provide application functionality within a database, and provide database functionality within a programming language.<\/li>\n<li><b>Tutorial D<\/b> promotes code re-use, which improves maintainability, programmability, and opportunities for optimisation.<\/li>\n<li><b>Tutorial D<\/b> specifies an advanced type system for creating user-defined types of arbitrary complexity.<\/li>\n<\/ul>\n<p>In short, <i>Rel<\/i> represents a significant advancement in database technology.<\/p>\n<p><i>Rel<\/i> is a work in progress, but is suitable for exploring true relational concepts, implementing non-critical databases, and is an ideal educational tool. Future versions will be usable as an enterprise database management system.<\/p>\n<h2>Where is <i>Rel<\/i> being used?<\/h2>\n<ul>\n<li>University of Derby, Derby, UK<\/li>\n<li>University of Louvain, Belgium<\/li>\n<li>Palacky University, Olomouc, Czech Republic<\/li>\n<\/ul>\n<p>We would like to hear from other universities and educational institutions that use <i>Rel<\/i>. Please email Dave Voorhis &lt;d.voorhis@derby.ac.uk&gt; or Hugh Darwen &lt;hd@thethirdmanifesto.com&gt;.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Overview Advantages of\u00a0Rel and\u00a0Tutorial D: Tutorial D uses relation-valued variables \u2013 known as relvars \u2013 instead of the tables used in most database languages. This provides a way to manage information that is consistent with the most familiar elements \u2013 variables and values \u2013 of easy-to-learn but powerful programming languages. Tutorial D supports nested relations, <a href=\"https:\/\/reldb.org\/c\/index.php\/read\/overview\/\" rel=\"nofollow\"><span class=\"sr-only\">Read more about Overview<\/span>[&hellip;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":17,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"class_list":["post-41","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/reldb.org\/c\/index.php\/wp-json\/wp\/v2\/pages\/41","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/reldb.org\/c\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/reldb.org\/c\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/reldb.org\/c\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/reldb.org\/c\/index.php\/wp-json\/wp\/v2\/comments?post=41"}],"version-history":[{"count":2,"href":"https:\/\/reldb.org\/c\/index.php\/wp-json\/wp\/v2\/pages\/41\/revisions"}],"predecessor-version":[{"id":43,"href":"https:\/\/reldb.org\/c\/index.php\/wp-json\/wp\/v2\/pages\/41\/revisions\/43"}],"up":[{"embeddable":true,"href":"https:\/\/reldb.org\/c\/index.php\/wp-json\/wp\/v2\/pages\/17"}],"wp:attachment":[{"href":"https:\/\/reldb.org\/c\/index.php\/wp-json\/wp\/v2\/media?parent=41"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}