LIBD:Themes

Affichages
De LIBD.
(Différences entre les versions)
m
m
 
(41 révisions intermédiaires par un utilisateur sont masquées)
Ligne 1 : Ligne 1 :
<center><big><b>Page to be developed</b></big></center>
+
<center><big><b>Pages in development / Pages en cours de développement</b></big></center>
  
  
<center><big><big><big><b>Thèmes et ressources/ Themes and resources</b></big></big></big></center>
+
<center><big><big><big><b>Themes and resources/ Thèmes et ressources</b></big></big></big></center>
  
  
::Cette section regroupe et intègre les différentes ressources du LIBD autour de thématiques spécifiques.  
+
::This section collects and integrates the resources of the Computer science faculty and, more specifically of the DB research group, into themes related to Database Engineering (and some others).
  
::This section collects and integrates the resources of the LIBD into specific themes.
+
::Cette section regroupe et intègre les différentes ressources de la faculté d'informatique et du LIBD en particulier, autour de thématiques liées à l'Ingénierie des bases de données (et quelques autres).  
  
  
[[Accueil|<''Retour à la page d'accueil / Back''>]]
+
[[Accueil|<''Back to Welcome page / Retour à la page d'accueil>]]
 +
 
 +
 
 +
==Foreword==
 +
 
 +
This section of the site will present the contribution of the Computer science faculty of the University of Namur to the Database discipline since 1971. In short, an overview of the first 40 years of research in DB engineering! I will leave the development of the next 40 years to my young colleagues.
 +
 
 +
This work is not a simple task, and I don't expect its completion before at least one or two years
 +
 
 +
Jean-Luc Hainaut, June 2011
  
  
 
==Introduction==
 
==Introduction==
  
 +
TBA
  
==Modeling and Meta-modeling==
+
 
*'''Description'''
+
==Modeling and Metamodeling==
 +
*'''Introduction'''
 +
:Database engineeering addresses domains such as database exploitation, database design, database reverse engineering or database evolution. A database is described through a hierarchy of ''schemas'', each of them expressed in a '''data''' (or information) '''model'''. A large part of database engineering resort to schema manipulation, where data structures are built, analyzed, evaluated, transformed and used to produced various artefacts such as other schemas, DML and DDL code. The quality and the effectiveness of these schema manipulation processes depend on the availability of appropriate data models. Hence the importance of model development activities ('''Database Models''').
 +
:A data model states a definite way to view data but, to be complete, it must be accompanied by '''languages''' that tell how to interact with the contents of database, that is, how to manipulate these data.  Sometimes, such language takes the form of an '''API''' (application program interface) that also defines the technical detail of these interactions ('''Database languages''').
 +
:The design and evaluation of models require a means to describe them in a general way and to reason about them (for example, ''how the Entity-relationship model compares with UML class diagrams?'') This is the concern of '''metamodeling''', that proposes models to reason about models, and that are, for that, metamodels ('''Metamodeling''').
 +
:This chapter describes the contribution of the LIBD to the development of database models, database languages and API’s and metamodels.
  
 
===Database Models===
 
===Database Models===
*'''Description''':  
+
*'''Status''': ''Complete''
 +
*'''Description'''
 +
:The development and the exploitation of data models are at the baseline of the database engineeering domain. They allow database structures to be described at the appropriate level of abstraction, so that one can rigourously evaluate and transform schemas and reason about them. They are at the core of design methodologies and CASE tools. The <b>conceptual models</b>, such as the Entity-relationship model and some interpretation of UML class diagrams are aimed at describing data/information structures at the conceptual, technology-independent level, while the many <b>logical models</b> currently available are intended to represent data structures as they are implemented by data managers (or by families thereof).
 +
 
 +
:Several data models have been designed and implemented: the SPHINX data models, the Individual model (Merise), the GAM (Generalized Access Model), the GER (Generic Entity-relationship) model, the DB-MAIN model and the temporal ER model.
 +
 
 
*'''Keywords'''  
 
*'''Keywords'''  
:ER model, Invidual model, wide-spectrum model, GER model, logical data model, temporal model, network model, hierarchical model, OO model, large schema layout, semantic and statistical aspects of models, IS-A relations
+
:ER model, Individual model, Merise model, UML class diagrams, wide-spectrum model, GER model, DB-MAIN model, logical data model, temporal model, legacy data model, relational model, network model, hierarchical model, OO model, OR model, XML model, decision support, large schema layout, semantic and statistical aspects of models, IS-A relation, wrappers
*'''Resources'''
+
 
:[P09-03] Jean-Luc Hainaut. Network Data Model, in Encyclopedia of Database Systems, Liu, L. and Özsu, T. (Eds), Springer-Verlag, 2009. [ [description]] [full text]
+
:''[[LIBD:Themes:Database-Models|<Go to the <b>Database Models</b> page for more detail>]]''
:[P09-02] Jean-Luc Hainaut. Hierarchical Data Model, in Encyclopedia of Database Systems, Liu, L. and Özsu, T. (Eds), Springer-Verlag, 2009. [ [description]] [full text]
+
 
:[P08-05] Anthony Cleve, Jean Henrard, Didier Roland and Jean-Luc Hainaut. Wrapper-based System Evolution - Application to CODASYL to Relational Migration, in Proceedings of the 12th European Conference on Software Maintenance and Reengineering (CSMR’08), pages 13-22, IEEE Computer Society, 2008. [description]
+
:[P05-06] Yannis Tzitzikas and Jean-Luc Hainaut. How to Tame a Very Large ER Diagram (Using Link Analysis and Force-Directed Drawing Algorithms), in Proceedings of the 24th International Conference on Conceptual Modeling, (ER’05), Lecture Notes in Computer Science, Volume 3716, pages 144-159, Springer-Verlag, 2005. [description] [full text]
+
:[P01-02] Virginie Detienne and Jean-Luc Hainaut. CASE Tool Support for Temporal Database Design, in Proceedings of the 20th International Conference on Conceptual modeling, (ER’01), Lecture Notes in Computer Science, Volume 2224, pages 208-224, Springer-Verlag, 2001. [description] [full text]
+
:[P97-03] Jean-Luc Hainaut, Jean Henrard, Jean-Marc Hick, Didier Roland and Vincent Englebert. Contribution to the Reverse Engineering of OO Applications - Methodology and Case Study, in Proceedings of the IFIP TC2/WG2.6 Seventh Conference on Database Semantics, (DS-7), IFIP Conference Proceedings, Volume 124, pages 131-161, Chapman and Hall, 1997. [description] [full text]
+
:[P96-08] Jean-Luc Hainaut. Specification preservation in schema transformations - Application to semantics and statistics, Data and Knowledge Engineering, 16(1): Elsevier Science Publish., 1996. [description] [full text]
+
:[P96-05] Jean-Luc Hainaut, Jean-Marc Hick, Vincent Englebert, Jean Henrard and Didier Roland. Understanding implementations of IS-A Relations, in Proceedings of 15th International Conference on Conceptual Modeling, (ER’96), Lecture Notes in Computer Science, Volume 1157, pages 42-57, Springer-Verlag, 1996. [description] [full text]
+
:[P92-03] Jean-Luc Hainaut. A Temporal Statistical Model for Entity-Relationship Schemas, in Proceedings of the 11th International Conference on the Entity-Relationship Approach (ER’92), Lecture Notes in Computer Science, Volume 645, pages 79-96, Springer-Verlag, 1992. [description] [full text]
+
:[P90-01] Jean-Luc Hainaut. Entity-Relationship models : formal specification and comparison, in Proceedings of the 9th International Conference on the Entity-Relationship Approach (ER’90), pages 53-64, ER Institute, 1990. [description] [full text]
+
:[P89-01] Jean-Luc Hainaut. A Generic Entity-Relationship Model, in Proceedings of the IFIP WG 8.1 Conference on Information System Concepts: an in-depth analysis, pages 109-138, North-Holland, 1989. [description] [full text]
+
:[P78-01] Baudouin Charlier. Quelques réflexions concernant les modèles et langages de bases de données, in Actes des communications de l'Ecole d'été 1978 de l'AFCET, pages 176-185, Publication FUNDP, 1978. [full text]
+
:[P74-04] Claude Deheneffe, Jean-Luc Hainaut and Hubert Tardieu. The Individual Model, in Proceedings of the International Workshop on Data Structure Models for Information Systems, pages 89-118, Presses Universitaires de Namur, 1974. [description] [full text]
+
:[P74-02] Claude Deheneffe, Henri Hennebert and Walter Paulus. A Relational Model for a Data Base, in Proceedings of the IFIP congress 74, pages 1022-1025, North-Holland, 1974. [description] [full text]
+
:[P74-01] Jean-Luc Hainaut and Baudouin Charlier. An Extensible Semantic Model of Data Base and Its Data language, in Proceedings of the IFIP Congress 74, pages 1026-1030, North-Holland, 1974. [description] [full text]
+
 
===Database Languages and API===
 
===Database Languages and API===
*'''Description''':  
+
*'''Status''': ''Partial''
 +
*'''Description'''
 +
:Interacting with databases requires languages and protocols, be they for database building, exploitation or administration. The level of language depends on its goal and on the skill of its target user. We present and discuss some of the languages and API’s we have developed as well as some contributions to language processing.
 
*'''Keywords'''
 
*'''Keywords'''
:new database languages, dynamic SQL, temporal API, wrappers
+
:database languages, CASE programming, Voyager 2, DB-MAIN, SQL script, dynamic SQL, temporal API, wrapper, wrapper generator
*'''Resources'''
+
::[P10-05] Anthony Cleve, Anne-France Brogneaux, Jean-Luc Hainaut. A Conceptual Approach to Database Applications Evolution, in Proceedings of the 29th International Conference on Conceptual Modeling (ER'2010), Lecture Notes in Computer Science No 6412, pages 132 - 145, Springer-Verlag, 2010. -- to appear. [description]
+
:[P08-05] Anthony Cleve, Jean Henrard, Didier Roland and Jean-Luc Hainaut. Wrapper-based System Evolution - Application to CODASYL to Relational Migration, in Proceedings of the 12th European Conference on Software Maintenance and Reengineering (CSMR’08), pages 13-22, IEEE Computer Society, 2008. [description]
+
:[P08-02] Anthony Cleve, Jean-Luc Hainaut. Dynamic Analysis of SQL Statements for Data-Intensive Applications Reverse Engineering, Proceedings of the 15th Working Conference on Reverse Engineering, (WCRE'08), IEEE Computer Society, 2008.
+
:[P06-08] Philippe Thiran, Jean-Luc Hainaut, Geert-Jan Houben and Djamal Benslimane. Wrapper-based evolution of legacy information systems, ACM Trans. Softw. Eng. Methodol., 15(4): pages 329-359, ACM Press, 2006. [description]
+
:[P06-06] Anthony Cleve and Jean-Luc Hainaut. Co-transformations in Database Applications Evolution, in Generative and Transformational Techniques in Software Engineering, Lecture Notes in Computer Science, Volume 4143, pages 409-421, Springer-Verlag, 2006. [description]
+
:[P06-04] Anthony Cleve. Automating Program Conversion in Database Reengineering - A Wrapper-based Approach, in Proceedings of the 10th European Conference on Software Maintenance and Reengineering (CSMR’06), 22-24 March 2006, Bari, Italy, pages 323-326, IEEE Computer Society, 2006. [description]
+
:[P05-03] Philippe Thiran, Hainaut Jean-Luc and Geert-Jan Houben. Database Wrappers Development: Towards Automatic Generation, in Proceedings of the 9th European Conference on Software Maintenance and Reengineering, (CSMR’05), pages 207-216, IEEE Computer Society, 2005. [description] [full text]
+
:[P04-08] Philippe Thiran, Geert-Jan Houben, Hainaut Jean-Luc and Djamal Benslimane. Updating Legacy Databases through Wrappers: Data Consistency Management, in Proceedings of the 11th Working Conference on Reverse Engineering (WCRE’04), IEEE Computer Society, 2004. [description] [full text]
+
:[P04-04] Jean Henrard, Anthony Cleve and Jean-Luc Hainaut. Inverse Wrappers for Legacy Information Systems Migration, in Proceedings of 1st International Workshop on Wrapper Techniques for Legacy Systems, (WCRE’04/WRAP’04), Computer Science Report, Volume 04-34, pages 30-43, Technische Universiteit Eindhoven, 2004. [description] [full text]
+
:[P03-03] Jean-Marc Hick and Jean-Luc Hainaut. Strategy for database application evolution: the DB-MAIN approach, in Proceedings of the 22nd International Conference on Conceptual Modeling, (ER’03), Lecture Notes in Computer Science, Volume 2813, pages 291-306, Springer-Verlag, 2003. [description] [full text]
+
:[P01-05] Philippe Thiran and Jean-Luc Hainaut. Evolving hybrid distributed databases: architecture and methodology, in Proceedings of the 4th Workshop on Engineering Federated Information Systems, (EFIS’01), pages 47-60, IOS Press / Infix, 2001. [description] [full text]
+
:[P01-03] Philippe Thiran and Jean-Luc Hainaut. Wrapper Development for Legacy Data Reuse, in Proceedings of the 8th Working Conference on Reverse Engineering, (WCRE’01), pages 198-207, IEEE Computer Society, 2001. [description] [full text]
+
:[P01-02] Virginie Detienne and Jean-Luc Hainaut. CASE Tool Support for Temporal Database Design, in Proceedings of the 20th International Conference on Conceptual modeling, (ER’01), Lecture Notes in Computer Science, Volume 2224, pages 208-224, Springer-Verlag, 2001. [description] [full text]
+
:[P99-01] Philippe Thiran, Abdelmajid Chougrani, Jean-Marc Hick and Jean-Luc Hainaut. Generation of Conceptual Wrappers for Legacy Databases, in Proceedings of the 10th International Conference on Database and Expert Systems Applications, (DEXA’99), Lecture Notes in Computer Science, Volume 1677, pages 678-687, Springer-Verlag, 1999. [description] [full text]
+
:[P81-01] Yves Delvaux and Jean-Luc Hainaut. Système portable de manipulation de bases de données, in Actes du congrès AFCET 1981, pages 385-395, Editions Hommes et Techniques, 1981. [description] [full text]
+
:[P78-03] Baudouin Charlier and Jean-Luc Hainaut. Modèles, Langages et Systèmes pour la conception et l’exploitation de bases de données, in Actes du congrès AFCET 1978, pages 179-189, Editions Hommes et Techniques, 1978. [description] [full text]
+
:[P78-02] Jean-Luc Hainaut. IDML : Système d'interaction avec des bases de données CODASYL, in Actes des communications de l'Ecole d'été 1978 de l'AFCET, pages 121-144, Publication FUNDP, 1978. [full text]
+
:[P78-01] Baudouin Charlier. Quelques réflexions concernant les modèles et langages de bases de données, in Actes des communications de l'Ecole d'été 1978 de l'AFCET, pages 176-185, Publication FUNDP, 1978. [full text]
+
:[P76-01] Claude Deheneffe and Henri Hennebert. NUL: A Navigational User’s Language for a Network Structured Data Base, in Proceedings of the 1976 ACM SIGMOD International Conference on Management of Data, pages 135-142, ACM, 1976. [description] [full text]
+
  
===Meta-modeling===
+
:''[[LIBD:Themes:Database-Languages-and-API|<Go to the <b>Database Languages and API</b> page for more detail>]]''
 +
 
 +
===Metamodeling===
 +
*'''Status''': ''complete''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
:Meta-''something'' is ''something'' about ''something'' (replace ''something'' by any name pertaining to philosophy, mathematics or computer science). For instance, metadata are data that describe the structure and other properties of data (generally user data). For instance, the ''table of tables'' (generically named SYS_TABLE) in the ''catalog'' of any relational database is a metatable that contains metadata. Being said in passing, it includes a row that describes this table itself.
 +
:The domain of database engineering makes much use of ''meta''-level concepts. For instance any CASE tool includes some sort of database in which it stores its data. This database contains descriptions of schemas, among others. These descriptions are metadata. This database bears several names according to the community that uses it, namely ''metadatabase'', ''metabase'', ''(metadata) repository'', ''model base'' or ''encyclopedia'' (this one a bit outdated).
 +
:The term ''meta-model'' designates a model that is used to describe other models. Since the database community prefers the term ''schema'' instead of ''model'' (the latter having another interpretation, as in ''relational model''), this proposition translate as follows: the term ''meta-schema'' designates a schema that is used to describe other schemas.
 +
*'''Keywords'''
 +
:metamodel, metaCASE, metadata, model base, repository, catalog tables, DB-MAIN, Voyager 2, workflow modeling, clinical pathway modeling
 +
 
 +
:''[[LIBD:Themes:Meta-modeling|<Go to the <b>Metamodeling</b> page for more detail>]]''
  
 
==Database Methodologies==
 
==Database Methodologies==
*'''Description'''
+
*'''Introduction'''
 +
 
 
===Method Modeling===
 
===Method Modeling===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:Method-modeling|<Go to the <b>Method Modeling</b> page for more detail>]]''
 +
 
 
===Database design (General)===
 
===Database design (General)===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:Database-design-(General)|<Go to the <b>Database design (General)</b> page for more detail>]]''
 +
 
 
===Conceptual Analysis===
 
===Conceptual Analysis===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:Conceptual-Analysis|<Go to the <b>Conceptual Analysis</b> page for more detail>]]''
 +
 
 
