Type Inference, Type Improvement, and Type Simplification in a Language with User-Defined Polymorphic Relational Operators

Total Page:16

File Type:pdf, Size:1020Kb

Type Inference, Type Improvement, and Type Simplification in a Language with User-Defined Polymorphic Relational Operators Type Inference, Type Improvement, and Type Simplification in a Language with User-Defined Polymorphic Relational Operators by Lajos Pal´ Nagy Master of Science in Computer Science Technical University of Budapest 2000 A dissertation submitted to Florida Institute of Technology in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science Melbourne, Florida May, 2007 c Copyright 2007 Lajos Pal´ Nagy All Rights Reserved The author grants permission to make single copies We the undersigned committee hereby approve the attached thesis Type Inference, Type Improvement, and Type Simplification in a Language with User-Defined Polymorphic Relational Operators by Lajos Pal´ Nagy Ryan Stansifer, Ph.D. Major Advisor Associate Professor, Computer Sciences Philip J. Bernhard, Ph.D. Committee Member Associate Professor, Computer Sciences Philip K. Chan, Ph.D. Committee Member Associate Professor, Computer Sciences Jewgeni H. Dshalalow, Dr.Sci. Committee Member Professor, Mathematics William D. Shoaff, Ph.D. Associate Professor and Head Computer Sciences Abstract Type Inference, Type Improvement, and Type Simplification in a Language with User-Defined Polymorphic Relational Operators by Lajos Pal´ Nagy Major Advisor: Ryan Stansifer, Ph.D. The overarching goal of the current thesis is to pave the road towards a comprehensive solu- tion to the decades old problem of integrating databases and programming languages. For this purpose, we propose a record calculus as an extension of an ML-style functional programming language core. In particular, we describe: (1) a set of polymorphic record operations that are expressive enough to define the operators of the relational algebra; (2) a type system together with a type inference algorithm, based on the theory of qualified types, to correctly capture the types of said polymorphic record operations; (3) an algorithm for checking the consistency (sat- isfiability of predicates) of the inferred types; (4) an algorithm for improving and simplifying types; and (5) an outline of an approach to explaining type errors in the resulting type system in an informative way. iii Table of Contents Page Acknowledgment ...................................... ix Dedication.......................................... x Chapter1: Introduction................................ 1 1.1 TheGreatChasm ................................. 1 1.1.1 Rationale for Functional Programming . 4 1.1.2 Rationale for the Relational Model . 5 1.2 ProblemStatement ................................ 6 1.2.1 Main Challenges . 7 1.3 Contributions ................................... 8 1.4 Outline of Dissertation . 9 Chapter2: RelatedWork ............................... 10 2.1 Database Programming Languages . 10 2.1.1 OrthogonalPersistence.......................... 11 2.1.2 The Relational Approach . 13 2.2 DeductiveDatabases ............................... 15 iv 2.2.1 A Simple Deductive Database . 16 2.2.2 Deductive Databases versus Functional Database Programming . 18 2.3 Record Calculi and Systems with Polymorphic Relational Operators . 20 2.3.1 Record Support in Mainstream Languages . 21 2.3.2 Standard Record Subtyping . 22 2.3.3 Rows and Unchecked Row Extension . 23 2.3.4 Present/AbsentFlags........................... 23 2.3.5 Generalized Rows with Subtyping . 24 2.3.6 Record Concatenation with Disjointness Predicates . 25 2.3.7 Kinded Record Types and Machiavelli . 26 2.3.8 Qualified Types and Rows . 29 2.3.9 The Language D ............................. 30 2.3.10 Type Inference for the Relational Algebra . 32 2.3.11 HaskellDB: Strongly Typed Database Access for Haskell . 34 2.3.12 Heterogeneous Collections for Haskell . 36 Chapter 3: Language Syntax and Semantics . 40 3.1 Language Design Considerations . 40 3.1.1 The Notion of Record and the Omission of Variants . 42 3.1.2 First-class Labels . 43 3.2 BasicRecordOperations ............................. 43 3.3 FormalSemantics................................. 49 3.4 SetsandRelations................................. 53 v 3.4.1 Relation Headings . 55 3.5 Defining Relational Algebra Operators . 56 3.5.1 Sample Relational Algebra Queries . 58 Chapter4: TypeSystem ............................... 61 4.1 Kinds ....................................... 61 4.2 Types ....................................... 62 4.3 Type-level Operations and Relations . 63 4.4 Type Predicates and Qualified Types . 65 4.5 Typing Basic Record Operations . 69 4.6 Typing Rules and Type Inference . 71 4.6.1 Substitution and Unification . 71 4.7 ExamplesofInferredTypes. 74 Chapter 5: Checking Satisfiability of Predicates . 76 5.1 Definition of Satisfiability . 78 5.2 MappingtoSetExpressions ........................... 79 5.3 A Simplifying Language Restriction . 80 5.4 TheAlgorithmQ ................................. 83 5.4.1 PseudoCodeforAlgorithmQ . 84 5.5 ANormalFormforSetExpressions . 84 5.6 Solving Set Constraints . 88 5.7 SelectingBaseSets ................................ 90 5.8 Checking Field Type Constraints . 93 vi 5.9 HandlingNestedRecords............................. 96 5.10 Soundness and Completeness . 98 5.11 Complexity of Algorithm Q . 99 5.12SampleRun.................................... 101 5.13Summary ..................................... 103 Chapter 6: Type Improvement and Simplification . 104 6.1 TypeImprovement ................................ 104 6.1.1 Representative Cases . 106 6.2 Algorithm for Type Improvement . 110 6.2.1 Finding the Improving Substitution sℓ (Field Types) . 110 6.2.2 Finding the Improving Substitution sLM (Empty Row) . 111 6.2.3 Finding the Improving Substitution s≃ (SameRow). 113 6.3 Type Simplification . 116 6.3.1 Representative Cases . 118 6.4 Algorithm for Type Simplification . 122 6.4.1 Identifying Reachable Predicates . 122 6.4.2 Identifying Constructor Predicates . 124 6.4.3 Identifying Relevant Predicates . 125 6.4.4 Putting It All Together . 127 Chapter7: ExplainingTypeErrors .......................... 129 7.1 Explaining Type Errors in Polymorphic Languages . 130 7.2 TypeErrorsandQualifiedTypes . 131 vii 7.2.1 Showing the Origins of Predicates . 134 7.2.2 Identifying Conflicting Predicates . 135 7.2.3 Revealing the Contradiction . 136 Chapter8: Conclusions................................ 140 8.1 FutureWork.................................... 141 Appendix A: Overview of the Relational Model and Algebra . 150 A.1 Union ....................................... 151 A.2 Intersection .................................... 152 A.3 Difference..................................... 152 A.4 CartesianProduct ................................. 153 A.5 (Natural)Join ................................... 154 A.6 Restriction..................................... 155 A.7 Projection..................................... 156 A.8 Division...................................... 157 A.9 ‘Non-Standard’ Relational Operators . 158 A.9.1 Projecting Away and Renaming Attributes . 159 A.9.2 Variations on join: semijoin, antijoin, and compose . 160 A.9.3 Improved division: the Small Divide . 160 A.9.4 Extension................................. 161 AppendixB: Proofs................................... 162 viii Acknowledgment First of all, I would like to thank my parents for their patience and understanding. I know how hard it must have been to let their only son go to a far away country, on the other side of the Atlantic. I thank my sisters, Emi, Eva,´ and Julcsi, for their encouragement and support. I thank all the members of my doctoral committee. I thank Dr. Chan for pushing me harder and demanding focus and clarity. Special thanks goes to my major advisor, Dr. Stansifer whose knowledge, patience, professionalism, eye for detail, and last, but certainly not least, his constant encouragement really was indispensable in helping me to write this dissertation. I would like to thank my friend, Attila, who always lent a sympathetic ear whenever I hit obstacles in my research (and that happened a lot). I thank Dr. Imre Paulovits, who helped me to get to the United States and provided me with a lot of advice on how to conduct world-class research. Finally, I thank Yoshiko, who believed in me all the way, and wanted me to succeed. (She is also pretty, by the way.) ix Dedication To My Grandparents x 1 Chapter 1 Introduction Databases as separate entities of information systems emerged in the 1960s when it became obvious that the common task of handling shared and persistent data is best dealt with a dedicated component, a Database Management System. Up until then, each application program did its own data management using the facilities provided by the file system. Though this separation of duties proved to be extremely beneficial in the long run, it nevertheless created its own set of problems—most of them stemming from the difficulties of interfacing programming languages with databases. 1.1 The Great Chasm Programs that access data in a database are referred to as database applications. Traditionally, database applications are written in some high-level programming language (often called the host language in this context), and use a data sub-language (the embedded language) to query and update data in the database. (This description holds true even in the context of modern object-oriented languages, although various persistence and object/relational mapping solutions blur the language boundaries somewhat.) It has long been recognized that this dualism of lan- guages (or ‘impedance mismatch’, as it has become infamously known) causes several problems: 2 1. differences between the primitive and complex data types of the
Recommended publications
  • Middleware in Action 2007
    Technology Assessment from Ken North Computing, LLC Middleware in Action Industrial Strength Data Access May 2007 Middleware in Action: Industrial Strength Data Access Table of Contents 1.0 Introduction ............................................................................................................. 2 Mature Technology .........................................................................................................3 Scalability, Interoperability, High Availability ...................................................................5 Components, XML and Services-Oriented Architecture..................................................6 Best-of-Breed Middleware...............................................................................................7 Pay Now or Pay Later .....................................................................................................7 2.0 Architectures for Distributed Computing.................................................................. 8 2.1 Leveraging Infrastructure ........................................................................................ 8 2.2 Multi-Tier, N-Tier Architecture ................................................................................. 9 2.3 Persistence, Client-Server Databases, Distributed Data ....................................... 10 Client-Server SQL Processing ......................................................................................10 Client Libraries ..............................................................................................................
    [Show full text]
  • Advanced Sql Programming Third Edition
    JOE CELKO’S SQL FOR SMARTIES: ADVANCED SQL PROGRAMMING THIRD EDITION The Morgan Kaufmann Series in Data Management Systems Series Editor: Jim Gray, Microsoft Research • Joe Celko’s SQL for Smarties: Advanced SQL Programming, Third Edition, Joe Celko • Moving Objects Databases, Ralf Güting and Markus Schneider • Foundations of Multidimensional and Metric Data Structures, Hanan Samet • Joe Celko’s SQL Programming Style, Joe Celko • Data Mining, Second Edition: Concepts and Techniques, Ian Witten and Eibe Frank • Fuzzy Modeling and Genetic Algorithms for Data Mining and Exploration, Earl Cox • Data Modeling Essentials, Third Edition, Graeme C. Simsion and Graham C. Witt • Location-Based Services, Jochen Schiller and Agnès Voisard • Database Modeling with Microsft® Visio for Enterprise Architects, Terry Halpin, Ken Evans, Patrick Hallock, Bill Maclean • Designing Data-Intensive Web Applications, Stephano Ceri, Piero Fraternali, Aldo Bongio, Marco Brambilla, Sara Comai, and Maristella Matera • Mining the Web: Discovering Knowledge from Hypertext Data, Soumen Chakrabarti • Advanced SQL: 1999—Understanding Object-Relational and Other Advanced Features, Jim Melton • Database Tuning: Principles, Experiments, and Troubleshooting Techniques, Dennis Shasha and Philippe Bonnet • SQL:1999—Understanding Relational Language Components, Jim Melton and Alan R. Simon • Information Visualization in Data Mining and Knowledge Discovery, Edited by Usama Fayyad, Georges G. Grinstein, and Andreas Wierse • Transactional Information Systems: Theory, Algorithms,
    [Show full text]
  • Up to a Point, Lord Copper
    copper.html Up to a Point, Lord Copper A response to Tom Johnston's article,"More to the Point" (Database Programming & Design, October 24th, 1995) by C. J. Date, Hugh Darwen, and David McGoveran Tom Johnston's recent article "More to the Point" [2] was a response to a critique by the present authors [3] of an earlier two-part article by Johnston [4] in support of many-valued logic. What follows is a response to that response. We begin with a slightly edited excerpt from that letter. (Note: Following normal convention, we use MVL, 2VL, 3VL, ... throughout this paper to stand for many-valued logic, two-valued logic, three-valued logic (and so on). Our comments tend to focus on 3VL specifically, though they often apply, sometimes with even more force, to 4VL, 5VL, and the rest.) "Probably many readers are bored to tears with this whole subject. Certainly the editor of Database Programming & Design seems to think so; in his introduction to our previous critique, he wrote: '[Johnston's response to this critique] will appear [soon] ... With that, we'll all shake hands and end this chapter of The Great MVL Debate.' Would that we could! But Johnston's response simply cries out for further rebuttal. The sad truth is that the topic of our debate is fundamentally important. What's more, it isn't going to go away (indeed, nor should it), so long as MVL advocates such as Johnston fail even to address-let alone answer-our many serious and well-founded objections to their position.
    [Show full text]
  • OLAP Solutions Building Multidimensional Information Systems
    Y L F M A E T Team-Fly® OLAP Solutions Building Multidimensional Information Systems Second Edition Erik Thomsen Wiley Computer Publishing John Wiley & Sons, Inc. NEW YORK • CHICHESTER • WEINHEIM • BRISBANE • SINGAPORE • TORONTO OLAP Solutions Building Multidimensional Information Systems Second Edition OLAP Solutions Building Multidimensional Information Systems Second Edition Erik Thomsen Wiley Computer Publishing John Wiley & Sons, Inc. NEW YORK • CHICHESTER • WEINHEIM • BRISBANE • SINGAPORE • TORONTO Publisher: Robert Ipsen Editor: Robert Elliott Developmental Editor: Emilie Herman Managing Editor: John Atkins New Media Editor: Brian Snapp Text Design & Composition: MacAllister Publishing Services, LLC Designations used by companies to distinguish their products are often claimed as trademarks. In all instances where John Wiley & Sons, Inc., is aware of a claim, the product names appear in initial capital or all capital letters. Readers, however, should contact the appropriate companies for more complete information regarding trademarks and registration. This book is printed on acid-free paper. Copyright © 2002 by Erik Thomsen. All rights reserved. Published by John Wiley & Sons, Inc. Published simultaneously in Canada. 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, scanning or otherwise, except as permitted under Sections 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923, (978) 750-8400, fax (978) 750-4744. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 605 Third Avenue, New York, NY 10158-0012, (212) 850-6011, fax (212) 850-6008, E-Mail: PERMREQ @ WILEY.COM.
    [Show full text]
  • Joe Celko's SQL for Smarties
    Joe Celko’s SQL for Smarties Fourth Edition The Morgan Kaufmann Series in Data Management Systems (Selected Titles) Joe Celko’s Data, Measurements and Location-Based Services Web Farming for the Data Warehouse Standards in SQL Jochen Schiller and Agnès Voisard Richard D. Hackathorn Joe Celko Managing Time in Relational Databases: Management of Heterogeneous and Information Modeling and Relational How to Design, Update and Query Autonomous Database Systems Databases, 2 nd Edition Temporal Data Edited by Ahmed Elmagarmid, Marek Terry Halpin, Tony Morgan Tom Johnston and Randall Weis Rusinkiewicz, Amit Sheth Joe Celko’s Thinking in Sets Database Modeling with Microsoft® Visio Object-Relational DBMSs: 2 nd Edition Joe Celko for Enterprise Architects Michael Stonebraker and Paul Brown, Business Metadata Terry Halpin, Ken Evans, Patrick Hallock, with Bill Inmon, Bonnie O’Neil, Lowell Fryman Bill Maclean Dorothy Moore Unleashing Web 2.0 Designing Data-Intensive Web Applications Universal Database Management: A Guide Gottfried Vossen, Stephan Hagemann Stephano Ceri, Piero Fraternali, Aldo to Object/Relational Technology Bongio, Marco Brambilla, Sara Comai, Cynthia Maro Saracco Enterprise Knowledge Management Maristella Matera rd David Loshin Readings in Database Systems, 3 Edition Mining the Web: Discovering Knowledge Edited by Michael Stonebraker, Joseph M. nd Business Process Change, 2 Edition from Hypertext Data Hellerstein Paul Harmon Soumen Chakrabarti Understanding SQL’s Stored Procedures: nd IT Manager’s Handbook, 2 Edition Advanced SQL: 1999—Understanding Object- A Complete Guide to SQL/PSM Bill Holtsnider & Brian Jaffe Relational and Other Advanced Features Jim Melton Joe Celko’s Puzzles and Answers, Jim Melton Principles of Multimedia Database Systems nd 2 Edition Database Tuning: Principles, Experiments, V.
    [Show full text]
  • Confusing Physcal and Logical Levels of Abstraction Is The
    Confusing Physcal and Logical Levels of Abstraction Correspondence Between David McGoveran and Jim Starkey, April-May, 2014 In April, 2014, Jim Starkey posted a commentary "Is the Relational Data Model Spent?" on the Database Architect's Forum of LinkedIn. I was sent a copy of the post by Fabian Pascal, a member of the forum. Choosing not to join the forum in order to respond, Jim and I communicated via postings on Fabian's blog www.dbdebunk.com with two rounds each. The correspondence follows, in order of its appearance and as it appeared, spelling errors and all. I have taken the liberty of improving formatting for readability. I have assumed that, since Jim's commentary was public and not copyrighted (I have added a notice on his behalf herein), that it is fair use to include it herein. Of course, if Jim ever has any objection I will be happy to remove his portion of the correspondence and expand my commentary to so as to explain what he posted without including it. Is the Relational Data Model Spent? by Jim Starkey, Database Architect © 2014 Jim Starkey – All Rights Reserved Let me start by establishing my relational credentials. My first exposure to relational databases was some mimeographed copies of Codd’s early papers while working the ARPAnet Datacomputer project. I was unable to convince the company I worked for that relational was the future (“too academic”). I joined DEC to write a relational database, but got sidelined by a hiring bait and switch. I did start the DEC Rdb project, but had to spin off due other other responsibilities.
    [Show full text]
  • Missing Data in the Relational Model
    Virginia Commonwealth University VCU Scholars Compass Theses and Dissertations Graduate School 2013 Missing Data in the Relational Model Marion Morrissett Virginia Commonwealth University Follow this and additional works at: https://scholarscompass.vcu.edu/etd Part of the Engineering Commons © The Author Downloaded from https://scholarscompass.vcu.edu/etd/3004 This Dissertation is brought to you for free and open access by the Graduate School at VCU Scholars Compass. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of VCU Scholars Compass. For more information, please contact [email protected]. c Marion R. Morrissett, 2013 All Rights Reserved Dedication This research is dedicated to content, data with missing values that represent the always-complete real world. And to structure, the relational model created and developed by the scientists, researchers, teachers, and practitioners who populate my test case database. MISSING DATA IN THE RELATIONAL MODEL A dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy at Virginia Commonwealth University. by MARION R. MORRISSETT Bachelor of Arts, University of Virginia, 1972 Mathematical Sciences Certificate in Computer Science, Virginia Commonwealth University, 1987 Master of Science, Virginia Commonwealth University, 1994 Doctor of Philosophy, Virginia Commonwealth University, 2013 Director: LORRAINE M. PARKER ASSOCIATE PROFESSOR, DEPARTMENT OF COMPUTER SCIENCE Virginia Commonwealth University Richmond, Virginia May, 2013 ii Acknowledgments Many people have provided help and support during this work. My friends and family listened to my dissertation status reports, the programmers among them heard the technical details and all were patient. John Cookson, Tom Nicholls, and Paul Bruggeman shared their experience with problems created and solved by computers.
    [Show full text]
  • Oral History of C. J. Date
    Oral History of C. J. Date Interviewed by: Thomas Haigh Recorded: June 13, 2007 Mountain View, California CHM Reference number: X4090.2007 © 2007 Computer History Museum Table of Contents BACKGROUND AND EDUCATION..............................................................................................4 FIRST JOB IN COMPUTING: WORKING FOR LEO....................................................................7 JOINING IBM ................................................................................................................................9 DATABASE MANAGEMENT AND PL/I ......................................................................................12 DESIGNING A DATABASE LANGUAGE ...................................................................................13 FIRST CONTACTS WITH TED CODD.......................................................................................16 THE INTRODUCTION TO DATABASE SYSTEMS BOOK.........................................................17 THE ACM DEBATE ....................................................................................................................21 THE RELATIONAL MODEL........................................................................................................24 SQL.............................................................................................................................................27 EVOLUTION OF THE INTRODUCTION TO DATABASE SYSTEMS BOOK .............................32 LEAVING IBM .............................................................................................................................34
    [Show full text]
  • Stephen Gray
    Round Table Group Consultant Curriculum Vitae Stephen Gray Expertise . Distributed Computing Architecture . Image and Document Processing . Internet/Web/e-Commerce . Relational Database Design . Web Services Protocols/SOA . Network Architecture . Client/Server Technology . Software Quality . Electronic Presentation Technology . Software and Systems Development, . Programming Languages Integration and Management Professional Summary Mr. Gray has over 30 years of experience in the computer and communications industries. His background includes systems and software architecture, design and development as well as senior management positions in development, marketing, and general management. Employment History From: 1984 Gray & Yorg, LLC To: Present San Diego, CA Position: Principal Mr. Gray is an expert in modern computing platform architecture, design, implementation and integration, including relational database design in networking environments. In providing consulting services, he has successfully completed the following projects: . Performed patent portfolio analysis for large corporations . Developed policies and procedures for a “clean” software development environment. Monitored activities to ensure conformance. CSO for a Business Process Management software start up. The firm develops Web Services/SOA based BPM creation, orchestration, management and optimization solutions. CTO for an e-Commerce Internet start up. The firm developed a product that specializes in procurement for public agencies. Interim CEO for a broadband Competitive Local Exchange Carrier (CLEC). Helped negotiate the successful sale of the CLEC. CTO for an Internet-based secure content distribution startup. The firm developed comprehensive Digital Rights Management (DRM) solutions for the control and promotion of content on the Internet. Confidential Resume of Stephen Gray Page 1 Printed: 09/04/14 Round Table Group Consultant Curriculum Vitae . Architected several e-Commerce applications for legacy interoperability .
    [Show full text]
  • Relational and Object-Relational Database Management Systems As Platforms for Managing Software Engineering Artifacts
    THESIS ON INFORMATICS AND SYSTEM ENGINEERING C32 Relational and Object-Relational Database Management Systems as Platforms for Managing Software Engineering Artifacts ERKI EESSAAR TUT PRESS Faculty of Information Technology Department of Informatics TALLINN UNIVERSITY OF TECHNOLOGY Dissertation was accepted for the commencement of the degree of Doctor of Philosophy in Engineering on November 15, 2006. Supervisor: Prof. Rein Kuusik, Faculty of Information Technology Opponents: Prof. Bernhard Thalheim, Christian-Albrechts-University Kiel, Computer Science Institute, Germany Prof. Jüri Kiho, University of Tartu, Estonia Commencement: December 18, 2006 Declaration: Hereby I declare that this doctoral thesis, my original investigation and achievement, submitted for the doctoral degree at Tallinn University of Technology has not been submitted for any degree or examination. /Erki Eessaar/ Copyright: Erki Eessaar, 2006 ISSN 1406-4731 ISBN 9985-59-671-4 Table of Contents INTRODUCTION........................................................................................ 6 OBJECTIVES ................................................................................................ 7 LIMITATIONS ............................................................................................ 10 OUTLINE OF THE DISSERTATION .............................................................. 11 ACKNOWLEDGEMENTS ............................................................................. 13 LIST OF ABBREVIATIONS...................................................................
    [Show full text]
  • Data and Databases Concepts in Practice.Pdf
    Release Team[oR] 2001 [x] Database Joe Celko's Data and Databases: Concepts in Practice ISBN: 1558604324 by Joe Celko Morgan Kaufmann Publishers © 1999, 382 pages A "big picture" look at database design and programming for all levels of developers. Table of Contents Colleague Comments Back Cover Synopsis by Dean Andrews In this book, outspoken database magazine columnist Joe Celko waxes philosophic about fundamental concepts in database design and development. He points out misconceptions and plain ol' mistakes commonly made while creating databases including mathematical calculation errors, inappropriate key field choices, date representation goofs and more. Celko also points out the quirks in SQL itself. A detailed table-of-contents will quickly route you to your area of interest. Table of Contents Joe Celko’s Data and Databases: Concepts in Practice - 4 Preface - 6 Chapter 1 - The Nature of Data - 13 Chapter 2 - Entities, Attributes, Values, and Relationships - 23 Chapter 3 - Data Structures - 31 Chapter 4 - Relational Tables - 49 Chapter 5 - Access Structures - 69 Chapter 6 - Numeric Data - 84 Chapter 7 - Character String Data - 92 Chapter 8 - Logic and Databases - 104 Chapter 9 - Temporal Data - 123 Chapter 10 - Textual Data - 131 Chapter 11 - Exotic Data - 135 Chapter 12 - Scales and Measurements - 146 Chapter 13 - Missing Data - 151 Chapter 14 - Data Encoding Schemes - 163 - 2 - Chapter 15 - Check Digits - 163 Chapter 16 - The Basic Relational Model - 178 Chapter 17 - Keys - 188 Chapter 18 - Different Relational Models - 202 Chapter 19 - Basic Relational Operations - 205 Chapter 20 - Transactions and Concurrency Control - 207 Chapter 21 - Functional Dependencies - 214 Chapter 22 - Normalization - 217 Chapter 23 - Denormalization - 238 Chapter 24 - Metadata - 252 References - 258 Back Cover Do you need an introductory book on data and databases? If the book is by Joe Celko, the answer is yes.
    [Show full text]
  • Stephen Gray
    Silicon Valley Expert Witness Group, Inc. Consultant Curriculum Vitae Stephen Gray Expertise . Distributed Computing Architecture . Image and Document Processing . Internet/Web/e-Commerce . Relational Database Design . Web Services Protocols/SOA . Network Architecture . Client/Server Technology . Software Quality . Electronic Presentation Technology . Software and Systems Development, . Programming Languages Integration and Management Professional Summary Mr. Gray has over 30 years of experience in the computer and communications industries. His background includes systems and software architecture, design and development as well as senior management positions in development, marketing, and general management. Employment History From: 1984 Gray & Yorg, LLC To: Present San Diego, CA Position: Principal Mr. Gray is an expert in modern computing platform architecture, design, implementation and integration, including relational database design in networking environments. In providing consulting services, he has successfully completed the following projects: . Performed patent portfolio analysis for large corporations . Developed policies and procedures for a “clean” software development environment. Monitored activities to ensure conformance. CSO for a Business Process Management software start up. The firm develops Web Services/SOA based BPM creation, orchestration, management and optimization solutions. CTO for an e-Commerce Internet start up. The firm developed a product that specializes in procurement for public agencies. Interim CEO for a broadband Competitive Local Exchange Carrier (CLEC). Helped negotiate the successful sale of the CLEC. CTO for an Internet-based secure content distribution startup. The firm developed comprehensive Digital Rights Management (DRM) solutions for the control and promotion of content on the Internet. Confidential Resume of Stephen Gray Page 1 Printed: 10/06/09 Silicon Valley Expert Witness Group, Inc.
    [Show full text]