Cours de bases de données. Philippe Rigaux

Dimension: px
Commencer à balayer dès la page:

Download "Cours de bases de données. Philippe Rigaux"

Transcription

1 Cours de bases de données Philippe Rigaux 13 juin 2001

2 2

3 TABLE DES MATIÈRES 3 Table des matières 1 Introduction 7 2 Présentation générale Données, Bases de données et SGBD Que doit-on savoir pour utiliser un SGBD? Définition du schéma de données Les opérations sur les données Optimisation Concurrence d accès Le plan du cours I Modèles et langages 15 3 Le modèle Entité/Association Principes généraux Bons et mauvais schémas La bonne méthode Le modèle E/A : Présentation informelle Le modèle Entités, attributs et identifiants Associations binaires Entités faibles Associations généralisées Avantage et inconvénients du modèle E/A Exercices Le modèle relationnel Définition d un schéma relationnel Passage d un schéma E/A à un schéma relationnel Règles générales Retour sur le choix des identifiants Dénormalisation du modèle logique Le langage de définition de données SQL Types SQL Création des tables Contraintes Modification du schéma Exercices

4 4 TABLE DES MATIÈRES 5 L algèbre relationnelle Les opérateurs de l algèbre relationnelle La sélection, La projection, Le produit cartésien, L union, La différence, Jointure, Expression de requêtes avec l algèbre Sélection généralisée Requêtes conjonctives Requêtes avec et Exercices Le langage SQL Requêtes simples SQL Sélections simples La clause WHERE Valeurs nulles Requêtes sur plusieurs tables Jointures Union, intersection et différence Requêtes imbriquées Conditions portant sur des relations Sous-requêtes correllées Agrégration Fonctions d agrégation La clause GROUP BY La clause HAVING Mises-à-jour Insertion Destruction Modification Exercices Schémas relationnels Schémas Définition d un schéma Utilisateurs Contraintes et assertions Vues Création et interrogation d une vue Mise à jour d une vue Triggers Principes des triggers Syntaxe Exercices Programmation avec SQL Interfaçage avec le langage C Un exemple complet Développement en C/SQL Autres commandes SQL L interface Java/JDBC

5 TABLE DES MATIÈRES Principes de JDBC Le plus simple des programmes JDBC Exemple d une applet avec JDBC II Aspects systèmes Techniques de stockage Stockage de données Supports Fonctionnement d un disque Optimisations Technologie RAID Fichiers Enregistrements Blocs Organisation d un fichier Oracle Fichiers et blocs Les tablespaces Création des tables Indexation Indexation de fichiers Index non-dense Index dense Index multi-niveaux L arbre-b Présentation intuitive Recherches avec un arbre-b Hachage Principes de base Hachage extensible Les index bitmap Indexation dans Oracle Arbres B Arbres B Indexation de documents Tables de hachage Index bitmap Introduction à la concurrence d accès Préliminaires Exécutions concurrentes : sérialisabilité Transaction Exécutions concurrentes : recouvrabilité Contrôle de concurrence Verrouillage à deux phases Contrôle par estampillage Gestion des transactions en SQL Exercices

6 6 TABLE DES MATIÈRES 12 Travaux pratiques Environnement Connexion au système Les commandes utiles Utilisation de SQLPLUS Requêtes SQL Sélections simples Jointures Négation Fonctions de groupe Concurrence d accès Normalisation d un schéma relationnel Optimisation

7 7 Chapitre 1 Introduction Sommaire Ce cours s adresse aux étudiants du cycle A du CNAM et a pour objectif l étude des principes des SGBD relationnels et la mise en pratique de ces principes. Le contenu du cours est essentiellement le suivant : 1. Conception d un schéma relationnel. Il s agit de savoir définir un schéma relationnel complet et correct, comprenant des tables, des contraintes, des vues. 2. Langages d interrogation et de manipulation. L accent est mis sur SQL et ses fondements, et sur l intégration de SQL avec un langage de programmation comme le C. De plus, le cours comprend une introduction aux problèmes de concurrence d accès, dont la connaissance est nécessaire aux développeurs d applications basées sur des SGBD. Des travaux pratiques avec le SGBD ORACLE permettent de mettre en oeuvre les techniques étudiées en cours. L accent est donc plutôt mis sur les notions de base (qu est-ce qu un SGBD, qu une base de données, qu un langage d interrogation) et leur application pratique. Il demandé d avoir acquis à la fin du cours les connaissances nécessaires à l utilisation d un SGBD par un informaticien non-spécialiste. : création d un schéma, insertion, mise-à-jour, destruction, interrogation de données, et comprehension des mécanismes de concurrence intervenant dans la gestion d un SGBD. En revanche, tout ce qui relève de la compréhension des mécanismes internes d un SGBD (représentation physique, évaluation de requêtes) ou des fondements théoriques du modèle relationnel n est pas abordé ici. Ce document est un support de cours : il ne prétend certainement pas être exhaustif ni traiter en détail tous les sujets abordés. L assistance au cours proprement dit, ainsi qu aux travaux dirigés et aux travaux pratiques est fortement recommandée. Il existe de plus un site WEB qui donne des renseignements complémentaires, les horaires des cours, les solutions de certains exercices, etc. Voici l adresse : Pour ceux qui veulent en savoir plus, il existe une riche bibliographie dont voici quelques éléments recommandables : Ouvrages en français 1. Carrez C., Des Structures aux Bases de Données, Masson 2. Gardarin G., Maîtriser les Bases de Données: modèles et langages, Eyrolles 3. Marcenac, P., SGBD relationnels, Optimisation des performances, Eyrolles.

8 8 CHAPITRE 1. INTRODUCTION Ouvrages en anglais 1. Melton J. et A.R. Simon, Understanding SQL, A Complete Guide, Morgan Kaufmann, Ullman J.D., Principles of Database and Knowledge-Base Systems, 2 volumes, Computer Science Press 3. Date C.J., An Introduction to Database Systems, Addison-Wesley Le premier chapitre (correspondant au premier cours) est une (rapide) présentation de tous les thèmes présentés en détails dans ce cours. On peut le lire comme une mise en perspective générale de l ensemble de l enseignement.

