Showing posts with label Relational Database Theory. Show all posts
Showing posts with label Relational Database Theory. Show all posts

Tuesday, February 11, 2014

Week 6 - Relational Database Theory

Week 6 - Relational Database Theory Matthew Morimoto

Relational databases were developed in the 1970's by IBM's Edgar Codd and over the last 40 years has become the leading way of storing data.  Originally data was saved in flat files which made users enter in data over and over again which led to errors in the files as humans are only so perfect.  Relational databases were the answer to avoid flat files and hold more data in an era when every megabyte counted.   Relational databases are ways of organizing data in ways that allow it to be easily accessed and understood by any user.  Additionally relational databases allow for data to be updated by referencing other rows, columns, and tables.  As shown below most of the worlds largest tech firms use RDBMS ( Relational Database Management Systems)



Relational Databases are important as they are used in almost every function regarding computers.  From the operating systems that run your electronics to the games that keep your high score saved. All of them use the fundamentals of Relational databases in order to run correctly.  Below is an example of how a basic relational database functions.  The attributes on that form the column and the tuple that form the row together create a matrix called a relation.  When this is coded it is just a string of variables but in this context you can see how the output would look.  Furthermore this database is able to store information as well as reference other information in a separate location.  By doing this the database can be adjusted by the updating of information at another end.  A good example would be the charts at an airport.  There are several rows of information that is dependent on a flight however that flight data must be stored on another sheet in the airports mainframe which is updated by the pilots in the air as to what the ETA is on their flight.

File:Relational database terms.svg

With regards to AE 510, Relational Databases are important because they are what govern all BIM programs.  The walls, windows, doors, beams, columns are all kept in a database and then used in harmony whenever you want to make an edit to your building.  The only way that parametric modeling works is if database relations can update another part of the model that is connected to the piece that is important to the user.  Additionally when the user wants to bring up an piece of information on a part of the model the saved data is usually being pulled from a database that has multiple pieces of information about the given part.  Furthermore when running analysis on the situation the different parts will all be taken into account which will allow for better modeling of structural, mechanical, and electrical loads and figures.

In the near future, Relational databases will only get more widely used.  However that is not to say that a new form of storing information will not come into play.  Flat Files thought they would be the only way to store data until the seventies and it only a matter of time until the next big thing occurs.  In the meantime it is important to appreciate how these databases work and what they are used in.  It leads to better understanding our our systems and the way they operate.

Comments:

Ryan's blog - I liked your post and the fact that you looked into the future with how databases would be used.  I think the fact that databases will be used in real time is something that the field is not used to at this point in time but will definitely be something we will be using on a daily basis.  Furthermore, I like your personal touch and relating it to your personal experience.  It definitely brings it all back down to earth and more realistic for me.

Brian's blog - Your discussion of SEED was different. I have never worked with this program before but the fact that it saves your designs is a very nice power to have.  Instead of overwriting a model you can design for all the different criteria and see which one works best.  I do understand how it can be abused tho.  Eventually you will think that one type of building is similiar enough to another building that you will pass the design off as already done instead of doing a unique model for the new buidling.  While this is frustrating I can see it happening.

Sources:

[1] "The Theory OfRelational Databases." David Maier: The Theory of Relational Databases. N.p., n.d. Web. 11 Feb. 2014. http://web.cecs.pdx.edu/~maier/TheoryBook/TRD.html

[2] ftp://128.148.32.111/pub/techreports/89/cs89-39.pdf

[3] "A Simple Guide to Five Normal Forms in Relational Database Theory." A Simple Guide to Five Normal Forms in Relational Database Theory. N.p., n.d. Web. 11 Feb. 2014.  http://www.bkent.net/Doc/simple5.htm

