23/12/20 Bases de données E L M o u k h t a r Z E M M O U R I E N S A M – M e k
23/12/20 Bases de données E L M o u k h t a r Z E M M O U R I E N S A M – M e k n è s Version – 2020 / 2021 Modèle relationnel de données Modèles de données E. Zemmouri, ENSAM - Meknès 2 23/12/20 Modèle de données ? • Un modèle de données (Data Model) est une notation pour décrire des données ou des informations. • La description se compose généralement de trois parties: 1. Structure des données 2. Opérations sur les données 3. Contraintes sur les données E. Zemmouri, ENSAM - Meknès 3 Modèles de données • Deux modèles majeurs pour les systèmes de bases de données actuels : o Le modèle relationnel, y compris les extensions objet-relationnel • Simple et efficace ! • Présent dans tous les systèmes de gestion de bases de données (SGBD). • Objet de ce cours J o Le modèle de données semi-structurées, y compris XML et les normes associées • Plus de flexibilité E. Zemmouri, ENSAM - Meknès 4 23/12/20 Modèles de données • Exemple : E. Zemmouri, ENSAM - Meknès 5 titre année longueur genre Star Wars 1977 124 SciFi Harry Potter 2001 152 Aventure Harry Potter 2011 130 Aventure <movies> <movie title="Star Wars"> <année>1977</année> <longueur>124</longueur> <genre>SciFi</genre> </movie> <movie title="Harry Potter"> <année>2001</année> <longueur>152</longueur> <genre>Aventure</genre> </movie> <movie title="Harry Potter"> <année>2011</année> <longueur>130</longueur> <genre>Aventure</genre> </movie> </movies> Le modèle relationnel E. Zemmouri, ENSAM - Meknès 6 23/12/20 Modèle relationnel • Modèle défini en 1970 par Codd o « A Relational Model of Data for Large Shared Data Banks » • Un modèle simple et efficace. • La majorité des SGBD se basent sur le modèle relationnel. • Les premiers SGBD bâtis sur ce modèle : o SQL/DS (1981) et DB2 (1983) de IBM. o Implémentent le langage SQL (SEQUEL) : langage de manipulation de BD relationnelles (1974). E. Zemmouri, ENSAM - Meknès 7 Modèle relationnel • Repose sur de solides bases théoriques : algèbre relationnel • Le succès du modèle relationnel est due à : o La simplicité de la structure des données • Une approche simple et limitée de la structuration des données • è Une BD relationnelle est composée de tables (relations) o La simplicité des opérateurs • Un nombre limité d'opérations sur les données • Toute opération relationnelle sur une table génère une nouvelle table E. Zemmouri, ENSAM - Meknès 8 23/12/20 Base de données relationnelle • Une base de données est un ensemble de relations (ou tables) E. Zemmouri, ENSAM - Meknès 9 Etudiant Ecole Base de données relationnelle • Une base de données est un ensemble de relations (ou tables) • Chaque relation a un ensemble d’attributs (ou colonnes) E. Zemmouri, ENSAM - Meknès 10 code nom note photo nom ville eff Etudiant Ecole 23/12/20 Base de données relationnelle • Une base de données est un ensemble de relations (ou tables) • Chaque relation a un ensemble d’attributs (ou colonnes) • Chaque tuple (ou ligne) a une seule valeur pour chaque attributs • Chaque attribut a un type ou domaine (integer, string, date …) E. Zemmouri, ENSAM - Meknès 11 code nom note photo 123 ALI 14.5 J 234 HASSAN 12 543 ASMAA J … … … … nom ville eff ENSAM Meknes 500 EST Meknes 200 INPT Rabat … … … Etudiant Ecole Valeur NULL • La valeur NULL o Une valeur spéciale pour « inconnu » ou « indéfini » E. Zemmouri, ENSAM - Meknès 12 code nom note photo 123 ALI 14.5 J 234 HASSAN 12 543 ASMAA J … … … … nom ville eff ENSAM Meknes 500 EST Meknes 200 INPT Rabat … … … Etudiant Ecole 23/12/20 Valeur NULL • La valeur NULL o Une valeur spéciale pour « inconnu » ou « indéfini » E. Zemmouri, ENSAM - Meknès 13 code nom note photo 123 ALI 14.5 J 234 HASSAN 12 NULL 543 ASMAA NULL J … … … … nom ville eff ENSAM Meknes 500 EST Meknes 200 INPT Rabat NULL … … … Etudiant Ecole Clé primaire • Clé d’une relation (Key) o Un attribut (ou combinaison d’attributs) à valeur unique pour chaque tuple. o è un type de contraintes sur les relations • La clé primaire (PRIMARY KEY) • Dans la pratique on utilise des clés artificielles (ID) E. Zemmouri, ENSAM - Meknès 14 code nom note photo 123 ALI 14.5 J 234 HASSAN 12 NULL 543 ASMAA NULL J … … … … nom ville eff ENSAM Meknes 500 EST Meknes 200 INPT Rabat 300 … … … Etudiant Ecole 23/12/20 Schéma relationnel E. Zemmouri, ENSAM - Meknès 15 Schéma relationnel • Schéma = Description structurelle des relations (tables) de la base de données o Etudiant (code, nom, note, photo) o Ecole (nom, ville, eff) • Etudiant (code : int , nom : string , note : float , photo : string) E. Zemmouri, ENSAM - Meknès 16 code nom note photo 123 ALI 14.5 J 234 HASSAN 12 NULL 543 ASMAA NULL J … … … … nom ville eff ENSAM Meknes 500 EST Meknes 200 INPT Rabat 300 … … … Etudiant Ecole 23/12/20 Instance d’une relation • Une relation n'est pas statique, elle change avec le temps. o Insertion / suppression / modification de tuples • Instance d'une relation = contenu à un instant de temps donné de la relation E. Zemmouri, ENSAM - Meknès 17 code nom note photo 123 ALI 14.5 J 234 HASSAN 12 NULL 543 ASMAA NULL J … … … … nom ville eff ENSAM Meknes 500 EST Meknes 200 INPT Rabat 300 … … … Etudiant Ecole Exemple: schéma d’une BD E. Zemmouri, ENSAM - Meknès 18 livre ( idlivre : int, titre : string, annee : int, editeur : string, prix : float ) auteur ( idauteur : int, nom : string, naissance : string, email : string ) ecrire ( Idauteur# : int, Idlivre# : int, ordre : int ) 23/12/20 Bases de données E L M o u k h t a r Z E M M O U R I E N S A M – M e k n è s Version – 2020 / 2021 Modèle relationnel de données Création de schéma en SQL E. Zemmouri, ENSAM - Meknès 20 23/12/20 Langage SQL • SQL est le principal langage utilisé pour décrire et manipuler des bases de données relationnelles. o Norme ISO actuelle SQL:2011 o Les SGBD implémentent quelque chose de similaire, mais pas identique, à la norme. • Deux aspects en SQL: o Data-Definition sublanguage : pour déclarer les schémas o Data-Manipulation sublanguage : pour interroger / modifier les bases de données. E. Zemmouri, ENSAM - Meknès 21 Création de tables • L'instruction CREATE TABLE déclare le schéma d'une relation : o Déclare le nom de la table, ses attributs et leurs types. o Permet également de déclarer une clé, ou plusieurs clés, de la table. o Aussi la déclaration des contraintes, des indexes, … E. Zemmouri, ENSAM - Meknès 22 CREATE TABLE table_name ( Attribut1 type1, Attribut2 type2, . . . AttributN typeN ); 23/12/20 Création de tables - Exemple E. Zemmouri, ENSAM - Meknès 23 CREATE TABLE livre ( idlivre INT PRIMARY KEY, titre VARCHAR(255), annee INT, editeur VARCHAR(30), prix DECIMAL(6,2) ); CREATE TABLE auteur ( idauteur INT PRIMARY KEY, nom VARCHAR(20), naissance DATE, email VARCHAR(255) UNIQUE ); CREATE TABLE ecrire ( idauteur INT REFERENCES auteur (idauteur), idlivre INT REFERENCES livre (idlivre), ordre INT, PRIMARY KEY (idauteur, idlivre) ); Data types • Chaines de caractères (string) : o CHAR(n), VARCHAR(n) • Les entiers : o INT, INTEGER, SHORTINT, … • Les nombres à virgule flottante : o FLOAT REAL, DECIMAL(n, d), NUMERIC, … • Dates et heures : o DATE, DATETIME, … • Booléens : o BOOLEAN E. Zemmouri, ENSAM - Meknès 24 23/12/20 Insertion de tuples • L'instruction INSERT permet d’insérer un ou plusieurs tuples (lignes) dans une table (relation) E. Zemmouri, ENSAM - Meknès 25 INSERT INTO table_name VALUES (valeur1, valeur2, …, valeurN); Insertion de tuples • Exemple : E. Zemmouri, ENSAM - Meknès 26 idlivre titre annee langue editeur prix 10 Database Systems 2008 Anglais Pearson 1090 11 Introduction to Algorithms 2009 Anglais MIT Press 740 12 Bases de données 2012 Français Eyrolles 420 13 Eléments de mathématiques 1998 Français Springer 400 14 Algorithms Unlocked 2013 Anglais MIT Press 250 INSERT INTO Livre VALUES (10, ‘Database Systems’, 2008, ‘Anglais’, ‘Pearson’, 1090); INSERT INTO Livre VALUES (10, ‘Introduction to Algorithms’, 2009, ‘Anglais’, ‘MIT Press’, 740); ... 23/12/20 BD – les étapes E. Zemmouri, ENSAM - Meknès 27 BD Relationnelles • Etapes de création et d’exploitation : 1. Conception du schéma de la BD 2. Création du schéma en utilisant SQL DDL 3. Chargement de données initiales (Bulk load) 4. Exécution de reqêtes SQL d’interrogation et de modification DML E. Zemmouri, ENSAM - Meknès 28 23/12/20 Bases de données E L M o u k h t a r Z E M M O U R I E N S A M uploads/Voyage/ 02-modele-relationel.pdf
Documents similaires
-
17
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Apv 26, 2022
- Catégorie Travel / Voayage
- Langue French
- Taille du fichier 0.6087MB