Presentation is loading. Please wait.

Presentation is loading. Please wait.

Author: Graeme C. Simsion and Graham C. Witt Chapter 1 What is Data Modeling?

Similar presentations

Presentation on theme: "Author: Graeme C. Simsion and Graham C. Witt Chapter 1 What is Data Modeling?"— Presentation transcript:

1 Author: Graeme C. Simsion and Graham C. Witt Chapter 1 What is Data Modeling?

2 Copyright: ©2005 by Elsevier Inc. All rights reserved. 2 In this lecture, we address some fundamental questions: –What is a data model? –Why is data modeling so important? –What makes a good data model? –Where does data modeling fit in systems development? –What are the key design stages and deliverables? –How does data modeling relate to database performance design? –Who is involved in data modeling? –What is the impact of new technologies and techniques on data modeling?

3 Copyright: ©2005 by Elsevier Inc. All rights reserved. 3 A Data-Centered Perspective

4 Copyright: ©2005 by Elsevier Inc. All rights reserved. 4 A Simple Example Policy No.Date IssuedTypeCustomer No.CommissionMaturity Date V /29/1989E20HAZED01HA YES01 12%02/29/2009 N /04/1984E20WALSH0112%04/04/2004 W /18/1987WOLODEAJ138%06/12/2047 W /12/1967WOLRICHB768%09/12/2006 V /07/1977SUIRICHB7614%09/12/2006 Customer No.NameAddressPostal CodeGenderAgeDate of Birth HAYES01HA ZED01 D HazeHayes3/1 Collins St3000F2506/23/1975 WALSH01H Walsh2 Allen Road3065M5304/16/1947 ODEAJ13J ODea69 Black Street3145M3306/12/1967 RICHB76B Rich181 Kemp Rd3507M5909/12/1941 CUSTOMER TABLE POLICY TABLE

5 Copyright: ©2005 by Elsevier Inc. All rights reserved. 5 The stuff of data modelling… The data is organized into two simple tables: one for policy data and one for customer data. What exactly is a customer Do we really need to record customers ages? Is the Commission Rate always the same for a given Policy Type? Is the choice of the format of customer number a good choice? Would it be better to hold customers initials in a separate column from their family names? Road and Street have not been abbreviated consistently in the Address column.

6 Copyright: ©2005 by Elsevier Inc. All rights reserved. 6 Architecture is a pretty good metaphor for data modeling Working with others Analysis and design Patterns Compromise Learning how to do it… and how long it takes to be good at it

7 Copyright: ©2005 by Elsevier Inc. All rights reserved. 7 Real Data Modeling: Design, Choice, and Creativity We have a choice of what symbols or codes we use to represent real-world facts in the database. There is usually more than one way to organize (classify) data into tables and columns. The requirements from which we work in practice are usually incomplete, or at least loose enough to accommodate a variety of different solutions. In designing an information system, we have some choice as to which part of the system will handle each business requirement. New information systems seldom deliver value simply by automating the current way of doing things.

8 Copyright: ©2005 by Elsevier Inc. All rights reserved. 8 Textbook Data Modeling In simple textbook examples of data modeling, it may well seem that there is only one workable answer. A data model must meet a set of business requirements. –Simplistically, we could think of the overall data modeling task as consisting of analysis (of business requirements) followed by design (in response to those requirements) –In reality, design usually starts well before we have a complete understanding of requirements, and the evolving data model becomes the focus of the dialogue between business specialist and modeler.

9 Copyright: ©2005 by Elsevier Inc. All rights reserved. 9 Data Modeling: Analysis or Design? In analysis, creativity suggests interference with the facts. Creativity in design is valued highly. I In this course, we try to emphasize the choices available at each stage of the data modeling process so you: –can learn not only to produce sound, workable models (buildings that wont fall down), –are able to develop and compare different options –will occasionally experience the aha! feeling as a flash of insight produces an innovative solution to a problem.

10 Copyright: ©2005 by Elsevier Inc. All rights reserved. 10 Why Is the Data Model Important? (System) Leverage –a well-designed data model can make programming simpler and cheaper. –poor data organization can be expensive – sometimes prohibitively expensive – to fix and often arise from changes to the business after the database has been built Conciseness –Over time, the DFD [data flow diagramming or process modeling] team continued to struggle with basic problem domain understanding. In contrast, the Data Base Team gained a strong, in-depth understanding. Data Quality

