Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter 13 Application Design III: Database & Persistence © 2009 Pearson Education, Inc. Publishing as Prentice Hall Chapter Topics Concepts of data and data management. Database management systems. The relational model and its major components. Database mechanisms that safeguard data integrity. SQL, the database management language. Encapsulating data management: views, stored procedures and triggers. The concept and the rules of data normalization. Intersection tables and the issues they address. Lookup tables. The entity-relation diagram (ERD). Mapping to relational databases. Persistence layer and serialization. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 2 © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 3 Data Management Data management is the joint responsibility of Applications and the Database Management System. Persistence objects are specialized for communicating with the database, the same way that user-interface objects communicate with the users. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 4 © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 5 Data and Data Management Data are values of variables. In an objectoriented approach, variables belong either to objects or to the messages that the objects exchange with each other and with the outside world. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 6 Attributes of Data Data are highly abstract values, but they can be classified in relation to each other and to their contexts: Data Data Data Data can can can can be quantitative or qualitative. be discrete or continuous. be categorical or non-categorical. be structured or unstructured. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 7 The Context of Data Data is meaningful only within the context of a variable, and a variable is meaningful only within the context of an object. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 8 Data Management Data management is storing and organizing data in a manner that can satisfy the needs of the information system and its applications. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 9 The Database A database is an organized collection of data. A data management system must be able to carry out the following operations: Create: accept new data and create entries in the database. Retrieve: find and read the data that the information system and its users require. Update: allow existing data to be changed. Delete: permit unneeded data to be removed. These four operations are often referred to as CRUD: Create, Retrieve, Update and Delete. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 10 Interface and Language A database has an interface that is distinct from other components of the information systems. A specialized language is required to access this interface. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 11 Integrity and Security A data management system must guard data against unintentional errors and intentional sabotage or theft. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 12 The Database Management System (DBMS) Database management systems are products that encapsulate and carry out the responsibilities of data management. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 13 Sequential Access Sequential access is a method in which data is grouped in records that are stored and retrieved serially from beginning to end. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 14 Early DBMSs Early database management systems required the applications to know the physical layout of data. The Network Model. this model was based on the following definition of a database: a database is a collection of files a file is an ordered collection of entries an entry consists of key or keys and data. The Hierarchical Model. In the hierarchical model, data records are organized as master and detail collections. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 15 The Relational Database Management System (RDBMS) The relational model presents a logical view of the database organization and provides the basis for using a high-level language for database management. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 16 Object-Oriented Database Management Systems An object-oriented database management system (OODBMS) aims to make persistence transparent to object-oriented languages. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 17 The Relational Model A table is the basic organizational unit of a relational database. A table is a rectangular arrangement of data, composed of columns and rows. A column is also referred to as an attribute, a row as a tuple, and their intersection as a cell. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 18 © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 19 The Primary Key The primary key is an attribute or a set of attributes whose values uniquely identify a row. A key that consists of more than one column is called a composite key. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 20 The Foreign Key The foreign key is an attribute in one table whose value must match the value of a primary or an alternate key in a different table. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 21 Data Integrity A relational database management system protects data integrity at four levels: column, row, inter-table and procedural. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 22 Integrity Attribute integrity is ensured by type definition, constraints and foreign keys. Entity integrity is assured by the primary key. Referential integrity is safeguarding inter-table references established by foreign keys. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 23 SQL SQL is the primary language for communication with relational database management systems. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 24 © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 25 A view is a virtual table that represents a selected set of attributes from one or more tables © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 26 A stored procedure is a named set of SQL statements that provides the capability of performing database-related tasks from within the database itself. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 27 Data Normalization Normalization is the process of establishing an optimal table structure based on the internal data dependencies. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 28 © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 29 © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 30 © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 31 Denormalization Denormalization might become necessary due to logical considerations, technological constraints and performance degradation. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 32 Intersection Tables An intersection table represents the relationship between two different entities. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 33 © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 34 A self-referencing relationship occurs when two or more entities of the same kind are related. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 35 Lookup tables represent a range of valid values. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 36 Modeling the Relational Database The main modeling tool for modeling a relational database is the EntityRelationship diagram. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 37 © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 38 Mapping to Relational Databases Mapping to a relational database is the application of relational and normalization rules to classes and their relationships. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 39 Designing Persistence Classes. Attributes Associations are mapped by a primary-foreign key pairs. Multiplicity Repeating attributes must be separated into tables. Associations A table must have a primary key. Repeating Attributes Class attributes become table attributes (or columns.) The Primary Key Entity classes form the overwhelming majority of tables. Multiplicity is mapped through foreign keys. Aggregation To map to a relational database, aggregation must be flattened into association. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 40 Self-Referencing Aggregation. This pattern, with many-to-many multiplicity, is very common and must be solved through an intersection table in the database. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 41 Inheritance and Aggregation. Class is an aggregate of Student and Teacher, but it also inherits features from Course and Semester. In the database, the relationships are mapped to the Classes table by one foreign key for each relationship. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 42 The Persistence Layer The persistence layer is a set of components that manage the communication between the application and the DBMS. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 43 © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 44 © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 45 Next: Patterns Patterns are how we can learn from other people’s experience. A pattern is not a recipe that can be followed uncritically, or a general-purpose theory from which specific solutions can be derived, but the core of the solution to a problem that is encountered repeatedly. In simple terms, patterns help us to build wheels without reinventing them. © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 46 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Printed in the United States of America. Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall © 2009 Pearson Education, Inc. Publishing as Prentice Hall 13- 47