Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 8. Data Management Layer Design

Similar documents
Chapter 11: Data Management Layer Design

Information Systems Development COMM005 (CSM03) Autumn Semester 2009

Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their

Systems Analysis & Design

Course Content. Object-Oriented Databases. Objectives of Lecture 6. CMPUT 391: Object Oriented Databases. Dr. Osmar R. Zaïane. University of Alberta 4

Ch. 21: Object Oriented Databases

ODBMS's and ORM Tools

Systems Analysis & Design

CHAPTER 2 LITERATURE REVIEW

Chapter 13. Object-Oriented Databases (from E&N and my editing)

Advanced Database Applications. Object Oriented Database Management Chapter 13 10/29/2016. Object DBMSs

CPS510 Database System Design Primitive SYSTEM STRUCTURE

Of Objects and Databases: A Decade of Turmoil Michael J. Carey, David J. DeWitt. Discussion by: Shervin Presentation by: Roland

Chapter 12 Object and Object Relational Databases

8. Object Persistence

ODMG 2.0: A Standard for Object Storage

Chapter 11 Object and Object- Relational Databases

3. Object-Oriented Databases

Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 6. Moving on to Design

The functions performed by a typical DBMS are the following:

COURSE 11. Object-Oriented Databases Object Relational Databases

Volume 5 Issue 3 (2017) ISSN International Journal of Advance Research and Innovation IJARI

Systems:;-'./'--'.; r. Ramez Elmasri Department of Computer Science and Engineering The University of Texas at Arlington

Systems Analysis and Design in a Changing World, Fourth Edition. Chapter 12: Designing Databases

ORDBMS - Introduction

DATABASE TECHNOLOGY - 1DL124

Tutorial notes on. Object relational structural patterns

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Part 3: Object-Oriented Database Management Systems

Data, Databases, and DBMSs

UNIT 1 INTRODUCTION TO OBJECT ORIENTED DATABASE MANAGEMENT SYSTEM

FUNDAMENTALS OF. Database S wctpmc. Shamkant B. Navathe College of Computing Georgia Institute of Technology. Addison-Wesley

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.

CGS 3066: Spring 2017 SQL Reference

Database Technology Introduction. Heiko Paulheim

Object Database Standards, Languages, and Design

Discovering Computers Chapter 10 Database Management

Adding Type into a Commercial Object-Oriented Relational Database TOR

Transparent Java access to mediated database objects

Author's Prepublication Version

Fundamentals of. Database Systems. Shamkant B. Navathe. College of Computing Georgia Institute of Technology PEARSON.

Handout 6 CS-605 Spring 18 Page 1 of 7. Handout 6. Physical Database Modeling

Chapter 7. Introduction to Structured Query Language (SQL) Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel

Managing the Data Effectively Using Object Relational Data Store

CS511 Design of Database Management Systems

Concepts for Object-Oriented Databases

Basant Group of Institution

Mahathma Gandhi University

Introduction. Who wants to study databases?

ITCS Jing Yang 2010 Fall. Class 16: Object and Object- Relational Databases (ch.11) References

Introduction To Computers

The Relational Model. Chapter 3

CSE 530A. Inheritance and Partitioning. Washington University Fall 2013

Why use an RDBMS? ❽ Data maintenance ❽ Standardized access ❽ Multi-user access ❽ Data protection

CPS 510 Data Base I. There are 3 forms of database descriptions the ANSI/SPARK, 1975 and so on

Fundarnentals of. Sharnkant B. Navathe College of Computing Georgia Institute of Technology

Database Systems: Design, Implementation, and Management Tenth Edition. Chapter 7 Introduction to Structured Query Language (SQL)

Chapter 21 9/4/2012. Object Database Standards, Languages, and Design. Chapter 21Outline. Chapter Objectives. ODMG Objects and Literals

The Relational Model. Chapter 3. Database Management Systems, R. Ramakrishnan and J. Gehrke 1

Managing Data. When records in a file need to be accessed there are three ways of doing it;

DATABASE MANAGEMENT SYSTEMS. UNIT I Introduction to Database Systems

CMPT 354 Database Systems I

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 21 1