Week 6 - Group A - Relational Database Theory - Phil Brubaker



                This week’s blog post topic for group A is about relational databases.  According to Google, a relational database is a database structured to recognize relations among stored items of information.  The concept of a relational database was created by a researcher at IBM by the name of E.F. Codd around 1970 and has continued to greatly evolve ever since.  Initially, your typical database was an incredibly long string of text known as a tab delimited file.  These tab delimited files would essentially be a list of entries with a single character in between them to section them off, with each entry containing all of the information necessary for that entry alone.  Similar entries were often grouped together within the tab delimited file but the information was not intertwined between different entries.  Having to search for a very specific piece of information through a setup of this type would often prove to be painstakingly tedious and time consuming.  In many cases, an employee would be required to analyze an incredible amount of entries to create tables or reports which would take an absurd amount of time to complete (relative to our standards now.)  This large portion of time would cost companies a lot of money that was seemingly being wasted considering what the output product was.  

                E.F. Codd’s idea of the relational database was an amazingly useful tool for achieving the same output products as the tab delimited file analyses in much less time, and thus at a much lower cost to a company.  The information within one entry of a relational database is intertwined throughout the information within the other entries of the relational database, creating what is essentially a web of data that can be compared to other pieces of data very easily.  One of Codd’s initial ideas was to organize information into tables rather than just separated strings, and using those tables, create other tables of other related information for a much more efficient analysis which ultimately saved companies an incredible amount of time and money as stated before.  This type of relational database was so easy to utilize and so useful that it developed into one of the most widely used computer programs throughout the world: Microsoft Excel.

Source:
 What are relational databases?"  23 March 2001.  HowStuffWorks.com. 
                <http://computer.howstuffworks.com/>


 
Comments:

Mike Kilgallon:   Great post!  I like how you related the concept of the relational database theory into an idea that we all can relate to here at Drexel.  I wonder if Drexel would like a database with all of the students and their debt upon graduation! 

Audrey Ryan:     Great post!  I was unaware that SQL is the most popular language for defining relational database models and I like the fact that you mentioned NoSQL which is used by two of the most well known companies in the world (Google and Amazon.)  Very interesting!


Sunday, February 9, 2014

Week 5 - Relational Database Theory

            The word database has become synonymous with the advent of computers.  Databases are used all over the world and are used by both companies and individuals alike.  Not only that, databases can be comprised of many different things; for example, Drexel has databases that keep account of student finances, student enrollment, and even has subscriptions for databases in the library that allow students to search numerous sources to gather information for projects.  One well known type of database is the relational database.

            A relational database is a database that organizes all of its information into separate columns.  These columns could have several different categories of information in each one that would relate to a particular topic [3].  One example is a payroll database that has rows of employee names with their respective salaries, tenure, and position in different columns. 

Despite the having “relational” in its name, this database does not use that word in a context one would think.  One would assume that the “relational” part of this database comes from relating data to data, but it really comes from mathematics [3].  This goes back to math because of the thousands of possible tables that have data that each table can target onto when retrieving the information.  This mathematical property would allow the user to access the data without having to fully understand the physical design of the database [2].  

This whole concept came from the engineers and researchers at IBM in the 1970s.  Dr. Codd from IBM designed the idea that data could be gathered from all over the database without the database knowing exactly where it is when searching for it.  This was accomplished by using a value that was assigned to the data instead of using the data itself when searching for it amongst the thousands of data entries that were scattered in the database [2].  This was revolutionary idea due to the major leaps in efficiency that it brought to the data world. 

Some turbulence was brought into the “relational database world” when sites that require “Big Data” started to emerge.  At first, the sites claimed that relational databases built from SQL were not appropriate for their sites.  However, as time went on, some problems began to emerge [1].  Although not using SQL relational database was quick to form and manage at the start, as more and more information was included, many different issues arose which made it more complicated to control all of the data.

In summary, relational databases are a great tool to use when controlling large amounts of information in databases.  It allows the user to find the relevant data more quickly due to the relations between tables and columns throughout the databases.
             
 Comments:
-Steve: I like how you touched upon the use of databases in Intelligent Buildings.  I'm surprised that I looked over that completely despite that being the overall course topic.  Intelligent Buildings and databases will go hand in hand due to the amount of information that sensors and other pieces of technology will provide the structure.