11 Copyright: ©2005 by Elsevier Inc. All rights reserved. 11 What Makes a Good Data Model? Completeness –Does the model support all the necessary data? Non-redundancy –Does the model specify a database in which the same fact could be recorded more than once? Enforcement of Business Rules –How accurately does the model reflect and enforce the rules which apply to the businesss data? Data Re-usability –Will the data stored in the database be re-useable for purposes beyond those anticipated in the process model? Stability and Flexibility –How well will the model cope with possible changes to the business requirements? Elegance –Does the data model provide a reasonably neat and simple classification of the data? Communication –How effective is the model in supporting communication amongst the various stakeholders in the design of a system? Integration –How will the proposed database fit with the organizations existing and future databases? Conflicting Objectives –In many cases, the above aims will conflict with one another. An elegant but radical solution may be difficult to communicate to conservative users.

12 Copyright: ©2005 by Elsevier Inc. All rights reserved. 12 Database Design Stages and Deliverables

13 Copyright: ©2005 by Elsevier Inc. All rights reserved. 13 Conceptual, Logical and Physical Data Models There are three different data models produced –The conceptual data model is a (relatively) technology- independent specification of the data to be held in the database –The logical data model is a translation of the conceptual model into structures which can be implemented using a database management system (DBMS). –The physical data model incorporates any changes necessary to achieve adequate performance, and is also presented in terms of tables and columns, together with a specification of physical storage (which may include data distribution) and access mechanisms.

14 Copyright: ©2005 by Elsevier Inc. All rights reserved. 14 Where Do Data Models Fit In? (1) Process-Driven Approaches –Traditional process-driven or data-flow-driven approaches focus on the process model Data-Driven Approaches –Data-driven approaches appeared in the late 1970s, and have since generally evolved into parallel or blended methodologies Parallel (Blended) Approaches –In practice techniques are a blend of the two pure approaches shown above

15 Copyright: ©2005 by Elsevier Inc. All rights reserved. 15 Where Do Data Models Fit In? (2) Object-Oriented Approaches –Many information systems remain data centric. Very few databases are object-oriented Prototyping Approaches –Even when prototyping you need to design a good data model early in the project Agile Methods –Although developed as a backlash against more traditional approaches, the agile approach requires some common understanding of data structures, meaning, and coding of data. Documenting the data model may be very useful even in agile methods of development.

16 Copyright: ©2005 by Elsevier Inc. All rights reserved. 16 Who Should Be Involved in Data Modeling? The system users, owners, and/or sponsors to verify that the model meets their requirements Business specialists to verify the accuracy and stability of business rules incorporated in the model The data modeler develops the model, and ensures other stakeholders are aware of its implications Process modelers and program designers specify programs to run against the database The physical database designer to assess whether the physical data model needs to differ substantially from the logical data model to achieve adequate performance The systems integration manager asks how the new database will fit into the bigger picture

17 Copyright: ©2005 by Elsevier Inc. All rights reserved. 17 Is Data Modeling Still Relevant? Cost of Data Modeling –No database was ever built without a model and a formal data modeling phase, undertaken by skilled modelers, should reduce the costs of database development, and of the overall system. Data Modeling and Packaged Software –In contrast with early days, many organizations adopting a policy of buy not build, as packaged software is now available for a wide range of applications. Data Integration –Data integration – or the lack of it – remains a major issue for most organizations. Data Warehouses –A data warehouse is a specialized database that draws together data from a variety of existing databases to support management information needs. Personal Computing and User-Developed Systems –Todays professionals or knowledge workers use PCs as essential tools of trade and frequently have access to a DBMS such as Microsoft Access. Data Modeling and XML –XML (Extensible Markup Language) was developed as a format for presenting data and providing information about the meaning of the data. XML does not remove the need to properly understand data requirements and design sound, well- documented data structures to support them.

18 Copyright: ©2005 by Elsevier Inc. All rights reserved. 18 Which language to use? The choice is clear: between the practitioner standard Entity-relationship (ER) modeling language or to opt for the more contemporary Unified Modeling Language (UML) Why E-R? –Most practitioners know E-R –The principles are transferable and UML itself adds very little to the contents of the course –The relative merits of E-R and UML are discussed in the accompanying text.

19 Copyright: ©2005 by Elsevier Inc. All rights reserved. 19 Where to from here? After completing this course you will be able to apply principles of practical data modeling. During the course we will cover –How to design good tables (normalisation) –How to perform basic E-R Modeling –Extensions to basic E-R –Data warehouses –How to perform data modeling in a business context We begin next lecture with the principles of good design.

Download ppt "Author: Graeme C. Simsion and Graham C. Witt Chapter 1 What is Data Modeling?"

Similar presentations

Ads by Google