===Logical Design===
 
===Logical Design===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:Logical-Design|<Go to the <b>Logical Design</b> page for more detail>]]''
 +
 
 
===Physical Design===
 
===Physical Design===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:Physical-Design|<Go to the <b>Physical Design</b> page for more detail>]]''
 +
 
 
===Code Generation===
 
===Code Generation===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:Code-Generation|<Go to the <b>Code Generation</b> page for more detail>]]''
 +
 
 
===Database Schema Quality===
 
===Database Schema Quality===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:Database-Schema-Quality|<Go to the <b>Database Schema Quality</b> page for more detail>]]''
 +
 
 
===Database reverse Engineering===
 
===Database reverse Engineering===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:Database-reverse-Engineering|<Go to the <b>Database reverse Engineering</b> page for more detail>]]''
  
 
==Database Reverse Engineering==
 
==Database Reverse Engineering==
*'''Description'''
+
*'''Introduction'''
 +
 
 
===Methodology and Techniques===
 
===Methodology and Techniques===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:DBRE-Methodology-and-Techniques|<Go to the <b>DBRE - Methodology and Techniques</b> page for more detail>]]''
 +
 
 
===Tools===
 
===Tools===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:DBRE-Tools|<Go to the <b>DBRE - Tools</b> page for more detail>]]''
 +
 
 
