La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy Mr Thévenin

Présentations similaires


Présentation au sujet: "1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy Mr Thévenin"— Transcription de la présentation:

1 1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy Mr Thévenin Polycopié réalisé par C. HANACHI, J.M. THEVENIN Introduction aux Bases de Données

2 2 © C. HANACHI, J.M. THEVENIN

3 3 Objectif du cours La conception de bases de données est une tâche de première importance dès lors que lon veut exploiter des données informatisées dans le cadre une activité donnée. Il faut savoir organiser les données utiles à son activité afin de les gérer de façon efficace (les stocker, les retrouver, les analyser). Lobjectif de ce cours : Présenter les règles essentielles permettant de concevoir une base de données cohérente dans le cadre dune activité précise Présenter les langages dinterrogations permettant de tirer profit de ces données. Les compétences acquises par les étudiants : Être capable de concevoir et d exploiter une base de données relevant de la micro-informatique, dans le cadre de leur activité professionnelle ; Être des interlocuteurs avertis pour la conception du système dinformation de leur entreprise ; Maîtriser les concepts essentiels dACCESS, un outil répandu dans le domaine de la micro-informatique.

4 4 © C. HANACHI, J.M. THEVENIN Plan * 1ère Partie : Introduction aux concepts fondamentaux des Bases de Données 1.Notions de base. 2.Le modèle Entité-Association. 3. Le modèle relationnel. 4. Interroger une base de données. 2ème Partie : Concevoir une base de données 1. Les finesses de la modélisation Entité-Association 2. Compléments sur le modèle relationnel 3. Présenter un dossier danalyse 3ème Partie : Interroger une Base de Données 1. Le langage algébrique 2. Le langage SQL * seule la première partie du cours fait lobjet de ce poly

5 5 © C. HANACHI, J.M. THEVENIN Chapitre 1 Notions de Base 1. Place des SGBD dans le Système dInformation de lentreprise 2. Approche intuitive de BD 3. Définitions 4. Les 3 fonctions dun SGBD La description des données 4.2. La mise à jour et la restitution de données Le contrôle de la base de données Simplifier l accès aux données 5. Quelques SGBD du marché 6. La démarche enseignée

6 6 © C. HANACHI, J.M. THEVENIN 1.1 Place des SGBD dans le Système dInformation de lentreprise Système de Pilotage Système dInformation Système Opérant Base de Données Entrées Résultat Perturbations Circulation de linformation dans lentreprise : Comptes rendus DirectivesCoordination

7 7 © C. HANACHI, J.M. THEVENIN Place des SGBD dans le Système dInformation de lentreprise Besoin de gérer linformation : Linformation apparaît à un Instant différent Endroit différent Sous une forme différente => 4 étapes : -Saisie -Mémorisation -Traitement -Communication Difficulté daccéder à linformation : Où est linformation ? Comment est elle codée ? Comment y accéder ?

8 8 © C. HANACHI, J.M. THEVENIN 1.2 Approche intuitive Définition Intuitive : Une base de données est un pot commun dinformation, partagé par plusieurs utilisateurs. Ces informations peuvent être interrogées et mises à jour par l'intermédiaire dun logiciel. Le plus souvent ces informations décrivent la structure et/ou lactivité dune organisation et facilite la prise de décision. Exemples dapplications basées sur une BD: Gestion des contrats dune SSII Amadeus(Avions), Socrate(SNCF). Lannuaire Electronique. Catalogue électronique de la Bibliothèque. Guichets bancaires. Vente par correspondance

9 9 © C. HANACHI, J.M. THEVENIN Approche intuitive Le catalogue électronique de la Bibliothèque : utilisation simultanée par les étudiants, le personnel de la BU, la direction de la BU. fonction : recherche multi-critères douvrage(Etudiant), prêt,relance (personnel de la BU), statistique sur les prêts (direction de la BU). garantie : limite automatique du nombre douvrages prêtés, vérification du droit d'accès,...

