Principes de la conception des bases de données
|
|
- Georgette Labranche
- il y a 8 ans
- Total affichages :
Transcription
1 BDD Principes de la conception des bases de données stph.crzt.fr/bdd STÉPHANE CROZAT Paternité - Partage des Conditions Initiales à l'identique : 10 juillet 2014
2 Table des matières Introduction 5 I - Principes de la conception des bases de données 7 A. BD et SGBD : vue d'ensemble Exercice : SGBDR Qu'est ce qu'une BD? Qu'est ce qu'un SGBD? Pourquoi des SGBD? Caractéristiques des SGBD...10 B. Notions générales pour les bases de données Notion de données Notion de modèle de données Notion de schéma de données (niveau logique) Notion de langage de données (niveau physique) Notion de dictionnaire de données Exercice : Dictionnaire de données...16 C. Méthodes de conception de bases de données Exercice : Étapes de la conception d'une base de données Méthodologie de conception d'une base de données La méthode MERISE et le modèle E-A Le langage de modélisation UML Éléments pour l'analyse de l'existant et des besoins
3 II - Pratique : Découverte d'une base de données avec PostgreSQL 25 A. Rappels architecture UTC...26 B. Connexion à une base de données PostgreSQL...26 C. Le client textuel "psql"...27 D. Notion de table...30 E. Notion de contraintes...31 F. Notion de références...32 G. Projection, restriction et jointure...32 H. Import de données depuis un fichier CSV...33 I. Fonctions et agrégats...34 J. Dictionnaire de données...34 K. Indexation et performance...35 L. Les clients graphiques pgadminiii et phppgadmin...35 M. Test de pgadminiii et phppgadmin...38 III - Synthèse : Les trois niveaux de conception 39 IV - Bibliographie 41 Questions de synthèse 43 Solution des exercices 47 Solution des exercices 49 Glossaire 51 Signification des abréviations 53 Bibliographie 55 Webographie 57 Index 59 4
4 Introduction Les BD sont nées vers la fin des années 1960 pour combler les lacunes des systèmes de fichiers et faciliter la gestion qualitative et quantitative des données informatiques. Les SGBD sont des applications informatiques permettant de créer et de gérer des BD (comme Oracle ou PostgreSQL par exemple). Les BD relationnelles, issues de la recherche de Codd, sont celles qui ont connu le plus grand essor depuis plus de 20 ans, et qui reste encore aujourd'hui les plus utilisées. On utilise des SGBDR pour les implémenter. Le langage SQL est le langage commun à tous les SGBDR, ce qui permet de concevoir des BD relativement indépendamment des systèmes utilisés. Les usages de BD se sont aujourd'hui généralisés pour entrer dans tous les secteurs de l'entreprise, depuis les "petites" BD utilisées par quelques personnes dans un service pour des besoins de gestion de données locales, jusqu'aux "grosses" BD qui gèrent de façon centralisée des données partagées par tous les acteurs de l'entreprise. Parallèlement l'accroissement de l'utilisation du numérique comme outil de manipulation de toutes données (bureautique, informatique applicative, etc.) et comme outil d'extension des moyens de communication (réseaux) d'une part ; et les évolutions technologiques (puissance des PC, Internet, etc.) d'autre part ont à la fois rendu indispensable et complexifié la problématique des BD. Les conséquences de cette généralisation et de cette diversification des usages se retrouvent dans l'émergence de solutions conceptuelles et technologiques nouvelles. 5
5 Principes de la I - conception des bases de données I BD et SGBD : vue d'ensemble 7 Notions générales pour les bases de données 11 Méthodes de conception de bases de données 17 A. BD et SGBD : vue d'ensemble Comprendre l'intérêt des BD. Objectifs Comprendre ce qu'est un SGBD. 1. Exercice : SGBDR Parmi les raisons suivantes, lesquelles justifient l'utilisation d'un SGBDR? [Solution n 1 p 45] S'abstraire des modalités de stockage physique de l'information. Minimiser la redondance d'information. Faciliter la mise à jour de données. Contrôler la cohérence des données. Sécuriser l'accès aux données. Mieux gérer l'accès concurrent aux données. 7
6 Principes de la conception des bases de données 2. Qu'est ce qu'une BD? Définition : Base de données Une BD est un ensemble volumineux, structuré et minimalement redondant de données, reliées entre elles, stockées sur supports numériques centralisés ou distribués, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables par un ou plusieurs utilisateurs travaillant potentiellement en parallèle. Exemple : Compagnie aérienne Une BD de gestion de l'activité d'une compagnie aérienne concernant les voyageurs, les vols, les avions, le personnel, les réservations, etc. Une telle BD pourrait permettre la gestion des réservations, des disponibilités des avions en fonction des vols à effectuer, des affectations des personnels volants, etc. 3. Qu'est ce qu'un SGBD? Définition : Système de Gestion de Bases de Données Un SGBD est un logiciel qui prend en charge la structuration, le stockage, la mise à jour et la maintenance d'une base de données. Il est l'unique interface entre les informaticiens et les données (définition des schémas, programmation des applications), ainsi qu'entre les utilisateurs et les données (consultation et mise à jour). Exemple : Exemples de SGBD Oracle est un SGBD relationnel (et relationnel-objet dans ses dernières versions) très reconnu pour les applications professionnelles. PostgreSQL est un SGBD relationnel et relationnel-objet très puissant qui offre une alternative open source aux solutions commerciales comme Oracle ou IBM. MySQL est un SGBD relationnel libre (licence GPL et commerciale), simple d'accès et très utilisé pour la réalisation de sites Web dynamiques. Depuis la version 4 MySQL implémente la plupart des fonctions attendues d'un SGBD relationnel. Access est un SGBD relationnel Microsoft, qui offre une interface graphique permettant de concevoir rapidement des applications de petite envergure ou de réaliser des prototypes. Jadis Pourquoi des SGBD? Avant l'avènement des SGBD, chaque application informatique dans l'entreprise impliquait sa propre équipe de développement, ses propres supports physiques, ses propres fichiers, ses propres normes, ses propres langages, etc. Conséquences... L'existence conjointe et croissante de ces applications indépendantes a des effets négatifs, tels que : La multiplication des tâches de saisie, de développement et de support informatique ; 8
7 Principes de la conception des bases de données La redondance anarchique des informations dans les fichiers ; L'incohérence des versions simultanées de fichiers ; La non-portabilité des traitements en raison des différences dans les formats et langages ; La multiplication des coûts de développement et de maintenance des applications. Problèmes... Les conséquences précédemment citées se répercutent sur l'entreprise en générant des problèmes humains et matériels ; Coûts en personnels qualifiés et en formations ; Remise des pouvoirs de décision entre les mains de spécialistes informatiques ; Tout changement matériel ou logiciel a un impact sur les applications ; Or... Tout changement de la structure des données nécessite de modifier les programmes. En réalité les applications ne sont jamais totalement disjointes, des données similaires (le coeur de l'information d'entreprise) sont toujours à la base des traitements. On peut citer typiquement :... Les données comptables Les données clients et fournisseurs Les données relatives à la gestion des stocks Les données relatives aux livraisons Les données marketing et commerciales Les données relatives au personnel 5. Caractéristiques des SGBD La conception d'un système d'information pour être rationnelle à l'échelle d'une entreprise se doit d'adopter un certain nombre de principes, tels que : Une description des données indépendante des traitements Une maintenance de la cohérence de données Le recours à des langages non procéduraux, interactifs et structurants Fondamental Dans ce cadre les SGBD se fixent les objectifs suivants : Indépendance physique des données Le changement des modalités de stockage de l'information (optimisation, réorganisation, segmentation, etc.) n'implique pas de changements des programmes. Indépendance logique des données L'évolution de la structure d'une partie des données n'influe pas sur l'ensemble des données. Manipulation des données par des non-informaticiens 9
8 Principes de la conception des bases de données L'utilisateur n'a pas à savoir comment l'information est stockée et calculée par la machine, mais juste à pouvoir la rechercher et la mettre à jour à travers des IHM ou des langages assertionnels simples. Administration facilitée des données Le SGBD fournit un ensemble d'outils (dictionnaire de données, audit, tuning, statistiques, etc.) pour améliorer les performance et optimiser les stockages. Optimisation de l'accès aux données Les temps de réponse et de débits globaux sont optimisés en fonctions des questions posées à la BD. Contrôle de cohérence (intégrité sémantique) des données Le SGBD doit assurer à tout instant que les données respectent les règles d'intégrité qui leurs sont imposées. Partageabilité des données Les données sont simultanément consultables et modifiables. Sécurité des données La confidentialité des données est assurée par des systèmes d'authentification, de droits d'accès, de cryptage des mots de passe, etc. Sûreté des données La persistance des données, même en cas de panne, est assurée, grâce typiquement à des sauvegardes et des journaux qui gardent une trace persistante des opérations effectuées. B. Notions générales pour les bases de données Objectifs Connaître les différences entre niveau conceptuel, niveau logique et niveau physique. Comprendre l'importance de la modélisation conceptuelle. 1. Notion de données Définition : Données Élément effectif, réel, correspondant à un type de données. Synonymes : Occurrence, Instance Exemple L'entier 486 : Données Le véhicule (460HP59, Renault, Megane, Jaune) Définition : Type de données Ensemble d'objets qui possèdent des caractéristiques similaires et manipulables par des opérations identiques. Synonymes : Classe 10
9 Principes de la conception des bases de données Exemple : Type de données Entier = { 0, 1, 2,..., N } Véhicule = (immatriculation, marque, type, couleur) 2. Notion de modèle de données Définition : Modèle de données Ensemble de concepts et de règles de composition de ces concepts permettant de décrire des données (Gardarin, 1999 [Gardarin99]). Un modèle est souvent représenté au moyen d'un formalisme graphique permettant de décrire les données (ou plus précisément les types de données) et les relations entre les données. On distingue trois niveaux de modélisation pour les bases de données : Exemple Exemple Exemple Le niveau conceptuel Il permet de décrire le problème posé, de façon non-formelle (en générale graphique), en prenant des hypothèses de simplification. Ce n'est pas une description du réel, mais une représentation simplifiée d'une réalité. Le niveau logique Il permet de décrire une solution, en prenant une orientation informatique générale (type de SGBD typiquement), formelle, mais indépendamment de choix d'implémentation précis. Le niveau physique Il correspond aux choix techniques, en terme de SGBD choisi et de sa mise en œuvre (programmation, optimisation, etc.). : Exemple de formalisme de modélisation conceptuelle Le modèle Entité-Association a été le plus répandu dans le cadre de la conception de bases de données (Chen, 1976 [Chen76]). Le modèle UML, qui se généralise pour la conception en informatique, se fonde sur une approche objet. : Exemple de formalisme de modélisation logique Le modèle CODASYL, antérieur au modèle relationnel est un modèle hiérarchique (Tardieu, 1983:193 [Tardieu83]). Le modèle relationnel (tabulaire) est le modèle dominant à la base des SGBDR. Le modèle relationnel-objet (adaptation des modèles relationnel et objet au cadre des SGBD) est actuellement en croissance. D'autres modèles (document, graphe,...) se développe dans le cadre du mouvement NoSQL. : Exemple de langages d'implémentation physique Le langage SQL est le plus répandu, commun à toutes les bases de données relationnelles. XQuery est un langage de données pour les bases de données XML. JSON peut être considéré comme un langage de données pour des bases 11
10 Principes de la conception des bases de données NoSQL comme MongoDB. Complément : Voir aussi Brève introduction aux bases de données NoSQL (cf. Brève introduction aux bases de données NoSQL) 3. Notion de schéma de données (niveau logique) Définition : Schéma de données Description, au moyen d'un langage formel, d'un ensemble de données dans le contexte d'une BD. Un schéma permet de décrire la structure d'une base de données, en décrivant l'ensemble des types de données de la base. L'occurrence d'une base de données est constituée de l'ensemble des données correspondant aux types du schéma de la base. Exemple : Schéma de base de données 1 Etudiant (NumEtud, nom, ville) 2 Module(NumMod, titre) 3 Inscription(NumEtud, NumMod, date) Exemple : Instance de base de données 1 Etudiant (172, 'Dupont', 'Lille') 2 Etudiant (173, 'Durand', 'Paris') 3 Etudiant (174, 'Martin', 'Orléans') 4 Module(1, 'SGBD') 5 Module(1, 'Systèmes d'exploitation') 6 Inscription(172, 1, 2002) 7 Inscription(172, 2, 2002) 8 Inscription(173, 1, 2001) 9 Inscription(174, 2, 2002) Complément : Vue canonique et vues externes Le schéma de données peut se décliner selon deux niveaux de représentation : 1. Le schéma interne ou canonique : Il s'agit du modèle global, formé de l'union des sous-modèles du niveau externe. 2. Les schémas externe : Il s'agit de sous-ensembles du modèle global, vus par des groupes d'utilisateurs particuliers (on parle d'ailleurs de "vue" pour un modèle externe). 12
11 Principes de la conception des bases de données Image 1 Schémas interne et externes 4. Notion de langage de données (niveau physique) Définition : Langage de données Langage informatique permettant de décrire et de manipuler les schémas d'une BD d'une une manière assimilable par la machine. Synonymes : Langage orienté données Exemple : SQL SQL est le langage orienté données consacré aux SGBD relationnels et relationnels-objet. Un langage de données peut être décomposé en trois sous langages : Le Langage de Définition de Données Le LDD permet d'implémenter le schéma conceptuel (notion de table en SQL) et les schémas externes (notion de vue en SQL). Le Langage de Contrôle de Données Le LCD permet d'implémenter les droits que les utilisateurs ont sur les données et participe donc à la définition des schémas externes. Le Langage de Manipulation de Données Le LMD permet l'interrogation et la mise à jour des données. C'est la partie du langage indispensable pour exploiter la BD et réaliser les applications. Exemple : Définition de données en SQL 1 CREATE TABLE Etudiant ( 2 NumEtu : integer, 3 Nom : string, 4 Ville : string) Cette instruction permet de créer une relation "Etudiant" comportant les propriétés "NumEtu", "Nom" et "Ville". 13
12 Principes de la conception des bases de données Exemple : Contrôle de données en SQL 1 GRANT ALL PRIVILEGES ON Etudiant FOR 'Utilisateur' Cette instruction permet de donner tous les droits à l'utilisateur "Utilisateur" sur la relation "Etudiant". Exemple : Manipulation de données en SQL 1 SELECT Nom 2 FROM Etudiant 3 WHERE Ville = 'Compiègne' Cette instruction permet de rechercher les noms de tous les étudiants habitant la ville de Compiègne. 5. Notion de dictionnaire de données Définition : Dictionnaire des données Le dictionnaire de données d'un SGBD contient les informations relatives aux schémas et aux droits de toutes les bases de données existantes au sein de ce SGBD. Il s'agit d'un outil fondamental pour les administrateurs. Les dictionnaires de données sont généralement implémentés sous la forme d'une base de données particulière du SGBD, ce qui permet de gérer les données relatives aux bases de données de la même façon que les autres données de l'entreprise (i.e. dans une base de données). Synonymes : Catalogue des données, Métabase Exemple : Liste des bases de données d'un serveur PostgreSQL. 1 stc=> SELECT datname FROM pg_database; 2 datname template1 5 template0 6 postgres 7 nf26 8 stc 9 test 10 (6 rows) 11 Exemple : Liste des tables d'une base de données PostgreSQL 1 stc=> \d 2 List of relations 3 Schema Name Type Owner public city table stc 6 public person table stc 7 (2 rows) 8 14
13 Principes de la conception des bases de données Exemple : Liste des attributs d'une table PostgresSQL 1 stc=> \d person 2 Table "public.person" 3 Column Type Modifiers pknum character varying(13) not null 6 name character varying(25) 7 Indexes: 8 "person_pkey" PRIMARY KEY, btree (pknum) 9 6. Exercice : Dictionnaire de données [Solution n 2 p 45] Parmi les informations suivantes, lesquelles peuvent être trouvées dans le dictionnaire de la base de données. La liste des tables La liste des utilisateurs La liste des vues La liste des clés C. Méthodes de conception de bases de données Objectifs Connaître la méthodologie de conception d'une BD. 1. Exercice : Étapes de la conception d'une base de données Mettre dans l'ordre les étapes de conception suivantes. 1. Énonciation de la forme normale avant normalisation [Solution n 3 p 45] 2. Décomposition des relations jusqu'à arriver en 3NF en préservant les DF 3. Établissement des DF sous la forme de la fermeture transitive pour chaque relation du modèle 4. Rétro-conception d'un modèle UML normalisé 5. Création du code SQL LDD pour un SGBDR ou un SGBDRO 6. Élaboration du modèle logique en relationnel ou relationnel-objet 7. Modélisation conceptuelle en UML ou E-A 8. Analyse de la situation existante et des besoins 15
14 Traduire Principes de la conception des bases de données Réponse : 2. Méthodologie de conception d'une base de données Méthode : Étapes de la conception d'une base de données 1. Analyse de la situation existante et des besoins 2. Création d'une série de modèles conceptuels (canonique et vues externes) qui permettent de représenter tous les aspects importants du problème 3. Traduction des modèles conceptuels en modèle logique et normalisation de ce modèle logique 4. Implémentation d'une base de données dans un SGBD, à partir du modèle logique, et optimisation Domaine problème posé Représenter Modèle Conceptuel Fondamental BD solution proposée Implémenter Modèle Logique Graphique 1 Processus de conception d'une base de données Bien analyser le problème posé en amont Bien modéliser le problème au niveau conceptuel avant de passer aux niveaux logiques et physiques Conseil : L'importance de l'étape d'analyse La première étape de la conception repose sur l'analyse de l'existant et des besoins. De la qualité de la réalisation de cette première étape dépendra ensuite la pertinence de la base de données par rapports aux usages. Cette première étape est donc essentielle et doit être menée avec soins. Si la première étape est fondamentale dans le processus de conception, elle est aussi la plus délicate. En effet, tandis que des formalismes puissants existent pour la modélisation conceptuelle puis pour la modélisation logique, la perception de l'existant et des besoins reste une étape qui repose essentiellement sur l'expertise d'analyse de l'ingénieur. Conseil : L'importance de l'étape de modélisation conceptuelle Étant donnée une analyse des besoins correctement réalisée, la seconde étape consiste à la traduire selon un modèle conceptuel. Le modèle conceptuel étant formel, il va permettre de passer d'une spécification en langage naturel, et donc 16
15 Principes de la conception des bases de données soumise à interprétation, à une spécification non ambigüe. Le recours aux formalismes de modélisation tels que E-A ou UML est donc une aide fondamentale pour parvenir à une représentation qui ne sera plus liée à l'interprétation du lecteur. La traduction d'un cahier des charges spécifiant l'existant et les besoins en modèle conceptuel reste néanmoins une étape délicate, qui va conditionner ensuite l'ensemble de l'implémentation informatique. En effet les étape suivantes sont plus mécaniques, dans la mesure où un modèle logique est déduit de façon systématique du modèle conceptuel et que l'implémentation logicielle est également réalisée par traduction directe du modèle logique. Remarque : Les étapes de traduction logique et d'implémentation Des logiciels spécialisés (Sybase PowerDesigner [w_sybase] pour la modélisation E- A ou Objecteering software [w_objecteering] pour la modélisation UML) sont capables à partir d'un modèle conceptuel d'appliquer des algorithmes de traduction qui permettent d'obtenir directement le modèle logique, puis les instructions pour la création de la base de données dans un langage orienté données tel que SQL. L'existence de tels algorithmes de traduction montre que les étapes de traduction logique et d'implémentation sont moins complexes que les précédentes, car plus systématiques. Néanmoins ces étapes exigent tout de même des compétences techniques pour optimiser les modèles logiques (normalisation), puis les implémentations en fonction d'un contexte de mise en œuvre matériel, logiciel et humain. 3. La méthode MERISE et le modèle E-A MERISE est une méthode d'analyse informatique particulièrement adaptée à la conception de bases de données. MERISE préconise une conception en trois étapes : Réaliser le MCD (E-A) Traduire en MLD (Relationnel) Implémenter le MPD (SQL) Le modèle E-A Image 2 L'analyse selon MERISE La méthode MERISE a pour fondement le modèle E-A pour le niveau conceptuel, 17
16 Principes de la conception des bases de données qui a fait son succès. Les principales caractéristiques du modèle E-A sont : Exemple Une représentation graphique simple et naturelle Une puissance d'expression élevée pour un nombre de symboles raisonnables Une lecture accessible à tous et donc un bon outil de dialogue entre les acteurs techniques et non techniques Une formalisation non ambiguë et donc un bon outil de spécification détaillée Modèle E-A de la base de données de gestion de projets 4. Le langage de modélisation UML UML est un autre langage de modélisation, plus récent et couvrant un spectre plus large que les bases de données. En tant que standard de l'omg et en tant que outil très utilisé pour la programmation orientée objet, il a supplanté la modélisation E-A. Attention En BD on utilise uniquement le diagramme de classe d'uml pour modéliser 18
17 Principes de la conception des bases de données conceptuellement les données. Exemple Modèle UML de la base de données de gestion de projets 5. Éléments pour l'analyse de l'existant et des besoins La phase d'analyse de l'existant et des besoins est une phase essentielle et complexe. Elle doit aboutir à des spécifications générales qui décrivent en langage naturel les données manipulées, et les traitements à effectuer sur ces données. On se propose de donner une liste non exhaustive d'actions à mener pour rédiger de telles spécifications. Méthode : L'analyse de documents existants La conception d'une base de données s'inscrit généralement au sein d'usages existants. Ces usages sont généralement, au moins en partie, instrumentés à travers des documents électroniques ou non (papier typiquement). Il est fondamental d'analyser ces documents et de recenser les données qu'ils manipulent. Exemple : Exemples de document existants à analyser Fichiers papiers de stockage des données (personnel, produits, etc.) 19
18 Principes de la conception des bases de données Formulaires papiers d'enregistrement des données (fiche d'identification d'un salarié, fiche de description d'un produit, bon de commande, etc.) Documents électroniques de type traitement de texte (lettres, mailing, procédures, etc.) Documents électroniques de type tableurs (bilans, statistiques, calculs, etc.) Bases de données existantes, à remplacer ou avec lesquelles s'accorder (gestion des salaires, de la production, etc.) Intranet d'entreprise (information, téléchargement de documents, etc.) etc. Méthode : Le recueil d'expertise métier Les données que la base va devoir manipuler sont toujours relatives aux métiers de l'entreprise, et il existe des experts qui pratiquent ces métiers. Le dialogue avec ces experts est une source importante d'informations. Il permet également de fixer la terminologie du domaine. Exemple : Exemples d'experts à consulter Praticiens (secrétaires, ouvrier, contrôleurs, etc.) Cadres (responsables de service, contre-maîtres, etc.) Experts externes (clients, fournisseurs, etc.) etc. Méthode : Le dialogue avec les usagers La base de données concerne des utilisateurs cibles, c'est à dire ceux qui produiront et consommeront effectivement les données de la base. Il est nécessaire de dialoguer avec ces utilisateurs, qui sont les détenteurs des connaissances relatives aux besoins réels, liés à leur réalité actuelle (aspects de l'organisation fonctionnant correctement ou défaillants) et à la réalité souhaitée (évolutions, lacunes, etc.). Exemple : Exemples d'utilisateurs avec qui dialoguer Personnes qui vont effectuer les saisies d'information (à partir de quelles sources? Quelle est leur responsabilité? etc.) Personnes qui vont consulter les informations saisies (pour quel usage? pour quel destinataire? etc.) Personnes qui vont mettre à jour les informations (pour quelles raisons? comment le processus est enclenché? etc.) etc. Méthode : L'étude des autres systèmes informatiques existants la base de données va généralement (et en fait quasi systématiquement aujourd'hui) s'insérer parmi un ensemble d'autres logiciels informatiques travaillant sur les données de l'entreprise. Il est important d'analyser ces systèmes, afin de mieux comprendre les mécanismes existants, leurs forces et leurs lacunes, et de préparer l'intégration de la base avec ces autres systèmes. Une partie de ces systèmes seront d'ailleurs souvent également des utilisateurs de la base de données, tandis que la base de données sera elle même utilisatrice d'autre systèmes. 20
19 Principes de la conception des bases de données Exemple : Exemples d'autres systèmes coexistants à étudier Autres bases de données (les données sont elle disjointes ou partiellement communes avec celles de la base à concevoir? quelles sont les technologies logicielles sur lesquelles reposent ces BD? etc.) Systèmes de fichiers classiques (certains fichiers ont-ils vocations à être supplantés par la base? à être générés par la base? à alimenter la base? etc.) Applications (ces applications ont elles besoins de données de la base? peuvent-elles lui en fournir? etc.) etc. 21
20 Pratique : II - Découverte d'une base de données avec PostgreSQL II Rappels architecture UTC 26 Connexion à une base de données PostgreSQL 26 Le client textuel "psql" 27 Notion de table 30 Notion de contraintes 31 Notion de références 32 Projection, restriction et jointure 32 Import de données depuis un fichier CSV 33 Fonctions et agrégats 34 Dictionnaire de données 34 Indexation et performance 35 Les clients graphiques pgadminiii et phppgadmin 35 Test de pgadminiii et phppgadmin 38 Objectifs Découvrir le modèle relationnel Découvrir un SGBDR Découvrir PostgreSQL Ce TP est destiné à vous faire expérimenter un SGBDR, afin de vous familiariser avec les concepts classiques des bases de données relationnelles. Il a pour objectif de donner un aperçu général de la conception des bases de données, en donnant à expérimenter la plupart des principes. Il constitue un résumé de ce qui sera vu en première partie de NF17. Ce TP sera réalisé sur le SGBDR PostgreSQL. Il permettra ainsi également d'introduire ce système. 23
21 Pratique : Découverte d'une base de données avec PostgreSQL A. Rappels architecture UTC Les comptes d'uv sont des comptes sur des serveurs Linux de l'utc (accès et espace disque réservé). Par exemple nf17p001 est un compte sur le serveur tuxa.sme.utc. Les comptes d'uv sont également des comptes d'accès sur des postes clients Linux ou Windows de l'utc. Méthode : Transférer des fichiers depuis un client vers le serveur auquel il est associé Méthode Windows Les clients Windows de l'utc sont configurés pour proposer un disque virtuel Z qui pointe sur l'espace du serveur Linux : les données déposées sur le disque Z sont donc physiquement stockées sur le serveur Linux. Les clients Linux de l'utc sont configurés pour que le dossier home sur le client corresponde à un répertoire sur le serveur. Quelque soit le client il est possible d'utiliser un client SFTP (Filezilla par exemple) en se connectant au serveur (par exemple tuxa.sme.utc) avec son compte UTC (par exemple nf17p001). : Se connecter à un serveur Linux depuis un client Pour se connecter à un serveur Linux depuis un client Windows on peut utiliser le terminal par défaut du système, mais il est recommandé d'utiliser un programme plus performant comme par exemple Putty. 1. Ouvrez un terminal : Exécuter Putty. 2. Connectez-vous sur votre compte Linux : Connectez vous de préférence en utilisant ssh, lancez ssh username@tuxa.sme.utc dans le terminal Putty (avec username votre compte NF17). B. Connexion à une base de données PostgreSQL Connexion depuis un PC de l'utc sous Linux (mode terminal) Pour accéder à la base de données qui se trouve sur un serveur, il faut exécuter un logiciel client qui va se connecter au serveur. Nous allons utiliser le client textuel psql (qui est installé sur votre compte Linux). Dans un terminal, exécutez la commande : psql dbusername -h tuxa.sme.utc username étant votre compte d'uv tuxa.sme.utc étant le serveur sur lequel se trouve la base de données Voir aussi : 1 tuxa:nf17p001:1:~> psql dbnf17p001 -h tuxa.sme.utc 2 Password: 3 psql (8.4.9) 4 Type "help" for help. 5 dbnf17p015=> Se connecter à un serveur Linux depuis un client Windows (cf. Rappels architecture UTC p 24) 24
22 Pratique : Découverte d'une base de données avec PostgreSQL C. Le client textuel "psql" Définition : psql psql est le client textuel de PostgreSQL. 1 psql dbname -h host Syntaxe : Commande de base \? : Liste des commandes psql \h : Liste des instructions SQL \h CREATE TABLE : Description de l'instruction SQL CREATE TABLE \q : Quitter psql \d : Liste des relations (catalogue de données) \d matable : Description de la relation matable \H : mode HTML ou mode textuel pour les retours de requête \! : permet d'exécuter certaines commandes du shell Linux Syntaxe : Écrire une instruction SQL Une instruction SQL peut s'écrire sur une ou plusieurs lignes, le retour chariot n'a pas d'incidence sur la requête, c'est le ; qui marque la fin de l'instruction SQL et provoque son exécution. 1 dbnf17p015=> SELECT * FROM matable ; 1 dbnf17p015=> SELECT * 2 dbnf17p015-> FROM matable 3 dbnf17p015-> ; On notera dans psql la différence entre les caractères => et -> selon que l'on a ou pas effectué un retour chariot. Complément D. Notion de table Créer sa première table Une base de données relationnelle est principalement constituée de tables (ou «relations» d'où le nom de relationnel). Une table est basiquement un élément d'organisation de l'information constitué de colonnes (ou attributs) et de lignes (ou enregistrements). Nous allons dans un premier temps créer le schéma d'une table, c'est à dire définir ses colonnes. Pour cela nous utiliserons l'instruction SQL LDD «CREATE». Q u e s t i o n 1 Exécuter l'instruction suivante et décrire ce qu'elle fait. 25
23 Pratique : Découverte d'une base de données avec PostgreSQL 1 CREATE TABLE tetu ( 2 pk_numsecu CHAR(13) PRIMARY KEY, 3 k_numetu VARCHAR(20) UNIQUE NOT NULL, 4 nom VARCHAR(50), 5 prenom VARCHAR(50)); Alimenter la table Une fois les colonnes de la table définies, nous pouvons en déclarer les lignes. Nous utilisons pour cela l'instruction SQL LMD «INSERT». Q u e s t i o n 2 Exécuter les deux instructions suivantes et décrire ce qu'elles font. 1 INSERT INTO tetu (pk_numsecu, k_numetu, nom, prenom) 2 VALUES (' ', 'AB X', 'Dupont', 'Pierre'); 3 INSERT INTO tetu (pk_numsecu, k_numetu, nom, prenom) 4 VALUES (' ', 'XGB67668', 'Durand', 'Anne'); Interroger la table Une fois une table créée, il est possible à tout moment d'en inspecter le contenu. Nous utilisons pour cela l'instruction SQL LMD «SELECT». Q u e s t i o n 3 Exécuter l'instruction suivante et décrire ce qu'elle fait. 1 SELECT pk_numsecu, k_numetu, nom, prenom 2 FROM tetu; Q u e s t i o n 4 Exécuter l'instruction suivante et décrire ce qu'elle fait. 1 SELECT nom, prenom 2 FROM tetu 3 WHERE pk_numsecu=' '; E. Notion de contraintes Contrainte de domaine Lorsque l'on définit une table, on définit également des contraintes sur cette table, qui serviront à contrôler son intégrité, par rapport à des règles que l'on aura fixées. C'est notamment le cas des contraintes de domaine, qui permettent de vérifier qu'une colonne prend ses valeurs parmi un ensemble déterminé (les chaînes de 10 caractères au plus, les entier de 1 à 1000, etc.). Q u e s t i o n 1 Exécuter l'instruction suivante et expliquer pourquoi le système renvoie une erreur. 1 INSERT INTO tetu (pk_numsecu, k_numetu, nom, prenom) 2 VALUES ('XXXXXXXXXXXXXXX', 'XXXXXX', 'Dupont', 'Pierre'); Q u e s t i o n 2 [Solution n 1 p 43] Donner un exemple de contrainte qui n'est pas formulée dans la définition de la table tetu et que l'on aurait pu souhaiter. 26
24 Pratique : Découverte d'une base de données avec PostgreSQL Contraintes de clé Les contraintes de clé se composent de contraintes d'unicité et de contraintes de non nullité. Elles permettent d'assurer que toutes les valeurs d'une colonne seront différentes pour chaque ligne. Q u e s t i o n 3 [Solution n 2 p 43] Exécuter les trois instructions suivantes (les unes après les autres) et expliquer ce qui se passe. 1 INSERT INTO tetu (pk_numsecu, k_numetu, nom, prenom) 2 VALUES (' ', 'HGYT67655Y', 'Dupont', 'Pierre'); 3 INSERT INTO tetu (pk_numsecu, k_numetu, nom, prenom) 4 VALUES (' ', 'XGB67668', 'Durand', 'Anne'); 5 INSERT INTO tetu (pk_numsecu, k_numetu, nom, prenom) 6 VALUES (' ', 'HGYT67655Y', 'Duchemin', 'Aline'); Q u e s t i o n 4 Explorer le contenu de votre table en exécutant l'instruction suivante, et vérifier vos explications précédentes. 1 SELECT * 2 FROM tetu; Q u e s t i o n 5 [Solution n 3 p 43] Pourrait-on insérer dans la table une seconde personne qui aurait le prénom "Aline" et le nom "Duchemin"? Pourquoi? F. Notion de références Clé étrangère Une base de données est en général constituée de plusieurs tables. Ces tables se référencent entre elles en utilisant une clé étrangère : c'est à dire qu'une des colonnes de la table est utilisée pour faire référence à la colonne d'une autre table. On va à présent créer une seconde table, qui permettra d'associer des Unités de Valeurs (UVs) aux étudiants, puis insérer des valeurs dans cette table. 1 CREATE TABLE tuv ( 2 pk_code CHAR(4) NOT NULL, 3 fk_etu CHAR(13) NOT NULL, 4 PRIMARY KEY (pk_code, fk_etu), 5 FOREIGN KEY (fk_etu) REFERENCES tetu(pk_numsecu)); 1 INSERT INTO tuv (pk_code, fk_etu) 2 VALUES ('NF17', ' '); 3 INSERT INTO tuv (pk_code, fk_etu) 4 VALUES ('NF26', ' '); 5 INSERT INTO tuv (pk_code, fk_etu) 6 VALUES ('NF29', ' '); Q u e s t i o n 1 Expliciter ce qu'exprime le contenu de la table tuv. [Solution n 4 p 43] 27
25 Pratique : Découverte d'une base de données avec PostgreSQL Contraintes d'intégrité référentielle Lorsque nous avons défini la table tuv, nous avons défini une contrainte supplémentaire, dite d'intégrité référentielle : contrainte de type FOREIGN KEY. Q u e s t i o n 2 En exécutant le code suivant, expliquer quel est le rôle d'une contrainte d'intégrité référentielle. 1 INSERT INTO tuv (pk_code, fk_etu) 2 VALUES ('NF17', ' '); 3 INSERT INTO tuv (pk_code, fk_etu) 4 VALUES ('NF17', ' '); G. Projection, restriction et jointure L'instruction SELECT du langage SQL LMD nous donne de larges possibilités pour interroger les tables d'une base de données. Q u e s t i o n 1 Exécuter l'instruction suivante et expliquer pourquoi c'est une projection. 1 SELECT nom, prenom 2 FROM tetu; Q u e s t i o n 2 Exécuter l'instruction suivante et expliquer pourquoi c'est une restriction. 1 SELECT * 2 FROM tetu 3 WHERE nom='dupont'; Q u e s t i o n 3 Exécuter l'instruction suivante et expliquer pourquoi c'est un produit (cartésien). 1 SELECT * 2 FROM tetu,tuv; Q u e s t i o n 4 Exécuter l'instruction suivante et expliquer pourquoi c'est une jointure. 1 SELECT * 2 FROM tetu JOIN tuv ON pk_numsecu=fk_etu; Q u e s t i o n 5 Exécuter l'instruction suivante et montrer qu'une jointure est la composition d'un produit et d'une restriction. 1 SELECT * 2 FROM tetu,tuv 3 WHERE pk_numsecu=fk_etu; 28
26 Pratique : Découverte d'une base de données avec PostgreSQL H. Import de données depuis un fichier CSV Nous allons à présent réinitialiser la base avec des données contenues dans un fichier. Q u e s t i o n 1 Exécuter les instructions suivantes afin de supprimer les données existantes dans les tables (instruction DELETE du SQL LMD). Vérifier que les tables sont vides. 1 DELETE FROM tuv; 2 DELETE FROM tetu; Q u e s t i o n 2 Récupérer les deux fichiers de données et les mettre sur son compte Linux. Regarder le contenu des fichiers. Pourquoi les appelle-t-on des fichiers CSV? Les fichiers de données sont disponibles en ligne dans l'archive Indice : Fichier CSV (cf. Fichier CSV) Q u e s t i o n 3 Insérer les données en exécutant les instructions suivantes. Indice : 1 \copy tetu (pk_numsecu, k_numetu, nom, prenom) FROM 'etus.csv' WITH DELIMITER AS ';' 2 \copy tuv (fk_etu, pk_code) FROM 'uvs.csv' WITH DELIMITER AS ';' Importer un fichier CSV (cf. Importer un fichier CSV) I. Fonctions et agrégats Q u e s t i o n 1 Exécuter la requête SQL suivante et expliquer le résultat obtenu. 1 SELECT COUNT(pk_code) 2 FROM tuv 3 WHERE fk_etu='1'; Q u e s t i o n 2 Exécuter la requête SQL suivante et expliquer le résultat obtenu. 1 SELECT pk_code, COUNT(fk_etu) 2 FROM tuv 3 GROUP BY pk_code 4 ORDER BY COUNT(fk_etu); 29
27 Pratique : Découverte d'une base de données avec PostgreSQL J. Dictionnaire de données Consulter le dictionnaire de données pour contrôler les tables créées. Q u e s t i o n 1 Exécuter la commande \d et expliquer ce qu'elle renvoie Q u e s t i o n 2 Exécuter les commandes \d tetu et \d tuvs expliquer ce qu'elles renvoient. Q u e s t i o n 3 Consulter l'aide \? et chercher d'autres commandes d'accès au dictionnaire de données. K. Indexation et performance Pour cet exercice, procéder à une nouvelle réinitialisation des données. Les fichiers de données sont disponibles en ligne dans l'archive Q u e s t i o n 1 Exécuter la requête SQL suivante et expliquer le résultat obtenu. [Solution n 5 p 43] 1 SELECT COUNT(*) 2 FROM tetu 3 WHERE nom='a'; Exécuter la requête SQL suivante permettant d'avoir une description de ce qui se passe lorsque la requête est exécutée, ainsi qu'une indication de performance (cost). 1 EXPLAIN 2 SELECT COUNT(*) 3 FROM tetu 4 WHERE nom='a'; Expliquer ce que peut vouloir dire Seq Scan on tetu et ce que cela nous apprend sur l'exécution de la requête. Q u e s t i o n 2 Exécuter la requête SQL suivante permettant de créer un index sur la colonne nom. 1 CREATE INDEX tetu_nom_idx 2 ON tetu(nom); Exécuter à nouveau la requête en mode explication, et tenter de donner une description de ce qui se passe à présent au niveau du moteur de requête, en particulier, pourquoi le coût de la requête a-t-il diminué? 30
28 Pratique : Découverte d'une base de données avec PostgreSQL L. Les clients graphiques pgadminiii et phppgadmin pgadminiii Un client graphique une interface graphique permettant d'effectuer les mêmes opérations qu'avec le client psql. Le client graphique pgadminiii est un client lourd qui fonctionne très bien sous Linux, mais qui est instable sous Windows. Le client graphique phppgadmin est un client léger (qui tourne dans un navigateur Web donc). Déclarer une connexion dans pgadminiii 1. Sélectionner Fichier > Ajouter un serveur 2. Utilisez votre compte et mot de passe NF17 - Hôte : tuxa.sme.utc - Port : 5432 (port standard de PostgreSQL) - Base : dbnf17p... - Nom : nf17p... - Mot de passe :... 31
29 Pratique : Découverte d'une base de données avec PostgreSQL Image 3 Fenêtre de connexion pgadmin III Ouvrir un terminal SQL dans pgadminiii 1. Sélectionner sa base de données dans la liste Bases de données 2. Sélectionner Outils > Éditeur de requêtes (ou CTRL+E) 32
30 Pratique : Découverte d'une base de données avec PostgreSQL Image 4 pgadminiii Complément : phppgadmin M. Test de pgadminiii et phppgadmin Connexion depuis un PC de l'utc avec pgadmin III Lancer et tester le programme pgadminiii. Exécuter une ou deux requêtes permettant de se familiariser avec son fonctionnement. Connexion depuis à phppgadmin à l'utc Connectez vous à : avec un navigateur Web. Exécuter une ou deux requêtes permettant de se familiariser avec son fonctionnement. 33
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é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étail4. 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étailChapitre 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étailLes bases de données Page 1 / 8
Les bases de données Page 1 / 8 Sommaire 1 Définitions... 1 2 Historique... 2 2.1 L'organisation en fichier... 2 2.2 L'apparition des SGBD... 2 2.3 Les SGBD relationnels... 3 2.4 Les bases de données objet...
Plus en détailBases 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é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étail1. 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étailBases 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é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étailIntroduction 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é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 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étailPré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étailLe langage SQL (première partie) c Olivier Caron
Le langage SQL (première partie) 1 Plan Le S.G.B.D. postgres Le langage SQL Langage de manipulation de données Langage de requêtes 2 Quelques mots sur Postgres (1/2) Travaux de Stonebraker (Univ. Berkeley)
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é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étailCours 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é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étail1 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étailSGBDR. Systèmes de Gestion de Bases de Données (Relationnelles)
SGBDR Systèmes de Gestion de Bases de Données (Relationnelles) Plan Approches Les tâches du SGBD Les transactions Approche 1 Systèmes traditionnels basés sur des fichiers Application 1 Gestion clients
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é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étailBases 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étailMercredi 15 Janvier 2014
De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information loic.thomas@anteagroup.com 02 38 64 26 41 Architecture Il est
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é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étailCHAPITRE 1 ARCHITECTURE
07/04/2014 Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique ADMINISTRATION ET TUNING DE BASES DE DONNÉES CHAPITRE 1 ARCHITECTURE RESPONSABLE DR K. BOUKHALFA
Plus en détailCONCEPTION 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étailSystè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étailBases de données Outils de gestion
11/03/2010 Bases de données Outils de gestion Mise en place d outils pour gérer, stocker et utiliser les informations d une recherche biomédicale ent réalisé par L. QUINQUIS d épidémiologie et de biostatistique
Plus en détailBases de Données. Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre
Bases de Données Le cas des BD relationnelles ouverture sur les BD relationnelles spatiales Séance 2 : Mise en oeuvre Synthèse : conception de BD langage de modélisation famille de SGBD SGBD Analyse du
Plus en détailCQP ADMINISTRATEUR DE BASES DE DONNÉES (ABD) ----------------------------------------------------------------------------------------------------
ORGANISME REFERENCE STAGE : 26587 20 rue de l Arcade 75 008 PARIS CONTACT Couverture : M. Frédéric DIOLEZ Paris, Lyon, Bordeaux, Rouen, Toulouse, Marseille, Tél. : 09 88 66 17 40 Strasbourg, Nantes, Lille,
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étailUNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE
UNIVERSITE DE CONSTANTINE 1 FACULTE DES SIENCES DE LA TECHNOLOGIE DEPARTEMENT D ELECTRONIQUE 3 ème année LMD ELECTRONIQUE MEDICALE TP N 1 : Initiation à L Access I. Introduction Microsoft Access fait partie
Plus en détailBASES 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é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étailINTRODUCTION 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é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étailConception, 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é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étailProgramme détaillé. Administrateur de Base de Données Oracle - SQLServer - MySQL. Objectifs de la formation. Les métiers
Programme détaillé Objectifs de la formation Les systèmes de gestion de bases de données prennent aujourd'hui une importance considérable au regard des données qu'ils hébergent. Véritable épine dorsale
Plus en détailIntroduction 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é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étailMagasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP)
Magasins et entrepôts de données (Datamart, data warehouse) Approche relationnelle pour l'analyse des données en ligne (ROLAP) Définition (G. Gardarin) Entrepôt : ensemble de données historisées variant
Plus en détailLe "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique
Introduction à l informatique : Information automatisée Le premier ordinateur Définition disque dure, mémoire, carte mémoire, carte mère etc Architecture d un ordinateur Les constructeurs leader du marché
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étailIntroduction 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é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étailGestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed
6, bd maréchal Juin F-14050 Caen cedex 4 Spécialité Informatique 2 e année Rapport de projet Gestion du parc informatique matériel et logiciel de l Ensicaen SAKHI Taoufik SIFAOUI Mohammed Suivi ENSICAEN
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étailLe Langage De Description De Données(LDD)
Base de données Le Langage De Description De Données(LDD) Créer des tables Décrire les différents types de données utilisables pour les définitions de colonne Modifier la définition des tables Supprimer,
Plus en détailRappel 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é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étailCESI 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étailMODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»
MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE» Du cours Modélisation Semi -Formelle de Système d Information Du Professeur Jean-Pierre GIRAUDIN Décembre. 2002 1 Table de matière Partie 1...2 1.1
Plus en détailIT203 : 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étailPostgreSQL. Formations. SQL avancé... 10. Calendrier... 18
Formations PostgreSQL Catalogue 2015 PostgreSQL Administration... 4 PostgreSQL Avancé... 5 PostgreSQL Hot Standby... 6 PostgreSQL Performance... 7 PostgreSQL Sauvegardes... 8 SQL : Conception & Mise en
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é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étailConduite de projets informatiques Développement, analyse et pilotage (2ième édition)
Avant-propos 1. Objectifs du livre 13 2. Structure du livre 14 Un projet informatique 1. Les enjeux 17 1.1 Les buts d'un projet 17 1.2 Les protagonistes d'un projet 18 1.3 Exemples de projets 19 2. Les
Plus en détailTP Bases de données réparties
page 1 TP Bases de données réparties requêtes réparties Version corrigée Auteur : Hubert Naacke, révision 5 mars 2003 Mots-clés: bases de données réparties, fragmentation, schéma de placement, lien, jointure
Plus en détailVincent 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étailLa problématique de la Préservation des Bases de Données. Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre
La problématique de la Préservation des Bases de Données Olivier ROUCHON CINES Groupe PIN Jeudi 7 Octobre Définition des bases de données Terme du langage courant base de données Utilisé pour désigner
Plus en détailModélisation de bases de données : Le modèle relationnel
Modélisation de bases de données : Le modèle relationnel Rappel chapitre 1 C est quoi un modèle? Type de modèle : Modèle hiérarchique Modèle réseau Modèle objet Modèle relationnel Cours BD Dr REZEG K 1
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étailDu 10 Fév. au 14 Mars 2014
Interconnexion des Sites - Design et Implémentation des Réseaux informatiques - Sécurité et Audit des systèmes - IT CATALOGUE DE FORMATION SIS 2014 1 FORMATION ORACLE 10G 11G 10 FEV 2014 DOUALA CAMEROUN
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étailIntroduction 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étailINDUSTRIALISATION ET RATIONALISATION
INDUSTRIALISATION ET RATIONALISATION A. LA PROBLEMATIQUE La mission de toute production informatique est de délivrer le service attendu par les utilisateurs. Ce service se compose de résultats de traitements
Plus en détailSQL Server 2012 - Administration d'une base de données transactionnelle avec SQL Server Management Studio (édition enrichie de vidéos)
Présentation 1. Introduction 13 2. Présentation de SQL Server 14 2.1 Qu'est-ce qu'un SGBDR? 14 2.2 Mode de fonctionnement Client/Serveur 16 2.3 Les plates-formes possibles 17 2.4 Les composants de SQL
Plus en détailModule BDR Master d Informatique (SAR)
Module BDR Master d Informatique (SAR) Cours 6- Bases de données réparties Anne Doucet Anne.Doucet@lip6.fr 1 Bases de Données Réparties Définition Conception Décomposition Fragmentation horizontale et
Plus en détailArchitecture de la plateforme SBC
Simple Business Connector Architecture de la plateforme SBC Titre Projet Description Architecture de la plateforme SBC Plateforme SBC Ce document reprend toutes les étapes de l'installation du serveur
Plus en détailINF 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étailPHP 5. La base de données MySql. A. Belaïd 1
PHP 5 La base de données MySql A. Belaïd 1 Base de données C est quoi une base de données? Une base de données contient une ou plusieurs tables, chaque table ayant un ou plusieurs enregistrements Exemple
Plus en détailProjet de synthèse PostgreSQL. LOGEON Vincent TSGERI 2011/2012
TSGERI 2011/2012 1/50 25/10/2011 SOMMAIRE INTRODUCTION...3 1-LA TECHNOLOGIE...4 1.1 Le produit...4 1.2 Les clients et les utilisateurs...6 1.3 Le marché...7 1.3.1 Les solutions propriétaires (utilisant
Plus en détailINTRODUCTION : Données structurées et accès simplifié
INTRODUCTION : Données structurées et accès simplifié À l'origine de l'informatique, le stockage d'information se faisait sur cartes perforées. Ces supports pauvres ne permettaient pas de définir la structuration
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étailBIRT (Business Intelligence and Reporting Tools)
BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»
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étailSybase PowerAMC 16. Guide des nouvelles fonctionnalités générales. www.sybase.fr/poweramc DOCUMENTATION
Sybase PowerAMC 16 Guide des nouvelles fonctionnalités générales DOCUMENTATION 2 2 www.sybase.fr/poweramc A propos de PowerAMC 16 PowerAMC est une solution de modélisation d'entreprise graphique qui prend
Plus en détailChapitre I : le langage UML et le processus unifié
I. Introduction Les méthodes d analyse orientées objet sont initialement issues des milieux industriels. La préoccupation dominante de leurs auteurs est le génie logiciel, c est-àdire les principes et
Plus en détailArchitecture d'entreprise : Guide Pratique de l'architecture Logique
Guides Pratiques Objecteering Architecture d'entreprise : Guide Pratique de l'architecture Logique Auteur : Version : 1.0 Copyright : Softeam Equipe Conseil Softeam Supervisée par Philippe Desfray Softeam
Plus en détailSQL Server 2014 Administration d'une base de données transactionnelle avec SQL Server Management Studio
Présentation 1. Introduction 13 2. Présentation de SQL Server 14 2.1 Qu'est-ce qu'un SGBDR? 15 2.2 Mode de fonctionnement client/serveur 16 2.3 Les plates-formes possibles 18 2.4 Les composants de SQL
Plus en détailTutorial sur SQL Server 2000
Tutorial sur SQL Server 2000 Système d'exploitation est 2000 pro et Serveur 2000 Sommaire 1 - Installation... 2 2 - Mise à jour... 5 3 - Présentation... 7 3-1 - Service Manager (Démarrer/Programmes/Microsoft
Plus en détailNF26 Data warehouse et Outils Décisionnels Printemps 2010
NF26 Data warehouse et Outils Décisionnels Printemps 2010 Rapport Modélisation Datamart VU Xuan Truong LAURENS Francis Analyse des données Avant de proposer un modèle dimensionnel, une analyse exhaustive
Plus en détailBases 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é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étailComprendre Merise et la modélisation des données
Comprendre Merise et la modélisation des données Tables des matières Avant-propos 1- Introduction 1-1 Principes fondateurs 1-2 Bases conceptuelles 1-3 Place de Merise dans le cycle de développement informatique
Plus en détailSQL. Oracle. pour. 4 e édition. Christian Soutou Avec la participation d Olivier Teste
Christian Soutou Avec la participation d Olivier Teste SQL pour Oracle 4 e édition Groupe eyrolles, 2004, 2005, 2008, 2010, is BN : 978-2-212-12794-2 Partie III SQL avancé La table suivante organisée en
Plus en détailFaculté des sciences de gestion et sciences économiques BASE DE DONNEES
BASE DE DONNEES La plupart des entreprises possèdent des bases de données informatiques contenant des informations essentielles à leur fonctionnement. Ces informations concernent ses clients, ses produits,
Plus en détailORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010
ORACLE 10G DISTRIBUTION ET REPLICATION Distribution de données avec Oracle G. Mopolo-Moké prof. Associé UNSA 2009/ 2010 1 Plan 12. Distribution de données 12.1 Génération des architectures C/S et Oracle
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étail14/04/2014. un ensemble d'informations sur un sujet : exhaustif, non redondant, structuré, persistant. Gaëlle PERRIN SID2 Grenoble.
Gaëlle PERRIN SID2 Grenoble Le 10/04/2014 Base de Données (BD) : une grande quantité de données, centralisées ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables
Plus en détailCRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE
CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de
Plus en détailBUSINESS INTELLIGENCE
GUIDE COMPARATIF BUSINESS INTELLIGENCE www.viseo.com Table des matières Business Intelligence :... 2 Contexte et objectifs... 2 Une architecture spécifique... 2 Les outils de Business intelligence... 3
Plus en détail