Recap So far so good we are about to complete Part 1 that was very much based on Database Concepts. Now we are heading towards the Design Concepts and you will have a flavor of Implementation as most of you do want to bring laptops ;) and this will happen next week. Aim for Today In this session you will learn; The Evolution of Data Models “This is quite an interesting topic as you will come to know how this advancement took place in Data Base Systems” The Evolution of Data Models We all know that in the initial phases there were short comings in the file system. Because of this issue the school of thought had to shuffle their brains to come up with a comprehensive solution. The models represents what a database is? What should it do and type of structures that it should employ. Some Examples I want to share some information with you all, last night I was reading an article by Infinite Group Ltd that is one of the leading field marketing agencies in United Kingdom and Europe. They gathered some of the information that sounds very interested to me. Just have a look how those databases looked like in the initial phases that many people now can’t live without using them. The Hierarchical Model It was developed to manage the large amount of data for complex manufacturing projects. This model was presented for Apollo Rocket that was landed on the moon in 1969. You must know that what is a Hierarchy? Logically and Practically. It consists of levels or segments that is very much based on File System. Can you challenge your brain and come up with a real time environment for this model? I am sure you will. Constraint This model can only be used in one type of environment that is 1:M It might be ideal for this environment but can an organization of this modern era survive on a model just based on this model? The Network Model To represent complex data relationships more effectively The Network Model was created. Though it is based on Hierarchical Model but the modification is it allows a record to have more than one parent. Though the Network Model is not currently used in the modern sophisticated environment but still some important concepts are still used and they are; Concepts of Network Model The schema which is the conceptual organization of the entire database as viewed by the database administrator. The subschema defines the portion of the database seen by the application programmers. A data management language DML that defines the environment in which data can be managed and to work with the data in the data base. A schema data definition language DDL which enables the database admin to define the schema components. Constraint Can you imagine why Network Model became too cumbersome? The problem is for the programmers to generate even the simple reports because of the lack of ad hoc query capability. Ad hoc Queries What is a query? It is a question that you ask a database in the form of SQL Statement. When software developers develop any software they define certain queries as reports, forms or accessible via the query window. Ad hoc queries are those that are not defined as they are not needed on regular basis so the user can create their own scope outside the scope of the delivered software. The Relational Model Historically it was introduces in 1970 by E.F. Codd of IBM. There will be more discussion in the coming chapter but for the time being you can use an analogy “This very model produced an automatic transmission database to replace the standard transmission database”. The Relational Model It is a mathematical concept known as relation. Just think about rows and columns in a Table as a relation and tables can be simplified using matrix. In short you map the data more effectively and efficiently and mathematical formulas are defined to explain the relations. Constraint Yes you can introduce the simplicity in defining the relations but at the expense of computer overhead. But this issue doesn’t exist now as you have so many powerful systems that do have the capacity and ability to tackle massive information. Just think about Pentium 1 and Windows 98 and now Windows 8 Business Editions and powerful tools like Oracle, My SQL etc. Implementation of RDM The implementation is via a very strong and sophisticated relational database management system, basic functions are used from the previous two models (Can you name them?) and in addition to a host of other functions as well. The most important function of RDBMS is to hide the complexity to end user from the relational model. How to Relate Tables They are related through the sharing of common attribute (value in a column) for example in the figure the table is linked via AGENT_CODE that exists in both the Customer and Agent Table. Even both Customer and Agent have different tables but still they are linked. In complex scenarios data can be handled more effectively and efficiently. A relational Diagram Relational Diagram A relational diagram is a representation of Database entities, the attributes within those entities and the relationship between those entities. In the previous figure can you explain what relationship type has been used. NB: The symbol to indicate many is Infinity. Table and File: Difference As a relational table stores a collection of related entities, in this respect it is very much similar to a File. The critical difference between a file and a table is that “A table yields complete data and structure independence as it is purely logical. How the data is physically stored is of no concern to user all we need as a user is end result” SQL is based on what it does instead of How it do that is called an Abstraction and you all know why Abstraction is important. SQL based Relational Database Application Involves three parts; 1. The End User Interface Allows the end user to interact with the data by auto generating SQL Code. 2. A collection of Tables stored in the Database 3. SQL Engine Hidden from the end user and executes all queries or data requests. The Entity Relation Model Yes, the Relational database model has an edge on the HM and NM but the problem arise when the architecture of a Database is complex and data handling is difficult. In order to represent things graphically the Entity Relationship ER Model has become a widely accepted standard for data modeling. ER Model Peter Chan introduced this model in 1976 and it gain the popularity as it complements the Relational Model. The Entities and Relationships are represented by ERD, Entity Relationship Diagram. ER Components Based on Entities and Relationships, You must know what is an Entity and Relationship. We will just focus on how to represent the Entities and Relationship in ER Models. In ERD the entity is represented as a Rectangle also known as an entity box. It is written in CAPTIAL letters and singular forms as an example PAINTER instead of PAINTERS. Relationships Can you remind what can be the business rules, what are the examples of Relationships and how they are represented. Hint: Three types of Relationships? If you can all write the three relationships and how they are represented and one example from each relationship. Connectivity An interesting aspect is how to label the relationship types, this is known as Connectivity in ER Diagram. Two types of notations are used while designing the ERD. 1. The Chen Notation by Peter Chan. 2. The Crow’s foot Notation. Information Just to give you some information that Many to Many relationships exists in the conceptual level. You should know how to recognize them you will learn at later stages that these relationships are not appropriate for relational models. The Conceptual Model Can you make a Blueprint or ERD for a Tiny College that must have the following tables. Professor, Course, Class, Student, Enroll and Room? Each entity must have tables but for the time being you don’t have to worry just try to make a sketch of a tiny college. Try to make a logic and try to connect them. You can use the crow’s foot notation. Reminder If you are interested to explore some of the tactical work you can send your Resume to infinite field marketing Ltd. There website is; http://www.infinitegroup.co.uk Incase if you apply good luck might be difficult but not impossible as “hard work is the key to success”.