Tuesday, February 12, 2019

Blog 5: Relational Database Theory


Relational database theory is a relatively recent development, with Edgar F. Codd originally proposing it in a 1969 paper. Simply put, a database is an organized collection of variables which are machine accessible and editable.  A relational database is one whose symbols are organized by relations. A relation scheme is a set of attribute names. There is a set of tuples (variables) which have a set of attributes assigned to them. The number of tuples is the cardinality of the relation. A relation with a cardinality of 4 is called a 4-tuple. The degree of a relationship is the number of attributes it has. Each attribute has a unique name that describes what it is. Each tuple has each of those attributes. While attribute name is constant over tuples, the attribute value is not necessarily constant. This gives relational databases their usefulness: they are relatively easy to navigate and can store a variety of unique values. An attribute can have certain constraints, or restrictions on what a certain attribute value can be. A simple example is the following table.

It is important to note that the order of columns or rows can be switched in a database; they are not necessarily constrained in an order like a physical table is. Keys are a useful attribute in a database (i.e. no repeating values) that list values. Sometimes in order to create a key, an attribute must be made with a unique value of each tuple (i.e. numbering the n tuples from 1 to n). They help navigation of a database.
A database management system allows users to view and/or edit certain parts (up to and including all) of a table. There is a set language which the user interacts with the management system in order to complete a task. Examples of tasks include updating an attribute value, removing a tuple or attribute, and a new tuple or attribute. A query is an expression that outputs a result based on information from a database. A request is a command that uses the language a database management system understands. Relational algebra is the underlying way that queries are processed by the computer.
Maier, David. The Theory of Relational Databases. Computer Science Press, Inc. 1983. http://web.cecs.pdx.edu/~maier/TheoryBook/TRD.html.
Kozubek, Agnieszka. Theory and History: Why are Relational Databases “Relational”?. Vertabelo. Posted November 27, 2013. https://www.vertabelo.com/blog/notes-from-the-lab/why-are-relational-databases-relational.
Darwen, Hugh. An Introduction to Relational Database Theory, 3rd edition. Ventus Publishing ApS. 2012. https://zodml.org/sites/default/files/An_Introduction_to_Relational_Database_Theory_0.pdf.

Aaron Goldberg,
I was not aware of how recent a development that relational database theory is and powerful it is. I had been focusing more on what they were and how they work and was under the impression that they had been used for a much longer time; I thought that this was how computers stored data now. The capabilities of computers using this theory are extremely impressive and I see how it would be relevant to learn this as someone who will be using such computers in the future.
Alkiviadis Tsitsios,
I found your post to be very useful. I had looked into how databases work and I definitely lost sight of how they relate to the AEC industry. You also provide a simple introduction to how to use a database management system should work with the end user, which again, gave me a different perspective of relational databases.
Harvin Bhandal,
You covered SQL in your post, which I did not. I’m glad that you did because it gave me a much more concrete explanation of relational databases than I got from my resources. You also compared relational databases to other types of databases, which helps to explain why they are as powerful as they are which is mentioned in Aaron Goldberg’s post.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.