10 10 © C. HANACHI, J.M. THEVENIN 1.3 Définitions Définition 1 : Une Base de données est un ensemble structuré de données(1) enregistrées sur des supports accessibles par lordinateur(2) pour satisfaire simultanément plusieurs utilisateurs(3) de manière sélective(4) et en un temps opportun(5) (Adiba & Delobel). (1) Organisation et Description des objets et des liens entre ces objets à laide dun Langage de Description des Données. (2) Stockage sur disque. (3) Partage de linformation, gestion des accès concurrents, facilité dutilisation(à laide dun Langage de Manipulation des Données). (4) Confidentialité, Sécurité. (5) Performance.

11 11 © C. HANACHI, J.M. THEVENIN BD SGBD Application A B C A B C Définitions Définition 2 : Le logiciel qui permet dinteragir avec une BD est un Système de Gestion de Bases de Données (SGBD) (Adiba & Delobel, 82).

12 12 © C. HANACHI, J.M. THEVENIN 1.4 Les trois fonctions dun S.G.B.D La description des données (codification, structuration => schéma conceptuel). La manipulation et la restitution des données (insertion, mise à jour, interrogation). Le contrôle (partage, intégrité, confidentialité, sécurité).

13 13 © C. HANACHI, J.M. THEVENIN La description des données Groupe dutilisateur I (GU 1) Groupe dutilisateur II(GU 2)... Interview Documents Modélisation Schéma Conceptuel de Données TT Schéma externe 1 pour GU1 Schéma externe 2 pour GU2... Schéma Physique BD

14 14 © C. HANACHI, J.M. THEVENIN La mise à jour et la restitution des données Mise en oeuvre à laide dun Langage de Manipulation des Données (LMD). Fonctions : insérer des valeurs ; mise à jour des valeurs ; interrogation de la BD. S.Q.L (Structured Query Language) : Langage standard et déclaratif.

15 15 © C. HANACHI, J.M. THEVENIN Le contrôle de la Base de Données Contrôle : confidentialité partage, concurrence respect des Contraintes dintégrité sûreté de fonctionnement.

16 16 © C. HANACHI, J.M. THEVENIN Simplifier laccès aux données Où est linformation ? Dans la base de données Comment est codée linformation ? Schéma conceptuel des données Comment accéder à linformation ? Langage dinterrogation

17 17 © C. HANACHI, J.M. THEVENIN 1.5 Quelques S.G.B.D (relationnels) du marché Micro : ACCESS PARADOX DBASE V FOXPRO,... Gros Système : DB2 ORACLE SQL server SYBASE INGRES...

18 18 © C. HANACHI, J.M. THEVENIN 1.6 Démarche enseignée Interview Documents Modélisation Entité-Association Schéma Conceptuel en Entité -Association Transformation en relationnel Schéma conceptuel en relationnel Passage en machine sous Access Base de Données Relationnelle manipulable en SQL

19 19 © C. HANACHI, J.M. THEVENIN Chapitre 2 Le modèle Entité-Association 1. Les concepts de base 2. Les associations 3. Les propriétés 4. Les cardinalités des rôles 5. Identification des occurrences 6. Exemple 7. Expression des contraintes d'intégrité 8. Démarche de conception

20 20 © C. HANACHI, J.M. THEVENIN 2.1 Les concepts de base Modèle, Langage, Formalisme. Origine : Travaux de Chen(USA), Tardieu(France), en 74/75. Succès dus à : langage graphique Intégré à des méthodes danalyse (MERISE par ex.). Concepts simples : -choses ->entités -liens entre les choses -> association -regroupement des choses de même nature : classes dentités, classes dassociations.

21 21 © C. HANACHI, J.M. THEVENIN Les concepts de base FILMS titre : texte durée : version : (VO,VF) nationalité : texte CINEMA Affiche ACTEURS Casting a pour distribution est à laffiche diffuse 0..n 1..n joue dans 1..n0..m

