1 / 33

Informatique

ISFATES – L1 : UE Informatique1. Informatique. Bases de données et SGBD. Par Julien Brancher UFR MIM Université Paul Verlaine – METZ. Version sept. 2006. PLAN DU COURS. Introduction aux bases de données - SGBD La modélisation de données Les tables Les cardinalités Les associations

Download Presentation

Informatique

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ISFATES – L1 : UE Informatique1 Informatique Bases de données et SGBD Par Julien Brancher UFR MIM Université Paul Verlaine – METZ Version sept. 2006

  2. PLAN DU COURS • Introduction aux bases de données - SGBD • La modélisation de données • Les tables • Les cardinalités • Les associations • Exemples et exercice simple • Les transactions SQL • Principe et syntaxe générale • Création d’objets • Commandes de manipulations SQL • Procédés de filtrage et de triage • Exemple de requêtes SQL • Les enregistrements • La clé primaire • Les clés étrangères

  3. Introduction aux bases de données • Coeur du système d'information des entreprises • Mainframes  ordinateurs personnels • BD = grande quantité de données, centralisées ou non, servant pour les besoins d'une ou plusieurs applications, interrogeables et modifiables par un groupe d'utilisateurs travaillant en parallèle • Système de Gestion de Bases de Données (SGBD) = logiciel • Interface entre la base de données et les utilisateurs/programmes • Les limites à l'utilisation des fichiers • Connaître l'organisation des fichiers (séquentielle, indexée, ...) • Ecriture des programmes pour manipuler ces informations  Rigidité et long et coûteux à mettre en œuvre • Risque de création de fichiers qui contiennent des informations déjà présentes (redondance des données) • Peu fiables : risque d’utiliser les mêmes fichiers Introduction aux bases de données

  4. Introduction aux bases de données • Définitions • Collection de données inter-reliées de façon structurée et cohérente • Système de Gestion de Bases de Données (SGBD) : • Ensemble de programmes qui permettent à des utilisateurs de créer et maintenir une base de données : • Définition d'une base de données (spécification des types de données à stocker), • Construction d'une base de données (stockage des données) • Manipulation des données (principalement ajouter, supprimer, retrouver des données) • Oracle, Sybase, Informix, DB2, MySQL, Access, InterBase, OooBase • Le SGBD sépare la partie description des données, des données elles mêmes. Cette description est stockée dans un dictionnaire de données et peut être consultée par les utilisateurs.

  5. Introduction aux bases de données • Pourquoi le modèle relationnel ? • Ensemble de concepts permettant de décrire la structure d'une base de données • Opérations de mise à jour • Opérations de questionnement • Modèle de données le plus utilisé • Schéma de base de données = description des données à gérer • Phase de spécification • Peu évolutif

  6. Introduction aux bases de données • Fonctionnalités des SGBD • Description/récupération des données à l’aide de langages (SQL) • Contrôler/supprimer la redondance d'informations • Coût en temps • Coût en volume • Risque d'incohérence • Partage des données • Accès à la même information par plusieurs utilisateurs en même temps • Mécanisme de contrôle de la concurrence basé sur des techniques de verrouillage des données • Gérer les autorisations d'accès • BD multiutilisateurs  confidentialité des données • Droits de lecture, mise à jour, création, ... • Représenter des relations complexes entre les données • Vérifier les contraintes d'intégrité • Assurer la sécurité et la reprise après panne • Pannes disques : mécanisme de journalisation qui permet de régénérer une base de données automatiquement à partir d'une version de sauvegarde et du journal des mouvements.

  7. La modélisationde données • C’est quoi la modélisation ? • Un « modèle » est la représentation mentale d’un être du monde réel et de son fonctionnement : quand on dispose d’un modèle, on peut simuler mentalement le comportement de cet être. • La modélisation, ce n’est donc rien d’autre que la pensée organisée en vue d’une finalité pratique  modèle est synonyme de théorie, mais avec une connotation pratique : un modèle, c’est une théorie orientée vers l’action qu’elle doit servir. • Autrement dit, modéliser un objet c’est définir : • Les concepts qui permettent de le décrire • Les relations fonctionnelles qu’entretiennent ces concepts. La modélisationde données

  8. Nom Attribut1 Attribut2 Attribut3 … La modélisationde données • Vocabulaire indispensable : • Base de données : ensemble des tables • Table (ou entité) : se compose d'enregistrements. Chaque enregistrement regroupe un certain nombre de champs Nom de la table Liste des attributs de cette table (caractéristiques)

  9. Voiture N° d’immatriculation Marque Gamme Modèle Puissance Place Client La modélisationde données • Exemple A : • Un directeur de garage de voitures désire une base de données pour la gestion de ses clients et de leurs voitures. Modélisation de l’objet « voiture » Caractéristiques amenées à être manipuler dans la base

  10. Nom Attribut1 Attribut2 Attribut3 … La modélisationde données • Exemple A : • Attribut : (ou champ) caractéristique de l’objet • Clef primaire : champ identifiant d’une table (un ou plusieurs) Voiture N° d’immatriculation Marque Gamme Modèle Puissance Places Client Clé primaire

  11. La modélisationde données • Vocabulaire indispensable : • Enregistrements : présente toute l'information concernant un "membre " unique d'une table

  12. La modélisationde données Redondance d’informations • Exemple B : • Il y a 5 voitures dans le garage :

  13. La modélisationde données • Exemple A (corrigé) : • Redondance des données : un client peut avoir plusieurs voitures!! • Séparer les données du client aux données de la voiture • Pas assez d’informations sur le client : • Nom • Prénom • Adresse postale • E-mail, … • Problème d’homonymes : • Identification UNIQUE d’un client • Si plusieurs clients ont le même nom • Si plusieurs clients ont le même nom et prénom, … • Référence unique du client

  14. Voiture N° d’immatriculation Marque Gamme Modèle Puissance Place Client La modélisationde données • Exemple A (corrigé) : • Un directeur de garage de voitures désire une base de données pour la gestion de ses clients et de leurs voitures. Modélisation de l’objet « voiture » Caractéristiques amenées à être manipuler dans la base

  15. Voiture Client N° d’immatriculation Marque Gamme Modèle Puissance Place Référence client Nom Prénom Adresse E-Mail La modélisationde données • Exemple C : • Création d’une 2ème table : Lien ?

  16. Client Référence client Nom Prénom Adresse E-Mail La modélisationde données • Exemple C : • Clé étrangère (ou clé secondaire) : utilisée dans une table pour représenter la valeur de la clé primaire dans une table connexe Voiture N° d’immatriculation Marque Gamme Modèle Puissance Place Référence client* possède

  17. La modélisationde données • Exemple C : • Il y a 4 clients du garage :

  18. La modélisationde données Référence au client • Exemple C : • Il y a 5 voitures dans le garage :

  19. La modélisationde données • Exemple D : • Association : relie de 2 à n entités (tables) • Cardinalité : Nombre (maximum, minimum) d'entités concernées par une relation • Les cardinalités dans l’exemple précédent :

  20. Client Référence client Nom Prénom Adresse E-Mail La modélisationde données • Exemple D : • Une voiture appartient au moins un client mais à un seul • Un client a au moins une voiture mais peut en avoir une infinité (n) 1 Voiture 1 , N° d’immatriculation Marque Gamme Modèle Puissance Place Référence client* possède 1 n ,

  21. La modélisationde données • Exemple E : • Ajoutons une entité « Mécano » afin de garder une trace des mécaniciens qui ont réparé telle ou telle voiture : Mécano Voiture Référence employé Nom Prénom Adresse Ancienneté Age Salaire N° d’immatriculation Marque Gamme Modèle Puissance Place Référence client* Référence employé* N° d’immatriculation Marque Gamme Modèle Puissance Place Référence client* a réparé

  22. La modélisationde données • Exemple E : • Il y a 3 employés dans le garage :

  23. La modélisationde données Redondance d’informations • Exemple E : • Cas où les mécaniciens ont réparé les mêmes voitures

  24. La modélisationde données • Exemple E : • Les cardinalités permettent de déceler un tel problème : Mécano Voiture 0 n , Référence employé Nom Prénom Adresse Ancienneté Age Salaire N° d’immatriculation Marque Gamme Modèle Puissance Place Référence client* Référence employé* N° d’immatriculation Marque Gamme Modèle Puissance Place Référence client* a réparé 0 n ,

  25. La modélisationde données • Exemple E : • Nouvelle entité : « Intervention » Mécano Voiture Référence employé Nom Prénom Adresse Ancienneté Age Salaire N° d’immatriculation Marque Gamme Modèle Puissance Place Référence client* Intervention N° Intervention Référence employé* N° d’immatriculation* Date_reparation

  26. La modélisationde données • Exemple E : • Cette 3ème table fera le lien entre la voiture réparée et le mécanicien concerné.

  27. La modélisationde données • Un exercice simple : • Une bibliothèque désire informatiser sa gestion d’ouvrages • Chaque auteur a • Un numéro unique que la bibliothèque lui attribue • Le nom et le prénom • La bibliothèque attribue également • Un numéro unique a ses ouvrages (ISBN) ainsi que • Le titre • La date de parution doit également être conservée • Cas n°1 : un auteur peut écrire plusieurs ouvrages mais un ouvrage est écrit par un seul auteur. • Cas n°2 : un auteur peut écrire plusieurs ouvrages et un ouvrage peut être écrit par plusieurs co-auteurs.

  28. La modélisationde données • Correction : • CAS N°1 : schéma E/A – Entité/Association Ouvrage Auteur 0 n , Référence ISBN Titre Date de parution Référence auteur* Référence auteur Nom Prénom a écrit 1 1 ,

  29. La modélisationde données • Correction : (schéma relationnel) • CAS N°2 : Association « a écrit »  Entité « Co-auteur » Auteur Référence auteur Nom Prénom Co-auteur Référence auteur* Référence ISBN* Ouvrage Référence ISBN Titre Date de parution Référence auteur*

  30. La modélisationde données • Exercice : un vidéo-club désire informatiser la gestion de ses films. • Les films sont dotés d’un numéro unique, fourni par la société ainsi que d’un titre et de la durée du film • Un film est soit sous format DVD, soit ou sous format VHS • Le gérant du vidéo-club n’achète jamais qu’un seul exemplaire par film • Le prix de la location d’un DVD est toujours de 4 euros et celui d’un VHS est de 2 euros • Une personne est soit acteur, soit client • A chaque personne, on attribue un numéro unique • On conserve également dans la base de données ces données du client : nom, prénom, adresse, numéro de téléphone et adresse e-mail • Un acteur peut jouer dans plusieurs films, et un film peut comporter plusieurs acteurs • Une commande du client concerne un film à la fois avec la date conservée.

  31. La modélisationde données • Correction : Schéma relationnel Film Acteur Employé Référence film Titre Durée Numéro acteur Nom Prénom Référence film* Numéro acteur* Client Commande Numéro client Nom Prénom Adresse Numéro de tel E-mail Référence film* Numéro client* Format Date

  32. Les transactions SQL • Qu'appelle-t-on SQL? • Structured Query LanguageLangage de requêtes structuré • Modèle relationnel : • Langage de définition de données (LDD, DDL Data Definition Language) : créer des tables dans une base de données relationnelle, ainsi que d'en modifier ou en supprimer. • Langage de manipulation de données (LMD, DML, Data Manipulation Language) : sélectionner, insérer, modifier ou supprimer des données dans une table d'une base de données relationnelle. • Langage de contrôle de données (LCD, DCL, Data Control Language) : permissions au niveau des utilisateurs d'une base de données. • Historique : • Standard SQL, normalisé en 1986  SQL/86 • 1989  Version SQL/89 • 1992  Norme SQL/92 a désormais pour nom SQL2 Les transactions SQL

  33. Les transactions SQL Bientôt disponible

More Related