===Case Studies===
 
===Case Studies===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:DBRE-Case-Studies|<Go to the <b>DBRE - Case Studies</b> page for more detail>]]''
  
 
==Transformational Engineering==
 
==Transformational Engineering==
*'''Description'''
+
*'''Introduction'''
 +
 
 
===Principles and Methodology===
 
===Principles and Methodology===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:TRANSFO-Principles-and-Methodology|<Go to the <b>TRANSFO - Principles and Methodology</b> page for more detail>]]''
 +
 
 
===Tools===
 
===Tools===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:TRANSFO-Tools|<Go to the <b>TRANSFO - Tools</b> page for more detail>]]''
 +
 
 
===Applications===
 
===Applications===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:TRANSFO-Applications|<Go to the <b>TRANSFO - Applications</b> page for more detail>]]''
  
 
==Database Evolution and Migration==
 
==Database Evolution and Migration==
*'''Description'''
+
*'''Introduction'''
 +
 
 
===Database Evolution and Migration===
 
===Database Evolution and Migration===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:EVOL-Database|<Go to the <b>EVOL - Database Evolution and Migration</b> page for more detail>]]''
 +
 
 
===Program Evolution and Migration===
 
===Program Evolution and Migration===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:EVOL-Program|<Go to the <b>EVOL - Program Evolution and Migration</b> page for more detail>]]''
  
 
==Data Interoperability==
 