22 22 © C. HANACHI, J.M. THEVENIN Concepts de base Une entité Cest un objet, un événement, un lieu, une personne identifiable sans ambiguïté. Exemple : abc, utopia, Woody Allen, Emmanuelle Beart, Coups de feu sur Brodway. Une association Cest un lien entre 2 ou plusieurs entités. Exemple : Woody Allen a mis en scène Coups de feu sur Brodway Classe dentités : Cest un regroupement dentités de même nature. Exemple : Films, cinéma, metteurs en scène. Classe dAssociations : Cest un lien entre 2 ou plusieurs classes dentités. Exemple : Affiche(entre Cinéma et Films), Distribution(entre Films et Acteurs).

23 23 © C. HANACHI, J.M. THEVENIN Les concepts de base Propriété : unité dinformation indécomposable désignée par un nom. Exemple : nom_acteur, titre,... Propriété dune classe dentités : caractéristique commune à chaque élément de la classe. Domaine de valeur : ensemble de valeurs possibles dune propriété. Exemple : numérique, montant, texte, (M,F), 0..17,... Identifiants : propriété ou groupe de propriétés dont la valeur identifie sans ambiguïté une entité ou une liaison dune classe. Rôle : sens dune patte (relie une classe dentité à une classe dassociation). Cardinalités dune patte : constituées de deux nombres correspondant au maximum et minimum d'occurrences de lassociation pouvant être associés à chaque occurrence de lentité.

24 24 © C. HANACHI, J.M. THEVENIN 2.2 Les associations Différents types dassociation : Statique : interprétation. Dynamique : affiche. Variable dans le temps Gestion d historiques Binaire, ternaire,... selon le nombre de classes dentités associées à la classe dassociation. Réflexive (suite dun film). Remarque : Il peut exister plusieurs classes dassociation entre 2 mêmes entités.

25 25 © C. HANACHI, J.M. THEVENIN 2.3 Les propriétés Déterminent la structure dune classe dentités ou dune classe dassociations (ex : tarif dun film). Définie par un nom et un domaine de valeurs Choix du nom : unique, explicite. Domaine de valeurs : détermine lensemble des valeurs possibles pour une propriété énumérés : (M,F), (rouge, blanc, rosé). intervalle : , montant, date, texte, numérique.... détermine les opérations possibles sur la propriété ainsi que les autres propriétés aux quelles elle est comparable

26 26 © C. HANACHI, J.M. THEVENIN 2.4 Les cardinalités des rôles La cardinalité des rôles répond à la question : combien de fois une occurrence peut-elle jouer un rôle donné au maximum et au minimum ? FacultatifObligatoire 0, 1 1, 1Unique 0, n 1, nMultiple typologie des cardinalités des liens ne tenant compte que des maximums de type un à un (bijectif) 1,1 un à plusieurs (hiérarchique) 1,n plusieurs à plusieurs (Affiche entre Film et Cinéma) m,n

27 27 © C. HANACHI, J.M. THEVENIN 2.5 Identification des occurrences Objectifs : chaque occurrence doit pouvoir être repérée de manière unique et sans ambiguïté, pour être distinguée de toutes les autres. Pour une classe dentités : Propriété ou groupe de propriétés qui permet de repérer une occurrence de manière unique. On souligne lidentifiant. Un seul identifiant. On privilégie lidentifiant le plus court, le plus naturel (n° bon de commande, n° étudiant,...). On peut créer un identifiant artificiel par commodité Identifiant non variable dans le temps. Identifiant dune association : implicite, obtenu en juxtaposant les identifiants des entités qui participent à la liaison.

28 28 © C. HANACHI, J.M. THEVENIN 2.6 Exemple On souhaite créer une base de données géographique destinée à la gestion des pays, des fleuves et des espaces maritimes (mers et océans). Chaque pays est connu par un nom, une superficie, un nombre d'habitants, la liste des pays qui ont une frontière commune avec lui et la liste des fleuves qui le traversent. Un fleuve est connu par son nom, sa longueur, l'espace maritime dans lequel il se jette, le nom du pays dans lequel il prend sa source, la liste des pays qu'il traverse et la distance parcourue dans chacun de ces pays. Un espace maritime est connu par un nom, un type (mer ou océan), la liste des pays qu'il côtoie et la liste des fleuves qui s'y jettent. Donnez le schéma E/A permettant de gérer les informations décrites ci-dessus. Commentez les choix des cardinalités.