9 9 Chapitre 2 Présentation générale Sommaire 2.1 Données, Bases de données et SGBD Que doit-on savoir pour utiliser un SGBD? Définition du schéma de données Les opérations sur les données Optimisation Concurrence d accès Le plan du cours Ce chapitre présente un panorama général de la problématique des bases de données. 2.1 Données, Bases de données et SGBD La première chose à faire est d établir quelques points de terminologie. Qu est-ce qu une donnée? C est une information quelconque comme, par exemple : voici une personne, elle s appelle Jean. C est aussi une relation entre des informations : Jean enseigne les bases de données. Des relations de ce genre définissent des structures. Une base de données est un ensemble, en général volumineux, de telles informations, avec une caractéristique essentielle : on souhaite les mémoriser de manière permanente. D où la définition : Definition 2.1 Une Base de données est un gros ensemble d informations structurées mémorisées sur un support permanent. On peut remarquer qu une organisation consistant en un (ou plusieurs) fichier(s) stockés sur mémoire secondaire est conforme à cette définition. Un ensemble de fichiers ne présentant qu une complexité assez faible, il n y aurait pas là matière à longue dissertation. Malheureusement l utilisation directe de fichiers soulève de très gros problèmes : 1. Lourdeur d accès aux données. En pratique, pour chaque accès, même le plus simples, il faudrait écrire un programme. 2. Manque de sécurité. Si tout programmeur peut accéder directement aux fichiers, il est impossible de garantir la sécurité et l intégrité des données. 3. Pas de contrôle de concurrence. Dans un environnement où plusieurs utilisateurs accèdent aux même fichiers, des problèmes de concurrence d accès se posent. D où le recours à un logiciel chargé de gérer les fichiers constituant une base de données, de prendre en charge les fonctionnalités de protection et de sécurité et de fournir les différents types d interface nécessaires à l accès aux données. Ce logiciel (le SGBD) est très complexe et fournit le sujet principal de

10 10 CHAPITRE 2. PRÉSENTATION GÉNÉRALE ce cours. En particulier, une des tâches principales du SGBD est de masquer à l utilisateur les détails complexes et fastidieux liés à la gestion de fichiers. D où la définition. Definition 2.2 Un Système de Gestion de Bases de Données (SGBD) est un logiciel de haut niveau qui permet de manipuler les informations stockées dans une base de données. La complexité d un SGBD est essentiellement issue de la diversité des techniques mises en oeuvre, de la multiplicité des composants intervenant dans son architecture, et des différents types d utilisateurs (administrateurs, programmeurs, non informaticiens,...) qui sont confrontés, à différents niveaux, au système. Voici quelques exemples illustrant tous les cas de figure qu il faudrait envisager dans un cours exhaustif : Les modèles de données : entité-relation, réseau, hiérarchique, relationnel, orienté-objet, modèles sémantiques. Les langages de requêtes : fondements théoriques (logiques du premier ordre, du point fixe, algèbres diverses) et les langages comme SQL, SQL3, Datalog, OQL, etc. Les techniques de stockage : sur disque (optique), sur bande. L organisation des fichiers : index, arbre-b, hachage,... L architecture : centralisé, distribué, sur d autres bases accessibles par réseau. Les techniques d évaluation et d optimisation de requêtes. La concurrence d accès et les techniques de reprise sur pane. Pour mettre un peu d ordre dans tout cela, on peut se raccrocher à une architecture standard conforme à la plus grande partie des SGBD existant, et offrant l avantage de bien illustrer les principales caractéristiques d un SGBD. Cette architecture distingue trois niveaux correspondant d une part à trois représentations équivalentes de l information, d autre part aux champs d interventions respectifs des principaux acteurs. Pour ces derniers, nous utiliserons la terminologie suivante : Utilisateur naïf : du non spécialiste des SGBD au non informaticien. Concepteur et programmeur d application : à partir des besoins des différents utilisateurs, écrit l application pour des utilisateurs naïfs. Utilisateur expert : informaticien connaissant le fonctionnement interne d un SGBD et chargé d administrer la base. Chaque niveau du SGBD remplit (réalise) un certain nombre de fonctions : Niveau physiques : gestion sur mémoire secondaire (fichiers) des données, du schéma, des index ; Partage de données et gestion de la concurrence d accès ; Reprise sur pannes (fiabilité) ; Distribution des données et interopérabilité (accès aux réseaux). Niveau logique : Définition de la structure de données : Langage de Description de Données (LDD) ; Consultation et Mise à Jour des données : Langages de Requêtes (LR) et Langage de Manipulation de Données (LMD) ; Gestion de la confidentialité (sécurité) ; Maintien de l intégrité ; Niveau externe : Vues ; Environnement de programmation (intégration avec un langage de programmation) ; Interfaces conviviales et Langages de 4e Génération (L4G) ; Outils d aides (e.g. conception de schémas) ; Outils de saisie, d impression d états. En résumé, un SGBD est destiné à gèrer un gros volume d informations, persistantes (années) et fiables (protection sur pannes), partageables entre plusieurs utilisateurs et/ou programmes et manipulées indépendamment de leur représentation physique.