==Data Interoperability==
*'''Description'''
+
*'''Introduction'''
 +
 
 
===Heterogeneous Data Integration===
 
===Heterogeneous Data Integration===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:INTEGR-Heterogeneous-Data-Integration|<Go to the <b>INTEGR - Heterogeneous Data Integration</b> page for more detail>]]''
 +
 
 
===Web Data Integration===
 
===Web Data Integration===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:INTEGR-Web-Data-Integration|<Go to the <b>INTEGR - Web Data Integration</b> page for more detail>]]''
  
 
==Special Databases==
 
==Special Databases==
*'''Description'''
+
*'''Introduction'''
 +
:Some aspects of information systems require a special treatment, that translates in specific data models and specific design processes.
 
===Active Databases===
 
===Active Databases===
 +
*'''Status''': ''complete''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
:An active (or reactive) database is able to react to some external stimuli, such as data modification actions. Practically, the reaction mechanism relies on triggers, predicates and SQL procedures. A specific reaction can be defined through different patterns. The first one is the predicate (SQL check), which states a static property that the data must always meet. Any action that will violate this property is rejected. The second one specifies a procedure that must be executed before or after definite data modification actions (SQL trigger). The third one consists of a procedure of arbitrary complexity (SQL stored procedure) that can be called by users, by client programs or by triggers.
 +