29 29 © C. HANACHI, J.M. THEVENIN Chapitre 3 Le modèle Relationnel 1. Les concepts de base 2. Les tables 3. Les attributs 4. Les clés 5. Les clés étrangères 6. Traduction d une association 1,1 7. Traduction d une association m,n 8. Démarche de traduction

30 30 © C. HANACHI, J.M. THEVENIN 3.1Les concepts de base Modèle, Langage, Théorie. Origine : Travaux de Codd (USA), en 70. Succès dus à : Concepts simples : -entités, associations -> tables -identifiants dentité ou dassociation -> clés -liens entre entités et associations -> clés étrangères Un modèle et un langage standard (SQL) Une base théorique -théorie des ensembles -algèbre relationnelle

31 31 © C. HANACHI, J.M. THEVENIN 3.2 Les tables (relations) Représentation graphique d'une table : EMPLOYES Nom de la table : EMPLOYES. Schéma : 1ère ligne. Tuple : chacune des autres lignes. Attribut : une colonne Clé de la relation : Matricule. Clé étrangère : #NomService

32 32 © C. HANACHI, J.M. THEVENIN Les tables (relations) Correspondance entité -> table : Nom entité -> Nom table Propriété -> Attribut Domaine -> Domaine Identifiant -> Clé Instance -> Tuple Correspondance association -> table : Nom association -> Nom table Propriété -> Attribut Domaine -> Domaine Identifiant -> Clé Lien entre 2 instance dentité -> Tuple

33 33 © C. HANACHI, J.M. THEVENIN Les tables (relations) Propriétés : 1. Une valeur de la clé désigne une ligne unique Ainsi, la valeur en question permet de retrouver cette ligne 2. Un nom dattribut désigne une colonne 1 et 2 => lordre des ligne et des colonnes nest pas significatif Remarque : si la clé dune table est définie par un couple dattributs, ses valeurs sont des couples.

34 34 © C. HANACHI, J.M. THEVENIN 3.3 Les attributs La notion dattribut en relationnel correspond à la notion de propriété en entité/association Un attribut est défini par un nom et un domaine Le domaine dun attribut décrit les valeurs autorisées dans la colonne de cet attribut Les valeurs dun attribut sont atomiques : non décomposables Contraintes supplémentaires : unicité, non nullité, clé, clé étrangère, valeur par défaut

35 35 © C. HANACHI, J.M. THEVENIN 3.4 Les clés La clé dune table est un attribut ou groupe dattributs dont les valeurs identifient de façon unique une ligne de la table Il est possible que plusieurs combinaisons dattributs puissent être exploitées comme clé : on choisit la combinaison la plus courte comme clé primaire Les autres combinaisons sont des clés candidates Il est parfois utile de créer une clé artificielle lorsque les clés candidates sont compliquées

36 36 © C. HANACHI, J.M. THEVENIN 3.5 Les clés étrangères EMPLOYES SERVICES Dans la table SERVICES NomService est une clé qui permet retrouver la ligne décrivant un service donné Dans la table EMPLOYES NomService* est une clé étrangère qui permet daller chercher dans la table SERVICE la description du service auquel appartient un employé donné

37 37 © C. HANACHI, J.M. THEVENIN Les clés étrangères Le terme clé étrangère signifie clé dune autre table La notion de clé étrangère est utilisée pour établir un lien entre deux tables Soit une table A possédant un attribut b* définit comme clé étrangère provenant de la table B : Chaque ligne de la table A possède une valeur pour la clé étrangère b*, permettant de retrouver une ligne de la table B Chaque ligne de la table B possède une valeur pour la clé b qui peut apparaître dans 0 ou n lignes de la table A comme valeur de b* b* établit un lien n-1 entre A et B Les clés étrangères sont les seules redondances autorisées

