Showing posts with label Relational database. Show all posts
Showing posts with label Relational database. Show all posts

Tuesday, February 10, 2015

Week 6 Post - Castonguay - Group A

Relational Database Theory

In 1970, a mathematician working at IBM named Edgar F. Codd published a paper that would change the future of technology. His paper showed how information stored in large databases could be accessed without knowing where the information was in he database or how it was structured. Basically, his paper brought up he new ides of relational databases. Before this time, databases were used in a predictable way that retrieved the same information over and over again. Only computer specialists were able to get specific information from computers. After Codd, any person could now get information from computers without knowing where it came from on the computer. his made people more able to focus on what hey were doing rather than accessing the information on their computers. After Codd published this theory, it needed to be tested. Many companies promoted it and much research was put into it. Following, many different types of relational databases were invented such as System R, SQL, and DB2. The DB2 family of relational databases handles billions of transactions every day and is one of IBM's most successful software products. Because of his ideas, Codd was named an IBM fellow and the Turing Award, which is considered the "Nobel Prize of computing."

A relational database organizes information on computers based on the relational model of data. Data is organized into one or many tables of rows and columns where each row has a unique key. In a database, each entity type has its own table with rows and columns. The rows represent the instances of that entity and the columns represent the attribute values describing each instance. Rows in other tables can be linked to each other with their unique keys. This is done by storing he original row's unique key as an attribute of the secondary row. In relational databases, rows are contain "tuples" and columns contain "attributes". The figure to the left shows how users interact with a relational database.

In relational database theory, there are five normal forms. These forms represent guidelines for record design and are designed to prevent update anomalies and data inconsistencies. The first normal form deals with the "shape" of a record type. The second and third normal forms deal with the relationship between non-key and key fields. The fourth and fifth normal forms deal with multi-valued facts which could correspond to a many-to-many relationship or a many-to-one relationship.

Comments

Kaili Yue- I really enjoyed your graphic showing what a relation, attribute, and tuple are. It helped me visualize the organization of relational databases much better!

J Schwakoff - I think your post helped me understand relational databases more than anything I found online. This was a difficult topic for me to completely grasp and you explained it in a much more understandable way than most!

Catherine Stephens - I learned about tab delimited files in your post, which were used before relational databases. Here, each entry was separated with a vertical bar. It is clear to notice how hard it would be to search for specific information in a file like this.

Resources

Kent, William. "A Simple Guide to Five Normal Forms in Relational Database Theory." Bkent.net. 1996. Web. 09 Feb. 2015.

 "The Theory of Relational Databases." IBM.com. Web. 10 Feb. 2015.

Relational Databases - Leonard Knittel

Relational database theory refers to databases built around a collection of related tables, known as relations.  Each relation is made up of a series of related data which is stored in rows and columns.  The relational model for database management was proposed by Edgar F. Codd in 1969, and was designed to provide a declarative method for specifying data and queries.  This means that the users of the database directly state what information the database contains and what they want it to retrieve for them.  The database’s software will then take care of describing the data structure and retrieving the information for the user. 

Relational databases are designed to use a certain data type, which can include a set of integers, character strings, a set of dates, true or false, or any number of user defined data types.  A tuple in a relational database is basically a row, and the data in a tuple is referred to in the database by its attribute name.  The equivalent of a column in the database is the attribute, and its data is referred to by the attribute value.  Together, attributes and tuples hold data which makes up the relation’s body, along with the heading, which is the structure definition for the table. 

Almost all relational databases currently in use, use Structured Query Language (SQL) as the language for querying and maintaining the database, which does not strictly follow the relational model, but still uses many of the same concepts.  Also, although SQL was developed for use by the end-users of the databases, many programs have software which will embed the SQL queries for the data users are trying to access, making it much simpler for lay-people to use and access the data contained within databases.  One example of this happening is searching Wikipedia.  When a search term is typed into the search bar, Wikipedia embeds the data in SQL and uses it to retrieve the correct data from its servers to display. 

