Dr Terry Halpin is a data modelling consultant and a former Professor in Computer Science. His industrial experience includes many years in data modelling technology at several companies, including Microsoft Corporation and LogicBlox. His doctoral thesis formalized Object-Role Modeling (ORM/NIAM), and his current research focuses on conceptual modelling and rule-based technology. He has authored over 200 technical publications and seven books, including Information Modeling and Relational Databases 2nd edition (Morgan Kaufmann) and Object Role Modeling Fundamentals (Technics Publications). His personal website is www.orm.net.
The rich graphical notations provided by fact-oriented modeling approaches such as Object-Role Mo... more The rich graphical notations provided by fact-oriented modeling approaches such as Object-Role Modeling (ORM) for capturing business constraints assist modelers to visualize fine details of their data models. However, the data models themselves are best validated with domain experts by verbalizing the models in a controlled natural language, and by populating the relevant fact types with concrete examples. While a number of fact-based modeling tools provide extensive verbalization support in English, comparatively little work exists to provide fact-based model verbalization support for other languages, especially Asian languages. This paper describes our initial work on verbalizing ORM models in Bahasa Malaysia (Malay) and Mandarin. We discuss aspects of these languages that are not found in English, which require special treatment in order to render natural verbalization (e.g. noun classifiers, and the order in which sentence elements are placed), and describe our current implementation efforts, which involved creating both a prototype and an extension to the NORMA (Natural ORM Architect) tool.
LogiQL is a new state-of-the-art programming language based on Datalog. It can be used to build a... more LogiQL is a new state-of-the-art programming language based on Datalog. It can be used to build applications that combine transactional, analytical, graph, probabilistic, and mathematical programming. LogiQL makes it possible to build hybrid applications that previously required multiple programming languages and databases. In this first book to cover LogiQL, the authors explain how to design, implement, and query deductive databases using this new programming language. LogiQLs declarative approach enables complex data structures and business rules to be simply specified and then automatically executed. It is especially suited to business applications requiring complex rules to be implemented efficiently, for example predictive analytics and supply chain optimization. Suitable for both novices and experienced developers, the book is written in easy-to-understand language. It includes many examples and exercises throughout to illustrate the main concepts and consolidate understanding.
This chapter focuses on the process of coping and cloning various parts of a logical model. Each ... more This chapter focuses on the process of coping and cloning various parts of a logical model. Each logical model element, such as a table scheme or a foreign key relationship, occurs only once in the underlying model. It can display many copies of the same model element on the diagram, on the same page or on different pages. One reason to display multiple copies of a model element on the same page is to provide a cleaner layout of foreign key relationships. An easy way to copy a diagram instance of a table on the same page is to Control-drag it to another place on the diagram. Although the diagram displays two different copies of the table, both copies denote the same underlying table in the model. If a change applies to one (e.g. change its name) copy, the change is immediately reflected in the other copy. An alternative way to redisplay a table is to drag it onto the page from the Table and Views window. If this window is not open, it can be opened choosing Database > View >Tables and Views from the main menu. This is the only way to display a table shape on a page where no instance of it is yet displayed.
Information Modeling and Relational Databases, 2001
This chapter deals with the sixth step of the conceptual schema design procedure, which covers th... more This chapter deals with the sixth step of the conceptual schema design procedure, which covers three kinds of constraints: value, set-comparison, and subtype. Set-comparison constraints are of three kinds: subset, equality, and exclusion. These declare whether the population of one role sequence must be included in, be equal to, or be mutually exclusive with the population of another. Subtyping allows declaring how types are related and refines the ability to declare precisely what kinds of objects play what roles. Subtype connections among a family of compatible object types are displayed in a directed, acyclic subtype graph. In object-role modeling, subtypes are introduced to declare that one or more roles are played only by that subtype. The process of introducing subtypes is called specialization. Subtypes inherit all the roles of their supertypes, as well as having at least one specific role. Input forms often provide a set of conditional instructions that indicate the conditions under which particular entries on the form are needed. Such instructions can also be used to deduce the subtyping constraints.
Page 1. Lecture Notes in Computer Science 4278 Commenced Publication in 1973 Founding and Former ... more Page 1. Lecture Notes in Computer Science 4278 Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen Editorial Board David Hutchison Lancaster University ...
The rich graphical notations provided by fact-oriented modeling approaches such as Object-Role Mo... more The rich graphical notations provided by fact-oriented modeling approaches such as Object-Role Modeling (ORM) for capturing business constraints assist modelers to visualize fine details of their data models. However, the data models themselves are best validated with domain experts by verbalizing the models in a controlled natural language, and by populating the relevant fact types with concrete examples. While a number of fact-based modeling tools provide extensive verbalization support in English, comparatively little work exists to provide fact-based model verbalization support for other languages, especially Asian languages. This paper describes our initial work on verbalizing ORM models in Bahasa Malaysia (Malay) and Mandarin. We discuss aspects of these languages that are not found in English, which require special treatment in order to render natural verbalization (e.g. noun classifiers, and the order in which sentence elements are placed), and describe our current implementation efforts, which involved creating both a prototype and an extension to the NORMA (Natural ORM Architect) tool.
LogiQL is a new state-of-the-art programming language based on Datalog. It can be used to build a... more LogiQL is a new state-of-the-art programming language based on Datalog. It can be used to build applications that combine transactional, analytical, graph, probabilistic, and mathematical programming. LogiQL makes it possible to build hybrid applications that previously required multiple programming languages and databases. In this first book to cover LogiQL, the authors explain how to design, implement, and query deductive databases using this new programming language. LogiQLs declarative approach enables complex data structures and business rules to be simply specified and then automatically executed. It is especially suited to business applications requiring complex rules to be implemented efficiently, for example predictive analytics and supply chain optimization. Suitable for both novices and experienced developers, the book is written in easy-to-understand language. It includes many examples and exercises throughout to illustrate the main concepts and consolidate understanding.
This chapter focuses on the process of coping and cloning various parts of a logical model. Each ... more This chapter focuses on the process of coping and cloning various parts of a logical model. Each logical model element, such as a table scheme or a foreign key relationship, occurs only once in the underlying model. It can display many copies of the same model element on the diagram, on the same page or on different pages. One reason to display multiple copies of a model element on the same page is to provide a cleaner layout of foreign key relationships. An easy way to copy a diagram instance of a table on the same page is to Control-drag it to another place on the diagram. Although the diagram displays two different copies of the table, both copies denote the same underlying table in the model. If a change applies to one (e.g. change its name) copy, the change is immediately reflected in the other copy. An alternative way to redisplay a table is to drag it onto the page from the Table and Views window. If this window is not open, it can be opened choosing Database > View >Tables and Views from the main menu. This is the only way to display a table shape on a page where no instance of it is yet displayed.
Information Modeling and Relational Databases, 2001
This chapter deals with the sixth step of the conceptual schema design procedure, which covers th... more This chapter deals with the sixth step of the conceptual schema design procedure, which covers three kinds of constraints: value, set-comparison, and subtype. Set-comparison constraints are of three kinds: subset, equality, and exclusion. These declare whether the population of one role sequence must be included in, be equal to, or be mutually exclusive with the population of another. Subtyping allows declaring how types are related and refines the ability to declare precisely what kinds of objects play what roles. Subtype connections among a family of compatible object types are displayed in a directed, acyclic subtype graph. In object-role modeling, subtypes are introduced to declare that one or more roles are played only by that subtype. The process of introducing subtypes is called specialization. Subtypes inherit all the roles of their supertypes, as well as having at least one specific role. Input forms often provide a set of conditional instructions that indicate the conditions under which particular entries on the form are needed. Such instructions can also be used to deduce the subtyping constraints.
Page 1. Lecture Notes in Computer Science 4278 Commenced Publication in 1973 Founding and Former ... more Page 1. Lecture Notes in Computer Science 4278 Commenced Publication in 1973 Founding and Former Series Editors: Gerhard Goos, Juris Hartmanis, and Jan van Leeuwen Editorial Board David Hutchison Lancaster University ...
Uploads