Asserted Versioning

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 48 Experts worldwide ranked by ideXlab platform

Randall Weis - One of the best experts on this subject based on the ideXlab platform.

  • Managing Time in Relational Databases: How to Design, Update and Query Temporal Data
    2010
    Co-Authors: Tom Johnston, Randall Weis
    Abstract:

    This book presents a comprehensive view of how to manage a temporal database. Temporal data management refers to an integrated method of managing data about the past, present, and future of the objects and events of interest to the user. That is, managing non-current data in relational databases in such a way that past data can be seamlessly accessed together with current data with result sets containing both current and non-current data that can be retrieved with queries simple enough for a business user to write and with result set response times very close to those for result sets containing current data only. For example, let's say that from July through August of last year we had on our database a row stating that the unit cost of a product was $25.50 during the first quarter of that year. But in September, we realized that we had made a mistake and that the unit cost was actually $23.50. End users need the ability to issue a query which can tell them both what the unit cost really was in the first quarter of last year and also a query which can tell them what they said the first-quarter unit cost was last July. The practical and comprehensive nature of this material is demonstrated in each chapter by a mixture of diagrams and text typical for a book about data architecture and data models. The chapters dealing specifically with managing temporal and bi-temporal data will rely heavily on an example-driven approach, each example presenting specific real-world scenarios. Each scenario is structured around (a) a before-image of a sample table or tables; (b) a bi-temporal timeline graphic; (c) a specific bi-temporal transaction; and (d) one or more snapshots of the sample table or tables, showing the results of applying each transaction. (Bi-temporal relational data is temporarily delimited into two dimensions, i.e., valid time and transaction time.) For example, a hedge fund company needs to bi-temporally manage a lot of their econometric data because GDP, CPI and the many other data sources they use have scheduled releases, then followed up by one or more revisions later on. Such data describes (a) what the economy was like during a specific time period (valid time) and (b) a series of corrections to prior releases of that data (transaction time). Value proposition: This book presents a simplified approach to managing temporal and bi-temporal data that reduces the complexity of data queries and transactions making inserts, updates and deletes simple enough that anyone who could write them against non-temporal tables could also write them against temporal tables. This is accomplished by developing declarative specifications that replace time-intensive design work for data modelers who must incorporate temporal semantics into their work. In this way, query complexity is minimized. It allows the database designer to situate this special kind of temporal data management in the context of an enterprise data architecture, together with other ways of managing non-current data. KEY FEATURES 1. Integrates an enterprise-wide viewpoint with a strong conceptual model of temporal data management allowing for realistic implementation of database application development. 2. Provides a true practical guide to the different possible methods of time-oriented databases with techniques of using existing funtionality to solve real world problems within an enterprise data architecture environment. 3. Written by IT professionals for IT professionals, this book employs a heavily example-driven approach which reinforces learning by showing the results of puting the techniques discussed into practice.Table of Contents Part 1. Introduction. Chapter 1. Historical Contextualization Chapter 2. A Taxonomy of Methods of Managing Time in Databases. Chapter 3. Temporal Data Management in Enterprise Data Architecture. Chapter 4. The Objectives and Origins of Asserted Versioning. Chapter 5. Basic Concepts of Asserted Versioning. Part 2. Current Practice in Temporal Data Management. Chapter 6. Baseline: Updates in Place. Chapter 7. Standard Practice: Adding a Date to a Primary Key. Chapter 8. Best Practice: Using Effective Date Pairs. Part 3. Asserted Versions: a New Approach to Bi-Temporal Data Management. Chapter 9. Objects, Episodes, Versions and Assertions. Chapter 10.The Mechanics of Maintaining Versioned Objects. Chapter 11. The Semantics of Maintaining Versioned Objects. Chapter 12. Querying Versioned Objects. Part 4. Introducing Versioned Objects into the Enterprise. Chapter 13. A Business-Driven Approach to Bi-Temporality Chapter 14. Surrogate Keys. Chapter 15. Versioned Objects, Warehouse Snapshots and Versioned Dimensions Chapter 16. Maximizing Performance for Bi-Temporal Tables. Part 5. Related Matters. Chapter 17. Temporal Dimensions and Codd's Information Principle. Chapter 18. Deferred Transactions and Future States. Chapter 19. Sandboxes and Release Management. Chapter 20. The Problem of Identifying Recurring Objects. Chapter 21. Other Kinds of Asserted Versions. Part 6. The Asserted Versioning Prototype. Chapter 22. Specifying Asserted Version Tables. Chapter 23. Generating Asserted Version Tables From ERwin Macros. Chapter 24. Using the Prototype.

  • The Origins of Asserted Versioning: IT Best Practices
    Managing Time in Relational Databases, 2010
    Co-Authors: Tom Johnston, Randall Weis
    Abstract:

    This chapter discusses the origins of Asserted Versioning in IT best practices, specifically those related to Versioning. Versioning is the IT community's way of providing queryable access to historical, current, and future data. It is believed that these practices are variations on four basic methods of Versioning data. Those four types are: (i) Basic Versioning; (ii) Logical delete Versioning; (iii) Temporal gap Versioning; and (iv) Effective time Versioning. The simplest Versioning method, called basic Versioning, is to add a date to the primary key of the table to be versioned, thus transforming it from a nontemporal into a unitemporal table, i.e. into a table with one temporal dimension. In the logical delete Versioning, a logical delete flag is included in the version table. It has two values, one marking the row as not being a delete, and the other marking the row as being a delete. Effective time Versioning is the most advanced best practice for managing versioned data in the IT world. Effective time Versioning actually supports a limited kind of bitemporality. The chapter discusses each of these methods by means of examples, which include sample tables and a running commentary on how inserts, updates, and deletes affect the data in those tables.

  • Designing and Generating Asserted Versioning Databases
    Managing Time in Relational Databases, 2010
    Co-Authors: Tom Johnston, Randall Weis
    Abstract:

    This chapter discusses how Asserted Versioning databases can be designed and generated. An Asserted Versioning database is one that contains at least one Asserted version table. Asserted Versioning databases are generated from the combination of a conventional logical data model and a set of metadata entries. Asserted Versioning simplifies the management of temporal databases by providing maintenance encapsulation, query encapsulation, and design encapsulation. The chapter discusses how temporal design requirements are expressed in metadata associated with a conventional logical data model, how this metadata is used to convert nontemporal table schemas into bitemporal table schemas, and also how it is used to generate the code, such as stored procedures, that enforce both temporal entity integrity and temporal referential integrity on those tables. If ERwin is used as the data modeling tool, then a set of Erwin macros that have been written will do the conversion automatically. Otherwise, the conversion will be a manual process.

  • The Core Concepts of Asserted Versioning
    Managing Time in Relational Databases, 2010
    Co-Authors: Tom Johnston, Randall Weis
    Abstract:

    Publisher Summary This chapter presents the conceptual foundations of Asserted Versioning. It defines the core concepts of objects, episodes, versions, and assertions. Every row in an Asserted version table is the assertion of a version of an episode of an object. With temporal tables an object may be represented by any number of rows; for these tables, then, the entity integrity constraint must be modified. That modification results in temporal entity integrity. For temporal tables, the corresponding constraint is temporal entity integrity (TEI). In enforcing the rule that no two versions of the same object may conflict, TEI is analogous to conventional entity integrity. The only physical tables managed by Asserted Versioning are bitemporal tables. But on the basis of those bitemporal tables, Asserted Versioning also manages two unitemporal views, and one nontemporal view. Asserted Versioning defines one bitemporal schema, and manages only that one kind of physical table. Those tables support unitemporal versions and unitemporal assertions, but it supports them as views. By means of views, those tables also support conventional, nontemporal tables.

  • The Origins of Asserted Versioning: Computer Science Research
    Managing Time in Relational Databases, 2010
    Co-Authors: Tom Johnston, Randall Weis
    Abstract:

    This chapter discusses computer science contributions to temporal data management, and the relevance of some of these concepts to Asserted Versioning. It begins with an overview of the three sources of Asserted Versioning: computer science work on temporal data; best practices in the IT profession related to Versioning; and original work by the authors themselves. Over the last three decades, the computer science community has done extensive work on temporal data, and especially on bitemporal data. During that same period of time, the IT community has developed various forms of Versioning, all of which are methods of managing one of the two kinds of unitemporal data. Asserted Versioning may be thought of as a method of managing both uni and bitemporal data which, unlike the standard model of temporal data management, recognizes that rows in bitemporal tables represent versions of things and that, consequently, these rows do not stand alone as semantic objects. Asserted Versioning may also be thought of as a form of Versioning, a technique for managing historical data that has evolved in the IT industry over the last quarter-century. But unlike existing best practice variations on that theme, Asserted Versioning supports the full semantics of versions. In addition, Asserted Versioning also integrates the management of versions with the management of assertions and with the management of bitemporal data. Besides embracing contributions from computer science research and from business IT best practices, Asserted Versioning introduces three new concepts to the field of temporal data management: episode , the internalization of pipeline datasets , and encapsulation .

