Object oriented DatabaseDatabase Management SystemsPowerPoint PresentationData Models: 1st GenerationSlide 5Slide 6Slide 7Slide 8Slide 9Slide 10Data Models: 2nd GenerationSlide 12Slide 13Slide 14Slide 15Data Models: 3rd GenerationSlide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Using DatabasesSlide 25Object Relational MappingSlide 27OR Mapping: InheritanceSlide 29Slide 30OR Mapping: GuidelinesOR Mapping: Many-to-ManyRelational, Object-Oriented, and Multidimensional DatabasesSlide 34Slide 35Object Data ModelSlide 37Object IdentifiersSlide 39Objects and LiteralsRepresentation of RelationshipsSlide 42Slide 43Relationships: One-ManyRelationships: Many-ManyRelationships: “Is A” & “Extends”Relationships: “Whole-Part”Orthogonal PersistenceObject Database StandardsSlide 50Advantages of OODBMSDisadvantages of OODBMSOODBMS UsersOODBMS ProductsThe Object Relational ModelSlide 56ORDB Example - OracleOR Mapping FrameworksSlide 59Slide 60Slide 61Slide 62Further ReadingObject oriented Object oriented DatabaseDatabaseProf. Sin-Min LeeProf. Sin-Min LeeDatabase Management SystemsDatabase ModelsDatabase ModelsRelational DatabaseRelational DatabaseObject Oriented Database ModelObject Oriented Database ModelDeductive Database ModelDeductive Database ModelHierarchial Database ModelHierarchial Database ModelNetwork Datbase ModelNetwork Datbase ModelData Models: 1st GenerationHierarchical Data ModelHierarchical Data Modelimplemented primarily by IBM’s Information Management implemented primarily by IBM’s Information Management System (IMS)System (IMS)allows one-to-one or one-to-many relationships between allows one-to-one or one-to-many relationships between entitiesentitiesan entity at a “many” end of a relationship can be related to an entity at a “many” end of a relationship can be related to only one entity at the “one” endonly one entity at the “one” endthis model is this model is navigationalnavigational – data access is through defined – data access is through defined relationships, efficient if searches follow predefined relationships, efficient if searches follow predefined relationships but performs poorly otherwise, e.g for ad-hoc relationships but performs poorly otherwise, e.g for ad-hoc queries.queries.Data Models: 1st GenerationNetwork Data ModelNetwork Data Modelstandard developed by the Committee on Data Systems standard developed by the Committee on Data Systems Languages (CODASYL)Languages (CODASYL)allows one-to-one or one-to-many relationships between entitiesallows one-to-one or one-to-many relationships between entitiesallows multiple parentage – a single entity can be at the “many” allows multiple parentage – a single entity can be at the “many” ends of multiple relationships ends of multiple relationships navigationalnavigationalDatabase Management SystemsHierarchial Database ModelHierarchial Database ModelRelatively old, dating from 1950’sRelatively old, dating from 1950’sUses a tree structure such as a company Uses a tree structure such as a company org chartorg chartPresident –> VPresident ->Dept1-Dept2-President –> VPresident ->Dept1-Dept2-Dept3->EmployeesDept3->EmployeesCan be translated into a linear listCan be translated into a linear listDatabase Management SystemsHierarchial ContinuedHierarchial ContinuedData elements organized as tabular rowsData elements organized as tabular rowsEach row for each instance of an entityEach row for each instance of an entityRow position implies a relationship to Row position implies a relationship to other rowsother rowsRelationships represented by logical Relationships represented by logical proximity in the linearized treeproximity in the linearized treeDatabase Management SystemsHierarchial ContinuedHierarchial ContinuedExampleExamplePresident ( name = jones, phone =223-3332)President ( name = jones, phone =223-3332)Vice President ( name = boyd,…)Vice President ( name = boyd,…)Department ( name =marketing)Department ( name =marketing)•Employee ( name = Smith)Employee ( name = Smith)•Employee(name=Jones)Employee(name=Jones)Department ( name = manufacturing)Department ( name = manufacturing)•Employee ( name = Williams)Employee ( name = Williams)Vice President ( name = Graham, phone =345-6789)Vice President ( name = Graham, phone =345-6789)Department ( name =human resources)Department ( name =human resources)Database Management SystemsNetwork Database ModelNetwork Database ModelReplaces the hierarchial tree with a graph Replaces the hierarchial tree with a graph network networkIf employee works for two depts in If employee works for two depts in previous example the hierarchial model previous example the hierarchial model breaks down.breaks down.Network model maintains relationships Network model maintains relationships with a system of intersecting chainswith a system of intersecting chainsDatabase Management SystemsEmployee CharlieDepartment ElectricalCharlie works for Electrical DepartmentOther workersOther departments Charlie works forData Models: 2nd GenerationRelational Data ModelRelational Data Modeldeveloped by Edgar Codd (1970)developed by Edgar Codd (1970)data represented by simple tabular structures (relations)data represented by simple tabular structures (relations)relationships defined by primary keys and foreign keysrelationships defined by primary keys and foreign keysdata accessed using high-level non-procedural language (SQL)data accessed using high-level non-procedural language (SQL)separates logical and physical representation of dataseparates logical and physical representation of datahighly commercially successful (Oracle, DB2, SQL Server, etc)highly commercially successful (Oracle, DB2, SQL Server, etc)SQL is not computationally completeSQL is not computationally completedoes not have the full power of a programming languagedoes not have the full power of a programming languageApplications generally require the use of SQL statements Applications generally require the use of SQL statements embedded in another programming language.embedded in another programming language.Database Management SystemsRelational Database ModelRelational Database ModelUses tables to organize dataUses tables to organize dataEach table corresponds to an entityEach table corresponds to an entityEach row represents
View Full Document