Tutorial notes on. Object relational structural patterns
|
|
- Beverley Lyons
- 5 years ago
- Views:
Transcription
1 Tutorial notes on Object relational structural patterns Dr. C. Constantinides, P.Eng. Computer Science and Software Engineering Concordia University Page 1 of 14
2 Exercise 1. a) Briefly describe what is meant by isomorphism in the context of object-relational mapping, and provide one mapping example where lack of isomorphism occurs. b) Briefly describe filtered mapping and horizontal mapping. c) Use the table below to compare and contrast the two mapping strategies above, on the attributes listed. ATTRIBUTE FILTERED MAPPING HORIZONTAL MAPPING Performance System evolution. Space utilization in the database. d) Deploy filtered- and horizontal mapping to map the class diagram below into two database schemas. For filtered mapping, very briefly describe how you would map an instance of Professor with the field values (01357, C. Constantinides, CSE, Associate Professor ) into a database record. Person id name department Professor rank Student GPA Undergraduate major Graduate researcharea Solution: a) Isomorphism means one-to-one mapping between the elements of two sets. In the context of object-relational mapping, there is no isomorphism between the application domain classes on the one hand and the database tables on the other hand. One example where this is obvious is during filtered (single-table inheritance) mapping. Page 2 of 14
3 b) Filtered mapping: Maps entire system onto a single table. orizontal mapping: Maps each non-abstract class to its own table. c) The table is shown below: ATTRIBUTE FILTERED MAPPING HORIZONTAL MAPPING Performance Performance is very good. Performance is good. System evolution. One large table which can grow (perhaps significantly) with changes such as additional classes. Space utilization in the database. Changes to a class will affect its table and the tables of its subclasses. Space wasted in the database. No unused fields in the database. d) Filtered mapping would result in the following table: <<table>> PERSON Id <<PK>> Name Department Rank GPA Major Research_Area Discriminator For the particular professor record, fields GPA, Major and Research_Area should be set to NULL and the Discriminator should include a code (perhaps of type character) to indicate that this record corresponds to a professor, i.e. (01357, C. Constantinides, CSE, Associate Professor, NULL, NULL, NULL, P). Horizontal mapping on the other hand would result in the following: <<table>> PROFESSOR Id <<PK>> Name Department Rank <<table>> UNDERGRADUATE Id <<PK>> Name Department GPA Page 3 of 14
4 Major <<table>> GRADUATE Id <<PK>> Name Department GPA Research_Area Page 4 of 14
5 Exercise 2. Consider horizontal mapping in the context of object-relational structural patterns. a) How would you capture the attribute visibilities of the object model in the relational schema? b) What possible disadvantage(s) does this mapping provide? c) Consider the following class structure before and after refactoring. In class C, before refactoring, no method other than m needs to access variables x and y. The programmer then decides to adopt shift method up to superclass and shift field to up superclass as shown on the right-hand-side of the table. Briefly describe how this refactoring would affect the tables in the relational schema. How about if class P were concrete? BEFORE REFACTORING abstract class P { protected int x;... } class C extends P { private int y; // method m manipulates x and y;... } AFTER REFACORING abstract class P { protected int x; private int y; // method m manipulates x and y;... } class C extends P {... } Solution: a) We can capture attribute visibilities using foreign keys. b) A possible disadvantage with horizontal mapping (table-per-concrete-class inheritance mapping) is with changes in a class which will have to affect not only the corresponding table, but all tables of all its subclasses. c) No changes are needed. Since only concrete classes are mapped, the table for class C already includes features being inherited from class P. If class P were concrete, tables for both P and C would exist, and both of them would have to be modified (table P to include y, and table C to exclude y). Methods are not mapped to the relational schema. Exercise 3. Consider the following statement: Each class can be easily mapped to a table. Current tools can automate this mapping. It is easy to understand, changes are well localized and the programmer would be expected to produce minimal persistence-related code (if at all). As a Page 5 of 14
6 result, the object-relational conflict is placed to rest. Briefly discuss in no more than ten (10) lines. Solution For complex class structures the mapping must be carefully considered to allow data to be represented and accessed as efficiently as possible. One-to-one (class-to-table) mapping is not always desirable. The case above is one possible solution to a mapping; however, in the case of inheritance there are some problems: The supertype table is accessed very often, leading to join or multiple and queries, resulting in performance issues. Database changes will be required whenever an attribute in the class structure is moved along the class hierarchy. Exercise 4. Consider a system that maintains records of employees and projects, where an employee can be assigned to possibly many projects and where a project may have possibly many participants. An assignment to a project has a start date and an end date. Assume that employees have names and each project has a title. a. Provide a domain model of the system. b. In no more than three lines, describe the rationale behind your model. c. Map the domain model to a relational database schema. d. What mapping are you deploying? e. When we say that a domain class needs to be persisted, what exactly are we referring to? i. How are classes represented in the data model? ii. How are objects represented in the data model? f. Is your mapping isomorphic? Explain. g. Briefly discuss what actions, if any, you need to undertake in order to guarantee consistency of the system (i.e. between domain model and data model). Name any and all applicable patterns that you deploy. h. Name two requirements that a primary key must meet. i. Briefly discuss how you would design and implement the assignment of employees to projects. Describe the rationale of your design with a partial class diagram. Page 6 of 14
7 Solution: 1. A domain model is given below: 2. A many-to-many association calls for an association class (Assignment). Instances of the association class have a life-time dependency on the association. 3. The domain model can be mapped to a relational database schema as follows: 4. We deploy simple mapping where each class maps to a single table. 5. When we say that a class needs persistence, we refer to its instance attributes (variables). 1. Classes are mapped to tables, where each class attribute maps to a column. 2. Objects (individual instances) are represented by table rows (one row per object). 6. As is, the mapping is indeed isomorphic, i.e. there is one-to-one correspondence between elements of the two models (domain model and data model). Page 7 of 14
8 7. To guarantee consistency of the system we must apply identify field into the domain model in order to save the data model primary key, thus maintaining a link between inmemory instances and database rows. 8. A primary key must have two requirements: unique and immutable. 9. Assignment instances must be kept inside a collection class. This calls for a composite aggregation association as shown below: Exercise 5. The collection can be implemented as a Dictionary ADT (either foreign key of the Assignment table can serve as the key to the Dictionary) or any other data structure (static or dynamic) that can serve as a collection. Consider a system that maintains student enrollment information. A student can register to possibly many courses and a course may have possibly many students. A student is identifiable by his or her name and by a (unique) long integer student-id. A course is identifiable by its name, number and term (of offering). For each course, each student obtains a mark. This information is maintained in an enrollment record, one record per student-course pair. 1. Build a domain model of the system. 2. In no more than three lines, describe the rationale behind your model. 3. Map the domain model to a relational database schema ( data model ). Name all pattern(s) that you deploy and in one sentence for each, explain what the pattern involves. 4. When we say that a domain class needs to be persisted, what exactly are we referring to? Page 8 of 14
9 a) How are classes represented in the data model? b) How are associations represented in the data model? (name the pattern) c) How are objects represented in the data model? 5. Is your mapping isomorphic? Explain. 6. Briefly discuss what actions, if any, you need to undertake in order to guarantee consistency of the system (i.e. between the domain model and the data model). Name all patterns that you deploy. 7. The selection of a primary key must meet what criteria? 8. Briefly discuss how you would design and implement the keeping of instances of enrollment records. Clearly describe the rationale of your design with a partial class diagram. 9. Extend the domain model (draw only a partial domain model) by providing a hook for easy extension to support the possible future introduction of professors, administrators etc. (hint: think of reuse). 10. Briefly describe approaches in which such an extension can be mapped into the data model. If performance (e.g. response time) was a critical requirement, which approach would be best suited and why? Page 9 of 14
10 Solution: 1. A domain model is given below: 2. A many-to-many association calls for an association class (Enrollment). Instances of the association class have a life-time dependency on the association. 3. The domain model can be mapped to a relational database schema by deploying the simple mapping pattern (each class maps to a single table) and association table mapping pattern (many-to-many associations are modeled as association classes which, in turn, map into their own table) as follows: Page 10 of 14
11 4. When we say that a class needs persistence, we refer to its instance attributes (variables). a) Classes are modeled as tables where each attribute maps to a column. b) Associations are represented as foreign keys by deploying the foreign key mapping pattern that allows one to navigate from a source table to a destination table. c) Objects (individual instances) are represented by table rows (one row per object). 5. As is, the mapping is indeed isomorphic. Explanation: There is a one-to-one correspondence between the elements of the two models (domain model and data model). 6. To guarantee consistency of the system we must deploy the identify field pattern on the domain model in order to save the data model primary key, thus maintaining a link between in-memory instances and database rows. This need only be done for Course, as in this case the student-id can serve as the primary key in class Student (though this is not absolutely necessary; we can still add a primary key id to the Student class). Page 11 of 14
12 7. The selection of primary key must meet the following criteria: The key must be unique and immutable. The key type must provide a way to compare itself to other keys. The data structure that maintains primary keys must have a way to obtain the next key. 8. Enrollment record instances must be kept inside a collection class. This calls for a composite aggregation association as shown below: The collection can be implemented as a static or dynamic data structure. 9. Reuse can be supported through inheritance. 10. There are three ways to map inheritance: a) Filtered mapping (or single-table inheritance mapping): the entire hierarchy is mapped to a single table, b) Vertical mapping (or table per class inheritance mapping): every class (abstract or concrete) is mapped to a table, Page 12 of 14
13 Exercise 6. and c) Horizontal mapping (or table per concrete class inheritance mapping): every concrete class is mapped to a table. In the case where performance is a critical requirement, filtered mapping would be best suited since there are no multiple tables that would require join or multiple queries. This problem demonstrates the deployment of object-relational structural patterns. a) Consider class Point whose UML representation is shown below. Use this class as an example in order to briefly describe the motivation behind Simple Mapping. b) Use class Point as an example to describe the motivation behind Identity Field. What changes, if any, would be necessary to the class after the deployment of this pattern, and why? c) Deploy single-table-inheritance to map the class diagram below onto a relational database schema. What technique can you adopt to distinguish between instances of Point and those of 3DPoint? Page 13 of 14
14 Solution: a) Simple Mapping implies the representation of a domain class to a database table where the class' attributes become columns in a table and where each table row would correspond to an object. In this example we will have b) The identity Field pattern introduces a primary key to distinguish between rows (objects). Because of this, we need to save a database id field in class Point to maintain a link between an in-memory Point object and its representation in a database row. c) Single-table-inheritance mapping would give us the following table where the id is the primary key. <<table>> POINT id <<PK>> x y z discriminator We can distinguish between rows by setting unused fields to null and by using a discriminator column that would determine the type of object. Page 14 of 14
Object-Oriented Software Engineering Practical Software Development using UML and Java
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical
More informationCh 9: Mapping EER to Relational. Follow a seven-step algorithm to convert the basic ER model constructs into relations steps 1-7
Ch 9: Mapping EER to Relational Follow a seven-step algorithm to convert the basic ER model constructs into relations steps 1-7 Additional steps for EER model for specialization/generalization steps 8a
More informationObject-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language
More informationDesign Engineering. Dr. Marouane Kessentini Department of Computer Science
Design Engineering Dr. Marouane Kessentini Department of Computer Science 1 Design Starts mostly from/with requirements (evolving mostly from functionalities and other non functional characteristics) How
More informationMTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45
MTAT.03.094 Software Engineering Written Exam 17 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail
More informationTutorial notes on. Requirements analysis
Tutorial notes on Requirements analysis Dr. C. Constantinides, P.Eng. Computer Science and Software Engineering Concordia University Page 1 of 12 Exercise 1. Consider an email client software. The client
More informationExample Examination. Allocated Time: 100 minutes Maximum Points: 250
CS542 EXAMPLE EXAM Elke A. Rundensteiner Example Examination Allocated Time: 100 minutes Maximum Points: 250 STUDENT NAME: General Instructions: This test is a closed book exam (besides one cheat sheet).
More informationObject Orientated Analysis and Design. Benjamin Kenwright
Notation Part 2 Object Orientated Analysis and Design Benjamin Kenwright Outline Review What do we mean by Notation and UML? Types of UML View Continue UML Diagram Types Conclusion and Discussion Summary
More informationChapter 5: Structural Modeling
Chapter 5: Structural Modeling Objectives Understand the rules and style guidelines for creating CRC cards, class diagrams, and object diagrams. Understand the processes used to create CRC cards, class
More informationChapter 11 Object and Object- Relational Databases
Chapter 11 Object and Object- Relational Databases Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Outline Overview of Object Database Concepts Object-Relational
More informationDatabase Design. Goal: specification of database schema Methodology:
Database Design Goal: specification of database schema Methodology: Use E-R model to get a high-level graphical view of essential components of the model and how they are related Convert E-R diagram to
More informationFor 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,
Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,
More informationUnified Modeling Language (UML)
Appendix H Unified Modeling Language (UML) Preview The Unified Modeling Language (UML) is an object-oriented modeling language sponsored by the Object Management Group (OMG) and published as a standard
More informationDatabase Design. Database Design I: The Entity-Relationship Model. Entity Type (con t) Representation in Relational Model.
Database Design Database Design I: The Entity-Relationship Model Chapter 5 Goal: specification of database schema Methodology: Use E-R R model to get a high-level graphical view of essential components
More informationCopyright 2016 Ramez Elmasri and Shamkant B. Navathe
Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database Extensions to SQL ODMG Object Model and the Object Definition Language ODL Object Database Conceptual
More informationCS 338 The Enhanced Entity-Relationship (EER) Model
CS 338 The Enhanced Entity-Relationship (EER) Model Bojana Bislimovska Spring 2017 Major research Outline EER model overview Subclasses, superclasses and inheritance Specialization and generalization Modeling
More informationUnified Modeling Language (UML) Class Diagram
1 / 10 Unified Modeling Language (UML) Class Diagram Miaoqing Huang University of Arkansas Spring 2010 2 / 10 Outline 1 2 3 / 10 Class Diagram Class diagrams show the static structure of the classes that
More informationChapter 11: Data Management Layer Design
Systems Analysis and Design With UML 2.0 An Object-Oriented Oriented Approach, Second Edition Chapter 11: Data Management Layer Design Alan Dennis, Barbara Wixom, and David Tegarden 2005 John Wiley & Sons,
More informationCS 4604: Introduction to Database Management Systems. B. Aditya Prakash Lecture #5: Entity/Relational Models---Part 1
CS 4604: Introduction to Database Management Systems B. Aditya Prakash Lecture #5: Entity/Relational Models---Part 1 E/R: NOT IN BOOK! IMPORTANT: Follow only lecture slides for this topic! Differences
More informationDatabase Management
204320 - Database Management Chapter 9 Relational Database Design by ER and EERto-Relational Mapping Adapted for 204320 by Areerat Trongratsameethong Copyright 2011 Pearson Education, Inc. Publishing as
More informationConceptual Data Modeling
Conceptual Data odeling A data model is a way to describe the structure of the data. In models that are implemented it includes a set of operations that manipulate the data. A Data odel is a combination
More informationOverview of db design Requirement analysis Data to be stored Applications to be built Operations (most frequent) subject to performance requirement
ITCS 3160 Data Base Design and Implementation Jing Yang 2010 Fall Class 12: Data Modeling Using the Entity-Relationship (ER) Model Overview of db design Requirement analysis Data to be stored Applications
More informationChapter 12 Object and Object Relational Databases
Chapter 12 Object and Object Relational Databases - Relational Data Model - Object data model (OODBs) - Object-relational data models Traditional data models -network - hierarchical - relational They lack
More informationUnified Modeling Language (UML) and Modeling
LECTURE-11 Unified Modeling Language (UML) and Modeling UML is a graphical notation useful for OO analysis and design Allows representing various aspects of the system Various notations are used to build
More informationUNIT 3 ARRAYS, RECURSION, AND COMPLEXITY CHAPTER 11 CLASSES CONTINUED
UNIT 3 ARRAYS, RECURSION, AND COMPLEXITY CHAPTER 11 CLASSES CONTINUED EXERCISE 11.1 1. static public final int DEFAULT_NUM_SCORES = 3; 2. Java allocates a separate set of memory cells in each instance
More informationCMPT 354 Database Systems I
CMPT 354 Database Systems I Chapter 2 Entity Relationship Data Modeling Data models A data model is the specifications for designing data organization in a system. Specify database schema using a data
More informationEINDHOVEN UNIVERSITY OF TECHNOLOGY
EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics & Computer Science Exam Programming Methods, 2IP15, Wednesday 17 April 2013, 09:00 12:00 TU/e THIS IS THE EXAMINER S COPY WITH (POSSIBLY INCOMPLETE)
More informationS T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A
S T R U C T U R A L M O D E L I N G ( M O D E L I N G A S Y S T E M ' S L O G I C A L S T R U C T U R E U S I N G C L A S S E S A N D C L A S S D I A G R A M S ) WHAT IS CLASS DIAGRAM? A class diagram
More informationChapter 9: Relational DB Design byer/eer to Relational Mapping Relational Database Design Using ER-to- Relational Mapping Mapping EER Model
Chapter 9: Relational DB Design byer/eer to Relational Mapping Relational Database Design Using ER-to- Relational Mapping Mapping EER Model Constructs to Relations Relational Database Design by ER- and
More informationMTAT Software Engineering. Written Exam 10 January Start: 9:15 End: 11:45
MTAT.03.094 Software Engineering Written Exam 10 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail
More informationModel answers/marking scheme in bold, additional comments in bold italic.
COMP19612 2011 exam performance feedback Model answers/marking scheme in bold, additional comments in bold italic. Question 2 Only a couple of people did this and neither were close to the right answers.
More informationData Structure. Lecture#2: Data Structures and Algorithms. U Kang Seoul National University. U Kang (2016) 1
Data Structure Lecture#2: Data Structures and Algorithms U Kang Seoul National University U Kang (2016) 1 In This Lecture Learn what to consider in selecting right data structures Understand the need for
More informationHigh Level Database Models
ICS 321 Fall 2011 High Level Database Models Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 9/21/2011 Lipyeow Lim -- University of Hawaii at Manoa 1 Database
More informationExam in TDDB84: Design Patterns,
Exam in TDDB84: Design Patterns, 2014-10-24 14-18 Information Observe the following, or risk subtraction of points: 1) Write only the answer to one task on one sheet. Use only the front side of the sheets
More informationER Model Overview. The Entity-Relationship Model. Database Design Process. ER Model Basics
ER Model Overview The Entity-Relationship Model Davood Rafiei Developed by Peter Chen in the mid 70 s Used for the design of conceptual schema. The world is described in terms of entities relationships
More informationTHE RELATIONAL DATABASE MODEL
THE RELATIONAL DATABASE MODEL Introduction to relational DB Basic Objects of relational model Properties of relation Representation of ER model to relation Keys Relational Integrity Rules Functional Dependencies
More informationÄriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel
Äriprotsesside modelleerimine ja automatiseerimine Loeng 7 Valdkonna mudel Enn Õunapuu enn.ounapuu@ttu.ee What is a domain model? A domain model captures the most important types of objects in the context
More informationOracle Database 10g: Introduction to SQL
ORACLE UNIVERSITY CONTACT US: 00 9714 390 9000 Oracle Database 10g: Introduction to SQL Duration: 5 Days What you will learn This course offers students an introduction to Oracle Database 10g database
More informationCourse on Database Design Carlo Batini University of Milano Bicocca Part 5 Logical Design
Course on Database Design Carlo atini University of Milano icocca Part 5 Logical Design 1 Carlo atini, 2015 This work is licensed under the Creative Commons Attribution NonCommercial NoDerivatives 4.0
More informationEGCI 321: Database Systems. Dr. Tanasanee Phienthrakul
1 EGCI 321: Database Systems Dr. Tanasanee Phienthrakul 2 Chapter 10 Data Definition Language (DDL) 3 Basic SQL SQL language Considered one of the major reasons for the commercial success of relational
More informationCHAPTER 9 DESIGN ENGINEERING. Overview
CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative
More informationObject-Oriented Systems Analysis and Design Using UML
10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand
More informationDatabase Systems. A Practical Approach to Design, Implementation, and Management. Database Systems. Thomas Connolly Carolyn Begg
Database Systems A Practical Approach to Design, Implementation, and Management For these Global Editions, the editorial team at Pearson has collaborated with educators across the world to address a wide
More informationSOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay. Lecture #10 Process Modelling DFD, Function Decomp (Part 2)
SOFTWARE ENGINEERING Prof.N.L.Sarda Computer Science & Engineering IIT Bombay Lecture #10 Process Modelling DFD, Function Decomp (Part 2) Let us continue with the data modeling topic. So far we have seen
More informationER to Relational Mapping
ER to Relational Mapping 1 / 19 ER to Relational Mapping Step 1: Strong Entities Step 2: Weak Entities Step 3: Binary 1:1 Relationships Step 4: Binary 1:N Relationships Step 5: Binary M:N Relationships
More informationRelational Model. Topics. Relational Model. Why Study the Relational Model? Linda Wu (CMPT )
Topics Relational Model Linda Wu Relational model SQL language Integrity constraints ER to relational Views (CMPT 354 2004-2) Chapter 3 CMPT 354 2004-2 2 Why Study the Relational Model? Most widely used
More informationHigh-Level Database Models (ii)
ICS 321 Spring 2011 High-Level Database Models (ii) Asst. Prof. Lipyeow Lim Information & Computer Science Department University of Hawaii at Manoa 1 Logical DB Design: ER to Relational Entity sets to
More informationRekayasa Perangkat Lunak 2 (IN043): Pertemuan 8. Data Management Layer Design
Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 8 Data Management Layer Design Data Management Layer Focus on how to manage data are stored that can be handled by the programs that run the system, including:
More informationMiddleware for Heterogeneous and Distributed Information Systems Sample Solution Exercise Sheet 5
AG Heterogene Informationssysteme Prof. Dr.-Ing. Stefan Deßloch Fachbereich Informatik Technische Universität Kaiserslautern Middleware for Heterogeneous and Distributed Information Systems Sample Solution
More informationSelf-review Questions
7Class Relationships 106 Chapter 7: Class Relationships Self-review Questions 7.1 How is association between classes implemented? An association between two classes is realized as a link between instance
More informationCONCEPTUAL DESIGN: ER TO RELATIONAL TO SQL
RELATIONAL MODEL TO Data Model CONCEPTUAL DESIGN: ER TO RELATIONAL TO How to represent Entity sets, Relationship sets, Attributes, Key and participation constraints, Subclasses, Weak entity sets...? 2
More informationCredit where Credit is Due. Last Lecture. Goals for this Lecture
Credit where Credit is Due Lecture 22: Database Design Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2002 Some material presented in this lecture is taken from section
More informationCredit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects
Lecture 4: Fundamentals of Object Technology Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture
More informationComponents vs. Objects
Components vs. Objects Luigia Petre Turku Centre for Computer Science & Abo Akademi University, FIN-20520 Turku, Finland (Presented at Nordic Workshop on Programming Theory, Bergen, Norway, Oct 11-13,
More information3. Object-Oriented Databases
3. Object-Oriented Databases Weaknesses of Relational DBMSs Poor representation of 'real world' entities Poor support for integrity and business rules Homogenous data structure Limited operations Difficulty
More informationModelling with Classes. CITS1220 Software Engineering
Modelling with Classes CITS1220 Software Engineering Lecture Overview Classes and UML Associations between classes Special types of association: is-a, has-a, is-part-of Modelling Example Implementing associations
More informationnormalization are being violated o Apply the rule of Third Normal Form to resolve a violation in the model
Database Design Section1 - Introduction 1-1 Introduction to the Oracle Academy o Give examples of jobs, salaries, and opportunities that are possible by participating in the Academy. o Explain how your
More information6 February 2014 CSE-3421M Test #1 w/ answers p. 1 of 14. CSE-3421M Test #1. Design
6 February 2014 CSE-3421M Test #1 w/ answers p. 1 of 14 CSE-3421M Test #1 Design Sur / Last Name: Given / First Name: Student ID: Instructor: Parke Godfrey Exam Duration: 75 minutes Term: Winter 2014 Answer
More informationChapter 2: Entity-Relationship Model
Chapter 2: Entity-Relationship Model! Entity Sets! Relationship Sets! Design Issues! Mapping Constraints! Keys! E-R Diagram! Extended E-R Features! Design of an E-R Database Schema! Reduction of an E-R
More informationCourse on Database Design Carlo Batini University of Milano Bicocca
Course on Database Design Carlo Batini University of Milano Bicocca 1 Carlo Batini, 2015 This work is licensed under the Creative Commons Attribution NonCommercial NoDerivatives 4.0 International License.
More informationDatabase Use & Design
Database Use & Design 1 Important Terms and Definitions Database A collection of information organized in such a way that a computer program can quickly select desired pieces of data. Field Form Primary
More informationTopic 5: Mapping of EER Diagrams to Relations
Topic 5: Mapping of EER Diagrams to Relations Olaf Hartig olaf.hartig@liu.se Recall: DB Design Process 2 Running Example 3 Algorithm for Mapping from the ER Model to the Relational Model Step 1: Map Regular
More informationER-to-Relational Mapping
Lecture 9 1 1. Context 2. The Algorithm Outline 2 Database Design and Implementation Process 3 Data Models 4 Example ERD 5 Resulting Relational Schema 6 Step 1: Regular Entity Types i. For each regular/strong
More informationIntegrity and Security
C H A P T E R 6 Integrity and Security This chapter presents several types of integrity constraints, including domain constraints, referential integrity constraints, assertions and triggers, as well as
More information14 October 2015 EECS-3421A Test #1 p. 1 of 14. EECS-3421A Test #1. Design
14 October 2015 EECS-3421A Test #1 p. 1 of 14 EECS-3421A Test #1 Design Sur / Last Name: Given / First Name: Student ID: Instructor: Parke Godfrey Exam Duration: 75 minutes Term: Fall 2015 Answer the following
More informationThe Entity-Relationship Model
The Entity-Relationship Model Chapter 2 Instructor: Vladimir Zadorozhny vladimir@sis.pitt.edu Information Science Program School of Information Sciences, University of Pittsburgh 1 Database: a Set of Relations
More informationCSCI 3155: Principles of Programming Languages Exercise sheet #12 26 June 2007
CSCI 3155: Principles of Programming Languages Exercise sheet #12 26 June 2007 Group name: Object-Oriented Programming I Exercise 1. The two most central aspects of object-oriented programming are dynamic
More informationOVERVIEW OF DATABASE DEVELOPMENT
DATABASE SYSTEMS I WEEK 2: THE ENTITY-RELATIONSHIP MODEL OVERVIEW OF DATABASE DEVELOPMENT Requirements Analysis / Ideas High-Level Database Design Conceptual Database Design / Relational Database Schema
More informationChapter (4) Enhanced Entity-Relationship and Object Modeling
Chapter (4) Enhanced Entity-Relationship and Object Modeling Objectives Concepts of subclass and superclass and the related concepts of specialization and generalization. Concept of category, which is
More informationThe Entity-Relationship Model. Overview of Database Design
The Entity-Relationship Model Chapter 2, Chapter 3 (3.5 only) Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke 1 Overview of Database Design Conceptual design: (ER Model is used at this stage.)
More informationMTAT Introduction to Databases
MTAT.03.105 Introduction to Databases Lecture #4 Entity-Relationship Modelling Ljubov Jaanuska (ljubov.jaanuska@ut.ee) Lecture 3. Summary So far we have been dealing with a relational database (PCA.db)
More informationDatabase Principles: Fundamentals of Design, Implementation, and Management Tenth Edition. Chapter 8 Data Modeling Advanced Concepts
Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition Chapter 8 Data Modeling Advanced Concepts Objectives In this chapter, students will learn: About the extended entity
More informationChapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin
Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain
More informationIntroduction to Database. Dr Simon Jones Thanks to Mariam Mohaideen
Introduction to Database Dr Simon Jones simon.jones@nyumc.org Thanks to Mariam Mohaideen Today database theory Key learning outcome - is to understand data normalization Thursday, 19 November Introduction
More informationIntroduction to Databases
Introduction to Databases Data Retrival SELECT * FROM Students S WHERE S.age < 18 Data Retrival SELECT S.name, S.login FROM Students S WHERE S.age < 18 Entity sets to tables Entity sets to tables CREATE
More information1 (10) 2 (8) 3 (12) 4 (14) 5 (6) Total (50)
Student number: Signature: UNIVERSITY OF VICTORIA Faculty of Engineering Department of Computer Science CSC 370 (Database Systems) Instructor: Daniel M. German Midterm Oct 21, 2004 Duration: 60 minutes
More informationSoftware Engineering
Software Engineering CSC 331/631 - Spring 2018 Object-Oriented Design Principles Paul Pauca April 10 Design Principles DP1. Identify aspects of the application that vary and separate them from what stays
More information1. 1. What is your current position?
My Report Last Modified: 08/25/2015 Completion Status: Completed 1. 1. What is your current position? 1 Undergraduate Student 0 0% 2 Graduate Student 12 80% 3 Developer 0 0% 4 Faculty 2 13% 5 Other 1 7%
More informationCOMP19612 exam performance feedback 2014
COMP19612 exam performance feedback 2014 (excluding section A which is multiple choice) Questions in plain font, original marking scheme in bold, additional comments in bold italic. Question 1 The students
More informationCIS 330: Applied Database Systems. ER to Relational Relational Algebra
CIS 330: Applied Database Systems ER to Relational Relational Algebra 1 Logical DB Design: ER to Relational Entity sets to tables: ssn name Employees lot CREATE TABLE Employees (ssn CHAR(11), name CHAR(20),
More informationHow to translate ER Model to Relational Model
How to translate ER Model to Relational Model Review - Concepts 2 Relational Model is made up of tables A row of table = a relational instance/tuple A column of table = an attribute A table = a schema/relation
More informationDATABASE MANAGEMENT SYSTEMS
www..com Code No: N0321/R07 Set No. 1 1. a) What is a Superkey? With an example, describe the difference between a candidate key and the primary key for a given relation? b) With an example, briefly describe
More informationCompositional Design Principles
Chapter 16 Compositional Design Principles Learning Objectives In this chapter, I will more formally introduce the three principles that form the 3-1- 2 process. The learning focus is understanding how
More informationOBJECTIVES. How to derive a set of relations from a conceptual data model. How to validate these relations using the technique of normalization.
7.5 逻辑数据库设计 OBJECTIVES How to derive a set of relations from a conceptual data model. How to validate these relations using the technique of normalization. 2 OBJECTIVES How to validate a logical data model
More informationChapter 3: The Relational Database Model
Chapter 3: The Relational Database Model Student: 1. The practical significance of taking the logical view of a database is that it serves as a reminder of the simple file concept of data storage. 2. You
More informationUnit Assessment Guide
Unit Assessment Guide Unit Details Unit code Unit name Unit purpose/application ICTWEB425 Apply structured query language to extract and manipulate data This unit describes the skills and knowledge required
More informationChapter 2 ENTITY RELATIONSHIP MODEL
INTRODUCTION Chapter 2 ENTITY RELATIONSHIP MODEL Data model is used to describe data, data relationship and constraints on data. A number of different data models have proposed. They can broadly be classified
More informationOracle Fusion Middleware 11g: Build Applications with ADF Accel
Oracle University Contact Us: +352.4911.3329 Oracle Fusion Middleware 11g: Build Applications with ADF Accel Duration: 5 Days What you will learn This is a bundled course comprising of Oracle Fusion Middleware
More informationTHE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9)
THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9) By: Mr.Prachet Bhuyan Assistant Professor, School of Computer Engineering, KIIT Topics to be Discussed 9.1 INTRODUCTION 9.2 THE O-O DESIGN PROCESS
More informationThe DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.
Managing Data Data storage tool must provide the following features: Data definition (data structuring) Data entry (to add new data) Data editing (to change existing data) Querying (a means of extracting
More informationSubclassing for ADTs Implementation
Object-Oriented Design Lecture 8 CS 3500 Fall 2009 (Pucella) Tuesday, Oct 6, 2009 Subclassing for ADTs Implementation An interesting use of subclassing is to implement some forms of ADTs more cleanly,
More informationEntity-Relationship Model. From Chapter 5, Kroenke book
Entity-Relationship Model From Chapter 5, Kroenke book Database Design Process Requirements analysis Conceptual design data model Logical design Schema refinement: Normalization Physical tuning Problem:
More informationContents. Database. Information Policy. C03. Entity Relationship Model WKU-IP-C03 Database / Entity Relationship Model
Information Policy Database C03. Entity Relationship Model Code: 164323-03 Course: Information Policy Period: Spring 2013 Professor: Sync Sangwon Lee, Ph. D 1 Contents 01. Overview of Database Design 02.
More informationBCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT OBJECT ORIENTED PROGRAMMING
BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT OBJECT ORIENTED PROGRAMMING Wednesady 23 rd March 2016 Afternoon Answer any FOUR questions out of SIX. All
More informationThe Relational Model. Chapter 3
The Relational Model Chapter 3 Why Study the Relational Model? Most widely used model. Systems: IBM DB2, Informix, Microsoft (Access and SQL Server), Oracle, Sybase, MySQL, etc. Legacy systems in older
More informationUnderstanding Entity Relationship Diagrams. Dr. Chawalit Jeenanunta
Understanding Entity Relationship Diagrams Dr. Chawalit Jeenanunta Objective Business rule representation Diagram rules Alternative notations Dr. Chawalit Jeenanunta DBMS: Slide 2 Business Rules Enforce
More informationChapter 9 Outline. Relational Database Design by ER and EERto-Relational. Mapping Fundamentals of Database Systems
204222 - Fundamentals of Database Systems Chapter 9 Relational Database Design by ER and EERto-Relational Mapping Chapter 9 Outline Relational Database Design Using ER-to- Relational Mapping Relational
More informationRoadmap of This Lecture. Weak Entity Sets Extended E-R Features Reduction to Relation Schemas Database Design UML*
E-R Model (II) 1 Roadmap of This Lecture Weak Entity Sets Extended E-R Features Reduction to Relation Schemas Database Design UML* 2 Weak Entity Sets An entity set that does not have a primary key is referred
More informationMake sure you have the latest Hive trunk by running svn up in your Hive directory. More detailed instructions on downloading and setting up
GenericUDAFCaseStudy Writing GenericUDAFs: A Tutorial User-Defined Aggregation Functions (UDAFs) are an excellent way to integrate advanced data-processing into Hive. Hive allows two varieties of UDAFs:
More informationDatabases Model the Real World. The Entity- Relationship Model. Conceptual Design. Steps in Database Design. ER Model Basics. ER Model Basics (Contd.
The Entity- Relationship Model CS 186 Fall 2002: Lecture 2 R &G - Chapter 2 A relationship, I think, is like a shark, you know? It has to constantly move forward or it dies. And I think what we got on
More information