*'''Keywords'''
 +
:active database, Is-a relation management, active rule, SQL trigger, SQL predicate, SQL stored procedure, integrity management, update propagation, decision support system, temporal database
 +
 
 +
:''[[LIBD:Themes:SPECIAL-Active-Databases|<Go to the <b>SPECIAL - Active Databases</b> page for more detail>]]''
 +
 
 
===Temporal Databases===
 
===Temporal Databases===
 +
*'''Status''': ''complete''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
:While a standard database collects data about the current state of a set of entities, a temporal database includes data about entities that evolve over time. When an entity changes, its new state is recorded but the former state is kept in the temporal database. As a consequence, it is possible to rebuild the state of the application domain at a certain time point. It is also possible to extract the evolution of a set of entities during a certain period. A fully temporal database records the past, current and future states of entities. One considers two types of time. The ''transaction'' (or physical) time indicates when data have been recorded, changes and deleted in the database. The ''valid'' (or logical) time indicates when events occurs in the application domain. A bitemporal database record both types of time.
 +
*'''Keywords'''
 +
:temporal database, active database, statistical database
 +
 
 +
:''[[LIBD:Themes:SPECIAL-Temporal-Databases|<Go to the <b>SPECIAL - Temporal Databases</b> page for more detail>]]''
 +
 
 
===Statistical Databases===
 
===Statistical Databases===
 +
*'''Status''': ''partial''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
:statistical database, temporal database, Quetelet.net project
 +
:''[[LIBD:Themes:SPECIAL-Statistical-Databases|<Go to the <b>SPECIAL - Statistical Databases</b> page for more detail>]]''
  
 
==XML and the web==
 
==XML and the web==
*'''Description'''
+
*'''Introduction'''
 +
 
 
===XML Structures Modeling and Manipulation===
 
===XML Structures Modeling and Manipulation===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:WEB-XML-Structures|<Go to the <b>WEB - XML Structures</b> page for more detail>]]''
 +
 
 
===Web Reverse Enginering===
 
===Web Reverse Enginering===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:WEB-Reverse-Enginering|<Go to the <b>WEB Reverse Enginering</b> page for more detail>]]''
  
 
==Tools==
 
==Tools==
*'''Description'''
+
*'''Introduction'''
 +
 
 
===DBMS===
 
===DBMS===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:TOOLS-DBMS|<Go to the <b>DBMS</b> page for more detail>]]''
 +
 
 
===Standard CASE Tools===
 
===Standard CASE Tools===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:TOOLS-Standard-CASE-Tools|<Go to the <b>Standard CASE Tools</b> page for more detail>]]''
 +
 
 
===Special-purpose CASE Tools===
 
===Special-purpose CASE Tools===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:TOOLS-Special-purpose-CASE-Tools|<Go to the <b>Special-purpose CASE Tools</b> page for more detail>]]''
 +
 
 
===Meta-CASE Tools===
 
===Meta-CASE Tools===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
===DB Access Tools===
+
 
 +
:''[[LIBD:Themes:TOOLS-Meta-CASE-Tools|<Go to the <b>Meta CASE Tools</b> page for more detail>]]''
 +
 
 +
===Database Access Tools===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords
 +
:conceptual API, SQL-script Interpreter, Object-relational mapping,
 +
 
 +
:''[[LIBD:Themes:TOOLS-Access-Tools|<Go to the <b>Database access Tools</b> page for more detail>]]''
  
 
==Workflow modeling==
 
==Workflow modeling==
*'''Description'''
+
*'''Introduction'''
 +
 
 
===Model-base for Clinical Pathways===
 
===Model-base for Clinical Pathways===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:WF-Model-base-for-Clinical-Pathways|<Go to the <b>Model base for Clinical Pathways</b> page for more detail>]]''
 +
 
 
