Dbm (discuter | contributions) m |
Dbm (discuter | contributions) (→[T14-01] Data matters most - But where has all the semantics gone?) |
||
(13 révisions intermédiaires par un utilisateur sont masquées) | |||
Ligne 7 : | Ligne 7 : | ||
− | ==='''First steps in Database design'''=== | + | ==='''[T14-01] Data matters most - But where has all the semantics gone?'''=== |
+ | '''Jean-Luc Hainaut, February, 2014, 53 pages, English''' | ||
+ | [[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/Stevens/Stevens_2014.rar full text]] | ||
+ | :Lecture given for the 22th Sevens Award. WCRE-CSMR joint conferences, Antwerpen 2014. | ||
+ | |||
+ | :The role of databases may sometimes appear controversial since they are mere basic services for a significant part of the software engineering community (the transparent "persistence layer") while they are the central component of business application for the database community. In this lecture, we examine the evolution of the balance database/program both in time (from the early sixties to a foreseenable future) and in space (technologies, communities) from the data semantics point of view. In particular we analyze and compare how and where data semantics has been located and implemented in each of these contexts. Current development practices tend to migrate semantics from the database (as was usual in the eighties and nineties) to the application logic (e.g., O/RM, NoSQL DB managers), a trend that may be seen of regression that reminds us the infancy of business application development where files were dedicated to one application. | ||
+ | :Finally, the lecture defines how data semantics can be recovered in these scenarios.. | ||
+ | |||
+ | :'''Contents'''. ''Introduction''; ''Understanding data semantics''; ''Data models''; ''Tracing data semantics''; ''Recovering hidden data semantic''; ''Is data semantics recovery that important, actually?''; ''Summary and conclusions''. | ||
+ | |||
+ | ==='''[T02-01] First steps in Database design'''=== | ||
'''Jean-Luc Hainaut, September, 2002, 38 pages, English''' | '''Jean-Luc Hainaut, September, 2002, 38 pages, English''' | ||
− | [[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/First-Steps/1st-Step.pdf | + | [[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/First-Steps/1st-Step.pdf full text]] |
:Construction pas à pas d'une petite base de données à l'aide de l'atelier DB-MAIN. Le tutoriel parcourt les principaux processus des méthodes classiques de conception de bases de données, depuis l'analyse conceptuelle jusqu'à la génération du code SQL et de la documentation. Durée moyenne : 1 heure. | :Construction pas à pas d'une petite base de données à l'aide de l'atelier DB-MAIN. Le tutoriel parcourt les principaux processus des méthodes classiques de conception de bases de données, depuis l'analyse conceptuelle jusqu'à la génération du code SQL et de la documentation. Durée moyenne : 1 heure. | ||
− | :Step-by-step building of a small database with the DB-MAIN CASE tool. This tutorial | + | :Step-by-step building of a small database with the DB-MAIN CASE tool. This tutorial walks through the main database design processes, from conceptual analysis down to SQL code and documentation generation. Expected duration: 1 hour. |
:'''Contents'''. Lesson 1: ''Capturing the conceptual schema of the database''. Lesson 2: ''Generating a report of the conceptual schema''. Lesson 3: ''Producing the relational schema of the database''. Lesson 4: ''Producing the physical schema of the database''. Lesson 5: ''Generating the SQL code that creates the database''. | :'''Contents'''. Lesson 1: ''Capturing the conceptual schema of the database''. Lesson 2: ''Generating a report of the conceptual schema''. Lesson 3: ''Producing the relational schema of the database''. Lesson 4: ''Producing the physical schema of the database''. Lesson 5: ''Generating the SQL code that creates the database''. | ||
− | ==='''Introduction to Database Engineering'''=== | + | ==='''[T02-02] Introduction to Database Engineering '''=== |
'''Jean-Luc Hainaut, March, 2002, 334 pages, English''' | '''Jean-Luc Hainaut, March, 2002, 334 pages, English''' | ||
− | [[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/DB-Design/MiniTut-2002.pdf | + | [[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/DB-Design/MiniTut-2002.pdf full text]] |
:Douze leçons couvrant les principaux aspects de la construction d'une base de données à l'aide de l'atelier DB-MAIN. | :Douze leçons couvrant les principaux aspects de la construction d'une base de données à l'aide de l'atelier DB-MAIN. | ||
Ligne 27 : | Ligne 37 : | ||
− | ==='''Legacy and Future of Database Reverse Engineering'''=== | + | ==='''[T09-01] Legacy and Future of Database Reverse Engineering'''=== |
'''Jean-Luc Hainaut, Keynote, WCRE 2009, Lille, October 2009, 89 pages, English''' | '''Jean-Luc Hainaut, Keynote, WCRE 2009, Lille, October 2009, 89 pages, English''' | ||
− | [[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/DBRE/WCRE09-Keynote-2009-10-16.zip | + | [[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/DBRE/WCRE09-Keynote-2009-10-16.zip full text]] |
:Présentation des acquis actuels et des défis de la rétro-ingénierie des bases de données. Elle rappelle l'évolution des problèmes et des techniques durant les trois dernières décennies. La nécessité du processus de rétro-ingénierie est illustrée par la migration d'une base de données et la comparaison des stratégies ''physique'' et ''conceptuelle''. Parmi les défis à résoudre, la présentation étudie plus particulièrement les nouvelles formes de données, l'approche transformationnelle, l'automatisation du processus, le changement d'échelle des problèmes classiques, l'usage croissant d'SQL dynamique, les problèmes induits par l'usage croissant des ORM. Destinée à la communauté WCRE (Rétro-ingénierie logicielle), cette présentation rappelle quelques particularités importantes du domaine des bases de données. | :Présentation des acquis actuels et des défis de la rétro-ingénierie des bases de données. Elle rappelle l'évolution des problèmes et des techniques durant les trois dernières décennies. La nécessité du processus de rétro-ingénierie est illustrée par la migration d'une base de données et la comparaison des stratégies ''physique'' et ''conceptuelle''. Parmi les défis à résoudre, la présentation étudie plus particulièrement les nouvelles formes de données, l'approche transformationnelle, l'automatisation du processus, le changement d'échelle des problèmes classiques, l'usage croissant d'SQL dynamique, les problèmes induits par l'usage croissant des ORM. Destinée à la communauté WCRE (Rétro-ingénierie logicielle), cette présentation rappelle quelques particularités importantes du domaine des bases de données. | ||
− | : | + | :This presentation describes the experience learned and the new challenges in database reverse engineering. It recalls the evolution of problems and techniques during the last three decades. The necessity of reverse engineering is motivated through the ''physical'' and ''conceptual'' strategies of system migration. Among the challenges to address in the future, the presentation particularly develops the new forms of data, the transformational (or model-based) approach, process automation, the increasing complexity and size of classical problems, the use of dynamic SQL and the increasing use or ORM's. Also targeting the software engineering community, the presentation recalls some basic facts about databases. |
:'''Contents''': 1. ''Context, cultures and history''. 2. ''Databases: facts and challenges''. 3. ''Database reverse engineering motivation: the migration process''. 4. ''Database reverse engineering methodology''. 5. ''Database reverse engineering: A case study''. 6. ''Database reverse engineering: new challenges''. 7. ''Conclusions'' | :'''Contents''': 1. ''Context, cultures and history''. 2. ''Databases: facts and challenges''. 3. ''Database reverse engineering motivation: the migration process''. 4. ''Database reverse engineering methodology''. 5. ''Database reverse engineering: A case study''. 6. ''Database reverse engineering: new challenges''. 7. ''Conclusions'' | ||
− | ==='''Transformational Database Engineering'''=== | + | ==='''[T09-02] Transformational Database Engineering'''=== |
'''Jean-Luc Hainaut, Tutoriel, BDA 2009, Namur, Octobre 2009, 112 slides, English''' | '''Jean-Luc Hainaut, Tutoriel, BDA 2009, Namur, Octobre 2009, 112 slides, English''' | ||
− | [[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/Transformation/Tutorial-BDA-2009.zip | + | [[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/Transformation/Tutorial-BDA-2009.zip full text]] |
− | : | + | :Ce tutoriel présente de manière pratique l'approche transformationnelle de l'ingénierie des bases de données. Il justifie les avantages de l'approche, particulièrement dans un contexte organisationnel dans lequel les données sont prises en charge par plusieurs systèmes de gestion incompatibles. Il étudie les propriétés de préservation sémantique des transformations puis propose une classification des transformations selon la nature des structures impliquées et selon la granularité des opérations. Il montre que les principaux processus d'ingénierie peuvent être modélisés par l'approche transformationelle. Il illustre enfin ces principes par les fonctions transformationneles de l'atelier DB-MAIN. Une première version de ce tutorial avait été présentée à l'Ecole d'été GTTSE à Braga en 2005<. |
− | : | + | :This tutorial presents some practical aspects of the transformational approach to database engineering. It shows its advantages in contexts in which data are managed by several independent and incompatible data manager systems. It studies the semantics-preservation properties of transformations and proposes a classification of the main transformations, according to the nature of data structures and to the granularity of the operations. It shows that the most important database engineering processes can be modeled by this approach. Finally, it illustrates these principles by their implementation in the DB-MAIN CASE tool. A first version of this tutorial was used in the GTTSE Summer School in Braga, 2005. |
:'''Contents'''. 1. ''Introduction''. 2. ''Modeling data structures''. 3. ''Schema transformations''. 4. ''Semantics preservation properties of transformations''. 5. ''Typology of practical elementary transformations''. 6. ''Typology of practical complex transformations''. 7. ''Transformational modeling of database engineering processes''. 8. ''Conclusions and perspectives''. | :'''Contents'''. 1. ''Introduction''. 2. ''Modeling data structures''. 3. ''Schema transformations''. 4. ''Semantics preservation properties of transformations''. 5. ''Typology of practical elementary transformations''. 6. ''Typology of practical complex transformations''. 7. ''Transformational modeling of database engineering processes''. 8. ''Conclusions and perspectives''. | ||
− | ==='''Introduction à la sécurité des bases de données'''=== | + | ==='''[T09-03] Introduction à la sécurité des bases de données'''=== |
'''Jean-Luc Hainaut, Tutoriel, Namur, 2009, 141 slides, français ''' | '''Jean-Luc Hainaut, Tutoriel, Namur, 2009, 141 slides, français ''' | ||
− | [[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/Securite-des-BD/Securite-BD.ppt | + | [[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/Securite-des-BD/Securite-BD.ppt full text]] |
:Support du chapitre ''Sécurité des bases de données'' du cours d' ''Ingéniertie des bases de données avancées'' et de ''Certificat en management de la sécurité des systèmes d'information'' [http://www.infosafe.be/pourquoi/fundp-ichec.html [InfoSafe]]. | :Support du chapitre ''Sécurité des bases de données'' du cours d' ''Ingéniertie des bases de données avancées'' et de ''Certificat en management de la sécurité des systèmes d'information'' [http://www.infosafe.be/pourquoi/fundp-ichec.html [InfoSafe]]. | ||
Ligne 57 : | Ligne 67 : | ||
− | ==='''Introduction pratique aux bases de données temporelles'''=== | + | ==='''[T02-03] Introduction pratique aux bases de données temporelles'''=== |
'''Jean-Luc Hainaut, Virginie Detienne, novembre 2002, 116 pages, français''' | '''Jean-Luc Hainaut, Virginie Detienne, novembre 2002, 116 pages, français''' | ||
− | [[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/Intro-BD-temporelles/IntroPratique-BDT.pdf | + | [[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/Intro-BD-temporelles/IntroPratique-BDT.pdf full text]] |
:Présentation et discussion, au travers d'une étude de cas construite pas à pas, des principes des bases de données temporelles. On étudie la représentation de la dimension temporelle des données (monotemporel physique et logique, le bitemporel est simplement évoqué), la gestion de données temporelle sous la forme d'une base de données active en SQL2 and l'exploitation de données temporelle (y compris la projection, la jointure et l'agrégation temporelles). | :Présentation et discussion, au travers d'une étude de cas construite pas à pas, des principes des bases de données temporelles. On étudie la représentation de la dimension temporelle des données (monotemporel physique et logique, le bitemporel est simplement évoqué), la gestion de données temporelle sous la forme d'une base de données active en SQL2 and l'exploitation de données temporelle (y compris la projection, la jointure et l'agrégation temporelles). | ||
Ligne 65 : | Ligne 75 : | ||
:'''Contenu'''. 1. ''Introduction''. 2. ''Description du projet''. 3. ''Représentation des données historiques''. 4. ''Gestion des données historiques (temps physique ou transaction time)''. 5. ''Gestion des données historiques (temps logique ou valid time)''. 6. ''Interrogation d’une base de données historiques''. 7. ''Projection temporelle d’une table historique (version simplifiée)''. 8. ''Projection temporelle généralisée''. 9. ''Jointure de tables historiques''. 10. ''L’agrégation temporelle''. 11. ''Normalisation d’une table historique''. 12. ''Variantes d’historiques''. 13. ''Historique d’associations''. 14. ''Suggestions d’extension''. 15. ''PROJET : Les composants du projet''. 16. ''PROJET : Les structures de données''. 17. ''PROJET : La gestion des données''. 18. ''PROJET : Quelques applications représentatives''. 19. ''Bibliographie''. | :'''Contenu'''. 1. ''Introduction''. 2. ''Description du projet''. 3. ''Représentation des données historiques''. 4. ''Gestion des données historiques (temps physique ou transaction time)''. 5. ''Gestion des données historiques (temps logique ou valid time)''. 6. ''Interrogation d’une base de données historiques''. 7. ''Projection temporelle d’une table historique (version simplifiée)''. 8. ''Projection temporelle généralisée''. 9. ''Jointure de tables historiques''. 10. ''L’agrégation temporelle''. 11. ''Normalisation d’une table historique''. 12. ''Variantes d’historiques''. 13. ''Historique d’associations''. 14. ''Suggestions d’extension''. 15. ''PROJET : Les composants du projet''. 16. ''PROJET : Les structures de données''. 17. ''PROJET : La gestion des données''. 18. ''PROJET : Quelques applications représentatives''. 19. ''Bibliographie''. | ||
+ | |||
+ | |||
+ | ==='''[T98-01] Les aspects informatiques de l'Euro et de l'An 2000'''=== | ||
+ | '''Jean-Luc Hainaut, Jean Henrard, mars 1998, 39 pages, français''' | ||
+ | [[http://www.info.fundp.ac.be/~dbm/Documents/Tutorials/Y2K-EURO/Les_aspects_informatiques_de_l_Euro_et_de_l_An_2000.pdf full text]] | ||
+ | :Présentation et discussion des problèmes que devait entraîner au début des années 2000 le passage à l'an 2000 et à l'Euro. Ces problèmes étaient dus à l'usage d'un codage trop concis des dates et des montants monétaires. Pour les dates, le siècle était souvent par défaut "19" et donc non représenté explicitement. Pour les montants monétaires, les centimes étaient en général ignorés, ou réduits à une seule décimale. | ||
+ | |||
+ | :Presentation and discussion of the problems induced by year 2000 and the Euro some years ago. The origin of both problems was the conciseness of dates and monetary amounts representation. E.g., the default century often was "19" and therefore ignored. Consequently, comparing two dates provided wrong answers whenever these dates are from different centuries. For instance, while 1995 < 2001, the concise form actually leads to 95 > 01, which may make many programs wreak avoc, or, worse, yield wrong results. | ||
+ | |||
+ | :'''Contenu'''. 1. ''Position du problème''. 2. ''L'impact''. 3. ''Le processus de protection''. 4. ''Les techniques d'analyse''. 5. ''Conclusion''. | ||
+ | |||
[[LIBD:Publications|<''Retour à la page des publications / Back''>]] | [[LIBD:Publications|<''Retour à la page des publications / Back''>]] |
<Retour à la page des publications / Back>
Jean-Luc Hainaut, February, 2014, 53 pages, English [full text]
Jean-Luc Hainaut, September, 2002, 38 pages, English [full text]
Jean-Luc Hainaut, March, 2002, 334 pages, English [full text]
Jean-Luc Hainaut, Keynote, WCRE 2009, Lille, October 2009, 89 pages, English [full text]
Jean-Luc Hainaut, Tutoriel, BDA 2009, Namur, Octobre 2009, 112 slides, English [full text]
Jean-Luc Hainaut, Tutoriel, Namur, 2009, 141 slides, français [full text]
Jean-Luc Hainaut, Virginie Detienne, novembre 2002, 116 pages, français [full text]
Jean-Luc Hainaut, Jean Henrard, mars 1998, 39 pages, français [full text]