11 2.2. QUE DOIT-ON SAVOIR POUR UTILISER UN SGBD? Que doit-on savoir pour utiliser un SGBD? L utilisation d un SGBD suppose de comprendre (et donc de savoir utiliser) les fonctionnalités suivantes : 1. Définition du schéma de données en utilisant les modèles de données du SGBD. 2. Opérations sur les données : recherche, mises-à-jour, etc. 3. Partager les données entre plusieurs utilisateurs. (Mécanisme de transaction). 4. Optimiser les performances, par le réglage de l organisation physique des données. Cet aspect relève plutôt de l administration et ne sera évoqué que dans l introduction. Reprenons dans l ordre ces différents points Définition du schéma de données Un schéma est simplement la description des données contenues dans la base. Cette description est conforme à un modèle de données qui propose des outils de description (structures, contraintes et opérations). En fait, dans un SGBD, il existe plusieurs modèles plus ou moins abstraits des mêmes objets, e.g. : Le modèle conceptuel : la description du système d information Le modèle logique : interface avec le SGBD Le modèle physique : fichiers. Ces différents modèles correspondent aux niveaux dans l architecture d un SGBD. Prenons l exemple du modèle conceptuel le plus courant : le modèle Entité/Association. C est essentiellement une description très abstraite qui présente les avantages suivants : l analyse du monde réel la conception du système d information la communication entre différents acteurs de l entreprise En revanche, il ne propose pas d opérations. Or définir des structures sans disposer d opérations pour agir sur les données stockées dans ces structures ne présente pas d intérêt pratique pour un SGBD. D où, à un niveau inférieur, des modèles dits logiques qui proposent : 1. Un langage de définition de données (LDD) pour décrire la structure, incluant des contraintes. 2. Un langage de manipulation de données (LMD) pour appliquer des opérations aux données. Ces langages sont abstraits : le LDD est indépendant de la représentation physique des données, et le LMD est indépendant de l implantation des opérations. On peut citer une troisième caractéristique : oute les structures et les opérations, un modèle logique doit permettre d exprimer des contraintes d intégrité sur les données. Exemple : nom character 15, not null; âge integer between 0 and 120; débit = crédit;...

12 12 CHAPITRE 2. PRÉSENTATION GÉNÉRALE Bien entendu, le SGBD doit être capable de garantir le respect de ces contraintes. Quand on conçoit une application pour une BD, on tient compte (plus ou moins consciemment) de cette architecture en plusieurs niveaux. Typiquement : (1) On décide la structure logique, (2) on décide la structure physique, (3) on écrit les programmes d application en utilisant la structure logique, enfin (4) Le SGBD se charge de transcrire les commandes du LMD en instructions appropriées appliquées à la représentation physique. Cette aproche offre de très grands avantages qu il est important de souligner. Tout d abord elle ouvre l utilisation des SGBD à de utilisateurs non-experts : les langages proposés par les modèles logiques sont plus simples, et donc plus accessibles, que les outils de gestion de fichiers. Ensuite, on obtient une caractéristique essentielle : l indépendance physique. On peut modifier l implantation physique sans modifier les programmes d application. Un concept voisin est celui d indépendance logique : on peut modifier les programmes d application sans toucher à l implantation. Enfin le SGBD décharge l utilisateur, et en grande partie l administrateur, de la lourde tâche de contrôler la sécurité et l intégrité des données Les opérations sur les données Il existe 4 opérations classiques (ou requêtes) : 1. La création (ou insertion). 2. La modification (ou mise-à-jour). 3. La destruction. 4. La recherche. Ces opérations correspondent à des commandes du LMD. La plus complexe est la recherche en raison de la variété des critères. Pour l utilisateur, une bonne requête a les caractéristiques suivantes. Tout d abord elle s exprime facilement : l idéal serait de pouvoir utiliser le langage naturel, mais celui-ci présente trop d ambiguités. Ensuite le langage ne devrait pas demander d expertise technique (syntaxe compliquée, structures de données, implantation particulière...). Il est également souhaitable de ne pas attendre trop longtemps (à charge pour le SGBD de fournir des performances acceptables). Enfin, et peut-être surtout, la réponse doit être fiable. Une bonne partie du travail sur les SGBD consiste à satisfaire ces besoins. Le résultat est ce que l on appelle un langage de requêtes, et constitue à la fois un sujet majeur d étude et une caractéristique essentielle de chaque SGBD. Le langage le plus répandu à l heure actuelle est SQL Optimisation L optimisation (d une requête) s appuie sur l organisation physique des données. Les principaux types d organisation sont les fichiers séquentiels, les index (denses. secondaires, arbres B) et le regroupement des données par hachage. Un module particulier du SGBD, l optimiseur, tient compte de cette organisation et des caractéristiques de la requête pour choisir le meilleur séquencement des opérations Concurrence d accès Plusieurs utilisateurs doivent pouvoir accéder en même temps aux mêmes données. Le SGBD doit savoir : Gérer les conflits si les deux font des mises-à-jour. Offrir un mécanisme de retour en arrière si on décide d annuler des modifications en cours. Donner une image cohérente des données si l un fait des requêtes et l autre des mises-à-jour. Le but : éviter les blocages, tout en empéchant des modifications anarchiques.

13 2.3. LE PLAN DU COURS Le plan du cours Le cours comprend trois parties consacrées successivement à la conception d une base de données relationnelles, aux langages de requêtes relationnels, enfin à la pratique d un SGBD relationnel. Conception d un schéma relationnel Le cours présente d abord la technique classique de conception à l aide du modèle entité/association, suivie de la transcription du schéma obtenu dans le modèle relationnel. On obtient un moyen simple et courant de créer des schémas ayant de bonnes propriétés. Les concepts de bon et de mauvais schémas sont ensuite revus plus formellement avec la théorie de la normalisation. Langages relationnels Les langages d interrogation et de manipulation de données suivants sont présentés : l algèbre relationnelle qui fournit un petit ensemble d opérateurs permettant d exprimer des requêtes complexes et le langage SQL, norme SQL2. Pratique d un SGBD relationnel Cette partie reprend et étend les sujets précédents et développe leur mise en pratique dans l environnement d un SGBD relationnel. Elle comprend : 1. Une revue complète du langage de définition de données SQL2 pour la création de schémas relationnels, incluant l expression de contraintes, les vues et les triggers. 2. Une introduction au développement d applications avec SQL. 3. Une introduction à la concurrence d accès et à ses implications pratiques. 4. Une série de travaux pratiques et d exercices avec le SGBD Oracle.

14 14 CHAPITRE 2. PRÉSENTATION GÉNÉRALE

15 15 Première partie Modèles et langages

16

