1 / 35

Chapitre 5

Chapitre 5. Introduction aux Bases de Données Relationnelles. Introduction. Une Base de Données est un ensemble de données mémorisé par un ordinateur, utilisé par de nombreuses personnes et possédant une organisation régie par un modèle de données.

foster
Download Presentation

Chapitre 5

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. Chapitre 5 Introduction aux Bases de Données Relationnelles Cours VB 2007/2008

  2. Introduction Une Base de Données est un ensemble de données mémorisé par un ordinateur, utilisé par de nombreuses personnes et possédant une organisation régie par un modèle de données. A. Flory, Bases de données : conception et réalisation, Editions Economica, Paris 1982 Les BD possèdent une organisation donc une structure régie par un modèle Remarque: Les données stockées dans une base sont indépendantes des programmes informatiques qui les utilisent ainsi que du type de mémoire auxiliaire sur laquelle elles sont stockées. Cours VB – ISG 2007/2008

  3. Traitement des opérations des clients Programmes de prêts à tempérament User Programmes de comptes d’épargne Programmes de comptes chèques Exemple Système de Gestion de Bases de Données (SGBD) Base de données sur la clientèle Cours VB – ISG 2007/2008

  4. Critères et Conception d'une BD • Une BD doit satisfaire cinq critères principaux: • Bonne représentation du monde réel • Non-redondance de l’information • Indépendance des données par rapport aux traitements • Sécurité et confidentialité des données • Performance des applications et des requêtes • La conception d’une BD suppose une démarche composées de plusieurs étapes • Déterminer et identifier les problèmes • Proposer des solutions possibles • Modéliser le futur système • Mettre en œuvre une solution • Tester la solution proposée • Maintenir et faire évoluer le système Cours VB – ISG 2007/2008

  5. Les Systèmes de Gestion de Bases de Données (SGBD) • Un SGBD est un outil logiciel qui permet, selon un modèle de BD particulier, de gérer les données en offrant les fonctionnalités suivantes : • un langage de définition des données (LDD), c'est-à-dire un langage de définition du modèle (organisation physique) • un langage de manipulation des données (LMD) pour ajouter, modifier, retrouver, supprimer des données; • la gestion des règles assurant l'intégrité des données; • la gestion de la confidentialité des données; • la gestion des conflits d'accès simultanés aux données; • la sécurité de fonctionnement, avec des outils de sauvegardes et reprises de la base. • L'administrateur de la base fera appel à toutes ces fonctionnalités du SGBD. • L'utilisateur final n'accédera généralement qu'au LMD Cours VB – ISG 2007/2008

  6. Base de données relationnelles • Le modèle relationnel a été défini par Codd dans les années 70 • Un grand succès par rapport à ses prédécesseurs de type "hiérarchique", "réseau" etc. grâce à : • La simplicité de la structure des données, • La simplicité des opérateurs, • L’indépendance entre les données et les applications. • Exemples de SGBDR commercialisés : ACCESS, DB2, ORACLE, INGRES, SYBASE, INFORMIX, PARADOX, SQL Server, etc. Cours VB – ISG 2007/2008

  7. I. Modèle conceptuel des Données (MCD) • La modélisation des données sur le plan conceptuel, aboutit à une représentation schématique de l’ensemble des données et de leurs liens, au sein du domaine étudié. • Le MCD traduit les choix ou contraintes de gestion fondamentaux exprimés à travers les concepts du modèle E/A (Entité-Association), traduction de E/R (Entity-Relationship) qui est un modèle conceptuelconçu dans les années 1970. Entité 1 Entité 2 Association Cours VB – ISG 2007/2008

  8. I.1 Entité • Une entité correspond à un objet abstrait ou concret que l’on perçoit de la réalité. • Une entité est dotée d’une existence propre, ayant un intérêt pour l’organisme et facilement identifiable. • Les entités permettent de décrire • Des objets tangibles : employés, produits,.. • Des objets abstraits : qualité, expertise, calendrier.. • Transactionnels : contrat, commande,.. • Elle est totalement définie par : • Son nom • Son identifiant (d’une façon unique) • Ses attributs (au moins deux) Nom de l'entité identifiant attributs Cours VB – ISG 2007/2008

  9. I.2 Identifiant • Identifiant: C'est l'attribut ou l'ensemble d'attributs qui identifient un et un seul enregistrement. • Un identifiant peut être simple (un seul attribut) (exemple: NumClient) ou composée (plusieurs attributs) (exemple: NumVoiture + NumSérie) • Exemples : • Numclient est un identifiantde l’entité CLIENT: Il permet d’identifier un client d’une manière unique. 2 clients différents ne peuvent pas avoir le même Numclient • L’attribut Nom ne peut pas être un identifiant de l’entité CLIENT  2 clients peuvent avoir le même nom Sellami Mohamed – Sellami Ali Cours VB – ISG 2007/2008

  10. 1.3 Attribut & Occurence • Un attribut (ou propriété) est le plus petit élément d’information manipulé. C’est une propriété caractéristique de l’entité. • Il associe à chaque entité une valeur appartenant à un domaine. • A chaque attribut est associé un et un seul domaine. Exemple: Le domaine de l'attribut couleur (rouge, blanc, bleu, noir, vert) • Une occurrence d’une entité est l’ensemble des valeurs des attributs qui la caractérisent. • Pour chaque entité il existe une ou plusieurs occurrences. • Exemple: Occurrences de l'entité CLIENT Cours VB – ISG 2007/2008

  11. I.4 Association • Une association est un lien ou relation entre deux ou plusieurs entités. • Exemple: Une commande contient des articles. • Il est possible de caractériser l’association par des attributs • Exemple : l’association Contenir peut être porteuse de données concernant la quantité du produit commandé. • On distingue : • les associations n-airesqui relient plus de deux entités. • les association binaires qui ne relient que deux entités. Contenir Qt Cours VB – ISG 2007/2008

  12. Commande NumCli … Produit Numprod … I.5 Cardinalité (1) • La cardinalité exprime le nombre minimum et maximum d’occurrences d’entités participatives à l’association • (0,*) ou (1,*) : cardinalité minimale • Une cardinalité min de 0 : l’entité peut avoir des occurrences qui ne participent pas à l’association – participation facultative • Une cardinalité min de 1 : toute occurrence de l’entité doit obligatoirement participer à une occurrence de l’association – participation obligatoire • (*,1) ou (*,n) : cardinalité maximale Cardinalité (1,n) (0,n) Contenir Qt Nom de l’association Attribut de l’association Cours VB – ISG 2007/2008

  13. Client NumCli … Client NumCli … Facture NumFact … Facture NumFact … CIF (1,1) (0,n) Avoir Avoir I.5 Cardinalité (2) ? • Une facture est attribuée à un et un seul client • (min, max) : (1,1) • Un client peut ne pas avoir de facture • Un client peut avoir plusieurs factures • (min,max) : (0,n) • Contrainte d’intégrité fonctionnelle (CIF) est une association particulière dont lacardinalité présente les valeurs 0,1 ou 1,1 entre une association et une entité. [un à plusieurs] ou[un à un] Cours VB – ISG 2007/2008

  14. Commande NumCommande … Commande NumCli … Produit RefProd … Produit Numprod … ? Contenir Qt Qt CIM (1,n) (0,n) Contenir I.5 Cardinalité (3) • Une commande contient au moins un produit • Une commande peut contenir plusieurs produits • (min,max) : (1,n) • Un produit peut ne pas être commandé • Un produit peut être commandé dans plusieurs commandes • (min, max) : (0,n) Contrainte d’intégrité multivaluée (CIM) [plusieurs à plusieurs] sont toutes associations que ne présentent pas les cardinalités 0,1 ou 1,1 entre une association et une entité Cours VB – ISG 2007/2008

  15. II. Passage du modèle E/Aau modèle Relationnel (1) • On dispose du diagramme de modélisation E/A des données, il faut implanter la structure obtenue en machine sous forme d'un modèle relationnel. • Nous allons donc transformer notre structure du niveau conceptuel « le diagramme E/A » sous une forme relationnelle « schéma relationnel » ou « modèle logique » au niveau logique. • Ce Passage se fait à l’aide de règles de passage … Cours VB – ISG 2007/2008

  16. Entité 1 Identifiant 1 Entité 2 Identifiant 2 CIF Forte 0 ou 1,n Faible 0 ou 1,1 Association Règle 2 Relation 1 Clé primaire 1 Relation 2 Clé primaire 2 # Clé étrangère 1 II. Passage du modèle E/Aau modèle Relationnel (2) • Règle 1: Toute entité se traduit par une table relationnelle (avec les même attributs) t.q l'identifiant devient la clé primaire de la table Relation Clé primaire Entité Identifiant Règle 1 • Règle 2 : Les CIF non porteuses de données disparaissent mais le lien est conservé. La clé primaire de la relation initialement de type (*,n) devient une clé étrangère dans la deuxième relation. Cours VB – ISG 2007/2008

  17. Entité 1 Identifiant 1 Entité 2 Identifiant 2 Relation 1 Clé primaire 1 Relation 3 # Clé 1 # Clé 2 Règle 3 Relation 2 Clé primaire 2 II. Passage du modèle E/Aau modèle Relationnel (3) • Règle 3 : • Les CIM se transforment en relation. • La clé de la relation est formée des identifiants des entités. CIM 0 ou 1,n 0 ou 1,n Association Cours VB – ISG 2007/2008

  18. Entité 1 Identifiant 1 Entité 2 Identifiant 2 Relation 1 Clé primaire 1 Relation 3 # Clé 1 # Clé 2 Attribut 1 Attribut 2 Relation 2 Clé primaire 2 II. Passage du modèle E/Aau modèle Relationnel (4) • Règle 4 : • Toute association porteuse de données se transforme en relation quelque soit les cardinalités des liens. • La clé de la relation est formée des identifiants des entités. Association Attribut 1 Attribut 2 Règle 4 Cours VB – ISG 2007/2008

  19. Commande NumCommande … Facture NumFact … Client NumCli …. Produit RefProd … Avoir Exemple CIF (1,1) (0,n) (0,n) CIF Passer (1,1) CIM (1,n) (0,n) Contenir Qt Cours VB – ISG 2007/2008

  20. Facture NumFact NumCli … Client NumCli … Commande NumComm NumCli … Produit RefProd … Contenir NumComm RefProd Qt Exemple Cours VB – ISG 2007/2008

  21. Travail à faire • Gestion de vol: Acteurs: Avions, Vol, Voyageur,… • Gestion de bibliothèque Acteurs: Livres, Auteurs, Étudiants, Professeurs,… • Gestion de la coupe d'Afrique Acteurs: Équipes, Joueurs, Arbitres, Matchs, Entraîneurs, Billets… Cours VB – ISG 2007/2008

  22. III. Requêtes Requête = liste de conditions pour la sélection de certains enregistrements Poser une requête = avoir une vue particulière de la BD Langage algébrique : Collection d'opérations qui agissent sur des tables et produisent des tables en résultats. Opérateurs algébriques Opérateurs relationnels Sélection Jointure Projection Opérateurs ensemblistes Union Intersection Différence Produit cartésien Cours VB – ISG 2007/2008

  23. III.1 Opérateurs Ensemblistes : a- Union () L'union est appliquée sur deux tables de même structure R1 et R2 pour obtenir une table R3 contenant l' ensemble des enregistrements de R1 et R2. ExempleSoient les deux tables Voitures1 et Voitures2. Voitures = Voitures1 Voitures2 Voitures1 NV Marque Série Puissance 1240 FORD 84 5 1456 BMW 80 7 Voitures2 NV Marque Série Puissance 1456 BMW 80 7 1364 GOLF 86 6 1845 FORD 84 5 Voitures NV Marque Série Puissance 1240 FORD 84 5 1456 BMW 80 7 1364 GOLF 86 6 1845 FORD 84 5 Cours VB – ISG 2007/2008

  24. III.1 Opérateurs Ensemblistes : b- Intersection() L'intersection est appliquée sur deux tables de même structure R1 et R2 pour obtenir une table R3 contenant l'ensemble des enregistrements appartenant à la fois à R1 et R2. Exemple: Soient les deux tables Voitures1 et Voitures2. Voitures = Voitures1 Voitures2 Voitures1 NV Marque Série Puissance 1240 FORD 84 5 1456 BMW 80 7 Voitures2 NV Marque Série Puissance 1456 BMW 80 7 1364 GOLF 86 6 1845 FORD 84 5 Voitures NV Marque Série Puissance 1456 BMW 80 7 Cours VB – ISG 2007/2008

  25. III.1 Opérateurs Ensemblistes : c- Différence (-) La différence est appliquée sur deux tables de même structure R1 et R2 pour obtenir une table R3 Contenant l'ensemble des tuples appartenant à R1 et n'appartenant pas à R2. Exemple: Soient les deux tables Voitures1 et Voitures2. Voitures = Voitures1 - Voitures2 Voitures1 NV Marque Série Puissance 1240 FORD 84 5 1456 BMW 80 7 Voitures2 NV Marque Série Puissance 1456 BMW 80 7 1364 GOLF 86 6 1845 FORD 84 5 Voitures NV Marque Série Puissance 1240 FORD 84 5 Cours VB – ISG 2007/2008

  26. III.1 Opérateurs Ensemblistes: d- Produit cartésien () Le produit cartésien est appliqué sur deux tables R1 et R2 n'ayant pas nécessairement lamême structure pour obtenir une relation R3 composée de l'ensemble des enregistrements obtenus suite à toutes les combinaisons des enregistrements de R1 et R2 Exemple:Soient les deux tables Voitures1 et Voitures2. Voitures = Voitures1  Voitures2 Voitures1 Marque Modèle FORD élance FORD flair Voitures2 Puissance 5 4 Voitures Marque Modèle Puissance FORD élance 5 FORD élance 4 FORD flair 5 FORD flair 4 Cours VB – ISG 2007/2008

  27. III.2 Opérateurs Relationnels: a- Sélection () La sélection est une opération qui produit une nouvelle table en enlevant des enregistrements à la table de départ. () Exemple: Quels sont les prêts dont le taux est >= à 14% dans la relation prêt : Relation Prêt N°Prêt Nom TauxIntérêt Montant 150 AMEUR 13 10 000 161 BEN SALAH 13 5 000 162 DRIDI 15 2 000 167 FARHAT 14 20 000 171 AMEUR 13,5 15 000 Relation résultat N°Prêt Nom TauxIntérêt Montant 162 DRIDI 15 2 000 167 FARHAT 14 20 000 Cours VB – ISG 2007/2008

  28. III.2 Opérateurs Relationnels: b- Projection () La projection est une opération qui produit une nouvelle table en enlevant des attributs à la table de départ. () Exemple: Soit la nouvelle relation TI (N°Prêt, Nom, TauxIntérêt) crée à partir de la relation Prêt. Relation Prêt N°Prêt Nom TauxIntérêt (%) Montant 150 AMEUR 13 10 000 161 BEN SALAH 13 5 000 162 DRIDI 15 2 000 167 FARHAT 14 20 000 171 AMEUR 13,5 15 000 Relation TI N°Prêt Nom TauxIntérêt (%) 150 AMEUR 13 161 BEN SALAH 13 162 DRIDI 15 167 FARHAT 14 171 AMEUR 13,5 Cours VB – ISG 2007/2008

  29. III.3 Opérateurs Relationnels: c- Jointure () La jointure consiste à rapprocher selon une condition les enregistrements de deux tables R1 et R2 pour former une table R3. R1 et R2 n'ayant pas nécessairement la même structure. Chaque enregistrement dans R3 sera le résultat de la fusion d'un enregistrement de R1 et d'un enregistrement de R2 vérifiant la condition de rapprochement. Remarque : Si les tables R1 et R2 n'ont pas d'attributs en commun, la jointure sera assimilée à un produit cartésien. Exemple B A  Voiture Cours VB – ISG 2007/2008

  30. IV. Le langage SQL • Les SGBD qui présentent les données sous la forme de relations (ou tables) proposent un langage de requête dénommé SQL (Structured Query Language). • SQL est un langage unique qui permet de décrire, de manipuler, de contrôler l'accès et d’interroger les bases de données relationnelles. Cours VB – ISG 2007/2008

  31. SELECT Précise les colonnes qui vont apparaître dans la réponse FROM Précise la (ou les) table intervenant dans l'interrogation Précise les conditions à appliquer sur les lignes. On peut trouver : - Des comparateurs : =, >, <, >=, <=,<> WHERE - Des opérateurs logiques : AND, OR, NOT - Les prédicats : IN, LIKE, NULL, ALL, SOME, ANY, EXISTS... GROUP BY Précise la (ou les) colonne de regroupement Précise la (ou les) conditions associées à un HAVING regroupement Précise l'ordre dans lequel vont apparaître les lignes de la réponse : ORDER BY - ASC : En ordre ascendant (par défaut) - DESC: En ordre descendant IV. Le langage SQL SELECT[DISTINCT] {* | expr [ASalias], ... } FROMtable [alias], ... [WHERE { conditions | sous conditions}] [GROUP BYexpr, ...] [HAVING conditions] [ORDER BY {expr | num}{ASC | DESC}, ...]; Cours VB – ISG 2007/2008

  32. Client Nom Localité NoCli AMEUR BEN SALAH MRABET KRAIEM LABIDI CHAOUACHI GAFSI JELALI ROUISSI Carthage Tunis Ariana Tunis Tunis La Marsa Carthage Ariana Tunis 1 2 3 4 5 6 7 8 9 RESULTAT IV.1 Projection • Choisit le nom des colonnes de la (ou des) table(s) que l'on souhaite voir apparaître dans la réponse. • Les colonnes sont données après la clause SELECT (* signifie tous). • La ou les table(s) (ou relations) sont indiquées après la clause FROM. Client Nom Adresse Localité Compte Catégorie NoCli 1 2 3 4 5 6 7 8 9 AMEUR BEN SALAH MRABET KRAIEM LABIDI CHAOUACHI GAFSI JELALI ROUISSI 23, a. Carthage 25, r. du Caire 112, r. d’Athène 5, a. de Madrid 180, r. de Rome 3, a. des Roses 14, r. de l’Eté 72, r. de la Gare 65, r. Lafayette Carthage Tunis Ariana Tunis Tunis La Marsa Carthage Ariana Tunis 125.000 -230.000 0.000 0.000 72.000 -258.000 870.000 320.000 35.000 1 1 1 1 2 2 3 3 3 SELECT NoCli, Nom, Localité FROM Client Cours VB – ISG 2007/2008

  33. Client Nom Adresse Localité Compte Catégorie NoCli 1 2 3 4 5 6 7 8 9 AMEUR BEN SALAH MRABET KRAIEM LABIDI CHAOUACHI GAFSI JELALI ROUISSI 23, a. Carthage 25, r. du Caire 112, r. d’Athène 5, a. de Madrid 180, r. de Rome 3, a. des Roses 14, r. de l’Eté 72, r. de la Gare 65, r. Lafayette Carthage Tunis Ariana Tunis Tunis La Marsa Carthage Ariana Tunis 125.000 -230.000 0.000 0.000 72.000 -258.000 870.000 320.000 35.000 1 1 1 1 2 2 3 3 3 Nom Adresse Localité Compte Catégorie NoCli SELECT * FROM Client WHERE Localité="Ariana" 3 8 MRABET JELALI 112, r. d’Athène 72, r. de la Gare Ariana Ariana 1 3 0.000 320.000 IV.2 Sélection • Sélectionne des lignes (n-uplets, tuples) d'une (ou plusieurs) table(s) qui satisfont certaines conditions. • La ou les conditions sont indiquées après la clause WHERE (on peut avoir plusieurs conditions séparées par des opérateurs logiques (and, or,…). RESULTAT Cours VB – ISG 2007/2008

  34. Client Nom Adresse Localité Compte Catégorie NoCli 1 2 3 4 5 6 7 8 9 AMEUR BEN SALAH MRABET KRAIEM LABIDI CHAOUACHI GAFSI JELALI ROUISSI 23, a. Carthage 25, r. du Caire 112, r. d’Athène 5, a. de Madrid 180, r. de Rome 3, a. des Roses 14, r. de l’Eté 72, r. de la Gare 65, r. Lafayette Carthage Tunis Ariana Tunis Tunis La Marsa Carthage Ariana Tunis 125.000 -230.000 0.000 0.000 72.000 -258.000 870.000 320.000 35.000 1 1 1 1 2 2 3 3 3 Client Nom NoCli SELECT NoCli, NomFROM Client WHERE Localité="Ariana" MRABET JELALI 3 8 IV.3 Projection & Sélection RESULTAT Cours VB – ISG 2007/2008

  35. NoCom NoCli Nom Date Adresse 12/04/02 15/02/01 16/04/01 09/07/01 03/01/00 05/04/00 07/12/99 09/09/99 12/12/00 108 105 107 106 102 103 101 100 104 23, a. Carthage 25, r. du Caire 25, r. du Caire 112, r. d’Athène 5, a. de Madrid 180, r. de Rome 72, r. de la Gare 65, r. Lafayette 65, r. Lafayette AMEUR BEN SALAH BEN SALAH MRABET KRAIEM LABIDI JELALI ROUISSII ROUISSII 1 2 2 3 4 5 8 9 9 IV.4 Jointure Client Commande Nom Adresse Localité Compte Catégorie NoCli NoCom #NoCli Date 1 2 3 4 5 6 7 8 9 AMEUR BEN SALAH MRABET KRAIEM LABIDI CHAOUACHI GAFSI JELALI ROUISSI 23, a. Carthage 25, r. du Caire 112, r. d’Athène 5, a. de Madrid 180, r. de Rome 3, a. des Roses 14, r. de l’Eté 72, r. de la Gare 65, r. Lafayette Carthage Tunis Ariana Tunis Tunis La Marsa Carthage Ariana Tunis 125.000 -230.000 0.000 0.000 72.000 -258.000 870.000 320.000 35.000 1 1 1 1 2 2 3 3 3 100 101 102 103 104 105 106 107 108 9 8 4 5 9 2 3 2 1 09/09/99 07/12/99 03/01/00 05/04/00 12/12/00 15/02/01 09/07/01 16/04/01 12/04/02 SELECT Commande.NoCom, Client.NoCli, Nom, Adresse, DateFROM Commande, Client WHERE Commande.NoCli = Client.NoCli RESULTAT Cours VB – ISG 2007/2008

More Related