Tom Johnston - One of the best experts on this subject based on the ideXlab platform.

  • Managing Time in Relational Databases: How to Design, Update and Query Temporal Data
    2010
    Co-Authors: Tom Johnston, Randall Weis
    Abstract:

    This book presents a comprehensive view of how to manage a temporal database. Temporal data management refers to an integrated method of managing data about the past, present, and future of the objects and events of interest to the user. That is, managing non-current data in relational databases in such a way that past data can be seamlessly accessed together with current data with result sets containing both current and non-current data that can be retrieved with queries simple enough for a business user to write and with result set response times very close to those for result sets containing current data only. For example, let's say that from July through August of last year we had on our database a row stating that the unit cost of a product was $25.50 during the first quarter of that year. But in September, we realized that we had made a mistake and that the unit cost was actually $23.50. End users need the ability to issue a query which can tell them both what the unit cost really was in the first quarter of last year and also a query which can tell them what they said the first-quarter unit cost was last July. The practical and comprehensive nature of this material is demonstrated in each chapter by a mixture of diagrams and text typical for a book about data architecture and data models. The chapters dealing specifically with managing temporal and bi-temporal data will rely heavily on an example-driven approach, each example presenting specific real-world scenarios. Each scenario is structured around (a) a before-image of a sample table or tables; (b) a bi-temporal timeline graphic; (c) a specific bi-temporal transaction; and (d) one or more snapshots of the sample table or tables, showing the results of applying each transaction. (Bi-temporal relational data is temporarily delimited into two dimensions, i.e., valid time and transaction time.) For example, a hedge fund company needs to bi-temporally manage a lot of their econometric data because GDP, CPI and the many other data sources they use have scheduled releases, then followed up by one or more revisions later on. Such data describes (a) what the economy was like during a specific time period (valid time) and (b) a series of corrections to prior releases of that data (transaction time). Value proposition: This book presents a simplified approach to managing temporal and bi-temporal data that reduces the complexity of data queries and transactions making inserts, updates and deletes simple enough that anyone who could write them against non-temporal tables could also write them against temporal tables. This is accomplished by developing declarative specifications that replace time-intensive design work for data modelers who must incorporate temporal semantics into their work. In this way, query complexity is minimized. It allows the database designer to situate this special kind of temporal data management in the context of an enterprise data architecture, together with other ways of managing non-current data. KEY FEATURES 1. Integrates an enterprise-wide viewpoint with a strong conceptual model of temporal data management allowing for realistic implementation of database application development. 2. Provides a true practical guide to the different possible methods of time-oriented databases with techniques of using existing funtionality to solve real world problems within an enterprise data architecture environment. 3. Written by IT professionals for IT professionals, this book employs a heavily example-driven approach which reinforces learning by showing the results of puting the techniques discussed into practice.Table of Contents Part 1. Introduction. Chapter 1. Historical Contextualization Chapter 2. A Taxonomy of Methods of Managing Time in Databases. Chapter 3. Temporal Data Management in Enterprise Data Architecture. Chapter 4. The Objectives and Origins of Asserted Versioning. Chapter 5. Basic Concepts of Asserted Versioning. Part 2. Current Practice in Temporal Data Management. Chapter 6. Baseline: Updates in Place. Chapter 7. Standard Practice: Adding a Date to a Primary Key. Chapter 8. Best Practice: Using Effective Date Pairs. Part 3. Asserted Versions: a New Approach to Bi-Temporal Data Management. Chapter 9. Objects, Episodes, Versions and Assertions. Chapter 10.The Mechanics of Maintaining Versioned Objects. Chapter 11. The Semantics of Maintaining Versioned Objects. Chapter 12. Querying Versioned Objects. Part 4. Introducing Versioned Objects into the Enterprise. Chapter 13. A Business-Driven Approach to Bi-Temporality Chapter 14. Surrogate Keys. Chapter 15. Versioned Objects, Warehouse Snapshots and Versioned Dimensions Chapter 16. Maximizing Performance for Bi-Temporal Tables. Part 5. Related Matters. Chapter 17. Temporal Dimensions and Codd's Information Principle. Chapter 18. Deferred Transactions and Future States. Chapter 19. Sandboxes and Release Management. Chapter 20. The Problem of Identifying Recurring Objects. Chapter 21. Other Kinds of Asserted Versions. Part 6. The Asserted Versioning Prototype. Chapter 22. Specifying Asserted Version Tables. Chapter 23. Generating Asserted Version Tables From ERwin Macros. Chapter 24. Using the Prototype.

  • The Origins of Asserted Versioning: IT Best Practices
    Managing Time in Relational Databases, 2010
    Co-Authors: Tom Johnston, Randall Weis
    Abstract:

    This chapter discusses the origins of Asserted Versioning in IT best practices, specifically those related to Versioning. Versioning is the IT community's way of providing queryable access to historical, current, and future data. It is believed that these practices are variations on four basic methods of Versioning data. Those four types are: (i) Basic Versioning; (ii) Logical delete Versioning; (iii) Temporal gap Versioning; and (iv) Effective time Versioning. The simplest Versioning method, called basic Versioning, is to add a date to the primary key of the table to be versioned, thus transforming it from a nontemporal into a unitemporal table, i.e. into a table with one temporal dimension. In the logical delete Versioning, a logical delete flag is included in the version table. It has two values, one marking the row as not being a delete, and the other marking the row as being a delete. Effective time Versioning is the most advanced best practice for managing versioned data in the IT world. Effective time Versioning actually supports a limited kind of bitemporality. The chapter discusses each of these methods by means of examples, which include sample tables and a running commentary on how inserts, updates, and deletes affect the data in those tables.

  • Designing and Generating Asserted Versioning Databases
    Managing Time in Relational Databases, 2010
    Co-Authors: Tom Johnston, Randall Weis
    Abstract:

    This chapter discusses how Asserted Versioning databases can be designed and generated. An Asserted Versioning database is one that contains at least one Asserted version table. Asserted Versioning databases are generated from the combination of a conventional logical data model and a set of metadata entries. Asserted Versioning simplifies the management of temporal databases by providing maintenance encapsulation, query encapsulation, and design encapsulation. The chapter discusses how temporal design requirements are expressed in metadata associated with a conventional logical data model, how this metadata is used to convert nontemporal table schemas into bitemporal table schemas, and also how it is used to generate the code, such as stored procedures, that enforce both temporal entity integrity and temporal referential integrity on those tables. If ERwin is used as the data modeling tool, then a set of Erwin macros that have been written will do the conversion automatically. Otherwise, the conversion will be a manual process.

  • The Core Concepts of Asserted Versioning
    Managing Time in Relational Databases, 2010
    Co-Authors: Tom Johnston, Randall Weis
    Abstract:

    Publisher Summary This chapter presents the conceptual foundations of Asserted Versioning. It defines the core concepts of objects, episodes, versions, and assertions. Every row in an Asserted version table is the assertion of a version of an episode of an object. With temporal tables an object may be represented by any number of rows; for these tables, then, the entity integrity constraint must be modified. That modification results in temporal entity integrity. For temporal tables, the corresponding constraint is temporal entity integrity (TEI). In enforcing the rule that no two versions of the same object may conflict, TEI is analogous to conventional entity integrity. The only physical tables managed by Asserted Versioning are bitemporal tables. But on the basis of those bitemporal tables, Asserted Versioning also manages two unitemporal views, and one nontemporal view. Asserted Versioning defines one bitemporal schema, and manages only that one kind of physical table. Those tables support unitemporal versions and unitemporal assertions, but it supports them as views. By means of views, those tables also support conventional, nontemporal tables.

  • The Origins of Asserted Versioning: Computer Science Research
    Managing Time in Relational Databases, 2010
    Co-Authors: Tom Johnston, Randall Weis
    Abstract:

    This chapter discusses computer science contributions to temporal data management, and the relevance of some of these concepts to Asserted Versioning. It begins with an overview of the three sources of Asserted Versioning: computer science work on temporal data; best practices in the IT profession related to Versioning; and original work by the authors themselves. Over the last three decades, the computer science community has done extensive work on temporal data, and especially on bitemporal data. During that same period of time, the IT community has developed various forms of Versioning, all of which are methods of managing one of the two kinds of unitemporal data. Asserted Versioning may be thought of as a method of managing both uni and bitemporal data which, unlike the standard model of temporal data management, recognizes that rows in bitemporal tables represent versions of things and that, consequently, these rows do not stand alone as semantic objects. Asserted Versioning may also be thought of as a form of Versioning, a technique for managing historical data that has evolved in the IT industry over the last quarter-century. But unlike existing best practice variations on that theme, Asserted Versioning supports the full semantics of versions. In addition, Asserted Versioning also integrates the management of versions with the management of assertions and with the management of bitemporal data. Besides embracing contributions from computer science research and from business IT best practices, Asserted Versioning introduces three new concepts to the field of temporal data management: episode , the internalization of pipeline datasets , and encapsulation .