===Workflow Modeling===
 
===Workflow Modeling===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:WF-Workflow-Modeling|<Go to the <b>Workflow Modeling</b> page for more detail>]]''
  
 
==Databases and Computing Models==
 
==Databases and Computing Models==
*'''Description'''
+
*'''Introduction'''
 +
 
 
===Modeling and Methodology===
 
===Modeling and Methodology===
 +
*'''Status''': ''complete''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
:Spreadsheets offer one of the most popular form of programming available to end users.  Unfortunately, many spreadshets include more or less severe errors that make them unreliable. In this theme, we analyze this problem and we propose a simple and intuitive  user-oriented methodology to develop correct spreadsheets.
 +
*'''Keywords'''
 +
:computing model, equational model, spreadsheet, spreadsheet design, spreadsheet errors, spreadsheet/database coupling
 +
 
 +
:''[[LIBD:Themes:COMPUTING-Modeling-and-Methodology|<Go to the <b>DB-Comp - Modeling and Methodology</b> page for more detail>]]''
 +
 
 
===Tools===
 
===Tools===
 +
*'''Status''': ''partial''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
:An environment to design and generate hybrid databases including an equational model has been implemented in the DB-MAIN CASE tool. Such a database includes derived attributes according to complex computing rules.
 +
*'''Keywords'''
 +
:computing model, equational model, deductive database
 +
 
 +
:''[[LIBD:Themes:COMPUTING-Tools|<Go to the <b>DB-Comp - Tools</b> page for more detail>]]''
  
 
==Educational Resources==
 
==Educational Resources==
*'''Description'''
+
*'''Introduction'''
 +
 
 
===SQL===
 
===SQL===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:EDUC-SQL|<Go to the <b>Education - SQL</b> page for more detail>]]''
 +
 
 
===Database Design===
 
===Database Design===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:EDUC-Database-Design|<Go to the <b>Education - Database Design</b> page for more detail>]]''
 +
 
 
===Relational Theory===
 
===Relational Theory===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:EDUC-Relational-Theory|<Go to the <b>Education - Relational Theory</b> page for more detail>]]''
 +
 
 
===Database Reverse Engineering===
 
===Database Reverse Engineering===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:EDUC-Database-Reverse-Engineering|<Go to the <b>Education - Database Reverse Engineering</b> page for more detail>]]''
 +
 
 
===Transformation-based Database Engineering===
 
===Transformation-based Database Engineering===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:EDUC-Transformation-based-Database-Engineering|<Go to the <b>Education - Transformation-based Database Engineering</b> page for more detail>]]''
 +
 
 
===Database Security===
 
===Database Security===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:EDUC-Database-Security|<Go to the <b>Education - Database Security</b> page for more detail>]]''
 +
 
 
===Temporal Databases===
 
===Temporal Databases===
 +
*'''Status''': ''Empty''
 
*'''Description'''
 
*'''Description'''
*'''Resources'''
+
*'''Keywords'''
 +
 
 +
