2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the differences and similarities between relational and object-oriented.

Slides:



Advertisements
Similar presentations
Chapter 10: Designing Databases
Advertisements

Chapter 12: Designing Databases
Introduction to Databases
Prentice Hall, Database Systems Week 1 Introduction By Zekrullah Popal.
Managing Data Resources
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 3 Database Management
ABCSG - Distributed Database 1 Data Management Distributed Database Data Replication.
File Systems and Databases
Database Management: Getting Data Together Chapter 14.
1 Introduction The Database Environment. 2 Web Links Google General Database Search Database News Access Forums Google Database Books O’Reilly Books Oracle.
CS 432 Object-Oriented Analysis and Design
Overview Distributed vs. decentralized Why distributed databases
Data Management Design
3-1 Chapter 3 Data and Knowledge Management
Ch1: File Systems and Databases Hachim Haddouti
Data Management I DBMS Relational Systems. Overview u Introduction u DBMS –components –types u Relational Model –characteristics –implementation u Physical.
Chapter 4: Database Management. Databases Before the Use of Computers Data kept in books, ledgers, card files, folders, and file cabinets Long response.
Systems Analysis and Design in a Changing World, 6th Edition
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 7 Information System Data Management.
Managing Data Resources. File Organization Terms and Concepts Bit: Smallest unit of data; binary digit (0,1) Byte: Group of bits that represents a single.
Chapter 4 Database Management Systems. Chapter 4Slide 2 What is a Database Management System (DBMS)?  Database An organized collection of related data.
Chapter 1: The Database Environment
6 Systems Analysis and Design in a Changing World, Fourth Edition.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Chapter 6: The Traditional Approach to Requirements
PHASE 3: SYSTEMS DESIGN Chapter 7 Data Design.
Systems Analysis and Design in a Changing World, Fifth Edition
Chapter 6 The Traditional Approach to Requirements
The Design Discipline.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
1 DATABASE TECHNOLOGIES BUS Abdou Illia, Fall 2007 (Week 3, Tuesday 9/4/2007)
Systems Analysis and Design in a Changing World, Fifth Edition
5.1 © 2007 by Prentice Hall 5 Chapter Foundations of Business Intelligence: Databases and Information Management.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the differences and similarities between relational and object-oriented.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the differences and similarities between relational and object-oriented.
Database Design – Lecture 16
Chapter 7: Database Systems Succeeding with Technology: Second Edition.
CHAPTER 8: MANAGING DATA RESOURCES. File Organization Terms Field: group of characters that represent something Record: group of related fields File:
Architecture for a Database System
311: Management Information Systems Database Systems Chapter 3.
Lecture2: Database Environment Prepared by L. Nouf Almujally & Aisha AlArfaj 1 Ref. Chapter2 College of Computer and Information Sciences - Information.
Lead Black Slide Powered by DeSiaMore1. 2 Chapter 7 Information System Data Management.
Announcements. Data Management Chapter 12 Traditional File Approach  Structure Field  Record  File  Fixed All records have common fields, and a field.
Chapter 12: Designing Databases
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
5 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
DataBase Management System What is DBMS Purpose of DBMS Data Abstraction Data Definition Language Data Manipulation Language Data Models Data Keys Relationships.
Databases Shortfalls of file management systems Structure of a database Database administration Database Management system Hierarchical Databases Network.
MANAGING DATA RESOURCES ~ pertemuan 7 ~ Oleh: Ir. Abdul Hayat, MTI.
Prepared By Prepared By : VINAY ALEXANDER ( विनय अलेक्सजेंड़र ) PGT(CS),KV JHAGRAKHAND.
1 CSE 2337 Introduction to Data Management Textbook: Chapter 1.
Data resource management
Management Information Systems, 4 th Edition 1 Chapter 8 Data and Knowledge Management.
Managing Data Resources. File Organization Terms and Concepts Bit: Smallest unit of data; binary digit (0,1) Byte: Group of bits that represents a single.
IAD 2263: System Analysis and Design Chapter 7: Designing System Databases, Interfaces and Security.
2Object-Oriented Analysis and Design with the Unified Process OBJECTIVES  Describe the differences and similarities between relational and object-oriented.
Introduction to Distributed Databases Yiwei Wu. Introduction A distributed database is a database in which portions of the database are stored on multiple.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
 Distributed Database Concepts  Parallel Vs Distributed Technology  Advantages  Additional Functions  Distribution Database Design  Data Fragmentation.
6 Systems Analysis and Design in a Changing World, Fourth Edition.
Fundamentals of Information Systems, Sixth Edition Chapter 3 Database Systems, Data Centers, and Business Intelligence.
1 Information Retrieval and Use De-normalisation and Distributed database systems Geoff Leese September 2008, revised October 2009.
1 10 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 10 Designing Databases.
1 Management Information Systems M Agung Ali Fikri, SE. MM.
Managing Data Resources File Organization and databases for business information systems.
12. Chapter 12: Designing Databases Systems Analysis and Design in a Changing World, Fourth Edition 12.
Client/Server Databases and the Oracle 10g Relational Database
MANAGING DATA RESOURCES
Presentation transcript:

2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the differences and similarities between relational and object-oriented database management systems  Design an object database schema based on a class diagram  Design a relational database schema based on a class diagram

3Object-Oriented Analysis and Design with the Unified Process Objectives (continued)  Describe object-oriented design issues, including data access classes and data types  Describe the different architectural models for distributed databases  Determine when and how to design the database

4Object-Oriented Analysis and Design with the Unified Process Overview  Databases provide a common repository for data  Database management systems provide sophisticated capabilities to store, retrieve, and manage data  Detailed database models are derived from domain class diagrams  Database models are implemented using database management systems  Databases can be relational or OO models