-Audrey: It was interesting to read about SQL from what you posted since my topic kept referring back to SQL numerous times.  I did read something about NoSQL databases like you touched upon.  From the source I read, the expert being interviewed said that issues like bogging-down the system are a very prevalent issue, and it is making some companies rethink the way they hold information and data.

Sources:
[1] "Don't Write Off Relational Databases For Big Data Just Yet." ReadWrite. N.p., n.d. Web. 09 Feb. 2014. <http://readwrite.com/2013/01/21/dont-write-off-relational-databases-for-big-data-just-yet?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+readwriteweb+(ReadWriteWeb)#awesm=~ovpPXysQhbhQKU>.

[2] "Relational Database." IBM100 -. N.p., n.d. Web. 08 Feb. 2014. <http://www-03.ibm.com/ibm/history/ibm100/us/en/icons/reldb/>.


[3] "What Are Relational Databases?" HowStuffWorks. N.p., n.d. Web. 08 Feb. 2014. <http://computer.howstuffworks.com/question599.htm>.

Saturday, February 8, 2014

Relational Database Theory

Relational Database Theory was created in 1970 by IBM employee Edgar F. Codd. It is currently the most common type of database, and is something that everyone is familiar with. Relational databases are databases which use tables to store data, and create relationships between data items based on the items' values. They are created using a special computer language, structured query language (SQL).

Prior to 1970, databases were "flat," meaning that they stored information in one long text file (called a tab delimited file). These databases stored data as a text file with each entry containing multiple pieces of information about a particular subject. An example of a file created by a flat database would be:

Lname, FName, Age, Salary|Smith, John, 35, $280|Doe, Jane, 28, $325|Brown, Scott, 41, $265|Howard, Shemp, 48, $359|Taylor, Tom, 22, $250

These databases made sorting information difficult, and were typically very large and difficult to use. Retrieving information often required trained computer specialists, and could be an expensive and time consuming process. Codd wrote a paper called "A Relational Model of Data for Large Shared Data Banks" outlining his revolutionary relational database theory which greatly simplified databases and made it possible for almost anyone to use databases.

The result of Codd's work was a data model that represents data in the form of relations. Relations are represented by tables that store information with rows and columns, with elements that can be combined and sorted based on user inputs. Below is an example of a relation that stores data about books:


Relational databases are improvements upon older style databases in a number of ways. They are easier to use, and allow everyday people to utilize databases without training or equipment. Relational databases also are visually more organized and easier to sort through for users. They eliminate redundant data and reduce errors in reducing the amount of times that users must enter data.

In terms of intelligent building design, relational databases are important for the reasons listed above. They allow anyone to maintain and sort data, which is increasingly important in the era of big data and sensors. Relational databases are the base which allows engineers to start looking at data and determining what information is useful, allowing them to use it for design purposes.

Sources:

Boyce, Ray, Edgar Codd, Donald Chamberlain, Christopher J. Date, and Patricia G. Selinger. "Relational Database." IBM100. IBM, n.d. Web. 08 Feb. 2014. <http://www-03.ibm.com/ibm/history/ibm100/us/en/icons/reldb/>.

What are relational databases?"  23 March 2001.  HowStuffWorks.com. 

<http://computer.howstuffworks.com/question599.htm>  07 February 2014.


Harkins, Susan. "Relational Databases: The Inspiration behind the Theory." TechRepublic. TechRepublic, 2 Apr. 2003. Web. 08 Feb. 2014. <http://www.techrepublic.com/article/relational-databases-the-inspiration-behind-the-theory/>.

Comments:
Esther's blog: You had a really well written blog. It was interesting to read what you had to say about Microsoft Access because I have never used that program before. Your description of keys and how they work helped me understand relational databases a little bit better; I think that you described the process better than a lot of the sources I looked at online.

Jeremy's blog: Your blog was interesting for me to read because it explained SQL, which was something that came up in what I was reading but was never really explained. The whole idea makes a lot more sense to me now, and it makes sense that there is a standard kind of language for communication between databases. It seems like the language has some issues though, it would be interesting to see if SQL evolves or is replaced at some point in the near future.

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.