MS-Access : Objective Questions (MCQs) Set 1

Introduction to Databases Object and Object-Relational Databases

Disks & Files. Yanlei Diao UMass Amherst. Slides Courtesy of R. Ramakrishnan and J. Gehrke

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

The Object-Oriented Paradigm. Employee Application Object. The Reality of DBMS. Employee Database Table. From Database to Application.

New Programming Paradigms

Constructs in Oracle

MULTIMEDIA DATABASES OVERVIEW

CS317 File and Database Systems

DATABASE MANAGEMENT SYSTEM COURSE CONTENT

W5.L2. Week 5, Lecture 2

Introduction to Geographic Information Science. Updates. Last Lecture. Geography 4103 / Database Management

1 ODBMS vs RDBMS 1. 3 Resources 16

List of Practical for Master in Computer Application (5 Year Integrated) (Through Distance Education)

File Organization. Serial: Records are accessed in the order in which they were stored.

Chapter 11 Database Concepts

Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 9. Human Computer Interaction Design and Physical Architecture Layer Design

Comparing the performance of object and object relational database systems on objects of varying complexity

Relational Model. Topics. Relational Model. Why Study the Relational Model? Linda Wu (CMPT )

Review -Chapter 4. Review -Chapter 5

Data Archiving Using Enhanced MAID

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer DBMS

SQL functions fit into two broad categories: Data definition language Data manipulation language

Solved MCQ on fundamental of DBMS. Set-1

Using Relational Databases for Digital Research

FUNDAMENTALS OF SEVENTH EDITION

DC62 Database management system JUNE 2013

Computer Science & Engineering

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

Database Management Systems. Chapter 3 Part 2

Part I: Structured Data

Notes on. Advanced Database management system (504) Mrinal Paul Department of Computer Science Assam University, Silcher

Object-Oriented DBMS and Beyond. Department of Computer Science, University of Zurich. fdittrich,geppertgi.unizh.ch

INFORMATION TECHNOLOGY NOTES

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

8) A top-to-bottom relationship among the items in a database is established by a

OBJECTIVES. How to derive a set of relations from a conceptual data model. How to validate these relations using the technique of normalization.

Transcription:

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: Data access. Manipulation logic.

Four Processes of Data Management Design Selecting the format of the storage. Mapping the problem-domain objects to the objectpersistence format. Optimizing the object-persistence format. Designing the data access and manipulation classes necessary to handle the communication between the system and the database.

Files, Database, and Database Management System Files are electronic lists of data that have been optimized to perform a particular transaction. A database is a collection of groupings of information, each of which is related to each other in some way (e.g., through common fields). Logical groupings of information could include such categories as customer data, information about an order, product information, and so on. A database management system (DBMS) is software that creates and manipulates these databases.

Type of Files (1) Master files: store core information that is important to the business and, more specifically, to the application, such as order information or customer mailing information. They usually are kept for long periods of time, and new records are appended to the end of the file as new orders or new customers are captured by the system. If changes need to be made to existing records, programs must be written to update the old information. Lookup files: contain static values, such as a list of valid zip codes or the names of cities. Typically, the list is used for validation. Transaction files: hold information that can be used to update a master file. The transaction file can be destroyed after changes are added, or the file may be saved in case the transactions need to be accessed again in the future.

Type of Files (2) Audit files: record before and after images of data as they are altered so that an audit can be performed if the integrity of the data is questioned. History files (or archive files): store past transactions (e.g., old customers, past orders) that are no longer needed by system users. Typically the file is stored off-line; yet it can be accessed on an as-needed basis.

Example of Order File

Example of Relational Database

Four Types of Object-Persistence Formats Files (sequential and random access). Relational databases. Object-relational databases. Object-oriented databases.

Sequential and Random Access Files (1) Most object-oriented programming languages support sequential and random access files as part of the language. Sequential access and random access files can be used to support master files, look-up files, transaction files, audit files, and history files. Sequential access files allow only sequential file operations to be performed (e.g., read, write, and search). Sequential access files are very efficient for sequential operations, such as report writing. However, for random operations, such as finding or updating a specific object, they are very inefficient.