17 17 Chapitre 3 Le modèle Entité/Association Sommaire 3.1 Principes généraux Bons et mauvais schémas La bonne méthode Le modèle E/A : Présentation informelle Le modèle Entités, attributs et identifiants Associations binaires Entités faibles Associations généralisées Avantage et inconvénients du modèle E/A Exercices Ce chapitre présente le modèle Entité/Association (E/A) qui est utilisé à peu près universellement pour la conception de bases de données (relationnelles principalement). La conception d un schéma correct est essentielle pour le développement d une application viable. Dans la mesure où la base de données est le fondement de tout le système, une erreur pendant sa conception est difficilement récupérable par la suite. Le modèle E/A a pour caractéristiques d être simple et suffisamment puissant pour représenter des structures relationnelles. Surtout, il repose sur une représentation graphique qui facilite considérablement sa compréhension. Le modèle E/A souffre également de nombreuses insuffisances : la principale est de ne proposer que des structures. Il n existe pas d opération permettant de manipuler les données, et pas (ou peu) de moyen d exprimer des contraintes. Un autre inconvénient du modèle E/A est de mener à certaines ambiguités pour des schémas complexes. La présentation qui suit est délibérement axée sur l utilité du modèle E/A dans le cadre de la conception d une base de données. Ajoutons qu il ne s agit pas de concevoir un schéma E/A (voir un cours sur les systèmes d information), mais d être capable de le comprendre et de l interpréter. Dans tout ce chapitre nous prenons l exemple d une base de données décrivant des films, avec leur metteur en scène et leurs acteurs, ainsi que les cinémas où passent ces films. Nous supposerons également que cette base de données est accessible sur le Web et que des internautes peuvent noter les films qu ils ont vus. 3.1 Principes généraux La méthode permet de distinguer les entités qui constituent la base de données, et les associations entre ces entités. Ces concepts permettent de donner une structure à la base, ce qui s avère indispensable. Nous commençons par montrer les problèmes qui surviennent si on traite une base relationnelle comme un simple fichier texte, sans se soucier de lui donner une structure correcte.

18 18 CHAPITRE 3. LE MODÈLE ENTITÉ/ASSOCIATION Bons et mauvais schémas Considérons une table FilmSimple stockant des films avec quelques informations de base, dont le metteur en scène. Voici une représentation de cette table. titre année nommes prénommes annéenaiss Alien 1979 Scott Ridley 1943 Vertigo 1958 Hitchcock Alfred 1899 Psychose 1960 Hitchcock Alfred 1899 Kagemusha 1980 Kurosawa Akira 1910 Volte-face 1997 Woo John 1946 Pulp Fiction 1995 Tarantino Quentin 1963 Titanic 1997 Cameron James 1954 Sacrifice 1986 Tarkovski Andrei 1932 Même pour une information aussi simple, il est facile d énumérer tout un ensemble de problèmes potentiels. Tous ou presque découlent d un grave défaut de la table ci-dessus : il est possible de représenter la même information plusieurs fois. Anomalies lors d une insertion Rien n empêche de représenter plusieurs fois le même film. Pire : il est possible d insérer plusieurs fois le film Vertigo en le décrivant à chaque fois de manière différente, par exemple en lui attribuant une fois comme réalisateur Alfred Hitchcock, puis une autre fois John Woo, etc. Une bonne question consiste d ailleurs à se demander ce qui distingue deux films l un de l autre, et à quel moment on peut dire que la même information a été répétée. Peut-il y avoir deux films différents avec le même titre par exemple? Si la réponse est non, alors on devrait pouvoir assurer qu il n y a pas deux lignes dans la table avec la même valeur pour l attribut titre. Si la réponse est oui, il reste à déterminer quel est l ensemble des attributs qui permet de caractériser de manière unique un film. Anomalies lors d une modification La redondance d information entraîne également des anomalies de mise à jour. Supposons que l on modifie l année de naissance de Hitchcock pour la ligne Vertigo et pas pour la ligne Psychose. On se retrouve alors avec des informations incohérentes. Les mêmes questions que précédemment se posent d ailleurs. Jusqu à quel point peut-on dire qu il n y a qu un seul réalisateur nommé Hitchcock, et qu il ne doit donc y avoir qu une seule année de naissance pour un réalisateur de ce nom? Anomalies lors d une destruction On ne peut pas supprimer un film sans supprimer du même coup son metteur en scène. Si on souhaite, par exemple, ne plus voir le film Titanic figurer dans la base de données, on va effacer du même coup les informations sur James Cameron La bonne méthode Une bonne méthode évitant les anomalies ci-dessus consiste à ; 1. être capable de représenter individuellement les films et les réalisateurs, de manière à ce qu une action sur l un n entraîne pas systématiquement une action sur l autre ; 2. définir une méthode d identification d un film ou d un réalisateur, qui permette d assurer que la même information est représentée une seule fois ; 3. préserver le lien entre les films et les réalisateurs, mais sans introduire de redondance.

19 3.1. PRINCIPES GÉNÉRAUX 19 Commençons par les deux premières étapes. On va d abord distinguer la table des films et la table des réalisateurs. Ensuite on décide que deux films ne peuvent avoir le même titre, mais que deux réalisateurs peuvent avoir le même nom. Afin d avoir un moyen d identifier les réalisateurs, on va leur attribuer un numéro, désigné par id. On obtient le résultat suivant, les identifiants (ou clés) étant en gras. titre année Alien 1979 Vertigo 1958 Psychose 1960 Kagemusha 1980 Volte-face 1997 Pulp Fiction 1995 Titanic 1997 Sacrifice 1986 La table des films id nommes prénommes annéenaiss 1 Scott Ridley Hitchcock Alfred Kurosawa Akira Woo John Tarantino Quentin Cameron James Tarkovski Andrei 1932 La table des réalisateurs Premier progrès : il n y a maintenant plus de redondance dans la base de données. Le réalisateur Hitchcock, par exemple, n apparaît plus qu une seule fois, ce qui élimine les anomalies de mise à jour évoquées précédemment. Il reste à représenter le lien entre les films et les metteurs en scène, sans introduire de redondance. Maintenant que nous avons défini les identifiants, il existe un moyen simple pour indiquer quel est le metteur en scène qui a réalisé un film : associer l identifiant du metteur en scène au film. On ajoute un attribut idmes dans la table Film, et on obtient la représentation suivante. titre année idmes Alien Vertigo Psychose Kagemusha Volte-face Pulp Fiction Titanic Sacrifice La table des films id nommes prénommes annéenaiss 1 Scott Ridley Hitchcock Alfred Kurosawa Akira Woo John Tarantino Quentin Cameron James Tarkovski Andrei 1932 La table des réalisateurs Cette représentation est correcte. La redondance est réduite au minimum puisque seule la clé identifiant un metteur en scène a été déplacée dans une autre table (on parle de clé étrangère). On peut vérifier que toutes les anomalies que nous avons citées ont disparu. Anomalie d insertion. Maintenant que l on sait quelles sont les caractéristiques qui identifient un film, il est possible de déterminer au moment d une insertion si elle va introduire ou non une redondance. Si c est le cas on doit interdire cette insertion. Anomalie de mise à jour. Il n y a plus de redondance, donc toute mise à jour affecte l unique instance de la donnée à modifier. Anomalie de destruction. On peut détruire un film sans affecter les informations sur le réalisateur. Ce gain dans la qualité du schéma n a pas pour contrepartie une perte d information. Il est en effet facile de voir que l information initiale (autrement dit, avant décomposition) peut être reconstituée intégralement. En prenant un film, on obtient l identité de son metteur en scène, et cette identité permet de trouver l unique ligne dans la table des réalisateurs qui contient toutes les informations sur ce metteur en scène. Ce processus de reconstruction de l information, dispersée dans plusieurs tables, peut s exprimer avec SQL. La modélisation avec un graphique Entité/Association offre une méthode simple pour arriver au résultat ci-dessus, et ce même dans des cas beaucoup plus complexes.