5Object-Oriented Analysis and Design with the Unified Process Databases and Database Management Systems  A database is an integrated collection of stored data that is centrally managed and controlled  Class attributes  Associations  Descriptive information about data and access controls  A DBMS is a system software component that manages and controls access to the database  Ex. - Oracle, Gemstone, ObjectStore, Access, DB2

6Object-Oriented Analysis and Design with the Unified Process DBMS Components  Database  Physical data store ◘Raw bit and bytes of the database  Schema ◘Access and data controls, associations among attributes, details of physical data store  DBMS  Interfaces to access schema and extract information for valid requests  Data access programs and subroutines

7Object-Oriented Analysis and Design with the Unified Process Figure 10-1 The components of a database and a database management system and their interaction with application programs, users, and database administrators

8Object-Oriented Analysis and Design with the Unified Process Figure 10-7 A many-to-many association represented with two one-to-many associations

9Object-Oriented Analysis and Design with the Unified Process Figure 10-8 A generalization hierarchy within the RMO class diagram

10Object-Oriented Analysis and Design with the Unified Process Generalization Associations  ODL uses keyword extends Class Order { attribute string orderID … } Class WebOrder extends Order { attribute string Address … } Class TelephoneOrder extends Order { attribute string phoneClerk … } …

11Object-Oriented Analysis and Design with the Unified Process Database Normalization  Normalization is a technique to ensure database schema quality by minimizing redundancy  First normal form: no repeating attributes or groups of attributes in a table  Functional dependency: a one-to-one correspondence between two attribute values  Second normal form: every non-key attribute is functionally dependent on the primary key  Third normal form: no non-key attribute is functionally dependent on any non-key attribute

12Object-Oriented Analysis and Design with the Unified Process Figure A simplified RMO CatalogProduct table The primary key of CatalogProduct is the combination of CatalogID and ProductID, but CatalogIssueDate is only functionally dependent on CatalogID. This table is not in 2NF.

13Object-Oriented Analysis and Design with the Unified Process Figure Decomposition of a first normal form table into two second normal form tables

14Object-Oriented Analysis and Design with the Unified Process Figure Converting a second normal form table into two third normal form tables State is functionally dependent on ZipCode

15Object-Oriented Analysis and Design with the Unified Process Figure Interaction among a problem domain class, a data access class, and the DBMS Data Access Classes

16Object-Oriented Analysis and Design with the Unified Process Data Types  A data type defined the storage format and allowable content of a program variable or database attribute  Primitive data types are supported directly by computer hardware or a programming language ◘i.e., integer, Boolean, memory address  Complex data types are user or programmer defined ◘i.e., date, time, currency

17Object-Oriented Analysis and Design with the Unified Process Figure A subset of the data type available in the Oracle relational DBMS

18Object-Oriented Analysis and Design with the Unified Process Distributed Databases  Approaches to organizing computers and other information-processing resources in a networked environment  Single database servers  Replicated database servers  Partitioned database servers  Federated database servers  A combination of the above

19Object-Oriented Analysis and Design with the Unified Process Single Database Servers  Clients on more or more LANs share a single database located on a single computer system  Advantages  Simplicity  Disadvantages  Susceptibility to server failure  Possible overload of the network or server  Performance bottlenecks or propagation delays

20Object-Oriented Analysis and Design with the Unified Process Figure A single database server architecture

21Object-Oriented Analysis and Design with the Unified Process Replicated Database Servers  Clients interact with the database server on their own LAN  Each server stores a separate copy of the data  Advantages  Fault tolerant  Load balancing possible  Disadvantages  Must implement database synchronization techniques

22Object-Oriented Analysis and Design with the Unified Process Figure A replicated database server architecture

23Object-Oriented Analysis and Design with the Unified Process Partitioned Database Servers  Partitions database among multiple database servers  A different group of clients accesses each partition  Advantages  Minimizes need for database synchronization  Disadvantages  Schema must be cleanly partitioned among client access groups  Members of client access group must be located in small geographic regions

24Object-Oriented Analysis and Design with the Unified Process Figure Partitioning a database schema into client access subsets

25Object-Oriented Analysis and Design with the Unified Process Federated Database Servers  Used to access data stored on incompatible storage models or DBMSs  A combined database server acts an intermediary, sending requests to underlying database servers  Advantages  Only feasible approach for implementing data warehouses  Disadvantages  Extremely complex

26Object-Oriented Analysis and Design with the Unified Process Figure A federated database server architecture

27Object-Oriented Analysis and Design with the Unified Process RMO Distributed Database Architecture  Two possible approaches  Single server architecture ◘Simple to implement, but high WAN requirements and risk of server failure  Combination of partitioning and replication ◘Reduced fault tolerance and WAN requirements, but need for additional database servers and synchronization techniques  Decision based on analysis of cost and desired system performance

28Object-Oriented Analysis and Design with the Unified Process Figure A replicated and partitioned database server architecture for RMO

29Object-Oriented Analysis and Design with the Unified Process Summary  One of the key activities in design is developing a relational or object database schema  Schemas are developed from class diagrams  An object database stores data as a collection of related objects ◘Associations are represented by storing unique object identifiers in related objects  A relational database stores data in tables ◘Associations are represented with foreign keys

30Object-Oriented Analysis and Design with the Unified Process Summary (continued)  Architecture for multiple databases  Replicated ◘Multiple copies on different servers  Partitioned ◘Partial copies placed in proximity to user subsets  Federated ◘Multiple databases with a DBMS single point of access  Database design should be performed in an early iteration to minimize risk