180 likes | 287 Views
Amphi de rattrapage de SI Modélisation et bases de données. Benjamin Fernandes lothar@via.ecp.fr. Intérêt de la modélisation des données (coté théorique). Représentation logique (relationnelle) de n’importe quel ensemble de donnée Plus pratique Plus simple Gain de temps. Assis à. (0,1).
E N D
Amphi de rattrapage de SIModélisation et bases de données Benjamin Fernandes lothar@via.ecp.fr
Intérêt de la modélisation des données(coté théorique) • Représentation logique (relationnelle) de n’importe quel ensemble de donnée • Plus pratique • Plus simple • Gain de temps Assis à (0,1) (0,1)
Intérêt du SQL(coté pratique) • Langage transcrivant les structures relationnelles • Simple et naturel (de l’anglais)SELECTnom FROMeleves • Langage extrêmement répandu (la quasi-totalité des sites web l’utilise) In English, so simple !
Les entités - Définition • Les entités – objetsConcept abstrait, qui définit la nature d’un ensemble d’éléments : les étudiants ; les cours • Les attributs - propriétésDes caractéristiques de ces éléments : nom ; professeur • Les occurrences – instancesUn élément d’un de ces ensembles : vous ; le cours de TT. Chacun prend un valeur pour chaque attribut (votre nom, Jean Taine)
Les relations • Une association entre deux entités. • Possède un sens réel :les étudiants suivent des cours / des cours sont suivis par des étudiants • Une relation peut avoir des attributs qui viennent la détailler : les étudiants suivent des cours à certaines heures dans certaines salles
Les cardinaux • Pour chaque relation, on peut définir le cardinal comme étant le nombre d’occurrences mise en relation.Un étudiant suit 1..n coursUn cours est suivi par 1..n étudiantsUn étudiant est dans 0..n associationsUn étudiant fait 0..1 LV3
Les entités - Représentation • Les entités • Les attributs • Les relations (avec attributs) • Les cardinaux Assis àHeure • Etudiant • Place • Code badge • Nom • Prénom • Taille • Amphi • Rangé • Position (0,1) (0,1)
Représentation en tableau ETUDIANT Occurrences – lignes – entrées : correspond aux lignes du tableau Entité – table : correspond à la structure du tableau Attributs – colonnes – champs : correspond aux colonnes du tableau
Conditions à respecter • Le modèle doit être logique. • Pour chaque entité, il faut définir une clé primaire. C’est un attribut dont la valeur prise diffère pour toutes les occurrences. Si aucun champ ne peut-être une clé primaire, on crée une colonne id qui indice les entrées.Numéro de badgeNuméro de Sécurité Sociale / Identification
Comment faire ? • Réunir toutes les informations disponibles. • Les trier, organiser par sens et essence.Cela va définir les entités. • Définir les relations entre les entités. • Enfin on vérifie le modèle : toutes les informations d’un objet sont accessibles par un chemin de relation.
Illustration plus compète Aime (1,n) • Individu • Sport • ID_individu • Nom • Prénom • ID_sport • Nom • Genre (0,n) (0,n) Joue duNiveau Encourage • Equipe • ID_equipe • Nom • Sport • Couleur (0,n) (0,n) (1,1)
Le StructuredQueryLanguage • Langage pour utiliser des bases de données relationnelles • Les bases de données sont des tableaux (dans le sens vu précédemment) • La modélisation détermine directement la construction des tableaux
Syntaxe du SQL (1/3) • Objectif : récupérer une partie des données stockées dans la base.SELECTcolonne1, colonne2, …FROMbase1, base2, …WHEREcondition_booleenneORDER BY colonneIASC/DESC, colonneII…SELECT nom, prenomFROM etudiantWHERE LV2 = « espagnol »
Syntaxe du SQL (2/3) SELECTetudiant.nom, prenom, sport.club, effectif, taille FROMetudiant, sport WHEREetudiant.id_sport = sport.id AND (sport.club = « rugby » OR sport.club = « volley » )ORDERBYetudiant.tailleASC • Etudiant • ID • Nom • Prénom • Taille • Id_sport • Sport • ID • Club • Couleur • Effectif
Syntaxe du SQL (3/3) • Equivalence entre :… FROMb1, b2 WHEREb1.c1 = b2.c1… FROMb1 INNERJOINb2 ONb1.c1 = b2.c1 Résultat
Construire la base : modèle physique (1/3) • Objectif : Transformer le modèle relationnel en modèle physique. • Pour cela, plusieurs règles • Cas peu intéressant et simplifiable Relationprop • Base • Base2 • Base1 • ID • Attr1 • Attr2 • Col1 • Col2 • Prop • ID • Col1 • Col2 • ID • Attr1 • Attr2 (0,1) (0,1) (1,1) (1,1)
Construire la base : modèle physique (2/3) • Cas du type (1,1) – (1,n)On crée une entrée Id_b2 dans la base1 pour avoir le lien avec la base2. Relation prop • Base2 • Base1 • ID • Col1 • Col2 • ID • Attr1 • Attr2 (0,n) (0,1) (1,n) (1,1) Base1 Base2
Construire la base : modèle physique (3/3) • Cas du type (1,n) – (1,n)On crée une base intermédiaire pour faire le lien. Relation prop • Base2 • Base1 • ID • Col1 • Col2 • ID • Attr1 • Attr2 (0,n) (0,n) (1,n) (1,n) Base1 Base2 B1-B2