20 20 CHAPITRE 3. LE MODÈLE ENTITÉ/ASSOCIATION 3.2 Le modèle E/A : Présentation informelle Un schéma E/A décrit l application visée, c est-à-dire une abstraction d un domaine d étude, pertinente relativement aux objectifs visés. Rappelons qu une abstraction consiste à choisir certains aspects de la réalité perçue (et donc à éliminer les autres). Cette sélection se fait en fonction de certains besoins qui doivent être précisément définis. Par exemple, pour notre base de données Films, on n a pas besoin de stocker dans la base de données l intégralité des informations relatives à un internaute, ou à un film. Seules comptent celles qui sont importantes pour l application. Voici le schéma décrivant cete base de données Films (figure 3.1). Sans entrer dans les détails pour l instant, on distingue 1. des entités, représentées par des rectangles, ici Film, Artiste, Internaute et Pays ; 2. des associations entre entités représentées par des liens entre ces rectangles. Ici on a représenté par exemple le fait qu un artiste joue dans des films, qu un internaute note des films, etc. Chaque entité est caractérisée par un ensemble d attributs, parmi lesquels un ou plusieurs forment l identifiant unique (en gras). Comme nous l avons exposé précédemment, il est essentiel de dire ce qui caractérise de manière unique une entité, de manière à éviter la redondance d information. Artiste Internaute id Réalise nom 0..1 prénom 0..* * Donne une note * note nom prénom annéenaissance 0..* Joue Film id titre 0..* année motdeppasse annéenaissance rôle genre résumé Pays * 1..1 code nom langue FIG. 3.1 Le schéma de la base de données Films Les associations sont caractérisées par des cardinalités. La notation 0..* sur le lien Réalise, du côté de l entité Film, signifie qu un artiste peut réaliser plusieurs films, ou aucun. La notation 0..1 du côté Artiste signifie en revanche qu un film ne peut être réalisé que par au plus un artiste. En revanche dans l association Donne une note, un internaute peut noter plusieurs films, et un film peut être noté par plusieurs internautes, ce qui justifie l a présence de 0..* aux deux extrêmités de l association. Le choix des cardinalités est essentiel. Ce choix est aussi parfois discutable, et constitue donc l aspect le plus délicat de la modélisation. Reprenons l exemple de l association Réalise. En indiquant qu un film est réalisé par un seul metteur en scène, on s interdit les rares situations où un film est réalisé par plusieurs personnes. Il ne sera donc pas possible de représenter dans la base de données une telle situation. Tout est ici question de choix et de compromis : est-on prêt en l occurrence à accepter une structure plus complexe (avec 0..* de chaque côté) pour l association Réalise, pour prendre en compte un nombre minime de cas? Les cardinalités sont notées par deux chiffres. Le chiffre de droite est la cardinalité maximale, qui vaut en général 1 ou *. Le chiffre de gauche est la cardinalité minimale. Par exemple la notation 0..1 entre

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

Cours Base de données relationnelles. M. Boughanem, IUP STRI

Cours 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étail

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr

IT203 : Systèmes de gestion de bases de données. A. Zemmari zemmari@labri.fr IT203 : Systèmes de gestion de bases de données A. Zemmari zemmari@labri.fr 1 Informations pratiques Intervenants : Cours : (A. Zemmari zemmari@labri.fr) TDs, TPs : S. Lombardy et A. Zemmari Organisation

Plus en détail

BASES DE DONNÉES CONCEPTS ET PROGRAMMATION. Antoine Cornuéjols. AgroParisTech, Spécialité Informatique (2009-2010) Version du 19 octobre 2009

BASES DE DONNÉES CONCEPTS ET PROGRAMMATION. Antoine Cornuéjols. AgroParisTech, Spécialité Informatique (2009-2010) Version du 19 octobre 2009 i BASES DE DONNÉES CONCEPTS ET PROGRAMMATION Antoine Cornuéjols AgroParisTech, Spécialité Informatique (2009-2010) Version du 19 octobre 2009 ii Table des matières Table des matières iii 1 Concepts fondamentaux

Plus en détail

Information utiles. cinzia.digiusto@gmail.com. webpage : Google+ : http://www.ibisc.univ-evry.fr/ digiusto/

Information 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étail

Bases de données avancées Introduction

Bases de données avancées Introduction Bases de données avancées Introduction Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan Objectifs et contenu du cours Rappels BD relationnelles Bibliographie Cours BDA (UCP/M1)

Plus en détail

Introduction aux Bases de Données

Introduction aux Bases de Données Introduction aux Bases de Données I. Bases de données I. Bases de données Les besoins Qu est ce qu un SGBD, une BD Architecture d un SGBD Cycle de vie Plan du cours Exemples classiques d'applications BD