38 38 © C. HANACHI, J.M. THEVENIN Les clés étrangères Règles dintégrité référentielle Toute valeur saisie pour une clé étrangère doit être incluse dans lensemble des valeurs de la clé référencée Toute valeur saisie dans une colonne b* doit exister dans la colonne b Le non respect de cette règle entraîne que la table A référence des lignes nexistant pas dans la table B Lorsque lon supprime une ligne dans une table référencée, la valeur de clé supprimée doit avoir été préalablement supprimée des colonnes clé étrangères

39 39 © C. HANACHI, J.M. THEVENIN 3.6 Traduction dune association 1-n Exemple de lien 1-n : Chaque ligne de FILMS doit être reliée à 1 lignes de CINEMA une ligne de CINEMA peut être reliée à n lignes de FILMS Traduction Films (titre, durée, version, nationalité, NR*, année) Réalisateur (NR, nomR, prénomR) FILMS titre : texte durée : version : (VO,VF) nationalité : texte Réaliser est réalise réalise n Année : num REALISATEUR NR : numérique nomR : texte PrénomR : texte

40 40 © C. HANACHI, J.M. THEVENIN Traduction dune association 1-n Toute association possédant une arrête de cardinalité 1,1 fusionne avec lentité reliée à cette arrête Pour fusionner une association avec une entité : ajouter toutes les propriétés de lassociation dans la table de lentité importer les clé des autres entités auxquelles lassociation est reliée déclarer les clés importées comme clés étrangères Une association ne fusionne quune fois

41 41 © C. HANACHI, J.M. THEVENIN FILMS titre : texte durée : version : (VO,VF) nationalité : texte CINEMA Affiche est à laffiche diffuse 1..n0..m NC : numérique nomC : texte AdresseC : texte 3.7 Traduction dune association m-n Exemple de lien m-n : Chaque ligne de FILMS doit être reliée à n lignes de CINEMA Chaque ligne de CINEMA doit être reliée à n lignes de FILMS Traduction Films (titre, durée, version, nationalité) Cinéma (NC, nomC, adresseC) Affiche (titre*, NC*, DD, DF) DD : date DF : date

42 42 © C. HANACHI, J.M. THEVENIN Traduction dune association m-n Pour traduire un lien m-n il faut créer une table intermédiaire Du nom de lassociation Comportant toutes les propriétés de lassociation Comportant comme clés étrangères les clés des entités reliées Dont la clé est lunion des clés étrangères et des attributs soulignés de l association

43 43 © C. HANACHI, J.M. THEVENIN 3.8 Démarche de traduction dun schéma entité/ association Etape 1 : Toute classe dentités du diagramme entité/association est représentée par une table dans le schéma relationnel équivalent. La clé de cette table est lidentifiant de la classe dentités correspondante. Etape 2 : Toute classe dassociations 1,n (possédant une arrête de cardinalité 1,1 vers une entité Ei) fusionne avec la table de lentité Ei. Etape 3 : Toute classe dassociations m,n est transformée en table. La clé de cette table inclut tous les identifiants des entités participantes qui sont déclarés comme clé étrangère.

44 44 © C. HANACHI, J.M. THEVENIN 3.9 Exemple : Traduire le schéma E/A de la base de données géographique en schéma relationnel.

45 45 © C. HANACHI, J.M. THEVENIN Chapitre 4 Interroger une base de données PLAN 1. Les différents types de langages 2. Bases théoriques 3. Opérations utilisées 4. Projection 5. Restriction 6. Jointure 7. Démarche dinterrogation 8. Exemples

46 46 © C. HANACHI, J.M. THEVENIN 4.1 Les différents types de langages Langage Graphique RS a b c Afficher x x x Critères =Cte SELECT a,b,c FROM R,S WHERE R S and =Cte Langage SQL Langage Algébrique RS = Cte a, b, c Res SGBD BD a b c

47 47 © C. HANACHI, J.M. THEVENIN Les différents types de langages SQL : Langage puissant et complet Interface standard des SGBD Langages graphiques Plus faciles daccès Permettent dexprimer des requêtes SQL simples Un langage graphique est spécifique à un SGBD (certains SGBD nen ont pas) Attention ! Si mal maitrisé -> risque de répondre « à côté » Langage Algébrique Comprendre la sémantique des requêtes Langage intermédiaire de travail

