Cours brahim bakkas

2 592 vues

Publié le

cours brahim bakkas

Publié dans : Formation
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
2 592
Sur SlideShare
0
Issues des intégrations
0
Intégrations
976
Actions
Partages
0
Téléchargements
100
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Cours brahim bakkas

  1. 1. Systèmes d’information 2ème année ECT Brahim bakkas CPGE Omar AL Khayyam
  2. 2. Plan Chapitre 1: généralités et notion de base Chapitre 2: Méthode merise MCD MLD MPD Chapitre 3: algèbre relationnel Chapitre 4: langage Sql Infocpge.blogspot.com Brahim BAKKAS 2
  3. 3. Chapitre 1: Généralités et notions de base
  4. 4. 4 Introduction : Définition d’une base de données: Une base de données est un ensemble structuré de données persistantes représentant une réalité extérieure au système, partagé par plusieurs utilisateurs (application d’une même entreprise) Infocpge.blogspot.com Brahim BAKKAS
  5. 5. 5 Introduction : Remarque : Persistante : les données sont conservées de manière permanente, elles sont disponibles pour chaque utilisateur. Réalité extérieur : les informations contenues dans une base de données sont des données du monde réel et non des données informatiques. Plusieurs utilisateurs : les utilisateurs qui partagent les fichiers de la base de données peuvent avoir des préoccupations différentes. Entreprise : les applications qui pointe vers la même base de données doivent appartenir à la même entreprise Infocpge.blogspot.com Brahim BAKKAS
  6. 6. 6 Introduction : Définition d’une base de données : Une base de données contient des informations représentant des objets du même monde extérieur(monde réel) ainsi que des liens sémantiques entre ses objets. Infocpge.blogspot.com Brahim BAKKAS
  7. 7. 7 Utilité d'une base de données Une base de données permet de mettre des données à la disposition des utilisateurs pour une consultation, une saisie ou bien une mise à jour, tout en s'assurant des droits accordés à ces derniers Infocpge.blogspot.com Brahim BAKKAS
  8. 8. 8 Utilité d'une base de données(suite) Une base de données peut être locale, c'est-à-dire utilisable sur une machine par un utilisateur, répartie, c'est-à-dire que les informations sont stockées sur des machines distantes et accessibles par le réseau. L'avantage accédées par plusieurs utilisateurs simultanément. Infocpge.blogspot.com Brahim BAKKAS
  9. 9. 9 Conception d’une base de données Définitions: Les éléments constitutifs d’une base de données lors de sa phase de conception correspondent aux 3 notions : entité, attribut et association Infocpge.blogspot.com Brahim BAKKAS
  10. 10. 10 Conception d’une base de données(suite) Définition d’une entité : Une entité est un objet du monde extérieur que l’on peut distinguer et qui a une existence propre et qui possède des propriétés. Exemple : BD pour la gestion des notes possède 3 entités: - Etudiant, - Matière, -Enseignant. BD commerciale : - Client, - Fournisseur, - Commande. Infocpge.blogspot.com Brahim BAKKAS
  11. 11. 11 Conception d’une base de données(suite) Définition d’un attribut : Un attribut est le plus petit élément d’information manipulé par l’entreprise et qui a un sens en lui même. Exemple : Étudiant: Nom, prénom, adresse, date de naissance. Infocpge.blogspot.com Brahim BAKKAS
  12. 12. 12 Conception d’une base de données(suite) Définition d’une association : Une association est un lien sémantique entre deux entités. Exemple: Commande Client Passer Infocpge.blogspot.com Brahim BAKKAS
  13. 13. 13 Conception d’une base de données(suite) Les divers types d’associations : Il y’a quatre types d’associations: 1.Association binaire réciproque ou un à un: 2.Association binaire un à plusieurs: Conjoint Employé Employé Employé Établissement Employé Infocpge.blogspot.com Brahim BAKKAS
  14. 14. 14 Conception d’une base de données(suite) 3. Association binaire plusieurs à plusieurs: Fournir Fournisseur Produit Infocpge.blogspot.com Brahim BAKKAS
  15. 15. 15 Exemple Soient les règles de gestions suivantes : Un client peut passer plusieurs commandes, Une commande est passée par un et un seul client. une commande se compose de plusieurs produits un produit peut être livré par plusieurs fournisseurs. 1. Extraire les entités du problème ? 2. Représenter la structure du problème en utilisant le formalisme entité association ? passer Livrer Composer Fournisseur Client Commande Produit Infocpge.blogspot.com Brahim BAKKAS
  16. 16. 16 Exemple Soient les règles de gestions suivantes : Un client peut passer plusieurs commandes, Une commande est passée par un et un seul client. une commande se compose de plusieurs produits un produit peut être livré par plusieurs fournisseurs. 1. Extraire les entités du problème ? 2. Représenter la structure du problème en utilisant le formalisme entité association ? passer Livrer Composer Fournisseur Client Commande Produit Infocpge.blogspot.com Brahim BAKKAS
  17. 17. 17 Exercice n°2 Considérons une entreprise structurée en un certain nombre d’établissement ; Soient les règles de gestions suivantes : Les établissements emploient des personnes, chaque personne ne travaille que dans un seul établissement, mais il peut participer à différents projets de l’entreprise. Un projet peut regrouper plusieurs employés du même établissement ou pas. Un projet est dirigé par un et un seul employé et un employé ne peut diriger qu’un seul projet. Si le conjoint d’un employé travaille dans l’entreprise ce lien doit être enregistrer L’entreprise s’adresse à des fournisseurs qui lui fournissent des produits qu’elle stockent dans des entrepôts. Un fournisseur, un établissement, un entrepôt, sont localisé dans une seule ville, Un produit peut être composé de plusieurs autres produits. En utilisant le formalisme (entité – association), représenter la structure du problème ? Infocpge.blogspot.com Brahim BAKKAS
  18. 18. 18 Système de gestion des bases de données Définition d’un SGBD : Le SGBD représente un ensemble coordonné de logiciels qui permet de décrire, manipuler, traiter les ensembles de données formant la base. Il doit également assurer la sécurité et la confidentialité des données dans un environnement où de nombreux utilisateurs ayant des besoins variés peuvent interagir simultanément sur ces données. Infocpge.blogspot.com Brahim BAKKAS
  19. 19. 19 Système de gestion des bases de données L’organisation des données dans un SGBD:(exemple Access) - Dans les SGBD, les informations doivent être segmentées en données qui sont stockées dans des tables. Une table est donc un ensemble de données, organisées en lignes et en colonnes. - On peut stocker dans une table n’importe quel type d’information (texte, chiffres, graphisme, son, etc...) Infocpge.blogspot.com Brahim BAKKAS
  20. 20. 20 Système de gestion des bases de données Chaque table est divisée en enregistrements, les enregistrements étant l’ensemble des données relatives à la même information.  Chaque enregistrement contient un ensemble d’informations qui ont elles-mêmes diviser l’enregistrement en plusieurs parties, chaque partie s’appelle un champ. Le champ contient une partie des informations de chaque enregistrement. Infocpge.blogspot.com Brahim BAKKAS
  21. 21. 21 Fonctionnalités d’un SGBD : Gestion du stockage : faire face à des tailles énormes de données.  Persistance: Les données «survivent» aux programmes qui les créent.  Fiabilité : Mécanismes de reprise sur pannes (logiciel ou matériel)  Sécurité - Confidentialité : Droits d'accès aux données  Cohérence : Contraintes d'intégrité contrôle de concurrence: Conflits d'accès. Répercussions sur la cohérence  Interfaces homme – machine : Convivialité + différents types d'utilisateurs Infocpge.blogspot.com Brahim BAKKAS
  22. 22. 22 Objectifs d’un SGBD : Indépendance physique: Le niveau physique (type de données)peut être modifié (int → float) indépendamment du niveau conceptuel. Cela signifie que tous les aspects matériels de la base de données n'apparaissent pas pour l'utilisateur, il s'agit simplement d'une structure transparente de représentation des informations Infocpge.blogspot.com Brahim BAKKAS
  23. 23. 23 Objectifs d’un SGBD : Indépendance logique: le niveau conceptuel doit pouvoir être modifié sans remettre en cause le niveau physique, c'est-à-dire que l'administrateur de la base doit pouvoir la faire évoluer sans que cela gêne les utilisateurs. Infocpge.blogspot.com Brahim BAKKAS
  24. 24. 24 Objectifs d’un SGBD : Manipulation: des personnes ne connaissant pas la base de données doivent être capables de décrire leurs requêtes sans faire référence à des éléments techniques de la base de données, Rapidité des accès: le système doit pouvoir fournir les réponses aux requêtes le plus rapidement possible, cela implique des algorithmes de recherche rapides, Infocpge.blogspot.com Brahim BAKKAS
  25. 25. 25 Objectifs d’un SGBD : Administration centralisée: le SGBD doit permettre à l'administrateur de pouvoir manipuler les données, insérer des éléments, vérifier son intégrité de façon centralisée Limitation de la redondance: le SGBD doit pouvoir éviter dans la mesure du possible des informations redondantes, afin d'éviter d'une part un gaspillage d'espace mémoire mais aussi des erreurs, Infocpge.blogspot.com Brahim BAKKAS
  26. 26. 26 Objectifs d’un SGBD : Vérification de l'intégrité: les données doivent être cohérentes entre elles, de plus lorsque des éléments font références à d'autres, ces derniers doivent être présents, Partage des données: le SGBD doit permettre l'accès simultané à la base de données par plusieurs utilisateurs, Sécurité des données: Le SGBD doit présenter des mécanismes permettant de gérer les droits d'accès aux données selon les utilisateurs. Infocpge.blogspot.com Brahim BAKKAS
  27. 27. 27 Modèles d’un SGBD Il existe cinq modèles de SGBD, différenciés selon la représentation des données qu'elle contient : 1. le modèle hiérarchique: C’est un modèle inspiré par la pratique courante de la programmation COBOL, il consiste à organiser les divers entités de la base en arbre. Ce modèle utilise des pointeurs entre les différents enregistrements. Il s'agit du premier modèle de SGBD Infocpge.blogspot.com Brahim BAKKAS
  28. 28. 28 Modèles d’un SGBD 2. le modèle réseau: Comme le modèle hiérarchique ce modèle utilise des pointeurs vers des enregistrements, et il permet de relier plusieurs entités. Infocpge.blogspot.com Brahim BAKKAS
  29. 29. 29 Modèles d’un SGBD 3. le modèle relationnel (SGBDR, Système de gestion de bases de données relationnelles): les données sont enregistrées dans des tableaux à deux dimensions (lignes et colonnes). La manipulation de ces données se fait selon la théorie mathématique des relations. Infocpge.blogspot.com Brahim BAKKAS
  30. 30. 30 Modèles d’un SGBD 4. le modèle objet (SGBDO, Système de gestion de bases de données objet): c’est un modèle qui est adapté aux structures complexe. 5. le modèle déductif Infocpge.blogspot.com Brahim BAKKAS
  31. 31. 31 Architecture d’un SGBD L'architecture ANSI/SPARC d’un SGBD : L'architecture ANSI/SPARC, datant de 1975, définit des niveaux d'abstraction pour un système de gestion de bases de données: Niveau interne (ou physique): Il définit la façon selon laquelle sont stockées les données et les méthodes pour y accéder Niveau conceptuel: appelé aussi MCD (modèle conceptuel des données) ou MLD (modèle logique des données). Il définit l'arrangement des informations au sein de la base de données Niveau externe: Il définit les vues des utilisateurs Infocpge.blogspot.com Brahim BAKKAS
  32. 32. 32 Les principaux SGBD Les principaux systèmes de gestion de bases de données sont les suivants: Interbase Microsoft SQL server Microsoft Access Microsoft FoxPro Oracle Sybase MySQL PostgreSQL mSQL Infocpge.blogspot.com Brahim BAKKAS
  33. 33. Chapitre 2: Gestion de projet informatique et conception d’un système d’information (méthodologie Merise)
  34. 34. 34 Définitions : Système Le système est un tous constitué d’éléments uni par des relations. Système d’information Un système d’information est une représentation possible de n’importe quel système notamment tous système humain organisé. Génie logiciel La génie logiciel est une sous discipline informatique offrant des méthodes et des techniques pour développer et maintenir des logiciels de qualité. Infocpge.blogspot.com Brahim BAKKAS
  35. 35. 35 Cycle de vie d’un logiciel Cycle de vie est une suite de phases de réalisation d’un logiciel depuis sa spécification jusqu’à sa commercialisation ou sa mise en oeuvre Le développement d’un logiciel suit différents modèles: Modèle en cascade Modèle en V Modèle en spirale Modèle de la fontaine Infocpge.blogspot.com Brahim BAKKAS
  36. 36. 36 Cycle de vie d’un logiciel Cycle en cascade : Infocpge.blogspot.com Brahim BAKKAS
  37. 37. 37 Description des états :  Définition du problème «Pourquoi ? » : définir le problème avec précision : Documents de définition du problème : - Objectif de l’usage - Les contraintes majeures Outil de description : - Langage naturel Infocpge.blogspot.com Brahim BAKKAS
  38. 38. 38 Description des états : Analyse des besoins : Définir les fonctionnalités des systèmes donnés, les objectifs et les contraintes et si nécessaires faire une équipe de faisabilité qui doit analyser les besoins contre les contraintes, Infocpge.blogspot.com Brahim BAKKAS
  39. 39. 39 Description des états : Spécification : A cette étape on répond au question suivantes : - Quel sont les entrées du système ? - Quel sont les fonctions de chaque entrée ? - Quel sont les sorties correspondantes ? Infocpge.blogspot.com Brahim BAKKAS
  40. 40. 40 Description des états : Conception:  A cette étape : représenter les fonctions pour faciliter leur implémentation, et choisir les structures de données, Structurer le système en modules logiques et fonctionnels. Infocpge.blogspot.com Brahim BAKKAS
  41. 41. 41 Description des états : Codage et tests « Comment ?» Écrire les unités du programme dans un langage exécutable, Pour chaque programme il faut préparer une documentation à inclure dans le manuel technique du système, puis faire les tests. Infocpge.blogspot.com Brahim BAKKAS
  42. 42. 42 Modèle en cascade Infocpge.blogspot.com Brahim BAKKAS
  43. 43. 43 Système d’information un système d’information décrit l’ensemble des connaissances et des services de l’organisation à informatiser. Un tel système permet une bonne supervision de l’organisation, optimise sa rentabilité et aide à prendre des décisions. Le fait d’établir un système permet aussi d’analyser et d’identifier les parties du système qui peuvent être automatisable. Infocpge.blogspot.com Brahim BAKKAS
  44. 44. 44 Système d’information(suite) Ce système d’information assurera le lien entre deux autres systèmes de l’entreprise : le système opérant, et le système de pilotage : Infocpge.blogspot.com Brahim BAKKAS
  45. 45. 45 Système d’information(suite) Le système opérant : englobe toutes les fonctions liées à l’activité propre de l’entreprise: facturer les clients, régler les salariées, gérer les stocks,… Le système de pilotage : décide des actions à conduire sur le système opérant en fonction des objectifs et des politiques de l’entreprise, Infocpge.blogspot.com Brahim BAKKAS
  46. 46. 46 Architecture d’un système d’information Le schéma suivant synthétise l’architecture d’un système d’information. Infocpge.blogspot.com Brahim BAKKAS
  47. 47. 47 Architecture d’un système d’information (suite) Le processeur d’information produit des changements dans la base d’information à la réception d’un message. Un message contient des informations et exprime une commande décrivant l’action à entreprendre dans la base d’information. Le processeur interprète la commande et effectue le changement en respectant les contraintes et les règles. Dans tous le cas, l’environnement a besoin de connaître que la commande a été acceptée ou refusée, le processeur émet à cet effet un message vers l’environnement. Infocpge.blogspot.com Brahim BAKKAS
  48. 48. 48 l’approche analytique et l’approche systémique Les méthodes d’étude des systèmes d’information ont pour objectif de décrire ces systèmes à l’aide de modèles, puis de réaliser les systèmes informatisés en découlant. Elles sont regroupées essentiellement en deux groupes: les méthodes analytiques, et les méthodes systémiques. Infocpge.blogspot.com Brahim BAKKAS
  49. 49. 49 Les méthodes analytiques La démarche analytique est basée sur une décomposition du domaine d’étude en des domaines plus réduits qui sont des sous ensembles du domaine global. Chaque partie prise séparément est alors étudiée puis réintégrée à l’ensemble afin de tenter de reconstituer le tout. Leur défaut majeur est d’aboutir à des applications difficiles à lier et dont la juxtaposition est généralement peu cohérente. Infocpge.blogspot.com Brahim BAKKAS
  50. 50. 50 Les méthodes systémiques La démarche systémique passe par la modélisation du domaine à étudier pour le comprendre. Le réel perçu est représenté par un modèle, réduction de cette réalité, lui-même décomposé ; chaque partie est ensuite étudiée en relation avec l’ensemble. Merise est une méthode systémique de conception de systèmes d’information. Infocpge.blogspot.com Brahim BAKKAS
  51. 51. 51 Merise Historique Merise est une méthodologie de conception des applications logicielles ou plus précisément est une approche d’analyse, de modélisation et de réalisation d’un système d’information : d’un système réelle quelconque (entreprise, organisation, administration…) C'est la méthode la plus répandue en France, Elle a été créée en 1978 à Aix en Provence (CETE, centre d'étude technique de l'équipement, et CTI, centre technique d'informatique). Infocpge.blogspot.com Brahim BAKKAS
  52. 52. 52 Modèle Un modèle peut être définit comme étant une image de la réalité. Toute réalité complexe doit être représentée pour être comprise et maîtrisée Le modèle, c’est l’expression de quelque chose que nous cherchons à appréhender, représentée en des termes que nous pensons comprendre. Infocpge.blogspot.com Brahim BAKKAS
  53. 53. 53 Modèles Merise : Infocpge.blogspot.com Brahim BAKKAS
  54. 54. 54 Le formalisme conceptuel se découpe en trois niveaux de modélisation :  le modèle conceptuel des données,  le modèle conceptuel de communication (ou diagramme de flux)  et le modèle organisationnel des traitements. Infocpge.blogspot.com Brahim BAKKAS
  55. 55. 55 Modèles Formalisme Organisationnel : Le niveau organisationnel décrit le SI en répondant aux questions QUI ? Où ? et Quand ? Le MOT intègre les notions de temps, de durées, de ressources, de lieu, de responsabilité et la nature des traitements. Infocpge.blogspot.com Brahim BAKKAS
  56. 56. 56 Modèle conceptuel de communication (MCC): Définition de l’organisation : MCC représente, au niveau conceptuel, les échanges d’information entre les acteurs : Acteurs – Représenté par un cercle et un libelle pour le nom de l’acteur – L’acteur représente une unité active intervenant dans le fonctionnement d’un système opérant. - Un acteur est un rôle plutôt qu’une personne physique Infocpge.blogspot.com Brahim BAKKAS
  57. 57. 57 Définition de l’organisation Un acteur c’est une personne ou un groupe de personnes qui s’échangent des informations Acteur interne : font parties du sous ensemble de l’organisation étudiée Acteur externe : échangent des informations avec les acteurs internes du domaines étudié mais n’en font pas partie Infocpge.blogspot.com Brahim BAKKAS
  58. 58. 58 Étapes de création du modèle MCC 1.Délimiter le système: identifier les acteurs externes Exemple: Organisation: « Bibliothèque » Etudiant Acteur externe Infocpge.blogspot.com Brahim BAKKAS
  59. 59. 59 Étape de création du modèle MCC 2. Identifier les acteurs internes Saisir les prêts Retourner les livres à leur place Infocpge.blogspot.com Brahim BAKKAS
  60. 60. 60 MCC(suite) Flux d’information  Représenté par une flèche entre deux acteurs, étiquetée par le nom du flux Infocpge.blogspot.com Brahim BAKKAS
  61. 61. 61 Modèle conceptuel des données(MCD) Le Modèle conceptuel des données est une représentation statique du système d’information de l’entreprise. Chaque mot du langage de l’entreprise a une signification précise et le modèle conceptuel des données décrit les rapports qui existent entre les sens de ces mots. Infocpge.blogspot.com Brahim BAKKAS
  62. 62. 62 Modèle conceptuel des données(MCD) Vocabulaire: 1.Entité: Une entité est un objet du réel, concret ou abstrait dont on s'accorde à reconnaître une existence propre. Représentation graphique : Infocpge.blogspot.com Brahim BAKKAS
  63. 63. 63 Vocabulaire (suite) 2. Une propriété est une caractéristique que l'on perçoit sur une entité ou sur une association entre entités dans le réel. Exemples : - Une propriété peut être simple: Nom de personne Numéro de commande Le prix d'un produit Le mois - Ou composée: La date (jour, mois, année)  l'adresse : nom, rue, numéro, code postal, ville. Client Num client Nom client Adresse client Infocpge.blogspot.com Brahim BAKKAS
  64. 64. 64 Identifiant Un identifiant est une propriété particulière telle qu'il n'existe pas deux occurrences de cette propriété pour lesquelles cette propriété puisse prendre la même valeur. Une entité est complètement définie par : Un nom Un identifiant Une liste de propriétés Chaque fois que l'on veut définir une entité, on devra déterminer son identifiant. Client Num client Nom client Adresse client Infocpge.blogspot.com Brahim BAKKAS
  65. 65. Occurrences Infocpge.blogspot.com Brahim BAKKAS 65 Client 102 Ilhame Karam Diour jamae Rabat Client 103 Adnane Hajji Hay Riyyad Rabat Client 101 HAMID FATTAH Hay salam Sallé
  66. 66. 66 Association Une association (ou relation) est perçue dans le réel entre des individus Une association définit une relation entre une ou plusieurs entités Exemple : un client passe une commande Représentation graphique : Commande Num commande Date commande Passe Client Num client Nom client Adresse client Infocpge.blogspot.com Brahim BAKKAS
  67. 67. 67 Association (suite) Une association n'a pas d'existence propre, elle dépend des entités qu'elle regroupe Une association peut être porteuse de propriétés Exemple: Pour désigner une occurrence de l'association, il faut désigner les occurrences des entités qui la composent Produit Ref_produit Prix unitaire Contenir Quantité Commande Num commande Infocpge.blogspot.com Brahim BAKKAS
  68. 68. 68 Type d’association (suite) 1.Association binaire 2.Association ternaire: Exemple: matière Nom_matiére Enseigne Enseignant Id_enseignant Nom Prenom Salle Num_salle Infocpge.blogspot.com Brahim BAKKAS
  69. 69. 69 Type d’association (suite) Remarque: - Plusieurs associations peuvent exister entre deux entités -Exemple: Infocpge.blogspot.com Brahim BAKKAS
  70. 70. 70 Cardinalités Les cardinalités, au sens arithmétique du terme, permettent de dénombrer les éléments de l'entité d'arrivée en relation avec un élément de l'entité de départ, et vice versa. Infocpge.blogspot.com Brahim BAKKAS
  71. 71. 71 Cardinalités cardinalité minimale :combien d ’occurrence au minimum? (0 ou 1) cardinalité maximale :combien d ’occurrence au maximum ? ( 1 ou n ) Infocpge.blogspot.com Brahim BAKKAS
  72. 72. 72 Exemple  Considérons le cas de l'association "habite" et les deux entités "être humain" et "appartement" du schéma précédent, les cardinalités minimales et maximales sont les suivantes sens "être humain" vers "appartement" : 0 (minimum) et 1 (maximum) sens "appartement" vers "être humain" : 0 (minimum) et n (maximum) Infocpge.blogspot.com Brahim BAKKAS
  73. 73. 73 Cardinalités(suite) Tout être humain ne réside pas forcément dans un appartement, peut être dans une maison, Un être humain réside dans un appartement et un seul à la fois, mais qu’un appartement peut se trouver vide ou être pourvu de plusieurs résidents. En outre nous avons convenu qu’un même être humain ne pouvait résider dans plusieurs appartements à la fois. Infocpge.blogspot.com Brahim BAKKAS
  74. 74. 74 Cardinalités(suite) On note les cardinalités de chaque côté de l'association, sur les traits faisant la liaison entre l'association et l'entité. Infocpge.blogspot.com Brahim BAKKAS
  75. 75. 75 Exemple Appartement Num Appartement Adresse Étage Réside Être humain Id_etre_humain Nom Prénom Adresse Sexe 0,1 0,n Infocpge.blogspot.com Brahim BAKKAS
  76. 76. 76 Exercice1  Chaque client est caractérisé par un numéro, nom, prénom,adresse.  Une commande est identifié par un numéro de commande.  Un produit est caractérisé par une référence unique,libellé et le prix unitaire.  Pour chaque fournisseur on connaît son identifiant, son nom,et son adresse.  Un client peut passer plusieurs commandes,  Une commande est passée par un et un seul client,  une commande se compose de plusieurs produits,  un produit peut être livré par plusieurs fournisseurs. Représenter le modèle conceptuel de données (MCD) ? Infocpge.blogspot.com Brahim BAKKAS
  77. 77. 77 Exercice 2 Pour les besoins d’un aéroport, on souhaite mémoriser dans une base de données les informations nécessaires à la description des faits suivants :  chaque avion géré est identifié par un numéro d’immatriculation. Il est la propriété soit d’une société, soit d’un particulier, dans les deux cas on doit connaître le nom et le numéro de téléphone du propriétaire, ainsi que la date d’achat de l’avion ; chaque avion est d’un certain type, celui ci étant caractérisé par son nom, le nom du constructeur, la puissance du moteur et le nombre de places ; la maintenance des avions est assurée par les mécaniciens de l’aéroport. Les interventions sont toujours effectuées par deux mécaniciens. Pour toute intervention effectuée, on conserve l’objet de l’intervention, la date et la durée ; Infocpge.blogspot.com Brahim BAKKAS
  78. 78. 78 Exercice 2(suite) pour chaque mécanicien, on connaît son nom, son adresse et son numéro de téléphone; un certain nombre de pilotes sont enregistrés auprès de l’aéroport. Pour chaque pilote on connaît son nom, son adresse, son numéro de brevet et le nombre total de vols qu’il a effectué sur chacun de ces types; 1.Extraire les entités et leurs attributs ? 2.Représenter le modèle conceptuel de données (MCD) ? Infocpge.blogspot.com Brahim BAKKAS
  79. 79. 79 Exercice 2 solution Infocpge.blogspot.com Brahim BAKKAS
  80. 80. 80 Exercice 3 Un enseignant est caractérisé par son nom, prénom et son bureau. Il peut enseigner une ou plusieurs matières. Une matière peut être enseignée par un ou plusieurs enseignants. Une matière est distinguée par son intitulé. Un étudiant est caractérisé par son nom, prénom. Un étudiant doit s’inscrire à une ou plusieurs matières. Un étudiant passe un ou plusieurs contrôles continus dans chaque matière. Chaque contrôle est caractérisé par une note et un coefficient. Il passe aussi un ou plusieurs examens dans chaque matière où il est inscrit. Un examen est caractérisé par une note et un coefficient. Infocpge.blogspot.com Brahim BAKKAS
  81. 81. 81 Exercice 3: solution Infocpge.blogspot.com Brahim BAKKAS
  82. 82. 82 Recherche des propriétés à gérer Regroupement des propriétés par entité Représentation des entités Recherche des relations Recherche des cardinalités Vérification et validation du modèle Démarche dans la construction d’un MCD Infocpge.blogspot.com Brahim BAKKAS
  83. 83. 83 1ér forme normale L’existence d’un identifiant pour chaque objet: Certain objet réel ne sont pas identifié au préalable; il faut donc créer la donnée permettant de se mettre en conformité avec la regle1. Remarque: Rappelons qu’on peut pas avoir deux occurrences identiques pour un même identifiant. Client Nom client Adresse client Client Num client Nom client Adresse client Infocpge.blogspot.com Brahim BAKKAS
  84. 84. 81 1ére forme normale Toutes les propriétés doivent être élémentaires c’est-à-dire non décomposable: il vaut mieux éclater des propriétés qui pourraient être regroupées que de regrouper des propriétés qui doivent être éclatées. Exemple: Décomposer la propriété adresse: Rue Ville Code postal Infocpge.blogspot.com Brahim BAKKAS Client Num client Nom client Adresse client Client Num client Nom client Rue Ville Code postal
  85. 85. 85 2éme forme normale Le modèle est en 1FN Toute les propriétés autre que l’identifiant doivent être en dépendance fonctionnelle mono value à cet identifiant c.-à-d. pour une occurrence d’une entité, chacun des propriétés ne peut prendre qu’une valeur. Infocpge.blogspot.com Brahim BAKKAS
  86. 86. 86 2éme forme normale Dépendances fonctionnelles Une propriété (ou un groupe de propriétés) Y dépend fonctionnellement d’une autre propriété (ou groupe de propriétés) X si étant donné une valeur de X, il lui correspond une valeur unique de Y . On note X→Y (X détermine Y ) Infocpge.blogspot.com Brahim BAKKAS
  87. 87. 87 Exemple: Employé Matricule Nom Prénom Diplôme Diplôme Id_diplome Diplôme_employé Avoir détermine Matricule Nom détermine Matricule Infocpge.blogspot.com Brahim BAKKAS diplôme diplôme diplôme
  88. 88. 88 3éme forme normale Le modèle est en 2FN La dépendance fonctionnelle transitive doit être écartée. Si une propriété est en dépendance fonctionnelle de l’identifiant , et d’une autre propriété de l’objet, elle- même en dépendance fonctionnelle simple de cet identifiant, il y a un objet imbriqué dans celui que l’on étudie; Il faut éclater en deux objets celui qui contient une dépendance fonctionnelle transitive. Infocpge.blogspot.com Brahim BAKKAS
  89. 89. 89 3éme forme normale Ou bien: Toutes les DF entre les propriétés sont directes – Les propriétés d’une entité doivent dépendre de l’identifiant de l’entité de manière directe – Toute propriété n’appartenant pas à un identifiant ne dépend pas d’un attribut non identifiant Infocpge.blogspot.com Brahim BAKKAS
  90. 90. 90 4éme forme normale Le modèle est en 3FN Une propriété ne peut qualifier qu’un seul objet ou qu’une seule relation. Par exemple: la propriété «Nom» ne peut être présente à la fois dans l’objet «Client» et dans l’objet «Fournisseur»;si tel est le cas, alors il faut appeler l’une « Nom client » et l’autre « Nom fournisseur» Client Num client Nom Fournisseur Num fournisseur Nom Polyséme Infocpge.blogspot.com Brahim BAKKAS
  91. 91. Modèle logique des données (MLD) Infocpge.blogspot.com Brahim BAKKAS 91
  92. 92. 92 Modèle logique des données(MLD) le MCD a pour but de modéliser les données (aspect statique) Le modèle logique des données consiste à décrire la structure de données utilisée sans faire référence à un langage de programmation Le MLD (Modèle Logique des Données) tient compte des choix concernant le système de gestion des données utilise dans l’entreprise. Le plus utilise est le modèle relationnel associe aux bases de données relationnelles (Oracle, Informix, SQLserver,..., Access, mySQL, postgreSQL...) Infocpge.blogspot.com Brahim BAKKAS
  93. 93. 93 Vocabulaire Le domaine est l’ensemble des valeurs que peut prendre une donnée. Une table est un sous-ensemble du produit des domaines ; une table est donc un ensemble d’enregistrements ( lignes). la table est composée d’attributs prenant leurs valeurs dans les domaines correspondants et elle porte aussi un nom. Une clé est constituée de 1 ou plusieurs attributs telle que une valeur de la clé détermine exactement l’enregistrement. Infocpge.blogspot.com Brahim BAKKAS
  94. 94. Exemple Id_client Nom Prénom Adresse tél 100 Hamdan Mohamed Hay salam sallé 066666666 120 Rachidi Nabiha Dior jamaa Rabat 0634234423 121 Naser Soultana Hay massira 1 temara Infocpge.blogspot.com Brahim BAKKAS 94 Client Attributs Enregistrements
  95. 95. 95 Passer du MCD au MLD Pour les entités : toute entité devient une table, les propriétés de l’entité sont les attributs de la table, l’identifiant de l’entité est la clé primaire de la table ; Pour les relations : cela dépend des cardinalités. deux cas sont possibles: la relation disparaît, elle est matérialisée par l’ajout d’une clé étrangère, la relation donne lieu à la création d’une table. Infocpge.blogspot.com Brahim BAKKAS
  96. 96. 96 Passer du MCD au MLD Relation binaire aux cardinalités (X,1)  (X,n) avec X=0 ou X=1 La Clé Primaire de la table à la cardinalité (X,n) devient une Clé Étrangère dans la table à la cardinalité (X,1) Infocpge.blogspot.com Brahim BAKKAS Entité A Clé_A Entité B Clé_B X,n X,1
  97. 97. 97 Passer du MCD au MLD La Clé Primaire de la table à la cardinalité (X,n) devient une Clé Étrangère dans la table à la cardinalité (X,1) Infocpge.blogspot.com Brahim BAKKAS Entité A Clé_A #Clé_B Entité B Clé_B
  98. 98. 98 Exemple Modèle Conceptuel de Donnée (MCD) : Modèle Logique de Donnée Relationnelle (MLDR) : EMPLOYE (id_Employe, Nom_Employe,#id_Societe) SOCIETE (id_Societe, Nom_Societe) Infocpge.blogspot.com Brahim BAKKAS
  99. 99. 99 Passer du MCD au MLD Relation binaire aux cardinalités (X,n)  (X,n) avec X=0 ou X=1 Il y a création d'une table supplémentaire ayant comme Clé Primaire une clé composée des identifiants des 2 entités. On dit que la Clé Primaire de la nouvelle table est la concaténation des Clés Primaires des deux autres tables. Si la relation est porteuse de donnée, celles ci deviennent des attributs pour la nouvelle table. Infocpge.blogspot.com Brahim BAKKAS
  100. 100. 100 Exemple Une commande est composée de 1 ou n produits distincts en certaine quantité. Un produit est présent dans 0 ou n commandes en certaine quantité. MLDR COMMANDE (id_Commande, Date_commande) PRODUIT (id_Produit, libelle) COMPOSE (id_Commande, id_Produit, quantité) Infocpge.blogspot.com Brahim BAKKAS
  101. 101. 101 Passer du MCD au MLD: Relation n-aire quelles que soient les cardinalités Il y a création d'une table supplémentaire ayant comme Clé Primaire la concaténation des identifiants des entités participant à la relation. Si la relation est porteuse de donnée, celles ci deviennent des attributs pour la nouvelle table. Infocpge.blogspot.com Brahim BAKKAS
  102. 102. 102 Exemple: Un étudiant parle une ou plusieurs langues avec un niveau. Chaque langue est donc parlée par 0 ou n étudiants avec un niveau. Pour chaque niveau, il y a 0 ou plusieurs étudiants qui parlent une langue. MCD : MLDR : ETUDIANT (id_Etudiant, Nom_Etudiant) NIVEAU (id_Niveau, Nom_Niveau) LANGUE (id_Langue, Nom_Langue) PARLE (id_Etudiant, id_Niveau, id_Langue) Infocpge.blogspot.com Brahim BAKKAS
  103. 103. 103 Passer du MCD au MLD Relation binaire aux cardinalités (0,1) - (1,1): La Clé Primaire de la table à la cardinalité (0,1) devient une Clé Étrangère dans la table à la cardinalité (1,1) Exemple: Chaque enseignant encadre 0 ou 1 groupe, chaque groupe étant encadré par un et un seul enseignant. Infocpge.blogspot.com Brahim BAKKAS
  104. 104. 104 MCD: MLDR: enseignant (Id_ens, Nom,Prénom) groupe (Id_Groupe, Nom_Groupe, #Id_ens) Exemple groupe Id_Groupe Nom_Groupe Encadre enseignant Id_ens Nom Prénom 0,1 1,1 Infocpge.blogspot.com Brahim BAKKAS
  105. 105. 105 Contraintes d’intégrité de structure : valeur de la clé primaire unique et toujours définie, de domaine : les valeurs prises par un attribut doivent vérifier des contraintes, de référence : les valeurs d’une clé étrangère doivent correspondre à des valeurs existantes dans la table d’origine. La vérification des contraintes assurent que la base reste intègre. Cette vérification s’effectue, soit directement par le système de gestion de bases de données utilisé quand c’est possible, soit par au moment de la programmation. Infocpge.blogspot.com Brahim BAKKAS
  106. 106. 106 EXERCICE Client Id_client Nom client Prenom client Fournisseur Id_f Nom_f Adresse_f Commande Id_commande Date _commande Passe 1,n 1,1 Contient 0,n 1,n Qte - Construire le MLDR correspondant à ce modèle conceptuel de données? Produit Id_produit Libelle Fournir 1,n 1,n Infocpge.blogspot.com Brahim BAKKAS
  107. 107. 107 MCD/MLDR Infocpge.blogspot.com Brahim BAKKAS
  108. 108. 108 Exercice: Pour la gestion d’une bibliothèque, voici une partie d’un MCD établi ; Est-ce que cette partie de MCD établi est valide ? c-a-d est ce que cette entité vérifie les formes normales ? Etudiant Nom Prénom Titre_livre Cote_livre Infocpge.blogspot.com Brahim BAKKAS
  109. 109. 109 Exemple: Modèle Physique des Données Infocpge.blogspot.com Brahim BAKKAS
  110. 110. 110 Exemple 2 Infocpge.blogspot.com Brahim BAKKAS
  111. 111. Chapitre 3 L’algèbre relationnel Infocpge.blogspot.com Brahim BAKKAS 111
  112. 112. 112 L’algèbre relationnel Vocabulaire: l’algèbre relationnelle consiste en un ensemble d’opérations qui permettent de manipuler des relations(tables), considérées comme des ensemble de tuples : on peut ainsi faire l’union ou la différence de deux relations, sélectionner une partie de la relation, effectuer des produits cartésiens ou des projections, etc. Une propriété fondamentale de chaque opération est qu’elle prend une ou deux relations en entrée, et produit une relation en sortie. Cette propriété permet de composer des opérations : on peut appliquer une sélection au résultat d’un produit cartésien, puis une projection au résultat de la sélection et ainsi de suite. En fait on peut construire des expressions algébriques arbitrairement complexes qui permettent d’exprimer des manipulations sur un grand nombre de relations. Infocpge.blogspot.com Brahim BAKKAS
  113. 113. 113 L’algèbre relationnel(suite) Une requête est une expression algébrique qui s’applique à un ensemble de relations (la base de données) et produit une relation finale (le résultat de la requête). On peut voir l’algèbre relationnelle comme un langage de programmation très simple qui permet d’exprimer des requêtes sur une base de données relationnelle. Infocpge.blogspot.com Brahim BAKKAS
  114. 114. 114 Les opérateurs de l’algèbre relationnelle L’algèbre se compose d’un ensemble d’opérateurs, parmi lesquels 5 sont nécessaires et suffisants et permettent de définir les autres par composition. Ce sont : 1. La sélection, dénotée σ; 2. La projection, dénotée Π; 3. Le produit cartésien, dénoté x; 4. L’union,U; 5. La différence, - Infocpge.blogspot.com Brahim BAKKAS
  115. 115. 115 Les opérateurs de l’algèbre relationnelle Les deux premiers sont des opérateurs unaires (ils prennent en entrée une seule relation) et les autres sont des opérateurs binaires. A partir de ces opérateurs il est possible d’en définir d’autres, et notamment la jointure, , ,qui est la composition d’un produit cartésien et d’une sélection. Infocpge.blogspot.com Brahim BAKKAS
  116. 116. 116 La sélection La sélection s’applique à une relation R et extrait de cette relation des tuples qui satisfont un critère de sélection,F, ce critère peut être: La comparaison entre un attribut de relation R et une constante La comparaison entre deux attributs Infocpge.blogspot.com Brahim BAKKAS
  117. 117. 117 Exemple de sélection Infocpge.blogspot.com Brahim BAKKAS
  118. 118. 118 Projection La projection s’applique à une relation R , et ne garde que les attributs donc, contrairement à la sélection, on ne supprime pas des lignes mais des colonnes. Exemple : Infocpge.blogspot.com Brahim BAKKAS
  119. 119. 119 Produit cartésien Le premier opérateur binaire, et le plus important, est le produit cartésien,x, Le produit cartésien entre deux relations R et S se note U et permet de créer une nouvelle relation où chaque tuple de R est associé à chaque tuple de S. Exemple: Infocpge.blogspot.com Brahim BAKKAS
  120. 120. 120 Exemple Voici deux relations R et S: X = Infocpge.blogspot.com Brahim BAKKAS
  121. 121. 121 Union L’Union de deux tables est la table contenant l'ensemble des tuples (cellules) appartenant à l'une ou l'autre des tables (ou les deux). Les deux tables opérandes doivent être de même schéma, c'est-à- dire que les attributs de la table (colonnes) doivent être les mêmes. On note l'union entre deux tables R1 et R2: union(R1,R2) ou encore R1 U R2 Infocpge.blogspot.com Brahim BAKKAS
  122. 122. 122 Différence La différence entre deux tables est la table contenant l'ensemble des tuples (cellules) appartenant à une table mais pas à la seconde. Les deux tables opérandes doivent être de même schéma, c'est-à- dire que les attributs de la table (colonnes) doivent être les mêmes. On note la différence entre deux tables R1 et R2: minus(R1,R2) ou encore R1 - R2 Infocpge.blogspot.com Brahim BAKKAS
  123. 123. 123 Intersection L'intersection entre deux tables est la table contenant l'ensemble des tuples (cellules) appartenant aux deux tables. Les deux tables opérandes doivent être de même schéma, c'est-à-dire que les attributs de la table (colonnes) doivent être les mêmes. On note l'intersection entre deux tables R1 et R2: inter(R1,R2) ou encore R1 R2 Infocpge.blogspot.com Brahim BAKKAS
  124. 124. 124 Quotient (ou division) Le quotient de deux tables est la table contenant l'ensemble des tuples (cellules) qui concaténés à chaque tuple de l'une des tables fournissent des tuples appartenant à l'autre On note le quotient de deux tables R1 et R2: div(R1,R2) ou encore R1/R2 Infocpge.blogspot.com Brahim BAKKAS
  125. 125. 125 Jointure θ-jointure : On appelle θ-jointure selon une qualification Q l'ensemble des tuples provenant du produit cartésien de deux relations et satisfaisant la qualification, c'est-à-dire la condition exprimée à l'aide des comparateurs: ≥ ≤ > < = ≠ ¬ On note la θ-jointure de deux tables R1 et R2: joinQ(R1,R2) ou encore (R1 Q)R2 Infocpge.blogspot.com Brahim BAKKAS

×