:''[[LIBD:Themes:EDUC-Temporal-Databases|<Go to the <b>Education - Temporal Databases</b> page for more detail>]]''
  
  
[[Accueil|<''Retour à la page d'accueil / Back''>]]
+
[[Accueil|<''Back to Welcome page / Retour à la page d'accueil>]]
  
 
<!--
 
<!--

Version actuelle en date du 4 décembre 2011 à 22:46

Pages in development / Pages en cours de développement


Themes and resources/ Thèmes et ressources


This section collects and integrates the resources of the Computer science faculty and, more specifically of the DB research group, into themes related to Database Engineering (and some others).
Cette section regroupe et intègre les différentes ressources de la faculté d'informatique et du LIBD en particulier, autour de thématiques liées à l'Ingénierie des bases de données (et quelques autres).


<Back to Welcome page / Retour à la page d'accueil>


Sommaire

Foreword

This section of the site will present the contribution of the Computer science faculty of the University of Namur to the Database discipline since 1971. In short, an overview of the first 40 years of research in DB engineering! I will leave the development of the next 40 years to my young colleagues.

This work is not a simple task, and I don't expect its completion before at least one or two years

Jean-Luc Hainaut, June 2011


Introduction

TBA


Modeling and Metamodeling

  • Introduction
Database engineeering addresses domains such as database exploitation, database design, database reverse engineering or database evolution. A database is described through a hierarchy of schemas, each of them expressed in a data (or information) model. A large part of database engineering resort to schema manipulation, where data structures are built, analyzed, evaluated, transformed and used to produced various artefacts such as other schemas, DML and DDL code. The quality and the effectiveness of these schema manipulation processes depend on the availability of appropriate data models. Hence the importance of model development activities (Database Models).
A data model states a definite way to view data but, to be complete, it must be accompanied by languages that tell how to interact with the contents of database, that is, how to manipulate these data. Sometimes, such language takes the form of an API (application program interface) that also defines the technical detail of these interactions (Database languages).
The design and evaluation of models require a means to describe them in a general way and to reason about them (for example, how the Entity-relationship model compares with UML class diagrams?) This is the concern of metamodeling, that proposes models to reason about models, and that are, for that, metamodels (Metamodeling).
This chapter describes the contribution of the LIBD to the development of database models, database languages and API’s and metamodels.

Database Models

  • Status: Complete
  • Description
The development and the exploitation of data models are at the baseline of the database engineeering domain. They allow database structures to be described at the appropriate level of abstraction, so that one can rigourously evaluate and transform schemas and reason about them. They are at the core of design methodologies and CASE tools. The conceptual models, such as the Entity-relationship model and some interpretation of UML class diagrams are aimed at describing data/information structures at the conceptual, technology-independent level, while the many logical models currently available are intended to represent data structures as they are implemented by data managers (or by families thereof).
Several data models have been designed and implemented: the SPHINX data models, the Individual model (Merise), the GAM (Generalized Access Model), the GER (Generic Entity-relationship) model, the DB-MAIN model and the temporal ER model.
  • Keywords
ER model, Individual model, Merise model, UML class diagrams, wide-spectrum model, GER model, DB-MAIN model, logical data model, temporal model, legacy data model, relational model, network model, hierarchical model, OO model, OR model, XML model, decision support, large schema layout, semantic and statistical aspects of models, IS-A relation, wrappers
<Go to the Database Models page for more detail>

Database Languages and API

  • Status: Partial
  • Description
Interacting with databases requires languages and protocols, be they for database building, exploitation or administration. The level of language depends on its goal and on the skill of its target user. We present and discuss some of the languages and API’s we have developed as well as some contributions to language processing.
  • Keywords
database languages, CASE programming, Voyager 2, DB-MAIN, SQL script, dynamic SQL, temporal API, wrapper, wrapper generator
<Go to the Database Languages and API page for more detail>

Metamodeling

  • Status: complete
  • Description
Meta-something is something about something (replace something by any name pertaining to philosophy, mathematics or computer science). For instance, metadata are data that describe the structure and other properties of data (generally user data). For instance, the table of tables (generically named SYS_TABLE) in the catalog of any relational database is a metatable that contains metadata. Being said in passing, it includes a row that describes this table itself.
The domain of database engineering makes much use of meta-level concepts. For instance any CASE tool includes some sort of database in which it stores its data. This database contains descriptions of schemas, among others. These descriptions are metadata. This database bears several names according to the community that uses it, namely metadatabase, metabase, (metadata) repository, model base or encyclopedia (this one a bit outdated).
The term meta-model designates a model that is used to describe other models. Since the database community prefers the term schema instead of model (the latter having another interpretation, as in relational model), this proposition translate as follows: the term meta-schema designates a schema that is used to describe other schemas.
  • Keywords
metamodel, metaCASE, metadata, model base, repository, catalog tables, DB-MAIN, Voyager 2, workflow modeling, clinical pathway modeling
<Go to the Metamodeling page for more detail>

Database Methodologies

  • Introduction

Method Modeling

  • Status: Empty
  • Description
  • Keywords
<Go to the Method Modeling page for more detail>

Database design (General)

  • Status: Empty
  • Description
  • Keywords
<Go to the Database design (General) page for more detail>

Conceptual Analysis

  • Status: Empty
  • Description
  • Keywords
<Go to the Conceptual Analysis page for more detail>

Logical Design

  • Status: Empty
  • Description
  • Keywords
<Go to the Logical Design page for more detail>

Physical Design

  • Status: Empty
  • Description
  • Keywords
<Go to the Physical Design page for more detail>

Code Generation

  • Status: Empty
  • Description
  • Keywords
<Go to the Code Generation page for more detail>

Database Schema Quality

  • Status: Empty
  • Description
  • Keywords
<Go to the Database Schema Quality page for more detail>

Database reverse Engineering

  • Status: Empty
  • Description
  • Keywords
<Go to the Database reverse Engineering page for more detail>

Database Reverse Engineering

  • Introduction

Methodology and Techniques

  • Status: Empty
  • Description
  • Keywords
<Go to the DBRE - Methodology and Techniques page for more detail>

Tools

  • Status: Empty
  • Description
  • Keywords
<Go to the DBRE - Tools page for more detail>

Case Studies

  • Status: Empty
  • Description
  • Keywords
<Go to the DBRE - Case Studies page for more detail>

Transformational Engineering

  • Introduction

Principles and Methodology

  • Status: Empty
  • Description
  • Keywords
<Go to the TRANSFO - Principles and Methodology page for more detail>

Tools

  • Status: Empty
  • Description
  • Keywords
<Go to the TRANSFO - Tools page for more detail>

Applications

  • Status: Empty
  • Description
  • Keywords
<Go to the TRANSFO - Applications page for more detail>

Database Evolution and Migration

  • Introduction

Database Evolution and Migration

  • Status: Empty
  • Description
  • Keywords
<Go to the EVOL - Database Evolution and Migration page for more detail>

Program Evolution and Migration

  • Status: Empty
  • Description
  • Keywords
<Go to the EVOL - Program Evolution and Migration page for more detail>

Data Interoperability

  • Introduction

Heterogeneous Data Integration

  • Status: Empty
  • Description
  • Keywords
<Go to the INTEGR - Heterogeneous Data Integration page for more detail>

Web Data Integration

  • Status: Empty
  • Description
  • Keywords
<Go to the INTEGR - Web Data Integration page for more detail>

Special Databases

  • Introduction
Some aspects of information systems require a special treatment, that translates in specific data models and specific design processes.

Active Databases

  • Status: complete
  • Description
An active (or reactive) database is able to react to some external stimuli, such as data modification actions. Practically, the reaction mechanism relies on triggers, predicates and SQL procedures. A specific reaction can be defined through different patterns. The first one is the predicate (SQL check), which states a static property that the data must always meet. Any action that will violate this property is rejected. The second one specifies a procedure that must be executed before or after definite data modification actions (SQL trigger). The third one consists of a procedure of arbitrary complexity (SQL stored procedure) that can be called by users, by client programs or by triggers.
  • Keywords
active database, Is-a relation management, active rule, SQL trigger, SQL predicate, SQL stored procedure, integrity management, update propagation, decision support system, temporal database
<Go to the SPECIAL - Active Databases page for more detail>

Temporal Databases

  • Status: complete
  • Description
While a standard database collects data about the current state of a set of entities, a temporal database includes data about entities that evolve over time. When an entity changes, its new state is recorded but the former state is kept in the temporal database. As a consequence, it is possible to rebuild the state of the application domain at a certain time point. It is also possible to extract the evolution of a set of entities during a certain period. A fully temporal database records the past, current and future states of entities. One considers two types of time. The transaction (or physical) time indicates when data have been recorded, changes and deleted in the database. The valid (or logical) time indicates when events occurs in the application domain. A bitemporal database record both types of time.
  • Keywords
temporal database, active database, statistical database
<Go to the SPECIAL - Temporal Databases page for more detail>

Statistical Databases

  • Status: partial
  • Description
  • Keywords
statistical database, temporal database, Quetelet.net project
<Go to the SPECIAL - Statistical Databases page for more detail>

XML and the web

  • Introduction

XML Structures Modeling and Manipulation

  • Status: Empty
  • Description
  • Keywords
<Go to the WEB - XML Structures page for more detail>

Web Reverse Enginering

  • Status: Empty
  • Description
  • Keywords
<Go to the WEB Reverse Enginering page for more detail>

Tools

  • Introduction

DBMS

  • Status: Empty
  • Description
  • Keywords
<Go to the DBMS page for more detail>

Standard CASE Tools

  • Status: Empty
  • Description
  • Keywords
<Go to the Standard CASE Tools page for more detail>

Special-purpose CASE Tools

  • Status: Empty
  • Description
  • Keywords
<Go to the Special-purpose CASE Tools page for more detail>

Meta-CASE Tools

  • Status: Empty
  • Description
  • Keywords
<Go to the Meta CASE Tools page for more detail>

Database Access Tools

  • Status: Empty
  • Description
  • Keywords
conceptual API, SQL-script Interpreter, Object-relational mapping,
<Go to the Database access Tools page for more detail>

Workflow modeling

  • Introduction

Model-base for Clinical Pathways

  • Status: Empty
  • Description
  • Keywords
<Go to the Model base for Clinical Pathways page for more detail>

Workflow Modeling

  • Status: Empty
  • Description
  • Keywords
<Go to the Workflow Modeling page for more detail>

Databases and Computing Models

  • Introduction

Modeling and Methodology

  • Status: complete
  • Description
Spreadsheets offer one of the most popular form of programming available to end users. Unfortunately, many spreadshets include more or less severe errors that make them unreliable. In this theme, we analyze this problem and we propose a simple and intuitive user-oriented methodology to develop correct spreadsheets.
  • Keywords
computing model, equational model, spreadsheet, spreadsheet design, spreadsheet errors, spreadsheet/database coupling
<Go to the DB-Comp - Modeling and Methodology page for more detail>

Tools

  • Status: partial
  • Description
An environment to design and generate hybrid databases including an equational model has been implemented in the DB-MAIN CASE tool. Such a database includes derived attributes according to complex computing rules.
  • Keywords
computing model, equational model, deductive database
<Go to the DB-Comp - Tools page for more detail>

Educational Resources

  • Introduction

SQL

  • Status: Empty
  • Description
  • Keywords
<Go to the Education - SQL page for more detail>

Database Design

  • Status: Empty
  • Description
  • Keywords
<Go to the Education - Database Design page for more detail>

Relational Theory

  • Status: Empty
  • Description
  • Keywords
<Go to the Education - Relational Theory page for more detail>

Database Reverse Engineering

  • Status: Empty
  • Description
  • Keywords
<Go to the Education - Database Reverse Engineering page for more detail>

Transformation-based Database Engineering

  • Status: Empty
  • Description
  • Keywords
<Go to the Education - Transformation-based Database Engineering page for more detail>

Database Security

  • Status: Empty
  • Description
  • Keywords
<Go to the Education - Database Security page for more detail>

Temporal Databases

  • Status: Empty
  • Description
  • Keywords
<Go to the Education - Temporal Databases page for more detail>


<Back to Welcome page / Retour à la page d'accueil>


Outils personnels