Comments:
Kaili Yue – I thought it would be interesting to hear more about the development of databases at IBM and how they have progressed since the DB2 in 1983.
Catherine Stephens – You talk about the terms relation and table not being synonymous, however, because relation model is only theoretical and the relational databases are only based off of it, I feel that they are both synonymous, since they do perform many of the same functions and could certainly be compared to one another.

Sources:
Wikipedia contributors. "Relational model." Wikipedia, The Free Encyclopedia. Wikipedia, The Free Encyclopedia, 28 Nov. 2014. Web. 10 Feb. 2015.
Wikipedia contributors. "Relational database." Wikipedia, The Free Encyclopedia. Wikipedia, The Free Encyclopedia, 2 Feb. 2015. Web. 10 Feb. 2015.


B5 - Grioup A - Relational Database Theory - Schwakoff

We run into databases every day in our daily lives, whether it’s using online banking, ordering something online, checking our grades, signing up for new courses, etc. (Silberschatz). However this is the first I’ve been exposed to the “under the hood” workings of databases. I had always thought of them as simply tables that contain some data such as you may see in an excel file. In a way I was correct, but it turns out that they are much more complex than that. This simplistic view of databases didn’t consider ease of accessing information. Databases can contain immense amounts of data, and for this reason there has been a lot of research going back to the 1960’s looking into the best way to structure this data and make it easily accessible. And this is where the idea of the relational database developed.

In 1970, Edgar F. Codd presented the idea that information stored in a database could be accessed without knowing how the information was structured or where it resided in the database (Boyce et al.). Until then, acquiring data from a large database was difficult and often required specialists. But what Codd proposed was letting the computer figure out where and how the information is stored and how to retrieve it (Boyce et al.). “His idea was that relationships between data items should be based on the item’s values, and not on separately specified linking or nesting,” said IBM’s Don Chamberlin.

What does this all mean though? To put it simply, data is organized into tables, where rows are new instances (tuples) of an object and columns contain information about, or attributes of, that instance. This struck me as very similar to object oriented programming, in which a class acts as a blueprint for an object and each new object created from the class can take on its own attributes while still being a member of that class. This uniformity is one of the biggest advantages of the relational model (Maier).

To elaborate a bit more, the columns are tagged according to the type of attribute they contain and each column has a distinct set of allowable values. This set is called the attribute’s domain (Maier). I immediately thought about functions in mathematics that describe the permissible values that can be input to the function. One of the column labels is the key, which contains different values for each tuple to distinguish it from all other instances. Where do the relations come in though? Wikipedia describes the relation as “the whole set of tuples that have the same attributes”. Note that the attribute values mustn’t be the same, each row must just provide information under the same column labels. To put it more simply, the relation is really just the table. The tuples and attributes do not need a specific order in the relational model. Applications retrieve data via requests using operations such as ‘select’ to identify tuples, ‘project’ to identify tuples, and ‘join’ to combine relations (Wikipedia).

The software created for these databases is known as a Relational Database Management System (Wikipedia). The most popular language used for querying is structured query language (SQL).

References

Boyce et al. “Icons of Progress: Relational Database.” IBM.

Maier, David. “The Theory of Relational Databases.” 1983

Silberschatz, Korth. Sudarshan. “Database System Concepts.” 6th Edition. 2010

Wikipedia



Comments



Stephens – I think you did a great job keeping it short and right to the point. I was having trouble conceptualizing how exactly relational databases were different than those before it and you summed that up pretty well for me. I had kind of gotten that relations and tables were synonymous from my reading but you do make a good point. I’ll have to look further into that. 




Lee – I read your blog because I became curious about SQL in doing research for relational databases. You very clearly illustrated the basics of SQL. I think I have a good overview of how SQL works just from your write up.  




Amegan – After reading your entry I think I was a bit mistaken in my comparison of relational databases to object oriented programming. I was originally under the impression that relational databases were object oriented databases but your blog has enlightened me to their differences.