Sequential and Random Access Files (2) There are 2 kinds of sequential access and random access files: An unordered sequential access file is basically an electronic list of information stored on disk and organized serially (i.e., the order of the file is the order in which the objects are written to the file). Typically, new objects simply are added to the file s end. Ordered sequential access files are placed into a specific sorted order (e.g., in ascending order by customer number).

Relational Database A relational database is based on collections of tables with each table having a primary key a field or fields whose values are unique for every row of the table. The tables are related to each other by placing the primary key from one table into the related table as a foreign key.

Object Relational Database Object-relational database management systems (ORDBMS) are relational database management systems with extensions to handle the storage of objects in the relational table structure. In pure RDBMSs, attributes are limited to simple or atomic data types, such as integers, floats, or chars. However, an attribute in a table could have a data type of map, which would support storing a map. This is an example of a complex data type.

Object-Oriented Database (1) With an object-oriented database management systems (OODBMS), collections of objects are associated with an extent. An extent is simply the set of instances associated with a particular class (i.e., it is the equivalent of a table in a RDBMS). Each instance of a class has a unique identifier assigned to it by the OODBMS: the Object ID. OODBMSs provide support for some form of inheritance, and the idea of repeating groups(fields) or multi-valued attributes. Object Data Management Group (ODMG) has completed the standardization process for defining (Object Definition Language, ODL), manipulating (Object Manipulating Language, OML), and querying (Object Query Language, OQL) objects in an OODBMS.

Object-Oriented Database (2) OODBMSs have mainly been used to support: Multimedia applications or systems that involve complex data (e.g., graphics, video, sound). Application areas, such as computer-aided design and manufacturing (CAD/CAM), financial services, geographic information systems, health care, telecommunications, and transportation. Electronic commerce, online catalogs, and large Web multimedia applications. Examples of pure OODBMSs include Gemstone, Jasmine, O2, Objectivity, Object-Store, POET, and Versant.

Selecting an Object-Persistence Format Each of the file and database storage formats has its strengths and weaknesses, and no one format is inherently better than the others are.

Mapping Problem-Domain Objects to an RDBMS Format (1)

Mapping Problem-Domain Objects to an RDBMS Format (2)

Mapping Problem-Domain Objects to an ORDBMS Format (1)

Mapping Problem- Domain Objects to an ORDBMS Format (2)

Mapping Problem-Domain Objects to an OODBMS Format (1) Rule 1a: OR Add a column(s) to the OODBMS class(es) that represents the subclass(es) that will contain an Object ID of the instance stored in the OODBMS class that represents the additional superclass(es). This is similar in concept to a foreign key in an RDBMS. The multiplicity of this new association from the subclass to the superclass should be 1..1. Add a column(s) to the OODBMS class(es) that represents the superclass(es) that will contain an Object ID of the instance stored in the OODBMS class that represents the subclass(es). If the superclasses are concrete, that is, they can be instantiated themselves, then the multiplicity from the superclass to the subclass is 0..*, otherwise, it is 1..1. Furthermore, an exclusive-or (XOR) constraint must be added between the associations. Do this for each additional superclass. Rule 1b: Flatten the inheritance hierarchy of the OODBMS classes by copying the attributes and methods of the additional OODBMS superclass(es) down to all of the OODBMS subclasses and remove the additional superclass from the design.

Mapping Problem- Domain Objects to an OODBMS Format (2)

Optimizing RDBMS- Based Object Storage

The Steps of Normalization

1 st Normal Form: Remove Repeating Fields (1)

1 st Normal Form: Remove Repeating Fields (2)

2 nd Normal Form: Remove Partial Dependencies (1)

2 nd Normal Form: Remove Partial Dependencies (2)

3 rd Normal Form

Denormalization (1) Denormalization reduces the number of joins that need to be performed in a query, thus speeding up access.

Denormalization (2)

Managing Problem- Domain Objects to RDBMS

Managing Problem- Domain Objects to ORDBMS

Example: Internet Sales System (1)

Example: Internet Sales System (2)

Example: Internet Sales System (3)

Example: Internet Sales System (4)

Exercise Build data management layer according to your group cases.