Friday, February 7, 2014

Group A: Relational Database Theory

A relational database is a database that has a collection of tables of data which are organized and collected using a form of a relational model. As I was reading this explanation, I asked myself what differentiates a relational database from a normal database. Lately, relational databases are the only types of databases we have been exposed to. Before E.F. Codd wrote about them in 1970, databases were flat: information was stored in long text files called tab delimited files. With this type of database, it was difficult to search for one type of data or a certain field. With a relational database, it is easier to search for a specific type of information or sort the data based on a specific field.

The most common database software is Microsoft Access. In there, the first step is to create a primary key. This is a column or group of columns that can identify different rows. This is part of relational modeling. A foreign key is then made which establishes a relationship between the row in one table and a row in another table. These “keys” are what give this type of database the name “relational”. These “keys” are mathematical relations from which columns from different tables can key on to gather information from that table. Relational databases can have anywhere from 10 to 10,000 tables and these keys are what connect the tables together.

In E.F. Codd’s paper, introducing relational modelling, he talked about the motivation behind creating relational databases and goes on to outline how it works. “A data model is a combination of: a collection of data structure types; a collection of operators or rules of inference; a collection of general integrity rules (insert-update-delete rules)…” [1] The argument of his paper is that “relational database technology offers dramatic improvements in productivity both for end users and for application programmers.”

The diagram below explains the relationship between the structural, manipulative and integrity part of relational models. The structural part consists of domains, attributes, primary keys, etc… “The manipulative part of the relational model consists of the algebraic operators (select, project, join, etc.) which transform relations into relations.”




Structured Query Language (SQL) is the language used for relational databases and is the standard for database interoperability.

Comments:

Matt:
I really liked that you explained why flat files were replaced by relational databases especially considering that data had to be entered over and over again despite there being a pattern. Your example of flights at an airport definitely helps explain why relational databases are so useful. Your point that the way we look at databases may change in the future is probably right and completely understanding why relational databases work the way they do, will lead to figuring out a better way to store data that would improve productivity.

Ian:
Great post! I like that you outlined why databases are useful for those in the construction business. My second coop was with a small construction firm and I noticed the transition they were trying to be part of. Since it was a small firm, they were not in a rush to accept these changes as much their larger counterparts. 


Sources:
[1] Codd, E. F. "Relational Database: A Practical Foundation for Productivity." (n.d.): n. pag. Web. <http://delivery.acm.org/10.1145/360000/358400/a1981-codd.pdf?ip=129.25.23.239&id=358400&acc=OPEN&key=F9B7F4BB951339C12170E67C436BC2829DD90E08F99FBED647B26AA4D94BF4A9&CFID=290082205&CFTOKEN=47555637&__acm__=1391789402_7833a96b719a7be978439325247565bc>.


[2] "What are relational databases?"  23 March 2001.  HowStuffWorks.com. <http://computer.howstuffworks.com/question599.htm>  07 February 2014.

No comments:

Post a Comment