Plus en détail

Bases de données. Chapitre 1. Introduction

Bases 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étail

Rappel sur les bases de données

Rappel sur les bases de données Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant

Plus en détail

Bases de Données. Plan

Bases de Données. Plan Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

Bases de données Cours 1 : Généralités sur les bases de données

Bases de données Cours 1 : Généralités sur les bases de données Cours 1 : Généralités sur les bases de données POLYTECH Université d Aix-Marseille odile.papini@univ-amu.fr http://odile.papini.perso.esil.univmed.fr/sources/bd.html Plan du cours 1 1 Qu est ce qu une

Plus en détail

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

Conception des bases de données : Modèle Entité-Association

Conception 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étail

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES BASES DE DONNÉES CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98 J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES III. LES SYSTÈMES RÉSEAU IV. LES SYSTÈMES RELATIONNELS V. LE LANGAGE

Plus en détail

Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes

Langage 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étail

16H Cours / 18H TD / 20H TP

16H 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étail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Introduction aux bases de données Cours 1 : Généralités sur les bases de données

Introduction aux bases de données Cours 1 : Généralités sur les bases de données Cours 1 : Généralités sur les bases de données ESIL Université de la méditerranée Odile.Papini@esil.univmed.fr http://odile.papini.perso.esil.univmed.fr/sources/bdmat.html Plan du cours 1 1 Qu est ce qu

Plus en détail

1 Introduction et installation

1 Introduction et installation TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on

Plus en détail

Bases de données relationnelles

Bases 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étail

Présentation du module Base de données spatio-temporelles

Présentation du module Base de données spatio-temporelles Présentation du module Base de données spatio-temporelles S. Lèbre slebre@unistra.fr Université de Strasbourg, département d informatique. Partie 1 : Notion de bases de données (12,5h ) Enjeux et principes

Plus en détail

Bases de Données Avancées

Bases 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étail

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions

Plan Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Transactions Général Prévisionnel (1/2) (non contractuel) Internet et Outils L1/IO2 2006-2007 S2-IO2 Bases de données: Jointures, Cours Internet et Outils: [1/12] Intro, Internet, Web, XHTML (2H) [2/12] XHTML(2H) [3/12]

Plus en détail

Chapitre VIII. Les bases de données. Orientées Objet. Motivation

Chapitre 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étail

Le langage SQL Rappels

Le 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étail

Exemple 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. 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étail

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude

Plus en détail

Langage SQL : créer et interroger une base

Langage 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étail

Évaluation et optimisation de requêtes

Évaluation et optimisation de requêtes Évaluation et optimisation de requêtes Serge Abiteboul à partir de tranparents de Philippe Rigaux, Dauphine INRIA Saclay April 3, 2008 Serge (INRIA Saclay) Évaluation et optimisation de requêtes April

Plus en détail

Bases de données cours 1

Bases 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étail

Bases de données et sites WEB Licence d informatique LI345

Bases 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étail

Chap. 3: Le modèle de données entité-association (E.A.)

Chap. 3: Le modèle de données entité-association (E.A.) Chap. 3: Le modèle de données entité-association (E.A.) En anglais: Entity-Relationship (ER) Origines: C.Bachman (1969), P.Chen (1976). Modèle de données > décrire la réalité perçue à travers les données

Plus en détail

Conception d une base de données

Conception d une base de données Conception d une base de données Cyril Gruau 17 octobre 2005 (corrigé le 13 juillet 2006) Résumé Ce support de cours regroupe quelques notions concernant le modélisation conceptuelle de système d information

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Introduction aux Bases de Données Relationnelles Conclusion - 1

Introduction 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étail

UML et les Bases de Données

UML 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étail

Introduction aux bases de données

Introduction aux bases de données Introduction aux bases de données Références bibliographiques Jeff Ullman,Jennifer Widom, «A First Course in Database systems», Prentice-Hall, 3rd Edition, 2008 Hector Garcia-Molina, Jeff Ullman, Jennifer

Plus en détail

Vincent Augusto 2010-2011

Vincent Augusto 2010-2011 le des Systèmes Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne 2010-2011 Un 1/73 le des Un 2/73 1 2 3 4 le 5 6 7 8 Un le des Un 3/73 Contenu du cours : Techniques pour l analyse

Plus en détail

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima

Bases de données cours 4 Construction de requêtes en SQL. Catalin Dima Bases de données cours 4 Construction de requêtes en SQL Catalin Dima Requêtes SQL et langage naturel Énoncés en langage naturel. Traduction en SQL? Correspondance entre syntagmes/phrases et opérations

Plus en détail

Chapitre 5 LE MODELE ENTITE - ASSOCIATION

Chapitre 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étail

Dossier I Découverte de Base d Open Office

Dossier I Découverte de Base d Open Office ETUDE D UN SYSTEME DE GESTION DE BASE DE DONNEES RELATIONNELLES Définition : Un SGBD est un logiciel de gestion des données fournissant des méthodes d accès aux informations. Un SGBDR permet de décrire

Plus en détail

Gé nié Logiciél Livré Blanc

Gé nié Logiciél Livré Blanc Gé nié Logiciél Livré Blanc Version 0.2 26 Octobre 2011 Xavier Blanc Xavier.Blanc@labri.fr Partie I : Les Bases Sans donner des définitions trop rigoureuses, il faut bien commencer ce livre par énoncer

Plus en détail

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS

Bases de Données. Stella MARC-ZWECKER. stella@unistra.u-strasbg.fr. Maître de conférences Dpt. Informatique - UdS Bases de Données Stella MARC-ZWECKER Maître de conférences Dpt. Informatique - UdS stella@unistra.u-strasbg.fr 1 Plan du cours 1. Introduction aux BD et aux SGBD Objectifs, fonctionnalités et évolutions

Plus en détail

CONCEPTION Support de cours n 3 DE BASES DE DONNEES

CONCEPTION Support de cours n 3 DE BASES DE DONNEES CONCEPTION Support de cours n 3 DE BASES DE DONNEES Auteur: Raymonde RICHARD PRCE UBO PARTIE III. - LA DESCRIPTION LOGIQUE ET PHYSIQUE DES DONNEES... 2 A. Les concepts du modèle relationnel de données...

