Chapter 3: the Relational Data Model and Relational Databases 2

Total Page:16

File Type:pdf, Size:1020Kb

Chapter 3: the Relational Data Model and Relational Databases 2 Chapter 3: The Relational Data Model and Relational Databases 2 The Relational Model of Data a l b m c n e s d t A B a b c A relation between sets A and B d e A subset of A x B l m n s t 3 The basis of the model is the concept of relation, as found in mathematics, set theory, mathematical logic, in particular in predicate logic A model is given in terms of relations between elements of a domain A relational schema contains the basic elements of a relational data model The schema is application dependent 4 A relational schema S contains: The data domain D, which is a possibly infinite set A finite collection of relations (relation names) R1,...,Rn over D of finite and fixed arity That is, for each relation name R ∈S, its potential exten- sions will be subsets of Dk = D×···×D (k times) for some natural number k that depends on R R(·,...,·) k arguments An k-ary relation can be seen as a table with k columns R ··· ··· · ··· ··· · · ··· ··· · ↑←− k columns−→ ↑ 5 A finite collection of attributes (attribute names) A1,...,Am They are associated to the different relations to denote their arguments, or “columns” They can be identified with/by unary relations (unary pred- icates, properties) over D That is, they can be identified with subsets (sub-domains) of the domain D R A ··· ··· C · ··· ··· · · ··· ··· · A,...,C are attributes of relation R 6 Example: Schema S with Domain D = {john, peter , mary, ..., 1, 2, 3, 4, ....} Binary relation People(·, ·) Attributes for People, in this order: Name, Age People Name Age · · No contents or extensions so far; the schema describes the struc- ture of the model The schemas are domain/application dependent We can see that attributes can be seen as subsets (to be) of the domain 7 Two attributes, with different names, can have later the same extensions (and still be different; that’s why treating them as functions is more precise) Example: Schema with domain D = {john, peter , mary,...} and relation Manager Boss Subordinate · · Schemas can be filled with data in many different ways A database instance D compatible with a given schema S is a collection of finite extensions for the relation names in the schema 8 Example: For the schema S with Domain D = {john, peter, mary, ken, carol, steve, ..., 1, 2, 3, 4, ....} Binary relations People(·, ·), Manager(·, ·) Attributes for People, in this order: Name, Age Attributes for Manager, in this order: Boss, Subordinate This is an instance compatible with the schema: D1: People Name Age john 35 Manager Boss Subordinate mary 25 ken john ken 40 john mary 9 This is another compatible instance: D2: People Name Age mary 35 Manager Boss Subordinate mary 25 ken steve peter 40 carol steve john mary The sub-domains for the attributes Boss and Subordinate are the same, namely the subset {john, peter , mary, ken, carol , steve, ...} of the database domain D 10 Example: (different notations for the same) The table Account# Name Balance 12345 Raoul 400,00 34567 Rupert 354,60 12338 Rumilde 1234,30 34561 Sulema 34445,23 Accounts relation is an instance of a relation between the attributes Acount#, Name,andBalance Each attribute has an associated (sub)domain Here, the account number 12345, the name Raoul and the nu- merical value 400,00 are mutually related through the relation The schema of the relation is: Accounts(Account#, Name, Balance) 11 Bank Example: Some abbreviations clientn = client name cladd = client address clneigh = client neighborhood, branch = branch name acc# = account number Schema: Deposit(branch,acc#,clientn,balance), Client(clientn,cladd,clneigh) 12 An instance Deposit branch acc# clientn balance Carleton 101 Jim 500 Downtown 215 Sandy 700 Barrhaven 304 Alvin 1300 Client clientn cladd neighcl Jim 101 Queensbury Barrhaven Sandy 40 Stone Nepean Hernandez 15 Laurier Downtown Alvin 17 Clyde Altavista John 89 Case Centrepoint 13 What is a right schema? What about this one? A single universal relation Bank(branch,acc#,clientn, balance,cladd,neighcl) It depends on the application and other practical, DB oriented, issues If a client has several accounts, there is redundancy of in- formation This DB becomes unnecessarily large, and inconsistencies become more likely to occur If a client has an account, but no address, we have to use more null values than desired Null values are not easy to handle 14 We will come back to design issues later on ... For the moment, this one seems to be a better schema: Deposit(branch,acc#,clientn,balance) Client(clientn,cladd,clneigh) Consider the relation Deposit We have 4 (sub)domains, D1, D2, D3, D4, one for each of its 4 attributes, where they take values (branch names, account numbers, client names, balances) Any row in the table (extension of the relation) is a 4-tuple (v1,v2,v3,v4) with v1 ∈D1,v2 ∈D2,v3 ∈D3,v4 ∈D4 15 That is Deposit branch acc# clientn balance Carleton 101 Jim 500 Downtown 215 Sandy 700 Barrhaven 304 Alvin 1300 is a subset of D1 ×D2 ×D3 ×D4 Any instance of the relation Deposit will be a subset of D1 ×D2 ×D3 ×D4 We use relation and table as synonymous, the same for tuple and row If t is a tuple, and R is a relation (extension), then: 16 We can say that t ∈ R if the tuple belongs to the relation R (relation extensions are sets) Let A be the name of an attribute in the nth column of relation R If t ∈ R,thent[n] and t[A] denote the value of the at- tribute A in the tuple t For example, if t denotes the first tuple in the table Deposit, then t[2]=t[acc#]=101 Useful notation: Since the same attribute may appear in different tables, we distinguish the occurrences of the attribute, by using the relation name followed by “.” as a prefix, e.g. Deposit.acc# Deposit.clientn Client.clientn 17 Queries For the instance on page 12, give me the addresses with balances of the clients who have a balance higher than 600 40 Stone 700 Answer: 17 Clyde 1300 The answer is a set of tuples, a new relation (extension) We can say that a query is a mapping that sends DB instances to new DB instances (possible with a different schema) 18 Several issues: How to specify a query? How to write it? In what language? What is the precise meaning of a query? How to compute the answer? There are several query languages for RDBs Some more used in practice than others But those of a more theoretic nature are the basis for the most used in practice 19 The distinction between declarative vs. procedural query lan- guages is always relevant The former express what the user wants to obtain from the database, the latter express a particular way to compute the answer 20 Relational Algebra as a Query Language Idea: Relations are sets (subsets of cartesian products) con- structed on top of other sets (domain or subdomains) Query answers are new relations Thus, in order to obtain new relations (e.g. query answers) do set-theoretic algebra on existing relations Operate on sets and relations in order to obtain new sets or relations 21 The Relational Algebra (RA) Provides algebraic operations over relations that produce new relations Operations based on set-theoretic operations Some of those operations come directly from set theory Others are specific, ad hoc, for the RA The latter are applicable to relations (as opposed to sets in general) Provides a procedural query language for RDBs (because it is based on explicit operations) The RA is one of the strengths of the relational model RA can be used to give a precise, set-theoretic semantics to other query languages 22 Queries in RA: It is possible to answer the query by applying a sequence of algebraic (relational) operations starting from the original database instance Even if the RDBMS offers a different query language, e.g. a declarative one, a query will be compiled into a sequence of algebraic operations on the DB 23 Summary of basic operations of RA: Union and Intersection: R1 ∪ R2, R1 ∩ R2 Can be applied to similar relations, i.e. same arity (and data types), as normal sets Difference: R1 R2 Again, for similar relations, as normal sets Product: R1 × R2 This is essentially the cartesian product of two relations taken as normal sets E.g. for R = {(a, b), (c, d)},S= {(1, 2), (2, 3)} R × S = {(a, b, 1, 2), (a, b, 2, 3), (c, d, 1, 2), (c, d, 2, 3)} 24 R1 D R2 D R1 D R2 R1 U R2 R1 R2 D R1 D R2 R1 \ R2 D 25 Π R(··· ,A,···) Projection: A , i.e. the projection of rela- tion R on attribute A B R A II R A Here, A is one of the attributes of R The projection could be on several attributes of R This is a unary operation: takes one relation as input (the previous ones are binary) This is an operation special for relations It deletes, ignores, projects out entire “columns” from a relation Projects R over one (or several) “coordinates” (attributes) 26 It generates a new relation, with a subset of the attributes (columns) Its logical counterpart is the existential quantification For the relation in the figure: Π R(A, B)={a ∈ A | b ∈ B A it exists such that (a, b) ∈ R} 27 Selection: σ<condition>(R) Unary operation, special for relations Selects the tuples of the relation R that satisfy the condi- tion The condition can be expressed in a (limited) logical lan- guage It generates a new relation, with the same attributes, but possibly fewer tuples (rows) 28 Join: R1 R 2 A binary operator, essential in RA It allows to compose two relations through the values in common taken by a distinguished attribute that shared by the two relations (or two different attributes but with same data type or domain) Similar to the operation of composition of two relations as seen in set theory: R◦S It is essential to combine tables in natural way, without ap-
Recommended publications
  • Download Guide
    Profiling and Discovery Sizing Guidelines for Version 10.1 © Copyright Informatica LLC 1993, 2021. Informatica LLC. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise) without prior consent of Informatica LLC. All other company and product names may be trade names or trademarks of their respective owners and/or copyrighted materials of such owners. Abstract The system resource guidelines for profiling and discovery include resource recommendations for the Profiling Service Module, the Data Integration Service, profiling warehouse, and hardware settings for different profile types. This article describes the system resource and performance tuning guidelines for profiling and discovery. Supported Versions • Data Quality 10.1 Table of Contents Profiling Service Module........................................................ 3 Overview................................................................ 3 Functional Architecture of Profiling Service Module..................................... 4 Scaling the Run-time Environment for Profiling Service Module............................. 5 Profiling Service Module Resources............................................... 5 Sizing Guidelines for Profiling.................................................... 7 Overview................................................................ 7 Profile Sizing Process........................................................ 8 Deployment Architecture.....................................................
    [Show full text]
  • 26. Relational Databases and Beyond
    26 Relational databases and beyond M F WORBOYS This chapter introduces the database perspective on geospatial information handling. It begins by summarising the major challenges for database technology. In particular, it notes the need for data models of sufficient complexity, appropriate and flexible human-database interfaces, and satisfactory response times. The most prevalent current database paradigm, the relational model, is introduced and its ability to handle spatial data is considered. The object-oriented approach is described, along with the fusion of relational and object- oriented ideas. The applications of object-oriented constructs to GIS are considered. The chapter concludes with two recent challenges for database technology in this field: uncertainty and spatio-temporal data handling. 1 INTRODUCTION TO DATABASE SYSTEMS variation in their requirements. Data should be retrieved as effectively as possible. It should be 1.1 The database approach possible for users to link pieces of information Database systems provide the engines for GIS. In the together in the database to get the benefit of the database approach, the computer acts as a facilitator added value from making the connections. Many of data storage and sharing. It also allows the data users may wish to use the store, maybe even the to be modified and analysed while in the store. For a same data, at the same time and this needs to be computer system to be an effective data store, it controlled. Data stores may need to be linked to must have the confidence of its users. Data owners other stores for access to pieces of information not and depositors must have confidence that the data in their local holdings.
    [Show full text]
  • EMC® Data Domain® Operating System 5.7 Administration Guide
    EMC® Data Domain® Operating System Version 5.7 Administration Guide 302-002-091 REV. 02 Copyright © 2010-2016 EMC Corporation. All rights reserved. Published in the USA. Published March, 2016 EMC believes the information in this publication is accurate as of its publication date. The information is subject to change without notice. The information in this publication is provided as is. EMC Corporation makes no representations or warranties of any kind with respect to the information in this publication, and specifically disclaims implied warranties of merchantability or fitness for a particular purpose. Use, copying, and distribution of any EMC software described in this publication requires an applicable software license. EMC², EMC, and the EMC logo are registered trademarks or trademarks of EMC Corporation in the United States and other countries. All other trademarks used herein are the property of their respective owners. For the most up-to-date regulatory document for your product line, go to EMC Online Support (https://support.emc.com). EMC Corporation Hopkinton, Massachusetts 01748-9103 1-508-435-1000 In North America 1-866-464-7381 www.EMC.com 2 EMC Data Domain Operating System 5.7 Administration Guide CONTENTS Preface 13 Chapter 1 EMC Data Domain System Features and Integration 17 Revision history.............................................................................................18 EMC Data Domain system overview............................................................... 19 EMC Data Domain system features...............................................................
    [Show full text]
  • Unsupervised Spatial, Temporal and Relational Models for Social Processes
    Unsupervised Spatial, Temporal and Relational Models for Social Processes George B. Davis February 2012 CMU-ISR-11-117 School of Computer Science Carnegie Mellon University Pittsburgh, PA 15213 Thesis Committee: Kathleen M. Carley (CMU, ISR), Chair Christos Faloutsos (CMU, CSD) Javier F. Pe~na(CMU, Tepper) Carter T. Butts (UCI, Sociology / MBS) Submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy This work was supported in part by the National Science Foundation under the IGERT program (DGE- 9972762) for training and research in CASOS, the Office of Naval Research under Dynamic Network Analysis program (N00014- 02-1-0973, ONR N00014-06-1-0921, ONR N00014-06-1-0104) and ONR MURI N00014-08-1-1186, the Army Research Laboratory under ARL W911NF-08-R-0013, the Army Research Instituute under ARI W91WAW-07-C-0063, and ARO-ERDC W911NF-07-1-0317. Additional support was provided by CASOS - the Center for Computational Analysis of Social and Organizational Systems at Carnegie Mellon University. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied of the National Science Foundation, the Office of Naval Research, or the U.S. government. Keywords: Clustering, unsupervised learning, factor graphs, kernel density estimation Abstract This thesis addresses two challenges in extracting patterns from social data generated by modern sensor systems and electronic mechanisms. First, that such data often combine spatial, temporal, and relational evidence, requiring models that properly utilize the regularities of each domain. Sec- ond, that data from open-ended systems often contain a mixture between entities and relationships that are known a priori, others that are explicitly detected, and still others that are latent but significant in interpreting the data.
    [Show full text]
  • Relational Database Systems 1
    Relational Database Systems 1 Wolf-Tilo Balke Philipp Wille Institut für Informationssysteme Technische Universität Braunschweig www.ifis.cs.tu-bs.de 13 Object Persistence • Persistence – Object Persistence – Manual Persistence – Persistence Frameworks • Generating IDs • Persistence Frameworks • Object Databases Relational Database Systems 1 – Wolf-Tilo Balke – Institut für Informationssysteme – TU Braunschweig 2 13.1 Object Persistence • Within typical software engineering cycles, usually application data models are developed – data models are used internally in application, following its design and programming paradigms – nowadays, most application data models are object-oriented – also often called domain model • When developing an application using a database there always is one huge problem – how do you map your domain data model Villain id : int to you database data model? name : string {overlapping} Mad Scientist Super Villain – impedance mismatch! scientific field : varchar Super power: varchar Evil Mad Super Scientist Relational Database Systems 1 – Wolf-Tilo Balke – Institut für Informationssysteme – TU Braunschweig 3 13.1 Object Persistence Application Data Model Database Data Model Villain id : int name : string {overlapping} Mad Scientist Super Villain scientific field : varchar Super power: varchar Evil Mad Super Scientist Relational Database Systems 1 – Wolf-Tilo Balke – Institut für Informationssysteme – TU Braunschweig 4 13.1 Object Persistence • Model mapping is hard for object-oriented programming languages! – object
    [Show full text]
  • A Solution to the Object-Relational Mismatch
    Universidade do Minho Escola de Engenharia Miguel Esteves CazDataProvider: A solution to the object-relational mismatch Outubro de 2012 Universidade do Minho Escola de Engenharia Departamento de Informática Miguel Esteves CazDataProvider: A solution to the object-relational mismatch Dissertação de Mestrado Mestrado em Engenharia Informática Trabalho realizado sob orientação de Professor José Creissac Campos Outubro de 2012 To my parents... \Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice." Christopher Alexander Abstract Today, most software applications require mechanisms to store information persistently. For decades, Relational Database Management Systems (RDBMSs) have been the most common technology to provide efficient and reliable persistence. Due to the object-relational paradigm mismatch, object oriented applications that store data in relational databases have to deal with Object Relational Mapping (ORM) problems. Since the emerging of new ORM frameworks, there has been an attempt to lure developers for a radical paradigm shift. However, they still often have troubles finding the best persistence mechanism for their applications, especially when they have to bear with legacy database systems. The aim of this dissertation is to discuss the persistence problem on object oriented applications and find the best solutions. The main focus lies on the ORM limitations, patterns, technologies and alternatives. The project supporting this dissertation was implemented at Cachapuz under the Project Global Weighting Solutions (GWS). Essentially, the objectives of GWS were centred on finding the optimal persistence layer for CazFramework, mostly providing database interoperability with close-to-Structured Query Language (SQL) querying.
    [Show full text]
  • Files Versus Database Systems - Architecture - E-R
    UNIT I Introduction - Historical perspective - Files versus database systems - Architecture - E-R model- Security and Integrity - Data models. INTRODUCTION Data : • Data is stored facts • Data may be numerical data which may be integers or floating point numbers, and non-numerical data such as characters, date and etc., Example: The above numbers may be anything: It may be distance in kms or amount in rupees or no of days or marks in each subject etc., Information : • Information is data that have been organized and communicated in a coherent and meaningful manner. • Data is converted into information, and information is converted into knowledge. • Knowledge; information evaluated and organized so that it can be used purposefully. Example: The data ( information) which is used by an organization – a college, a library, a bank, a manufacturing company – is one of its most valuable resources. Database : • Database is a collection of information organized in such a way that a computer program can quickly select desired pieces of data. 1 Database Management System (DBMS) : • A collection of programs that enables you to store, modify, and extract information from a database. • A collection of interrelated data and a set of programs to access those data. • The primary goal of a DBMS is to provide an environment that is both convenient and efficient to use in retrieving and storing database information. HISTORY OF DATABASE SYSTEMS : Techniques for data storage and processing have evolved over the years. 1950’s and early 1960’s : - Magnetic tapes were developed for data storage. - Processing of data consisted of reading from one or more tapes and writing data to a new tape.
    [Show full text]
  • 2.5.- the Standard Language SQL
    2.5.- The standard language SQL •SQL (Structured Query Language) is a standard language for defining and manipulating (and selecting) a relational database. • SQL includes: • Features from Relational Algebra (Algebraic Approach). • Features from Tuple Relational Calculus (Logical Approach). • The most extended version nowadays is SQL2 (also called SQL’92). – Almost all RDBMSs are SQL2 compliant. – Some features from SQL3 (and some of the upcoming SQL4) are being included in many RDBMSs. 1 2.5.1.- SQL as a data definition language (DDL) SQL commands for defining relational schemas: • create schema: gives name to a relational schema and declares the user who is the owner of the schema. • create domain: defines a new data domain. ORACLE • create table: defines a table, its schema and its associated constraints. ORACLE • create view: defines a view or derived relation in the relational schema. • create assertion: defines general integrity constraints. ORACLE • grant: defines user authorisations for the operations over the DB objects. All these commands have the opposite operation (DROP / REVOKE) and modification (ALTER). 2 2.5.1.1.- Schema Definition (SQL) create schema [schema] [authorization user] [list_of_schema_elements]; A schema element can be any of the following: • Domain definition. • Table definition. • View definition. • Constraint definition. • Authorisation definition. Removal of a relational schema definition: drop schema schema {restrict | cascade}; 3 2.5.1.2.- Domain Definition (SQL) create domain domain [as] datatype [default
    [Show full text]
  • Next Generation Master Data Management
    TDWI RESE A RCH TDWI BEST PRACTICES REPORT SECOND QUARTER 2012 NEXT GENERATION MASTER DATA MANAGEMENT By Philip Russom CO-SPONSORED BY tdwi.org SECOND QUARTER 2012 TDWI besT pracTIces reporT NexT GeNeRATION MASTeR DATA MANAGeMeNT By Philip Russom Table of Contents Research Methodology and Demographics 3 Executive Summary 4 Introduction to Next Generation Master Data Management 5 Defining Master Data Management 5 Defining Generations of Master Data Management 7 Why Care about Next Generation Master Data Management Now? 8 The State of Next Generation Master Data Management 8 Status and Scope of MDM Projects 8 Priorities for Next Generation Master Data Management 10 Challenges to Next Generation Master Data Management 11 Best Practices in Next Generation MDM 13 Business entities and Data Domains for MDM 13 Multi-Data-Domain MDM 15 Bidirectional MDM Architecture 17 Users’ MDM Tool Portfolios 19 Replacing MDM Platforms 20 Quantifying MDM Generations 22 Potential Growth versus Commitment for MDM Options 22 Trends for Master Data Management Options 25 Vendors and Products for Master Data Management 28 Top 10 Priorities for Next Generation MDM 30 © 2012 by TDWI (The Data Warehousing InstituteTM), a division of 1105 Media, Inc. All rights reserved. Reproductions in whole or in part are prohibited except by written permission. E-mail requests or feedback to [email protected]. Product and company names mentioned herein may be trademarks and/or registered trademarks of their respective companies. tdwi.org 1 Ne x T GeNeR ATION MASTeR DATA MANAG eMeNT About the Author PHILIP RUSSOM is a well-known figure in data warehousing and business intelligence, having published over 500 research reports, magazine articles, opinion columns, speeches, Webinars, and more.
    [Show full text]
  • Ict: Computer Programming April 27
    LA IMMACULADA CONCEPCION SCHOOL SENIOR HIGH SCHOOL GRADE 12 – ICT: COMPUTER PROGRAMMING APRIL 27 – 30, 2020 Topic: Relational Data Model and Relational Database Constraints Data models that preceded the relational Model include the hierarchical and network models. They were proposed in the 1960s and were implemented in early DBMSs during the late 1960s and early 1970s. Because of their historical importance and existing user base for these DBMS. Relational Model Concepts The relational model represents the database as a collection of relations. Informally, each relation resembles a table of values or, to some extent, a flat file of records. It is called a flat file because each record has a simple linear or flat structure. For example, the database of files is similar to the basic relational model representation. However, there are important differences between relations and files. When a relation is thought of as a table of values, each row in the table represents a collection of related data values, a row represents a fact that typically corresponds to a real-world entity or relationship. Table name and column names are used to help to interpret the meaning of the values in each row. For example, the first table is called STUDENT because each row represents facts about a particular student entity. The column names- Name, Student_Number, Class and Major-specify how to interpret the data values in each row, based on the column each value is in. all values in a column are of the same data type. In the formal relational model terminology, a row is called a tuple, a column header is called an attribute, and the table is called a relation.
    [Show full text]
  • How to Boost Sql Server Backups with Data Domain
    HOW TO BOOST SQL SERVER BACKUPS WITH DATA DOMAIN David Muegge Principal Systems Engineer RoundTower Technologies, Inc. Table of Contents Introduction ................................................................................................................................ 5 SQL Server Database Backup ................................................................................................... 6 The Common Dilemma ........................................................................................................... 6 Backup Administrators View of SQL Server Backups and Restores .................................... 6 DBAs View of SQL Server Backups and Restores .............................................................. 7 The Common Approaches ...................................................................................................... 8 Approach I: Backup Administrator Owns All Backups and Processes ................................. 8 Approach II: DBA Owns Database Backups and Processes ..............................................10 Approach III: Backup Responsibilities Shared Between Backup Administrators and DBAs 12 Data Domain and SQL Server Backups ....................................................................................14 How Data Domain is Being Used Today for SQL Server .......................................................14 Current Challenges................................................................................................................17 Data Domain Boost for Microsoft
    [Show full text]
  • Enterprise Master Data Management
    Dreibelbis_00FM.qxd 5/9/08 2:05 PM Page vii Enterprise Master Data Management An SOA Approach to Managing Core Information Allen Dreibelbis Eberhard Hechler Ivan Milman Martin Oberhofer Paul van Run Dan Wolfson IBM Press Pearson plc Upper Saddle River, NJ • Boston • Indianapolis • San Francisco • New York • Toronto • Montreal • London • Munich • Paris • Madrid • Capetown • Sydney • Tokyo • Singapore • Mexico City ibmpressbooks.com Dreibelbis_00FM.qxd 5/9/08 2:05 PM Page viii The authors and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. © Copyright 2008 by International Business Machines Corporation. All rights reserved. Note to U.S. Government Users: Documentation related to restricted right. Use, duplication, or dis- closure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corporation. IBM Press Program Managers: Tara Woodman, Ellice Uffer Cover design: IBM Corporation Associate Publisher: Greg Wiegand Marketing Manager: Kourtnaye Sturgeon Publicist: Heather Fox Acquisitions Editor: Bernard Goodwin Development Editor: Songlin Qin Managing Editor: John Fuller Designer: Alan Clements Project Editors: LaraWysong, Elizabeth Ryan Copy Editor: Bonnie Granat Proofreader: Linda Begley Compositor: International Typesetting and Composition Manufacturing Buyer: Anna Popick Published by Pearson plc Publishing as IBM Press IBM Press offers excellent discounts on this book when ordered in quantity for bulk purchases or special sales, which may include electronic versions and/or custom covers and content particular to your business, training goals, marketing focus, and branding interests.
    [Show full text]