48 48 © C. HANACHI, J.M. THEVENIN 4.2 Bases théoriques Théorie des ensembles OP1 OP3 OP2 Relation R r1 r2 r3 Table T1 r1 r2 r3 Table T2 r1 r2 r3 s1 s2 Relation S s1 s2 Table Résultat r3 s2

49 49 © C. HANACHI, J.M. THEVENIN 4.3 Opérateurs utilisés Opérateurs relationnels Projection Restriction Jointure Opérateurs ensemblistes Union Intersection Différence Fonction statistiques Somme Min Max Moyenne ComptageDeLignes (NbVal)

50 50 © C. HANACHI, J.M. THEVENIN 4.4 Projection Opération permettant déliminer les colonnes qui ne nous intéressent pas dans une table Ex : Afficher les noms de pays source dun fleuve Relation R a b c b b RabcRabc Attribut b Afficher x SELECT b FROM R Langage algébriqueLangage graphiqueLangage SQL

51 51 © C. HANACHI, J.M. THEVENIN 4.5 Restriction Opération permettant déliminer les lignes qui ne nous intéressent pas dans une table Ex : Liste des pays dont la superficie est supérieure à Km 2 Relation R a b c b=10 RabcRabc Attribut b Afficher Critère =10 WHERE b=10 Langage algébriqueLangage graphiqueLangage SQL a b c 10

52 52 © C. HANACHI, J.M. THEVENIN 4.5 Jointure Opération permettant de relier des lignes provenant de deux tables différentes selon un critère pour fabriquer une nouvelle table Ex : Nom et superficie des pays dans lesquels les fleuves prennent leur source RabcRabc WHERE R.c=S.c Langage algébriqueLangage graphiqueLangage SQL Relation R a b c riri 3 fifi 3 loulou 3 nafnaf 1 Relation S c d 1 cochon 2 loup 3 canard 4 poule Relation R a b c Relation S c d 3 canard 1 cochon riri 3 fifi 3 loulou 3 nafnaf 1 R.c=S.c ScdScd

53 53 © C. HANACHI, J.M. THEVENIN Jointure naturelle Cas particulier jointure entre deux tables avec un prédicat dégalité entre une clé étrangère et la clé référencée -> Premet de parcourir les arcs reliant des Entités représentés sur un schéma E/A Exemple : Fleuves.NomPSource=Pays.NomP

54 54 © C. HANACHI, J.M. THEVENIN 4.7 Démarche Soit une question Q que lon souhaite poser au SGBD a) identifier sur le schéma E/A les propriétés que lon doit afficher et celle dont on a besoin pour les restrictions exprimées dans Q b) choisir sur le schéma E/A les associations par lesquelles on va passer pour relier les entités impliquées en a), en fonction de la sémantique de Q c) repérer dans le schéma relationnel les attributs et les tables correspondant à ce qui a été repéré en a) et b) d) effectuer pour chaque table les restriction nécessaires e) relier les tables 2 à 2 avec les jointures adéquates f) appliquer à la dernière table obtenue une projection sur les attributs que l on souhaite afficher

55 55 © C. HANACHI, J.M. THEVENIN 4.8 Exemples

56 56 © C. HANACHI, J.M. THEVENIN Exemples Q1 Nom et superficie des pays ou le Danube prend sa source Q2 Liste des pays traversés par le Danube. Donner leur nom, leur superficie et la distance parcourue

57 57 © C. HANACHI, J.M. THEVENIN Exemples Q3 Liste des fleuves de plus de 500 Km se jetant dans une mer Q4 Liste des pays qui côtoient lespace maritime dans le quel se jette le Rhône

58 58 © C. HANACHI, J.M. THEVENIN Exemples Q5 Liste des pays qui côtoient les espaces maritimes dans lesquels se jette un fleuve prenant sa source en France


Télécharger ppt "1 © C. HANACHI, J.M. THEVENIN Licence AES Cours d informatique 1ère Partie Cours de Mme Soulé-Dupuy Mr Thévenin"

Présentations similaires


Annonces Google