Plus en détail

CESI Bases de données

CESI Bases de données CESI Bases de données Introduction septembre 2006 Bertrand LIAUDET EPF - BASE DE DONNÉES - septembre 2005 - page 1 PRÉSENTATION GÉNÉRALE 1. Objectifs généraux L objectif de ce document est de faire comprendre

Plus en détail

OBJECTIFS ET ARCHITECTURE DES SGBD

OBJECTIFS ET ARCHITECTURE DES SGBD OBJECTIFS ET ARCHITECTURE DES SGBD 1. INTRODUCTION Même si vous n avez jamais utilisé de système de gestion de bases de données (SGBD), vous avez certainement une idée de ce qu est une base de données

Plus en détail

Initiation aux bases de données (SGBD) Walter RUDAMETKIN

Initiation aux bases de données (SGBD) Walter RUDAMETKIN Initiation aux bases de données (SGBD) Walter RUDAMETKIN Bureau F011 Walter.Rudametkin@polytech-lille.fr Moi Je suis étranger J'ai un accent Je me trompe beaucoup en français (et en info, et en math, et...)

Plus en détail

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Techniques de stockage, P. Rigaux p.1/43 Techniques de stockage Contenu de ce cours : 1. Stockage de données. Supports, fonctionnement d un disque, technologie RAID 2. Organisation

Plus en détail

Modélisation des données

Modélisation des données Modélisation des données Le modèle Entité/Association Le MCD ou modèle Entité/Association est un modèle chargé de représenter sous forme graphique les informations manipulées par le système (l entreprise)

Plus en détail

Table des matières. Avant-propos

Table 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étail

Introduction aux Bases de Données

Introduction aux Bases de Données Licence 3 Géographie Aménagement NHUC5548 Introduction aux Bases de Données Le cas des BD relationnelles Concepts, méthodes et applications JP ANTONI / Y FLETY 1 Logistique et autres fonctionnements Cours

Plus en détail

UML (Diagramme de classes) Unified Modeling Language

UML (Diagramme de classes) Unified Modeling Language UML (Diagramme de classes) Unified Modeling Language Sommaire Introduction Objectifs Diagramme de classes Classe (Nom, attribut, opération) Visibilité et portée des constituants d une classe Association

Plus en détail

Structure fonctionnelle d un SGBD

Structure fonctionnelle d un SGBD Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert

Plus en détail

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL)

Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Chapitre 3 LE MODELE RELATIONNEL ET SQL (DDL) Un modèle de données définit un mode de représentation de l information selon trois composantes : 1. Des structures de données. 2. Des contraintes qui permettent

Plus en détail

Les indices à surplus constant

Les indices à surplus constant Les indices à surplus constant Une tentative de généralisation des indices à utilité constante On cherche ici en s inspirant des indices à utilité constante à définir un indice de prix de référence adapté

Plus en détail

Les bases de données

Les 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étail

Modèle Entité/Association

Modèle Entité/Association Base de données Modèle Entité/Association L3 Informatique Antoine Spicher antoine.spicher@u-pec.fr Contexte du cours Organisation du cours 1 ère partie (C. D.) Modèle et algèbre relationnel Langage SQL

Plus en détail

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques

Plan de formation : Certification OCA Oracle 11g. Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques Plan de formation : Certification OCA Oracle 11g Description Les administrateurs de base de données (DBA) Oracle gèrent les systèmes informatiques industriels les plus avancés. Cette formation permettra

Plus en détail

Bases de données - Modèle relationnel

Bases de données - Modèle relationnel Bases de données - Modèle relationnel Introduction SITE :http://www.univ-orleans.fr/lifo/members/mirian.halfeld/ BD - Mírian Halfeld-Ferrari p. 1 Les bases de données - Bibliographie Ullman and Widom,

Plus en détail

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ;

ECR_DESCRIPTION CHAR(80), ECR_MONTANT NUMBER(10,2) NOT NULL, ECR_SENS CHAR(1) NOT NULL) ; RÈGLES A SUIVRE POUR OPTIMISER LES REQUÊTES SQL Le but de ce rapport est d énumérer quelques règles pratiques à appliquer dans l élaboration des requêtes. Il permettra de comprendre pourquoi certaines

Plus en détail

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du

Formation à l utilisation des Systèmes de Gestion de Bases de Données Relationnelles. organisée avec la collaboration du Proyecto FAO COPEMED Universidad de Alicante Ramón y Cajal, 4 03001 - Alicante, España GCP/REM/057/SPA Web : www.fao.org/fi/copemed Tel : +34 96 514 59 79 Fax : +34 96 514 59 78 Email : copemed@ua.es Formation

Plus en détail

Bases de données. PTSI Lycée Eiffel. 28 février 2014

Bases de données. PTSI Lycée Eiffel. 28 février 2014 Bases de données PTSI Lycée Eiffel 28 février 2014 Introduction Pour ce troisième chapître, nous allons mettre de côté notre apprentissage de Pyhton pour nous intéresser à un sujet fondamental dans l informatique

Plus en détail

INTRODUCTION AUX BASES de DONNEES

INTRODUCTION AUX BASES de DONNEES INTRODUCTION AUX BASES de DONNEES Équipe Bases de Données LRI-Université Paris XI, Orsay Université Paris Sud Année 2003 2004 1 SGBD : Fonctionnalités et Principes Qu est qu une base de données? Un Système

Plus en détail

Bases de données relationnelles : Introduction

Bases de données relationnelles : Introduction Bases de données relationnelles : Introduction historique et principes V. Benzaken Département d informatique LRI UMR 8623 CNRS Université Paris Sud veronique.benzaken@u-psud.fr https://www.lri.fr/ benzaken/

Plus en détail

I4 : Bases de Données

I4 : 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étail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

1 Modélisation d une base de données pour une société de bourse

1 Modélisation d une base de données pour une société de bourse IN306 : Corrigé SID Christophe Garion 18 octobre 2010 Ce document est un corrigé succinct de l examen du module IN306. 1 Modélisation d une base de données pour une société de bourse Une

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Modèle conceptuel : diagramme entité-association

