Génération de code à partir d une spécification B : Application aux bases de données
|
|
- Josephine Gagnon
- il y a 8 ans
- Total affichages :
Transcription
1 Génération de code à partir d une spécification B : Application aux bases de données Amel Mammar * Régine Laleau ** Université du Luxembourg, LACL, Université Paris 12 SE2C, 6 rue Richard Courdenhove-Kalergi IUT Fontainebleau, Route forestière L-1359 Luxembourg-Kirchberg, Hurtault, Fontainebleau amel.mammar@uni.lu laleau@univ-paris12.fr RÉSUMÉ. Le travail décrit dans cet rapport entre dans le cadre de la conception d une démarche complète et outillée de développement d applications bases de données sûres. Le point de départ de notre démarche est une spécification B traduisant un ensemble de diagrammes UML dotés d une sémantique formelle dédiée aux systèmes d information. Cette spécification est ensuite raffinée par des règles automatiques et prouvées. Ce raffinement a pour but de rendre la spécification initiale proche d une implémentation relationnelle, de telle sorte que la dernière phase de traduction devienne intuitive et naturelle. La contribution principale de ce rapport est de fournir une démarche systématique de traduction des composants terminaux B en une implémentation relationnelle. Cette traduction concerne deux aspects complémentaires : les données concrètes correspondant au schéma de la base de données, et les opérations concrètes B correspondant aux différents traitements. Contrairement à un schéma de bases de données qui peut être entièrement défini en SQL, les traitements nécessitent l utilisation d un langage hôte offrant des structures de contrôle équivalentes aux constructeurs de substitutions B. ABSTRACT. The work described in this report aims at defining a complete and tool supported approach for the development of safe databases applications. The starting point of our approach is a B specification translating a set of UML diagrams for which a formal semantics, dedicated for information systems, is assigned. This specification is then refined by formal and proved rules. This refinement process aims at making the initial specification close to a relational implementation such that the last translation phase becomes intuitive and straightforward. The main contribution of this report is to provide a systematic approach translating the terminal B components into a relational implementation. This translation concerns two complementary aspects : the data corresponding to the database schema, and the B operations corresponding to the system functionalities. Contrary to the database schema which can be completely defined in SQL, functionalities require the use of a programming language offering control structures which should be equivalent to the B substitution constructors. MOTS-CLÉS : Aide au développement, bases de données, raffinement, codage. KEYWORDS: Development assistance, databases, refinement, coding. 2 e soumission à Technique et science informatiques, le 24 mars 2005.
2 2 2 e soumission à Technique et science informatiques. 1. Introduction Les applications bases de données sont caractérisées par des transactions 1 s exprimant à l aide de structures de contrôle relativement simples. Cependant, ces traitements manipulent des quantités importantes de données interdépendantes et fortement liées. Dans ce type d applications, la difficulté pour les concepteurs réside essentiellement dans l écriture de programmes qui respecteraient l intégrité de l ensemble des données. Bien que ce type d applications ne soit pas réellement critiques (pas de risque humain), ces dernières sont de plus en plus utilisées dans des domaines à enjeux économiques importants, comme le e-business, les systèmes financiers et les cartes à puces, et nécessitant donc un certain degré de fiabilité. Les méthodes classiques de conception d applications bases de données, basées essentiellement sur des notations graphiques, permettent d avoir une vue synthétique du système qui facilite la communication entre les différents acteurs. Cependant, les notations graphiques (comme UML) ne permettent pas d exprimer la totalité des propriétés d un système. De plus, leur manque de sémantique précise rend le raisonnement sur les spécifications obtenues et la génération d implémentations (même partielles) difficiles à mettre en œuvre. Le cadre général de nos travaux de recherche, menés au sein du laboratoire CE- DRIC du CNAM, porte sur la définition d une approche formelle et outillée de développement d applications bases de données sûres. L approche que nous proposons comporte trois phases complémentaires : 1. traduction de diagrammes UML en notations B, 2. raffinement des spécifications B obtenues en une implémentation relationnelle, 3. génération de code JAVA/SQL à partir de l implémentation B. Dans ce rapport, nous mettons l accent sur la description des règles de génération de code JAVA à partir d une implémentation B obtenue suite aux deux premières étapes décrites dans nos publications antérieures [LAL 00b, MAM 01]. Le but de ce rapport est de montrer la faisabilité de la génération, en JAVA/SQL, du code d une transaction base de données développée par raffinement B. La suite de ce rapport est structurée comme suit. La section suivante donne une brève présentation du langage B et du modèle relationnel, et présente les caractéristiques du sous-langage B décrivant une implémentation relationnelle. La section 4 illustre, à travers une étude de cas, la génération de spécifications B à partir des diagrammes UML ainsi que le processus de raffinement des données. Le processus d implémentation des transactions, obtenues à la phase précédente, est décrit à la section 5. Nous décrivons, dans la section 6, quelques règles de traduction de cette implémentation en code exécutable JAVA/SQL. La section 7 présente des travaux similaires à notre approche. Nous terminons par une conclusion et des perspectives. 2. Le langage B pour le développement d applications bases de données Dans cette section, nous donnons un bref aperçu de la méthode B et du modèle relationnel nécessaire à la compréhension de ce rapport. Nous décrivons également 1. Le terme "transaction" désigne l exécution ininterrompue de plusieurs opérations élémentaires.
3 De B vers JAVA/SQL 3 les structures de données et de contrôle qui définissent notre dernier niveau de raffinement La méthode B Conçue par J-R. Abrial, la méthode B [ABR 96] est une méthode formelle de développement d applications sûres. Elle couvre l ensemble des phases de conception d un projet : de la spécification abstraite jusqu à la génération du code associé. La notion de base du langage B est la machine abstraite qui décrit un système à travers un ensemble de variables dites d états. Le typage et les contraintes régissant ces variables, écrits dans une variante de la théorie des ensembles de Zermalo-Frankel (ZF), sont exprimés dans la clause INVARIANT de la machine. La partie dynamique du système est spécifiée par un ensemble d opérations B. Les opérations sont décrites dans le langage des substitutions généralisées de Disjkstra. La substitution de base est l affectation d une valeur à une variable. La généralisation de ce langage permet de définir des substitutions plus élaborées : substitution non déterministe, substitution préconditionnée, etc. Une substitution préconditionnée est de la forme : PRE p THEN s END, p étant un prédicat et s une substitution. Si p est vérifié alors la substitution s est exécutée correctement, sinon s échoue : le résultat de l exécution de la substitution s devient imprévisible. La méthode B propose plusieurs clauses d architecture permettant ainsi une spécification incrémentale. Au niveau le plus abstrait, le lien le plus utilisé est INCLUDES. Une machine A peut être incluse au plus une seule fois dans une machine C : les variables de A peuvent être lues dans C, la mise à jour de ces variables n est possible qu à travers l appel des opérations de A. Cette restriction permet une séparation des preuves associées aux deux machines. Le raffinement est le processus de transformation de spécifications abstraites en spécifications plus concrètes. En B, on distingue deux types de raffinement : Raffinement algorithmique : c est la transformation d une substitution abstraite S en une substitution moins abstraite S (exemple : remplacement d une substitution simultanée par une substitution séquentielle, élimination des préconditions). Raffinement de données : c est le remplacement d une donnée abstraite D par une donnée concrète D (exemple : raffinement d un ensemble par un tableau). Dans ce cas, un prédicat J, appelé invariant de collage, est à préciser. Cet invariant permet d établir le lien entre les données D et D. L invariant de collage J est spécifié dans la clause INVARIANT du composant raffinant. Ces deux types de raffinement ne sont pas exclusifs : ils peuvent être opérés dans la même étape de raffinement. Il est évident que tout raffinement de données entraîne un raffinement algorithmique. En effet, les substitutions ne travaillant plus sur le même espace de variables, celles-ci doivent être réécrites (raffinées) en fonction du nouvel espace des variables. Le dernier niveau de raffinement d une machine abstraite est appelé implémentation. Les structures de données et de contrôle B utilisés dans la description d une implémentation doivent être supportées par le langage de programmation cible choisi. La traduction de cette implémentation vers le langage cible devient donc très naturelle et potentiellement automatisable. Actuellement, plusieurs générateurs automatiques de code permettent la traduction en ADA, C et C++ de l implémentation
4 4 2 e soumission à Technique et science informatiques. d une machine abstraite décrite dans le langage B0 2. Une implémentation peut importer (liens IMPORTS) plusieurs machines abstraites afin d implémenter ses propres données et opérations. Seules les opérations de la machine importée sont accessibles, les variables abstraites ne le sont pas. La méthode B permet une validation complète des phases du développement d un projet. En effet, des obligations de preuves sont générées pour la phase de spécification et pour chaque étape de raffinement. Ces preuves permettent d assurer la cohérence de la spécification abstraite et la conformité du code final vis-à-vis de la spécification initiale (modulo la phase de codage faite en dehors de la méthode B). Une description des principales substitutions B est donnée en annexe. La sémantique des différents éléments B utilisés dans ce rapport sera donnée au fur à mesure de leurs introductions Le modèle relationnel Le modèle relationnel a été introduit par Codd [COD 70]. Il permet de décrire le monde réel en terme de relations que nous appelons ici tables pour ne pas confondre avec le concept de relation du langage B. La définition d une table comprend deux parties complémentaires : l intention et l extension. L intention appelée aussi schéma, définit son type i.e les attributs qui la constituent et leurs domaines respectifs. L extension d une table désigne l ensemble des tuples existants à un instant donné. Chaque tuple de cette extension représente une valeur du produit cartésien des domaines des attributs de la table. Dans ce rapport, nous utilisons la norme 92 du langage SQL [MEL 93]. Des contraintes d intégrité peuvent être définies aussi bien sur les attributs d une table que sur un ensemble de tables. Une contrainte, introduite par le mot clé CHECK, définit un prédicat devant être vérifié par chaque extension possible de(s) la table(s) mise(s) en œuvre. Les contraintes pouvant être définies sur les attributs d une table sont les suivantes : NOT NULL :définie sur un attribut, cette contrainte permet de spécifier que l attribut concerné doit être valué pour chaque tuple de la table. UNIQUE : définie sur un (ou un ensemble d ) attribut(s), cette contrainte permet de spécifier que la valeur de (ou des) l attribut(s) est unique dans toute extension possible de la table. Clé :définie sur un (ou un ensemble d ) attribut(s), cette contrainte permet de spécifier une clé possible d une table donnée. Une table possède au moins une clé désignée comme primaire (PRIMARY KEY). Les autres clés candidates sont spécifiées par les deux contraintes NOT NULL et UNIQUE. Contrainte référentielle :définie sur un (ou un ensemble d ) attribut(s) R 1 d une table T 1 vers un (ou un ensemble d ) attribut(s) R 2 clé d une table T 2, cette contrainte spécifie que l ensemble des valeurs de R 1 est inclus dans l ensemble des valeurs de R B0 désigne le sous-langage de B utilisé pour la description d une implémentation. Il comporte essentiellement les types de données et les structures de contrôle supportées par la majorité des langages de programmation comme C, ADA, etc.
5 De B vers JAVA/SQL 5 Le modèle relationnel est un modèle orienté valeurs : chaque tuple est identifié par la valeur d un ou plusieurs attributs qui constituent la clé de la table Caractérisation d une implémentation B0/SQL Dans cette sous-section, nous décrivons les structures de données et de contrôle (instructions B) que nous admettons à notre dernier niveau de raffinement. De manière générale, les structures de données correspondent à l expression en B des concepts relationnels. Les structures de contrôle correspondent à celles supportées soit par SQL ou par le langage JAVA choisi comme langage hôte Structures de données : expression des concepts relationnels en B Le but de tout processus de raffinement est l obtention d un niveau de spécification directement traduisible dans le langage d implémentation choisi. Pour cela, une modélisation B des concepts relationnels est nécessaire. C est elle qui détermine le dernier niveau du processus de raffinement : le processus de raffinement s arrête quand les variables raffinées correspondent à la spécification B des concepts relationnels. Comme mentionné précédemment, la structure de base du modèle relationnel est la table définie formellement comme un sous ensemble du produit cartésien d un ensemble de types nommés appelés domaines ou attributs. Cette définition correspond précisément à la notion d "enregistrement" en B permettant de regrouper plusieurs informations indissociables et nommées en une seule entité. Chaque champ de cet enregistrement correspond à l un des attributs de la table. L extension (le contenu) d une table désigne un ensemble d enregistrements. Afin d avoir un développement structuré, nous avons choisi d exprimer la spécification de chaque table dans une machine abstraite séparée. Une telle machine, appelée machine SQL dans la suite de ce rapport, définit une variable abstraite représentant l extension de la table, et un ensemble d opérations B correspondant aux différentes requêtes SQL comme l insertion d un tuple, la suppression d un tuple etc.. Une table A, dont les attributs sont att 1,...,att n de types T 1,...,T n respectivement et de clé att 1, est spécifiée en B par une machine abstraite Rel A définie comme suit 3,4, 5 : MACHINE Rel A VARIABLES Table A INVARIANT Table A struct(att 1 : T 1,...,att n : T n ) (x, y).(x att 1 = y att 1 x = y) INITIALISATION Table A := OPERATIONS /*Ajout d un tuple : insert into Table A values (val 1,...,val n )*/ InsertA(val 1,...,val n ) = PRE val 1 T 1... val n T n THEN 3. rec(x 1,..., x n) désigne, en B, un enregistrement dont les valeurs des champs sont x 1,...,x n. 4. x y : dénote la valeur du champ y pour l enregistrement x. 5. ANY x WHERE P THEN S END désigne l exécution de la substitution S pour n importe quelle valeur de x satisfaisant le prédicat P.
6 6 2 e soumission à Technique et science informatiques. Table A := Table A {rec(val 1,...,val n )} END ; /*suppression d un tuple désigné par sa clé : delete from Table A where att 1 = val*/ DeleteA(val) = PRE val T 1 THEN ANY xx WHERE xx Table A xx Att 1 = val THEN Table A := Table A {xx} END END ;... END Structures de contrôle Comme nous le verrons dans la suite de ce rapport, le dernier niveau de notre processus de raffinement est constitué principalement d un ensemble de machines SQL importées par un composant implémentation. Ces machines SQL sont directement traduisibles en SQL. Notons que SQL étant un langage assertionnel ensembliste, il supporte une certaine forme d indéterminisme comme le choix arbitraire d un élément ou d un ensemble qui vérifie un prédicat. Ceci nous permet d avoir dans les opérations B de ces machines (cf exemple du "DeleteA" ci-dessus) des substitutions indéterministes (ANY X WHERE P THEN S END). En revanche, les substitutions de notre composant implémentation sont un sous-ensemble de celles admises en B0. Nous admettons exclusivement les instructions suivantes : If-Then-Else, Affectation, Appel d opérations, Variable locale (VAR X IN S END), Séquence et Tant que (boucle). Ces instructions sont suffisantes pour l expression de n importe quelle transaction base de données. 3. Vue d ensemble de l approche L approche que nous proposons comporte les étapes suivantes (voir figure 1) : 1) Modélisation UML : les données et les traitements du système sont représentés par des diagrammes UML spécialisés pour la description des systèmes d information [LAL 02]. Les données et les opérations de base (comme l insertion, suppression d objets, etc) sont naturellement décrites par un diagramme de classes. Pour les transactions, nous avons considéré les diagrammes d états/transitions et de collaborations. 2) Génération de spécifications B : à partir des diagrammes UML élaborés à la phase précédente, des spécifications B sont automatiquement générées. Si les spécifications traduisant les classes sont prouvées automatiquement par le prouveur de l AtelierB [DIG 96], la preuve des opérations supprimant un ensemble de liens d une association nécessite l ajout de règles utilisateur validées à leur tour par l AtelierB. Plus de détails peuvent être trouvés dans [MAM 02]. 3) Processus de raffinement : les spécifications abstraites prouvées sont successivement raffinées jusqu à l obtention d une implémentation relationnelle. Le processus de raffinement que nous avons défini est composé de deux phases successives et complémentaires : raffinement des données/opérations de base et raffinement des transactions. La première phase, entièrement automatique, s appuie sur l algorithme décrit
7 De B vers JAVA/SQL 7 Modélisation UML: Spécification UML pour les SI A * B * Traduction Génération de spécifications B Preuve Spécification abstraite B d un SI Processus de raffinement Raffinement des données et des opérations de base Données et opérations de base raffinées Raffinement des transactions Preuve Spécification concrèted une implémentationrelationnelle en B Traduction Preuve Production du code JAVA/SQL - Schémades relations en SQL - Classes JAVA/SQL représentant les opérations de base surles tables - Code des transactions en JAVA/SQL Plusieursétapessuccessives de raffinement Figure 1. Des spécifications UML à une implémentation relationnelle dans [Bat 92]. Cette phase est formalisée par un ensemble de règles de raffinement décrites en détail dans [LAL 00a]. Plusieurs niveaux de raffinement ont été définis permettant ainsi une meilleure gestion de la complexité des preuves de correction associées. À l issue de cette première phase, une seconde phase, semi automatique, raffine les transactions. Cette phase est décrite dans la section 5. À chaque phase de ce processus de raffinement, on prouve que la spécification obtenue respecte les propriétés de la spécification qu elle raffine : de proche en proche, on établit la conformité de l implémentation B vis-à-vis de la spécification abstraite initiale. 4) Production du code JAVA/SQL : cette étape produit le code correspondant à la spécification du dernier niveau de raffinement. Cette phase de codage permet de définir, d une part, le schéma de la base de données et les requêtes SQL de base associées (insertion, suppression d un tuple, etc), et d autre part, le code JAVA/SQL correspondant aux transactions. Dans ce rapport, nous mettons plus l accent sur l implémentation des transactions ainsi que sur la phase de production du code JAVA/SQL. 4. Élaboration et raffinement de la spécification B : illustration par l exemple L objet de cette section n est pas de décrire exhaustivement la génération de spécifications B à partir des diagrammes UML et leur raffinement successif, mais plutôt de caractériser la forme générique et standard des spécifications obtenues tant au niveau abstrait qu au niveau concret. Ces caractéristiques sont très importantes dans le sens où elles permettent la définition d une approche systématique de développement
8 8 2 e soumission à Technique et science informatiques. formel. Dans ce qui suit, nous présentons les principaux résultats illustrés sur un cas d étude décrit ci-après. La spécification B et le code JAVA/SQL complet de cette étude de cas sont donnés en annexes Présentation du cas d étude Le système que nous considérons concerne la gestion d un club vidéo simplifié de prêts d un ensemble de cassettes. Il s agit avant tout d un exemple didactique permettant d illustrer l approche développée. Chaque cassette décrite par un titre (Titre) est caractérisée par le nombre de copies disponibles (NbLibre). Plusieurs cassettes peuvent avoir le même titre.une copie de cassette appartient à une seule boutique identifiée par un numéro (NumBo) et caractérisée par une adresse (AdresBo). Un client identifié par un numéro (NumCl) est décrit par un nom (NomCl). Un client peut emprunter plusieurs cassettes, de même, une cassette peut être empruntée par plusieurs clients dans la limite du nombre de copies disponibles. Le prêt d une cassette par un client est caractérisé par une date (DateE) et un statut (Statut). La structure des données de ce système est décrite par la figure 2. Le statut d un nouvel emprunt dépend de la disponibilité de la cassette sur laquelle porte l emprunt. Si au moins une copie de cette cassette est disponible, l emprunt est enregistré avec un statut en cours (Statut=Ok), sinon en attente (Statut= Att). Figure 2. Diagramme de classes du club vidéo 4.2. Génération et caractéristiques des spécifications B Les caractéristiques principales des spécifications B que nous obtenons par traduction des diagrammes UML sont leur structure et leur forme génériques. Ces spécifications sont organisées en deux niveaux : interne et externe. Ces deux niveaux sont détaillés ci-après Niveau interne Le niveau interne est dérivé à partir du diagramme de classes UML. Il contient les variables définissant l état du système ainsi qu un ensemble d opérations de base agissant sur ces variables. Ce niveau est interne dans le sens où les variables et les
9 De B vers JAVA/SQL 47 Annexe C. Code JAVA Cette section décrit le code JAVA généré pour le cas d étude présenté dans ce rapport. C.1. La Classe Boutique ÑÔÓÖØ Ú º Õº ÔÙ ÓÙØ ÕÙ ß ÔÖ Ú Ø ÓÒÒ Ø ÓÒ ÓÒÒ» Ö Ø ÓÒ ³ÙÒ Ò Ø Ò» ÔÙ ÓÙØ ÕÙ ÓÒÒ Ø ÓÒ ÓÒÒµ Ø ÖÓÛ ËÉÄ Ü ÔØ ÓÒ ß Ø ºÓÒÒ ÓÒÒ» Ê ØÓÙÖÒ Ö ÓÒÒ Ü ÓÒ Ó» ÔÙ ÓÒÒ Ø ÓÒ Ø ÓÒÒ Ø ÓÒ µ ß Ö ØÙÖÒ ÓÒÒ C.2. La Classe Cassette ÑÔÓÖØ Ú º Õº ÔÙ ØØ ß ÔÖ Ú Ø ÈÖ Ô Ö ËØ Ø Ñ ÒØ ØÑØÍÔ Ø Æ Ä Ö ÔÖ Ú Ø ÈÖ Ô Ö ËØ Ø Ñ ÒØ ØÑØÊ Æ Ä Ö ÔÖ Ú Ø ÓÒÒ Ø ÓÒ ÓÒÒ ÔÙ ØØ ÓÒÒ Ø ÓÒ ÓÒÒµ Ø ÖÓÛ ËÉÄ Ü ÔØ ÓÒ ß Ø ºÓÒÒ ÓÒÒ ØÑØÍÔ Ø Æ Ä Ö ÓÒÒºÔÖ Ô Ö ËØ Ø Ñ ÒØ ÙÔ Ø ØØ Ø Æ Ä Ö ÏÀ Ê ÆÙÑ µ ØÑØÊ Æ Ä Ö ÓÒÒºÔÖ Ô Ö ËØ Ø Ñ ÒØ Ø Æ Ä Ö ÖÓÑ ØØ Û Ö ÆÙÑ µ ÔÙ ÓÒÒ Ø ÓÒ Ø ÓÒÒ Ø ÓÒ µ ß Ö ØÙÖÒ ÓÒÒ
10 48 2 e soumission à Technique et science informatiques. ÔÙ ÚÓ ÍÔ Ø Æ Ä Ö ÒØ ÒÙ ÒØ Ò µ Ø ÖÓÛ ËÉÄ Ü ÔØ ÓÒ ß ØÑØÍÔ Ø Æ Ä Ö º ØÁÒØ ½ ÒÙµ ØÑØÍÔ Ø Æ Ä Ö º ØÁÒØ ¾ Ò µ ØÑØÍÔ Ø Æ Ä Ö º Ü ÙØ ÍÔ Ø µ ÔÙ ÓÓ Ò ÓÔ ÔÓÒ ÒØ ÒÙµ Ø ÖÓÛ ËÉÄ Ü ÔØ ÓÒ ß ØÑØÊ Æ Ä Ö º ØÁÒØ ½ ÒÙµ Ê ÙØË Ø Ö ØÑØÊ Æ Ä Ö º Ü ÙØ ÉÙ ÖÝ µ Ö ºÒ ÜØ µ ÒØ ÜÔ½ Ö º ØÁÒØ ½µ Ö ØÙÖÒ ÜÔ½ ¼µ ÔÙ ÒØ ÆÓÙÚ Î Æ Ä Ö ÒØ ÒÙµ Ø ÖÓÛ ËÉÄ Ü ÔØ ÓÒ ß ØÑØÊ Æ Ä Ö º ØÁÒØ ½ ÒÙµ Ê ÙØË Ø Ö ØÑØÊ Æ Ä Ö º Ü ÙØ ÉÙ ÖÝ µ Ö ºÒ ÜØ µ Ö ØÙÖÒ Ö º ØÁÒØ ½µ¹½µ C.3. La Classe Client ÑÔÓÖØ Ú º Õº ÔÙ ÒØß ÔÖ Ú Ø ÓÒÒ Ø ÓÒ ÓÒÒ ÔÙ ÒØ ÓÒÒ Ø ÓÒ ÓÒÒµ Ø ÖÓÛ ËÉÄ Ü ÔØ ÓÒ ß Ø ºÓÒÒ ÓÒÒ ÔÙ ÓÒÒ Ø ÓÒ Ø ÓÒÒ Ø ÓÒ µ ß Ö ØÙÖÒ ÓÒÒ C.4. La Classe Emprunt ÑÔÓÖØ Ú º Õº ÑÔÓÖØ Î ØºÎ ØÓÖË Ø ÔÙ ÑÔÖÙÒØß
11 De B vers JAVA/SQL 49 ÔÖ Ú Ø ÈÖ Ô Ö ËØ Ø Ñ ÒØ ØÑØÁÒ ÖØ ÔÖ Ú Ø Ø Ø ÈÖ Ô Ö ËØ Ø Ñ ÒØ ØÑØÊ Ø ÔÖ Ú Ø ÓÒÒ Ø ÓÒ ÓÒÒ ÔÙ ÑÔÖÙÒØ ÓÒÒ Ø ÓÒ ÓÒÒµ Ø ÖÓÛ ËÉÄ Ü ÔØ ÓÒ ß Ø ºÓÒÒ ÓÒÒ ØÑØÁÒ ÖØ ÓÒÒºÔÖ Ô Ö ËØ Ø Ñ ÒØ Ò ÖØ ÒØÓ ÑÔÖÙÒØ Ú Ù µ µ ØÑØÊ Ø ÓÒÒºÔÖ Ô Ö ËØ Ø Ñ ÒØ Ø Ø ÖÓÑ ÑÔÖÙÒØ Û Ö ÑÔÖÙÒØ Ò ÑÔÖÙÒØ µ ÔÙ ÓÒÒ Ø ÓÒ Ø ÓÒÒ Ø ÓÒ µ ß Ö ØÙÖÒ ÓÒÒ ÔÙ ÚÓ ÁÒ ÖØ ÑÔÖÙÒØ ÒØ ÒØ ÓÓ Ò Ø Ø µ Ø ÖÓÛ ËÉÄ Ü ÔØ ÓÒ ß ØÑØÁÒ Öغ ØÁÒØ ½ µ ØÑØÁÒ Öغ ØÁÒØ ¾ µ ØÑØÁÒ Öغ Ø Ø µ ØÑØÁÒ Öغ Ø ÓÓ Ò Øµ ØÑØÁÒ Öغ Ü ÙØ ÍÔ Ø µ ÔÙ Ø ÑÔÖÙÒØÊ Ø ÒØ ÒØ µ Ø ÖÓÛ ËÉÄ Ü ÔØ ÓÒ ÔÔ Ü ÔØ ÓÒß ØÑØÊ Ø º ØÁÒØ ½ µ ØÑØÊ Ø º ØÁÒØ ¾ µ Ê ÙØË Ø Ö ØÑØÊ Ø º Ü ÙØ ÉÙ ÖÝ µ Ö ºÒ ÜØ µ Ö ØÙÖÒ Ö º Ø Ø ½µ ÔÙ Ê ÙØË Ø Ø ÒØ Î ØÓÖË Ø µ Ø ÖÓÛ ËÉÄ Ü ÔØ ÓÒ ß ËØÖ Ò Ô Ö Ñ Ò Û ËØÖ Ò µ ÒØ ËØÖ Ò Ö Õ Ø ÑÔÖÙÒØ ÖÓÑ ÑÔÖÙÒØ Û Ö ÑÔÖÙÒØ ÁÆ ÓÖ ¼ º Þ µ¹½ µ Ö Õ Ö Õ Ö Õ Ö Õ µ ÈÖ Ô Ö ËØ Ø Ñ ÒØ ØÑØÄ Ö ÓÒÒºÔÖ Ô Ö ËØ Ø Ñ ÒØ Ö Õµ ÓÖ ¼ º Þ µ µ ØÑØÄ Ö º ØÇ Ø ½ ºÚ ØÓÖ µº Ñ ÒØ Ø µµ Ê ÙØË Ø Ö ÙØ ØÑØÄ Ö º Ü ÙØ ÉÙ ÖÝ µ Ö ØÙÖÒ Ö ÙØ
12 50 2 e soumission à Technique et science informatiques. C.5. La Classe ClientEnRetard ÑÔÓÖØ Ú º Õº ÑÔÓÖØ Ú ºÙØ º Ò Ö ÑÔÓÖØ Î ØÓÖË Ø ÔÙ ÒØ ÒÊ Ø Ö ß ÓÒÒ Ø ÓÒ ÓÒÒ ÑÔÖÙÒØ ÑÔÖÙÒØ ÔÙ ÒØ ÒÊ Ø Ö ÑÔÖÙÒØ ÑÔÖÙÒص ß Ø ºÓÒÒ ÑÔÖÙÒغ Ø ÓÒÒ Ø ÓÒ µ Ø º ÑÔÖÙÒØ ÑÔÖÙÒØ» ÇÔ Ö Ø ÓÒ Ø Ø ÒØ ÙÒ ÒØ Ø Ò Ö Ø Ö» ÔÙ ÓÓ Ò Î ÒØ µ Ø ÖÓÛ ËÉÄ Ü ÔØ ÓÒ ÔÔ Ü ÔØ ÓÒß ÓÓ Ò ØÖÓÙÚ» ÓÒ ØÖÙØ ÓÒ ³ Ò Ñ ß» Î ØÓÖË Ø ½ Ò Û Î ØÓÖË Ø µ ½º µ Î ØÓÖË Ø Ò Û Î ØÓÖË Ø ÑÔÖÙÒغ Ø ÒØ ½µµ ÒØ ÓÖ ¼ º Þ µ ²² ØÖÓÙÚ µ µß ÒØ Ö Ø ÁÒØ Öµ ºÚ ØÓÖ µµº Ñ ÒØ Ø µµº ÒØÎ Ù µ Ú ºÙØ º Ò Ö Ò Û Ú ºÙØ º Ö ÓÖ Ò Ò Ö µ Ú º Õº Ø Ø ÑÔÖÙÒغ ÑÔÖÙÒØÊ Ø Ö Ø µ º ØÌ Ñ Ø µ Ú ºÙØ º Ò Ö Ø ÓÙÖ ÒØ Ò Öº ØÁÒ Ø Ò µ º Ò Öº Ì ¼µ º ÓÖ Ø ÓÙÖ ÒØ µµ ØÖÓÙÚ ØÖÙ Ö ØÙÖÒ ØÖÓÙÚ C.6. La Classe RenvoieCassette ÑÔÓÖØ Ú º Õº ÔÙ Ê ÒÚÓ ØØ ß ÓÒÒ Ø ÓÒ ÓÒÒ ÔÙ Ê ÒÚÓ ØØ ÓÒÒ Ø ÓÒ ÓÒµ Ø ÖÓÛ ËÉÄ Ü ÔØ ÓÒß
13 De B vers JAVA/SQL 51 Ø ºÓÒÒ ÓÒ ÔÙ ÒØ Î ËØÖ Ò Ø ËØÖ Ò Óµ Ø ÖÓÛ ËÉÄ Ü ÔØ ÓÒ ÔÔ Ü ÔØ ÓÒß ÓÓ Ò ØÖÓÙÚ ÈÖ Ô Ö ËØ Ø Ñ ÒØ Ö ÕÙ Ø ÓÒÒºÔÖ Ô Ö ËØ Ø Ñ ÒØ Ø ºÆÙÑ ÖÓÑ ØØ Û Ö Ø Óº Ö Ó ÖÓÑ ÓÙØ ÕÙ Ó Û Ö ÓºÆÙÑ Ó º ÔÔ ÖØ Òص Ò ºØ ØÖ µ Ö ÕÙ Ø º ØËØÖ Ò ½ Óµ Ö ÕÙ Ø º ØËØÖ Ò ¾ Ø µ Ê ÙØË Ø Ö Ö ÕÙ Ø º Ü ÙØ ÉÙ ÖÝ µ Ö ºÒ ÜØ µ Ö ØÙÖÒ Ö º ØÁÒØ ½µ C.7. La Classe traitant les exceptions AppException ÔÙ Ò ÔÔ Ü ÔØ ÓÒ ÜØ Ò ÊÙÒØ Ñ Ü ÔØ ÓÒ ß ÔÙ ÔÔ Ü ÔØ ÓÒ ËØÖ Ò Ñ µ ß ÙÔ Ö Ñ µ ËÝ Ø ÑºÓÙغÔÖ ÒØÒ Ñ µ C.8. La Classe représentant la transaction LocationCassette ÑÔÓÖØ Ú º Õº ÑÔÓÖØ Ú ºÙØ º Ò Ö ÔÙ ËÝ Ø Ñ ß ÔÖ Ú Ø ÑÔÖÙÒØ ÑÔÖÙÒØ ÔÖ Ú Ø ØØ ØØ ÔÖ Ú Ø ÓÙØ ÕÙ ÓÙØ ÕÙ ÔÖ Ú Ø ÒØ ÒØ ÔÖ Ú Ø ÒØ ÒÊ Ø Ö ÒØ ÒÖ Ø Ö ÔÖ Ú Ø Ê ÒÚÓ ØØ Ö ÒÚÓ ØØ ÔÖ Ú Ø ËÝ Ø Ñ Ý Ø Ñ ÓÒÒ Ø ÓÒ ÓÒÒ ÔÙ ËÝ Ø Ñ Ê ÒÚÓ ØØ Ö ÒÚÓ ØØ ÒØ ÒÊ Ø Ö ÒØ ÒÖ Ø Ö ÑÔÖÙÒØ ÑÔÖÙÒØ ØØ ØØ ÓÙØ ÕÙ
14 52 2 e soumission à Technique et science informatiques. ÓÙØ ÕÙ ÒØ Òص ß Òغ Ø ÓÒÒ Ø ÓÒ µ ÑÔÖÙÒغ Ø ÓÒÒ Ø ÓÒ µ ØØ º Ø ÓÒÒ Ø ÓÒ µ Òغ Ø ÓÒÒ Ø ÓÒ µ ØØ º Ø ÓÒÒ Ø ÓÒ µ ÓÙØ ÕÙ º Ø ÓÒÒ Ø ÓÒ µµ Ø ÖÓÛ Ò Û ÔÔ Ü ÔØ ÓÒ Ä Ò Ø Ò Ò³ÙØ ÒØ Ô Ñ Ñ ÓÒÒ Ü ÓÒ Ù ÖÚ ÙÖ µ Ø ºÓÒÒ Òغ Ø ÓÒÒ Ø ÓÒ µ Ø º ÒØ ÒØ Ø º ÑÔÖÙÒØ ÑÔÖÙÒØ Ø º ØØ ØØ Ø º ÓÙØ ÕÙ ÓÙØ ÕÙ Ø º ÒØ ÒÖ Ø Ö ÒØ ÒÖ Ø Ö Ø ºÖ ÒÚÓ ØØ Ö ÒÚÓ ØØ» ÇÔ Ö Ø ÓÒ ³ ÓÙØ ³ÙÒ ÑÔÖÙÒØ» ÔÙ ËØÖ Ò ÄÓ Ø ÓÒ ØØ ÒØ ËØÖ Ò Ø ËØÖ Ò Óµ Ø ÖÓÛ ËÉÄ Ü ÔØ ÓÒ ÔÔ Ü ÔØ ÓÒß ØÖÝ ß ËØÖ Ò Ö ÔÓÒ ÓÓ Ò Ú ÔÖ ½ ÒØ ÒÖ Ø Ö ºÎ µ ÒØ Ö ÒÚÓ ØØ ºÎ Ø Óµ ÓÓ Ò Ú ÔÖ ¾ ØØ º ÓÔ ÔÓÒ µ ÒØ Ú Ô Ö Ñ ØØ ºÆÓÙÚ Î Æ Ä Ö µ Ú ÔÖ ½µß Ú ºÙØ º Ò Ö Ò Öº ØÁÒ Ø Ò µ Ú º Õº Ø Ø ÓÙÖ ÒØ Ò Û Ú º Õº Ø º ØÌ Ñ µº ØÌ Ñ µµ Ú ÔÖ ¾µß ÑÔÖÙÒغÁÒ ÖØ ÑÔÖÙÒØ ØÖÙ Ø ÓÙÖ ÒØ µ Ö ÔÓÒ Ù ß ÑÔÖÙÒغÁÒ ÖØ ÑÔÖÙÒØ Ø ÓÙÖ ÒØ µ Ö ÔÓÒ ØØ Ú ÔÖ ¾µ ØØ ºÍÔ Ø Æ Ä Ö Ú Ô Ö Ñµ ÓÒÒºÓÑÑ Ø µ ÓÒÒºÓ µ Ö ÔÓÒ ÖÖ ÙÖ Ö ØÙÖÒ Ö ÔÓÒ Ø Ü ÔØ ÓÒ µ ß ËÝ Ø ÑºÓÙغÔÖ ÒØ µ
15 De B vers JAVA/SQL 53 ÓÒÒºÖÓ µ Ö ØÙÖÒ ØÖ Ò Ø ÓÒ ÒÓÒ Ü ÙØ µ
Génération de code à partir d une spécification B : Application aux bases de données
Génération de code à partir d une spécification B : Application aux bases de données Amel Mammar * Régine Laleau ** Université du Luxembourg, LACL, Université Paris 12 SE2C, 6 rue Richard Courdenhove-Kalergi
Plus en détailOpenPaaS Le réseau social d'entreprise
OpenPaaS Le réseau social d'entreprise Spécification des API datastore SP L2.3.1 Diffusion : Institut MinesTélécom, Télécom SudParis 1 / 12 1OpenPaaS DataBase API : ODBAPI...3 1.1Comparaison des concepts...3
Plus en détailForthcoming Database
DISS.ETH NO. 15802 Forthcoming Database A Framework Approach for Data Visualization Applications A dissertation submitted to the SWISS FEDERAL INSTITUTE OF TECHNOLOGY ZURICH for the degree of Doctor of
Plus en détailCREATION WEB DYNAMIQUE
CREATION WEB DYNAMIQUE IV ) MySQL IV-1 ) Introduction MYSQL dérive directement de SQL (Structured Query Language) qui est un langage de requêtes vers les bases de données relationnelles. Le serveur de
Plus en détailI4 : Bases de Données
I4 : Bases de Données Passage de UML au modèle relationnel Georges LOUIS Département Réseaux et Télécommunications Université de La Rochelle Module I4 2008-2009 1 G.Louis Sommaire 1 Des classes aux tables
Plus en détailInformation utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/
Systèmes de gestion de bases de données Introduction Université d Evry Val d Essonne, IBISC utiles email : cinzia.digiusto@gmail.com webpage : http://www.ibisc.univ-evry.fr/ digiusto/ Google+ : https://plus.google.com/u/0/b/103572780965897723237/
Plus en détailNFA 008. Introduction à NoSQL et MongoDB 25/05/2013
NFA 008 Introduction à NoSQL et MongoDB 25/05/2013 1 NoSQL, c'est à dire? Les bases de données NoSQL restent des bases de données mais on met l'accent sur L'aspect NON-relationnel L'architecture distribuée
Plus en détailUML et les Bases de Données
CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..
Plus en détailLangage SQL : créer et interroger une base
Langage SQL : créer et interroger une base Dans ce chapitre, nous revenons sur les principales requêtes de création de table et d accès aux données. Nous verrons aussi quelques fonctions d agrégation (MAX,
Plus en détailLangage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL
Cours PL/SQL Langage propre à Oracle basé sur ADA Offre une extension procédurale à SQL PL/SQL permet d utiliser un sous-ensemble du langage SQL des variables, des boucles, des alternatives, des gestions
Plus en détailBases de Données relationnelles et leurs systèmes de Gestion
III.1- Définition de schémas Bases de Données relationnelles et leurs systèmes de Gestion RAPPELS Contraintes d intégrité sous Oracle Notion de vue Typage des attributs Contrainte d intégrité Intra-relation
Plus en détailQuelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)
Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07
Plus en détailLes bases de données
Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL ) Yves Roggeman Boulevard du Triomphe CP 212 B-1050 Bruxelles (Belgium) Idée intuitive
Plus en détailCOMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2
SQL Sommaire : COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2 COMMANDES DE MANIPULATION DE DONNEES... 2 COMMANDES DE CONTROLE TRANSACTIONNEL... 2 COMMANDES DE REQUETE DE DONNEES... 2 COMMANDES
Plus en détailOlivier Mondet http://unidentified-one.net
T-GSI Ch.4 Le Langage SQL LDD, LCD Cet exercice guidé reprend le plan suivis lors de l intervention de formation faite pour l académie de Versailles. L objectif principal visait en la présentation du langage
Plus en détailTable des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction
PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés
Plus en détailCréation et Gestion des tables
Création et Gestion des tables Version 1.0 Z Grégory CASANOVA 2 Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les tables... 5 3.1 Les types de données... 5 3.1.1 Les types de données Sql Server... 5
Plus en détailGestion des transactions et accès concurrents dans les bases de données relationnelles
Gestion des transactions et accès concurrents dans les bases de données relationnelles Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Fev.
Plus en détailLe Langage SQL version Oracle
Université de Manouba École Supérieure d Économie Numérique Département des Technologies des Systèmes d Information Le Langage SQL version Oracle Document version 1.1 Mohamed Anis BACH TOBJI anis.bach@isg.rnu.tn
Plus en détailMEMOIRE. Présenté à. L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTERE
République Tunisienne Ministère de l Enseignement Supérieur, De la Recherche Scientifique et de la Technologie Université de Sfax École Nationale d Ingénieurs de Sfax Ecole Doctorale Sciences et Technologies
Plus en détailCours Base de données relationnelles. M. Boughanem, IUP STRI
Cours Base de données relationnelles 1 Plan 1. Notions de base 2. Modèle relationnel 3. SQL 2 Notions de base (1) Définition intuitive : une base de données est un ensemble d informations, (fichiers),
Plus en détailChapitre VI- La validation de la composition.
Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions
Plus en détailBases de données relationnelles
Bases de données relationnelles Système de Gestion de Bases de Données Une base de données est un ensemble de données mémorisé par un ordinateur, organisé selon un modèle et accessible à de nombreuses
Plus en détailPlan. Department of Informatics
Plan 1. Application Servers 2. Servlets, JSP, JDBC 3. J2EE: Vue d ensemble 4. Distributed Programming 5. Enterprise JavaBeans 6. Enterprise JavaBeans: Special Topics 7. Prise de recul critique Enterprise
Plus en détailIntroduction au Système de Gestion de Base de Données et aux Base de Données
Introduction au Système de Gestion de Base de Données et aux Base de Données Formation «Gestion des données scientifiques : stockage et consultation en utilisant des bases de données» 24 au 27 /06/08 Dernière
Plus en détailChapitre 5 LE MODELE ENTITE - ASSOCIATION
Chapitre 5 LE MODELE ENTITE - ASSOCIATION 1 Introduction Conception d une base de données Domaine d application complexe : description abstraite des concepts indépendamment de leur implémentation sous
Plus en détailWEB page builder and server for SCADA applications usable from a WEB navigator
Générateur de pages WEB et serveur pour supervision accessible à partir d un navigateur WEB WEB page builder and server for SCADA applications usable from a WEB navigator opyright 2007 IRAI Manual Manuel
Plus en détailLangage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes
Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition
Plus en détailBases de données. Chapitre 1. Introduction
Références : Bases de données Pierre Wolper Email : pw@montefiore.ulg.ac.be URL : http : //www.montefiore.ulg.ac.be/~pw/ http : //www.montefiore.ulg.ac.be/ ~pw/cours/bd.html Henry F. Korth, Abraham Silberschatz,
Plus en détailA.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW
A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW Groupe : 322 Exploitation des Banques de données 420-PK6-SL (1-2-1) Étape : 3 Professeur Nom: Marcel Aubin Courriel : maubin@cegep-st-laurent.qc.ca
Plus en détailTP3 : Creation de tables 1 seance
Universite de Versailles IUT de Velizy - Algorithmique 2005/2006 TP3 : Creation de tables 1 seance Objectif : Creation et modication de tables dans une base de donnees. Avant de commencer ce TP, terminer
Plus en détailUniversité de Sherbrooke, Département d informatique
Université de Sherbrooke, Département d informatique IGL501 : Méthodes formelles en génie logiciel, Examen périodique Professeur : Marc Frappier, mardi 7 octobre 2013, 15h30 à 18h20, local D4-2022 Documentation
Plus en détailFormula Negator, Outil de négation de formule.
Formula Negator, Outil de négation de formule. Aymerick Savary 1,2, Mathieu Lassale 1,2, Jean-Louis Lanet 1 et Marc Frappier 2 1 Université de Limoges 2 Université de Sherbrooke Résumé. Cet article présente
Plus en détailEncryptions, compression et partitionnement des données
Encryptions, compression et partitionnement des données Version 1.0 Grégory CASANOVA 2 Compression, encryption et partitionnement des données Sommaire 1 Introduction... 3 2 Encryption transparente des
Plus en détailBases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications
Bases de données Oracle Virtual Private Database (VPD) pour la gestion des utilisateurs d applications P.-A. Sunier, HEG-Arc Neuchâtel avec le concours de J. Greub pierre-andre.sunier@he-arc.ch http://lgl.isnetne.ch/
Plus en détailAcquisition des données - Big Data. Dario VEGA Senior Sales Consultant
Acquisition des données - Big Data Dario VEGA Senior Sales Consultant The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated
Plus en détailBases de données relationnelles & SQL
Bases de données relationnelles & SQL Objectifs Appréhender les concepts du modèle relationnel. Etre capable de concevoir un schéma relationnel. Etre capable de créer une base de données relationnelle
Plus en détailConception des bases de données : Modèle Entité-Association
Conception des bases de données : Modèle Entité-Association La modélisation d un problème, c est-à-dire le passage du monde réel à sa représentation informatique, se définit en plusieurs étapes pour parvenir
Plus en détailChapitre VIII. Les bases de données. Orientées Objet. Motivation
Chapitre VIII Motivation Le modèle relationnel connaît un très grand succès et s avère très adéquat pour les applications traditionnelles des bases de données (gestion) Les bases de données Orientées Objet
Plus en détail16H Cours / 18H TD / 20H TP
INTRODUCTION AUX BASES DE DONNEES 16H Cours / 18H TD / 20H TP 1. INTRODUCTION Des Fichiers aux Bases de Données 2. SYSTEME DE GESTION DE BASE DE DONNEES 2.1. INTRODUCTION AUX SYSTEMES DE GESTION DE BASES
Plus en détailLicence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées
Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées ANNEE 2014 / 2015 Désignation de l enseignement : Bases de données Nom du document : TP SQL sous PostgreSQL Rédacteur :
Plus en détailCours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr
Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Histoire de Java Machine
Plus en détailNotes de cours : bases de données distribuées et repliquées
Notes de cours : bases de données distribuées et repliquées Loïc Paulevé, Nassim Hadj-Rabia (2009), Pierre Levasseur (2008) Licence professionnelle SIL de Nantes, 2009, version 1 Ces notes ont été élaborées
Plus en détailLe langage SQL pour Oracle - partie 1 : SQL comme LDD
Le langage SQL pour Oracle - partie 1 : SQL comme LDD 1 SQL : Introduction SQL : Structured Query Langage langage de gestion de bases de donn ees relationnelles pour Définir les données (LDD) interroger
Plus en détailSQL Historique 1982 1986 1992
SQL Historique 1950-1960: gestion par simple fichier texte 1960: COBOL (début de notion de base de données) 1968: premier produit de sgbdr structuré (IBM -> IDMS) 1970-74: élaboration de l'outil d'analyse
Plus en détailREMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION
REMOTE DATA ACQUISITION OF EMBEDDED SYSTEMS USING INTERNET TECHNOLOGIES: A ROLE-BASED GENERIC SYSTEM SPECIFICATION THÈSE N O 2388 (2001) PRÉSENTÉE AU DÉPARTEMENT D'INFORMATIQUE ÉCOLE POLYTECHNIQUE FÉDÉRALE
Plus en détailBases de Données Avancées
1/62 Bases de Données Avancées Introduction & Rappel Conception et Modélisation Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR
Plus en détailAnalyse,, Conception des Systèmes Informatiques
Analyse,, Conception des Systèmes Informatiques Méthode Analyse Conception Introduction à UML Génie logiciel Définition «Ensemble de méthodes, techniques et outils pour la production et la maintenance
Plus en détailDSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur goulwen.lefur@obeo.fr. Le 23 novembre 2012
DSL Domain Specific Language À l'aide des technologies Eclipse Modeling Le 23 novembre 2012 Goulwen Le Fur goulwen.lefur@obeo.fr Le but de cette session Montrer : Ce qu'est-un DSL/DSM Comment implémenter
Plus en détailVisual Paradigm Contraintes inter-associations
Visual Paradigm Contraintes inter-associations Travail de Bachelor d'informaticien de gestion Partie C Présentation de Visual Paradigm 1 Présentation de Visual Paradigm For UML L objet du travail de Bachelor
Plus en détailTraduction des Langages : Le Compilateur Micro Java
BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant
Plus en détail1. Base de données SQLite
Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis
Plus en détailPrincipe de symétrisation pour la construction d un test adaptatif
Principe de symétrisation pour la construction d un test adaptatif Cécile Durot 1 & Yves Rozenholc 2 1 UFR SEGMI, Université Paris Ouest Nanterre La Défense, France, cecile.durot@gmail.com 2 Université
Plus en détailA QUOI SERVENT LES BASES DE DONNÉES?
BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès
Plus en détailBases de données et sites WEB
Bases de données et sites WEB Cours2 : Sécurité et contrôles d accès Anne Doucet 1 Authentification Autorisation Privilèges Rôles Profils Limitations de ressources Plan Audit Contrôle d accès via les vues
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailMELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE :
MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE : Housing system est un service gratuit, qui vous propose de vous mettre en relation avec
Plus en détailLamia Oukid, Ounas Asfari, Fadila Bentayeb, Nadjia Benblidia, Omar Boussaid. 14 Juin 2013
Cube de textes et opérateur d'agrégation basé sur un modèle vectoriel adapté Text Cube Model and aggregation operator based on an adapted vector space model Lamia Oukid, Ounas Asfari, Fadila Bentayeb,
Plus en détailLes Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.
Les Triggers SQL Didier DONSEZ Université de Valenciennes Institut des Sciences et Techniques de Valenciennes donsez@univ-valenciennes.fr 1 Sommaire Motivations Trigger Ordre Trigger Ligne Condition Trigger
Plus en détailLa persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1
La persistance des données dans les applications : DAO, JPA, Hibernate... COMPIL 2010 francois.jannin@inp-toulouse.fr 1 Plan 1. Généralités sur la persistance des données dans les applications 2. La connection
Plus en détailIntroduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza
Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Avant de commencer à travailler avec le produit, il est nécessaire de comprendre, à un haut niveau, les problèmes en réponse desquels l outil a été
Plus en détailIFT3030 Base de données. Chapitre 1 Introduction
IFT3030 Chapitre 1 Introduction Plan du cours Introduction Architecture Modèles de données Modèle relationnel Algèbre relationnelle SQL Conception Fonctions avancées Concepts avancés Modèle des objets
Plus en détailSystèmes de Gestion de Bases de Données
Systèmes de Gestion de Bases de Données Luiz Angelo STEFFENEL DUT Informatique 2ème année IUT Nancy Charlemagne Vues Vue : une table virtuelle de la base de données dont le contenu est défini par une requête
Plus en détailObjectifs du TP : Initiation à Access
Objectifs du TP : Initiation à Access I. Introduction Microsoft Access fait partie de l ensemble Microsoft Office. C est un SGBDR (système de gestion de bases de données relationnelles) présentant une
Plus en détail1. Qu'est-ce que SQL?... 2. 2. La maintenance des bases de données... 2. 3. Les manipulations des bases de données... 5
1. Qu'est-ce que SQL?... 2 2. La maintenance des bases de données... 2 2.1 La commande CREATE TABLE... 3 2.2 La commande ALTER TABLE... 4 2.3 La commande CREATE INDEX... 4 3. Les manipulations des bases
Plus en détailModule Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS
Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS 1. Introduction Nous allons aborder la notion de surcouche procédurale au sein des SGBDS relationnels tels que Oracle (PLSQL)
Plus en détailOCL - Object Constraint Language
OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object
Plus en détailIngénierie des Modèles. Méta-modélisation
Ingénierie des Modèles Méta-modélisation Eric Cariou Master Technologies de l'internet 2 ème année Université de Pau et des Pays de l'adour UFR Sciences Pau Département Informatique Eric.Cariou@univ-pau.fr
Plus en détailEditing and managing Systems engineering processes at Snecma
Editing and managing Systems engineering processes at Snecma Atego workshop 2014-04-03 Ce document et les informations qu il contient sont la propriété de Ils ne doivent pas être copiés ni communiqués
Plus en détailGestion de stock pour un magasin
Département d Informatique Université de Fribourg, Suisse http://diuf.unifr.ch Gestion de stock pour un magasin Stock online utilise ASP/MS-Access DO Thi Tra My No étudiant : 05-333-750 Travail de séminaire
Plus en détail- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK
ArchiMate et l architecture d entreprise Par Julien Allaire Ordre du jour Présentation du langage ArchiMate - Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK Présentation du modèle
Plus en détailAMENDMENT TO BILL 32 AMENDEMENT AU PROJET DE LOI 32
THAT the proposed clause 6(1), as set out in Clause 6(1) of the Bill, be replaced with the following: Trustee to respond promptly 6(1) A trustee shall respond to a request as promptly as required in the
Plus en détailÉvaluation et implémentation des langages
Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation
Plus en détailExemple accessible via une interface Web. Bases de données et systèmes de gestion de bases de données. Généralités. Définitions
Exemple accessible via une interface Web Une base de données consultable en ligne : Bases de données et systèmes de gestion de bases de données The Trans-atlantic slave trade database: http://www.slavevoyages.org/tast/index.faces
Plus en détailMacroscope et l'analyse d'affaires. Dave Couture Architecte principal Solutions Macroscope
Macroscope et l'analyse d'affaires Dave Couture Architecte principal Solutions Macroscope Avis Avis d intention Ce document a pour but de partager des éléments de vision et d intentions de Fujitsu quant
Plus en détailCertification de l assemblage de composants dans le développement de logiciels critiques
Certification de l assemblage de composants dans le développement de logiciels critiques Philippe Baufreton 1, Emmanuel Chailloux 2, Jean-Louis Dufour 1, Grégoire Henry 3, Pascal Manoury 3, Etienne Millon
Plus en détailBases de données et sites WEB Licence d informatique LI345
Bases de données et sites WEB Licence d informatique LI345 Anne Doucet Anne.Doucet@lip6.fr http://www-bd.lip6.fr/ens/li345-2013/index.php/lescours 1 Contenu Transactions en pratique Modèle relationnel-objet
Plus en détailGuide d'installation rapide TFM-560X YO.13
Guide d'installation rapide TFM-560X YO.13 Table of Contents Français 1 1. Avant de commencer 1 2. Procéder à l'installation 2 Troubleshooting 6 Version 06.08.2011 16. Select Install the software automatically
Plus en détailExercices sur SQL server 2000
Exercices sur SQL server 2000 La diagramme de classe : Exercices sur SQL server 2000 Le modèle relationnel correspondant : 1 Créer les tables Clic-droit on Tables et choisir «New Table» Créer la table
Plus en détailLe langage SQL Rappels
Le langage SQL Rappels Description du thème : Présentation des principales notions nécessaires pour réaliser des requêtes SQL Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs,
Plus en détailCours Bases de données 2ème année IUT
Cours Bases de données 2ème année IUT Cours Bilan : Des vues à PL/SQL corrigé Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Cas exemple 2 Les tables... 3 Vues et index 4 Privilèges 5 Fonctions
Plus en détailOrganiser vos données - Big Data. Patrick Millart Senior Sales Consultant
Organiser vos données - Big Data Patrick Millart Senior Sales Consultant The following is intended to outline our general product direction. It is intended for information purposes only, and may not be
Plus en détailIntroduction aux Bases de Données Relationnelles Conclusion - 1
Pratique d un : MySQL Objectifs des bases de données Où en sommes nous? Finalement, qu est-ce qu un? Modèle relationnel Algèbre relationnelle Conclusion SQL Conception et rétro-conception Protection de
Plus en détailCours Bases de données 2ème année IUT
Cours Bases de données 2ème année IUT Cours 12 : Concurrence d accès Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Accès concurrents Définitions Verrous Collisions Niveaux de cohérence Blocage
Plus en détailIFT2255 : Génie logiciel
IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti
Plus en détailTable des matières. Avant-propos
Table des matières Avant-propos v Table des matières xi 1 Introduction aux systèmes de gestion de bases de données 1 1.1 Donnée et type de données 2 1.2 Donnée et information 2 1.3 Donnée simple et complexe
Plus en détailTechniques d analyse et de conception d outils pour la gestion du processus de segmentation des abonnés des entreprises de télécommunication
Techniques d analyse et de conception d outils pour la gestion du processus de segmentation des abonnés des entreprises de télécommunication R. Carlos Nana Mbinkeu 1,3, C. Tangha 1, A. Chomnoue 1, A. Kuete
Plus en détailTP Contraintes - Triggers
TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution
Plus en détailExclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011
Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique
Plus en détailVérification formelle de la plate-forme Java Card
Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations
Plus en détailBases de données cours 1
Bases de données cours 1 Introduction Catalin Dima Objectifs du cours Modèle relationnel et logique des bases de données. Langage SQL. Conception de bases de données. SQL et PHP. Cours essentiel pour votre
Plus en détailINSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES. 2. Les questions sont indépendantes les unes des autres.
INSTITUT NATIONAL DES TELECOMMUNICATIONS CONTROLE DES CONNAISSANCES Durée : 1h30 Date : 17/05/2006 Coordonnateurs : Amel Bouzeghoub et Bruno Defude Documents autorisés : ceux distribués en cours Avertissements
Plus en détailApplication web de gestion de comptes en banques
Application web de gestion de comptes en banques Objectif Réaliser une application Web permettant à un client de gérer ses comptes en banque Diagramme de cas d'utilisation 1 Les cas d'utilisation Connexion
Plus en détailA QUOI SERVENT LES BASES DE DONNÉES?
BASE DE DONNÉES OBJET Virginie Sans virginie.sans@irisa.fr A QUOI SERVENT LES BASES DE DONNÉES? Stockage des informations : sur un support informatique pendant une longue période de taille importante accès
Plus en détailPlan. Exemple: Application bancaire. Introduction. OCL Object Constraint Language Le langage de contraintes d'uml
OCL Object Constraint Language Le langage de contraintes d'uml Plan 1. Introduction 2. Les principaux concepts d'ocl Object Constraint Language 1 Object Constraint Language 2 Exemple: une application bancaire
Plus en détailAGROBASE : un système de gestion de données expérimentales
AGROBASE : un système de gestion de données expérimentales Daniel Wallach, Jean-Pierre RELLIER To cite this version: Daniel Wallach, Jean-Pierre RELLIER. AGROBASE : un système de gestion de données expérimentales.
Plus en détailUne méthode d apprentissage pour la composition de services web
Une méthode d apprentissage pour la composition de services web Soufiene Lajmi * Chirine Ghedira ** Khaled Ghedira * * Laboratoire SOIE (ENSI) University of Manouba, Manouba 2010, Tunisia Soufiene.lajmi@ensi.rnu.tn,
Plus en détail