Bases de données avancées Master 1 IDSM-Kharkiv 2020-2021 Jérôme Darmont http:/

Bases de données avancées Master 1 IDSM-Kharkiv 2020-2021 Jérôme Darmont http://eric.univ-lyon2.fr/jdarmont/ Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 2 Actualité du cours http://eric.univ-lyon2.fr/jdarmont/?page_id=3604 http://eric.univ-lyon2.fr/jdarmont/?feed=rss2 https://twitter.com/darmont_lyon2 #idsmbda Introduction Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 3 Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 4 Définition Base de données (BD) : Collection de données cohérentes et structurées ≠ Base de données Fichiers Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 5 Organisation en fichiers Saisie Traitement Fichier Fichier Traitement Saisie État de sortie Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 6 Organisation en BD Saisie + Contrôles Base de données Traitements États de sortie Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 7 Avantages de l’organisation en BD Uniformisation de la saisie Standardisation des traitements Contrôle de la validité des données Partage de données entre plusieurs traitements Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 8 Qu’est-ce qu’un SGBD ? Système de Gestion de Bases de Données : Logiciel(s) assurant structuration, stockage, maintenance, mise à jour et consultation des données d’une BD Exemples – SGBD « bureautiques » : Access, Base, Filemaker, Paradox – SGBD serveurs : Oracle, DB2, SQL Server, PostgreSQL, MySQL, MariaDB… Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 9 Processus de conception d’une BD Probléma- tique Spécifica- tions Modèle conceptuel Modèle logique Modèle physique Rédaction Analyse Traduction Traduction Indépendant d’un système de gestion de BD (SGBD) Spécifique Famille de SGBD SGBD particulier Cahier des charges Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 10 Plan du cours Partie 1 : Modélisation conceptuelle Partie 2 : Modélisation logique Partie 3 : Interrogation et manipulation de bases de données Partie 4 : Programmation de bases de données Modèle relationnel Partie 1 Modélisation conceptuelle Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 11 Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 12 Modèle conceptuel UML Standard de l’Object Management Group Ensemble de formalismes graphiques Diagramme de classes Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 13 Classes et attributs Classe : Groupe d’entités du monde réel ayant les mêmes caractéristiques et le même comportement ex. ETUDIANT Attribut : Propriété de la classe ex. Nom et Prénom de l’étudiant·e Représentation graphique : Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 14 T ypes des attributs T ype d’attribut : – Nombre entier (Entier) – Nombre réel (Réel) – Chaîne de caractères (Chaîne) – Date (Date) Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 15 Instances Objets (individus) de la classe ETUDIANT = les étudiant·es Nom Prénom DateNaiss Etc. Dupont Albertine 01/06/1993 ... West James 03/09/1994 ... Martin Marie 05/06/1995 ... Abidi Rachid 15/11/1995 ... Titgoutte Justine 28/02/1996 ... Dupont Noémie 18/09/1995 ... Dupont Albert 23/05/1990 ... Problème : Comment distinguer les Dupont ? Solution : Ajouter un attribut numéro d’étudiant ! Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 16 Identifiant (1/2) NumEtu Nom Prénom DateNaiss 1110 Dupont Albertine 01/06/1993 2002 West James 03/09/1994 3333 Martin Marie 05/06/1995 4042 Durand Rachid 05/11/1995 5552 Titgoutte Justine 28/02/1996 6789 Dupont Noémie 18/09/1995 7000 Dupont Albert 23/05/1990 Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 17 Identifiant (2/2) Le numéro d’étudiant est un attribut identifiant. Un identifiant caractérise de façon unique les instances d’une classe. Convention graphique : NB : Ne pas confondre avec les attributs de classe UML dont c’est la notation usuelle Association : liaison perçue entre des classes ex. Les étudiant·es passent des épreuves. Les classes ETUDIANT et EPREUVE peuvent être qualifiées de participantes à l’association PASSER. Degré ou arité d’une association : nombre de classes participantes. En général : associations binaires (de degré 2). Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 18 Associations Une classe peut être associée à elle-même, chaque instance pouvant jouer plusieurs rôles dans l’association. ex. Employés et supérieurs hiérarchiques Rôle : fonction de chaque classe participante (+). Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 19 Associations récursives Définition : Indicateur qui montre combien d’instances de la classe considérée peuvent être liées à une instance de l’autre classe participant à l’association – 1 Un et un seul – 0..1 Zéro ou un – 0..* ou * Zéro ou plus – 1..* Un ou plus – M..N De M à N (M, N entiers) ex. 4..10 (de 4 à 10) Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 20 Multiplicité (ou cardinalité) ex. Un·e étudiant·e possède une et une seule carte Izly. Cette dernière n’est possédée que par un·e seul·e étudiant·e. Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 21 Associations 1-1 Lire « Un·e étudiant.e possède multiplicité (1) carte Izly ». ex. Une épreuve relève d’une et une seule matière. Une matière peut donner lieu à plusieurs épreuves. Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 22 Associations 1-N NB : La multiplicité un à plusieurs (1..*) peut aussi être zéro à plusieurs (0..* ou *). ex. Un·e étudiant·e peut appartenir ou non à un groupe de TD. Un groupe de TD réunit plusieurs étudiant·es. Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 23 Associations 0 ou 1-N NB : La multiplicité un à plusieurs (1..*) peut aussi être zéro à plusieurs (0..* ou *). ex. Un·e étudiant·e peut passer plusieurs épreuves. Une épreuve peut être passée par plusieurs étudiant·es. Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 24 Associations M-N NB : Les multiplicités un à plusieurs (1..*) peuvent aussi être zéro à plusieurs (0..* ou *). Il est possible de caractériser une association par des attributs. ex. Un·e étudiant·e qui passe une épreuve obtient une note. Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 25 Classes-associations NB : Une classe-association est une association, pas une classe. Les étudiant·es sont caractérisé·es par un numéro unique, leur nom, prénom, date de naissance, rue, code postal et ville. Les étudiant·es possèdent une carte Izly caractérisée par un numéro unique et un solde d’argent utilisable au CROUS. Selon qu’ils ou elles sont dispensé·es ou non d’assiduité, les étudiant·es appartiennent à un groupe de TD caractérisé par un code unique. Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 26 Exemple : Spécifications (1/2) Les étudiant·es passent des épreuves et obtiennent une note pour chacune. Les épreuves sont caractérisées par un code unique, ainsi que la date et le lieu auxquels elles se déroulent. Chaque épreuve relève d'une matière unique (mais une matière donnée peut donner lieu à plusieurs épreuves). Les matières sont caractérisées par un code unique et un intitulé. Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 27 Exemple : Spécifications (2/2) 1. Identifier les classes 2. Identifier les associations entre les classes 3. Identifier les attributs de chaque classe et de chaque classe-association 4. Identifier et souligner l’identifiant de chaque classe 5. Évaluer les multiplicités des associations Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 28 Démarche de modélisation conceptuelle Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 29 Exemple : Diagramme de classes Partie 2 Modélisation logique Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 30 Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 31 Modèle logique relationnel Modèle associé aux SGBD relationnels (ex. Oracle, SQL Server, DB2, PostgreSQL, MariaDB, MySQL…) Objectifs du modèle relationnel – Indépendance physique – Traitement du problème de redondance des données – Langages non procéduraux (faciles à utiliser) – Devenir un standard Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 32 Caractéristiques des SGBD relationnels Langages d’interrogation puissants et déclaratifs Accès orienté valeur Grande simplicité, absence de considérations physiques Description du schéma très réduite LDD intégré au LMD Grande dynamique de structure Optimisation de requêtes Utilisation interactive ou à partir d’un langage hôte Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 33 Relations et attributs Une relation R est un ensemble d’attributs {A1, A2, …, An}. ex. La relation EPREUVE est l’ensemble des attributs {CodeEpr, DateEpr, Lieu}. Chaque attribut Ai prend ses valeurs dans un domaine dom(Ai). ex.Note ∈ [0, 20] Lieu ∈ {'Amphi Say', 'Amphi Aubrac', 'Salle D101', …} Modèle relationnel Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 34 N-uplets Notation d’une relation : R (A1, A2, …, An) ex. EPREUVE (CodeEpr, DateEpr, Lieu) Un n-uplet t est un ensemble de valeurs t = <V1, V2, …, Vn> où Vi ∈ dom(Ai) ou bien Vi est la valeur nulle (NULL). ex. <'InfoS2', '30-06-2016', 'Amphi Aubrac'> est un n-uplet de la relation EPREUVE. Modèle relationnel Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 35 Contraintes d’intégrité (1/2) Clé primaire : Ensemble d’attributs dont les valeurs permettent de distinguer les n-uplets les uns des autres. ex. CodeEpr est clé primaire de la relation EPREUVE. Clé étrangère : Attribut qui est clé primaire d’une autre relation. ex. Connaître la matière dont relève chaque épreuve ⇒ ajout de l’attribut CodeMat à la relation EPREUVE Modèle relationnel Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 36 Contraintes d’intégrité (2/2) Notations :Clés primaires soulignées, clés étrangères postfixées par le caractère #. ex. EPREUVE (CodeEpr, DateEpr, Lieu, CodeMat#) Contraintes de domaine : Les attributs doivent respecter une condition logique. ex. Note ≥ 0 ET Note ≤ 20 Modèle relationnel Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 37 Contraintes d’intégrité en pratique MATIERE CodeMat Intitulé ECO Économie GES Gestion INFO Informatique EPREUVE CodeEpr DateEpr Lieu Codemat# ECOS101 15/01/2016 Amphi Aubrac ECO ECOS102 16/01/2016 Amphi Aubrac ECO GESS201 25/05/2016 Salle 201 GES INFOS101 20/01/2016 Salle 101 INFO Modèle relationnel Chaque classe devient une relation. Les attributs de la classe deviennent attributs de la relation. L’identifiant de la classe devient clé primaire de la relation. ex. ETUDIANT (NumEtu, Nom, Prénom, DateNaiss, Rue, CP, Ville) Bases de données avancées http://eric.univ-lyon2.fr/jdarmont/ 38 Traduction UML-relationnel (1/4) Chaque association 1-1 est prise en compte en incluant la clé primaire d’une des relations participante comme clé étrangère uploads/Sante/ m1idsm-bda.pdf

  • 23
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Oct 10, 2022
  • Catégorie Health / Santé
  • Langue French
  • Taille du fichier 1.2056MB