Modèle conceptuel : diagramme entité-association Modèle conceptuel : diagramme entité-association Raison d'être de ce cours «La conception et l'utilisation de bases de données relationnelles sur micro-ordinateurs n'est pas un domaine réservé aux informaticiens.»

Plus en détail

Partie II Cours 3 (suite) : Sécurité de bases de données

Partie II Cours 3 (suite) : Sécurité de bases de données Partie II Cours 3 (suite) : Sécurité de bases de données ESIL Université de la méditerranée Odile.Papini@esil.univ-mrs.fr http://odile.papini.perso.esil.univmed.fr/sources/ssi.html Plan du cours 1 Introduction

Plus en détail

Introduction aux SGBDR

Introduction aux SGBDR 1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux

Plus en détail

CHAPITRE 1. Introduction aux bases de données

CHAPITRE 1. Introduction aux bases de données CHAPITRE 1 Contenu du chapitre 1 Pourquoi utiliser une bases de? Définitions et objectifs d'un SGBD Niveaux d'abstraction des Méthodes de modélisation d une BD Modèles de structuration des Structure globale

Plus en détail

Créer le schéma relationnel d une base de données ACCESS

Créer le schéma relationnel d une base de données ACCESS Utilisation du SGBD ACCESS Polycopié réalisé par Chihab Hanachi et Jean-Marc Thévenin Créer le schéma relationnel d une base de données ACCESS GENERALITES SUR ACCESS... 1 A PROPOS DE L UTILISATION D ACCESS...

Plus en détail

Chapitre 1 Généralités sur les bases de données

Chapitre 1 Généralités sur les bases de données Chapitre 1 Généralités sur les bases de données I. Définition d un SGBD Une base de données, généralement appelée BD est un ensemble structuré et organisé permettant le stockage de grandes quantités d'informations

Plus en détail

Base de Données et Langage SQL

Base de Données et Langage SQL Base de Données et Langage SQL (IUT, département informatique, 1 re année) Laurent AUDIBERT Institut Universitaire de Technologie de Villetaneuse Département Informatique Avenue Jean-Baptiste Clément 93430

Plus en détail

Introduction 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 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étail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Encryptions, compression et partitionnement des données

Encryptions, 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étail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

Concevoir une base de données

Concevoir une base de données Concevoir une base de données http://vanconingsloo.be/les-cours/bureautique/access/concevoir-une-base-de-donnees En fonction de vos besoins, il existe deux façons de travailler. Si vous souhaitez créer

Plus en détail

1. 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. 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étail

Notes de cours : bases de données distribuées et repliquées

Notes 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étail

A QUOI SERVENT LES BASES DE DONNÉES?

A 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étail

Concevoir et déployer un data warehouse

Concevoir et déployer un data warehouse Concevoir et déployer un data warehouse Ralph Kimball Éditions Eyrolles ISBN : 2-212-09165-6 2000 2 Le cycle de vie dimensionnel Avant d étudier de plus près les spécificités de la conception, du développement

Plus en détail

Chapitre 1 Qu est-ce qu une expression régulière?

Chapitre 1 Qu est-ce qu une expression régulière? Chapitre 1 Qu est-ce qu une expression régulière? Les ordinateurs n ont pas du tout la même conception des textes que nous : pour nous, un texte est un ensemble d idées couchées sur papier. Nous nous en

Plus en détail

GOL502 Industries de services

GOL502 Industries de services GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation

Plus en détail

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES

1. LA GESTION DES BASES DE DONNEES RELATIONNELLES Dossier G11 - Interroger une base de données La base de données Facturation contient tout un ensemble d'informations concernant la facturation de la SAFPB (société anonyme de fabrication de produits de

Plus en détail

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite.

Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Access et Org.Base : mêmes objectifs? Description du thème : Création de grilles d écran pour une école de conduite. Mots-clés : Niveau : Bases de données relationnelles, Open Office, champs, relations,

Plus en détail

Cours Bases de données 2ème année IUT

Cours 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étail

Évaluation et implémentation des langages

É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étail

Utiliser Access ou Excel pour gérer vos données

Utiliser Access ou Excel pour gérer vos données Page 1 of 5 Microsoft Office Access Utiliser Access ou Excel pour gérer vos données S'applique à : Microsoft Office Access 2007 Masquer tout Les programmes de feuilles de calcul automatisées, tels que

Plus en détail

Le Langage SQL version Oracle

Le 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étail

et les Systèmes Multidimensionnels

et les Systèmes Multidimensionnels Le Data Warehouse et les Systèmes Multidimensionnels 1 1. Définition d un Datawarehouse (DW) Le Datawarehouse est une collection de données orientées sujet, intégrées, non volatiles et historisées, organisées

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Entrepôt de données 1. Introduction

Entrepôt de données 1. Introduction Entrepôt de données 1 (data warehouse) Introduction 1 Présentation Le concept d entrepôt de données a été formalisé pour la première fois en 1990 par Bill Inmon. Il s agissait de constituer une base de

Plus en détail

Bases de données et sites WEB

Bases 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étail

Conception, architecture et urbanisation des systèmes d information

Conception, architecture et urbanisation des systèmes d information Conception, architecture et urbanisation des systèmes d information S. Servigne Maître de Conférences, LIRIS, INSA-Lyon, F-69621 Villeurbanne Cedex e-mail: sylvie.servigne@insa-lyon.fr 1. Introduction

Plus en détail

Développement itératif, évolutif et agile

Développement itératif, évolutif et agile Document Développement itératif, évolutif et agile Auteur Nicoleta SERGI Version 1.0 Date de sortie 23/11/2007 1. Processus Unifié Développement itératif, évolutif et agile Contrairement au cycle de vie

Plus en détail

PRIME D UNE OPTION D ACHAT OU DE VENTE

PRIME D UNE OPTION D ACHAT OU DE VENTE Université Paris VII - Agrégation de Mathématiques François Delarue) PRIME D UNE OPTION D ACHAT OU DE VENTE Ce texte vise à modéliser de façon simple l évolution d un actif financier à risque, et à introduire,

Plus en détail