Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parGeoffroy Jobin Modifié depuis plus de 6 années
1
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
fait partie de son cours d’introduction à l’information, à la communication, et au calcul. Il s’inscrit dans le 3e module de ce cours qui porte sur le fonctionnement et la sécurité des systèmes informatiques.
2
séquentielles, hiérarchiques, relationnelles, maillées
Plan de la leçon Besoin de structure dans le stockage des données Types de structures de stockage séquentielles, hiérarchiques, relationnelles, maillées Identification, localisation, et accès à des données stockées Systèmes de fichiers Bases de données Le dernier clip de cette série porte sur les bases de données relationnelles. Il esquisse plus la façon de les utiliser que la façon de les stocker.
3
Bases de données relationnelles
Le scénario de Marc Muller en examen est typique de beaucoup d’applications qui traitent des données séquentielles et peu volumineuses (questions & réponses) des fichiers hiérarchiques sont bien adaptés à ces besoins D’autres applications traitent de gros volumes de données hautement structurées des données de production industrielle, d’achats et de ventes, de transactions financières, de gestion de personnel, etc. Le traitement de telles données est complexe et sujet à des contraintes strictes Les logiciels de bases de données déchargent les applications de ces complexités Le scénario utilisé dans le clip précédent pour parler des systèmes de fichiers, dans lequel Marc Muller répondait à un examen en ligne, est typique de beaucoup d’applications qui traitent des données séquentielles et peu volumineuses (des suites de questions & réponses). La notion de fichiers répond parfaitement aux besoins de ce genre d’applications. 1 D’autres applications traitent par contre des données volumineuses et hautement structurées: des données de production industrielle, d’achats et de ventes, de transactions financières, de gestion de personnel, etc. 2 Le traitement de telles données est complexe et sujet à des contraintes strictes. Les logiciels de bases de données visent à décharger les applications de ces complexités.
4
Organisation de bases de données en enregistrements
Les bases de données relationnelles sont organisées en tables Ces tables sont stockées dans des fichiers classiques Elles sont divisées en enregistrements (lignes) structurés en champs (colonnes) p.ex. nom, prénom, adresse, no. de tél., no. de matricule, date & lieu de naissance, salaire, etc. Un cas particulier mais très fréquent est celui d’enregistrements de taille fixe (L) Dans ce cas le kième enregistrement est situé à l’adresse B + (k-1)*L Les bases de données relationnelles sont organisées en tables. Ces tables sont stockées dans des fichiers classiques. Elles sont divisées en enregistrements (lignes) structurés en champs (colonnes), p.ex. nom, prénom, adresse, no. de tél., no. de matricule, date & lieu de naissance, salaire, etc. Un cas particulier mais très fréquent est celui d’enregistrements de taille fixe (L). Dans ce cas le kième enregistrement est situé à l’adresse B + (k-1)*L. E1 E2 E3 E4 L1 L2 L3 L4 Adresse de base (B) Adresse = B+L1+L2
5
Principales opérations relationnelles en SQL CREATE crée une table
CREATE TABLE Admin( Nom VARCHAR(50), Prénom VARCHAR(50), SCIPER INT(6), Ddn DATE, Adr TINYTEXT, Tel CHAR(16); PRIMARY KEY (Nom) ); Résulte en la table Admin ci-contre: Les logiciels de base de données relationnelles gèrent le stockage interne des tables, déchargeant ainsi les utilisateurs et les programmeurs des tâches «ménagères» de gestion de l’emplacement des lignes et des colonnes de ces tables et offrant une série de fonctions primitives réalisées par des algorithmes préprogrammés pour accéder de façon simple et pratique aux lignes et aux colonnes des tables. Un langage de programmation de bases de données relationnelles s’est imposé: SQL pour Structured Query Language. Dans ce langage, la fonction CREATE permet de facilement crée une nouvelle table, comme son nom le suggère. Elle prend comme paramètres le nom de la nouvelle table – Admin dans cet exemple – ainsi que les noms des futures colonnes de la table, dont une – ici la colonne Nom – est désignée comme la colonne qui sert d’index de recherche pour accéder à cette table. Relation Admin Nom Prénom SCIPER DdN Adr Tel
6
Principales opérations relationnelles en SQL INSERT insère des lignes dans une table
INSERT INTO Admin (Nom, Prénom, No, DdN, Adr, Tel) VALUES (‘Muller’, ‘Marc’, ‘123456’, ‘ ’, NULL, NULL); Résulte en la relation Admin suivante: La fonction SQL INSERT permet de remplir une ligne à la fois dans une table créée au préalable en assignant des valeurs à une ou plusieurs des colonnes dans cette ligne. La commande ci-contre a donc pour effet d’ajouter la ligne correspondante à la table Admin. Nom Prénom SCIPER DdN Adr Tel Muller Marc 123456 Relation Admin
7
Principales opérations relationnelles en SQL UPDATE modifie des lignes dans une table
UPDATE Admin SET Adr = ‘xyz’, Tel = ’ ’ WHERE Nom = ‘Muller’ AND Prénom = ‘Marc’; Résulte en la relation Admin suivante: La fonction UPDATE permet de remplacer dans la table indiquée – ici Admin – la valeur d’une ou plusieurs de ses colonnes dans une ou plusieurs de ses lignes répondant à une combinaison logique de prédicats suivant le mot clé WHERE. Ainsi la commande ci-contre remplacera les champs Adr et Tel de toutes les lignes – ici une seule – dont le champ Nom = Muller et le champ Prénom = Marc. Il en résulte la mise à jour ci-contre de la table Admin visée. Nom Prénom SCIPER DdN Adr Tel Muller Marc 123456 xyz Relation Admin
8
Principales opérations relationnelles en SQL SELECT interroge sélectivement le contenu des tables
Relation Acad Relation Admin Etudiant No. Sem. Cours1 Cours2 Cours3 T.Meyer 345678 SV B3 … 5 M.Muller 123456 I&C B1 5.5 P.Godat 567890 4.5 Nom Prénom SCIPER DdN Adr Tel Godat Pierre 567890 … abc Meyer Tim 345678 Muller Marc 123456 xyz SQL permet non seulement de remplir et de modifier des tables mais bien sûr aussi de lire des données, même dans plusieurs tables à la fois. Ainsi la commande SELECT ci-contre permet d’interroger une ou même plusieurs tables à la fois, ici Acad et Admin, en les mettant en relation selon un champ donné, Acad.No et Admin. SCIPER, pour sélectionner une ou plusieurs de leurs lignes selon une combinaison logique de prédicats, et en les classant selon un champ donné – ici Admin.Nom. La commande ci-contre renverrait donc la liste alphabétique des noms, prénoms et adresses des étudiants de la table Admin qui ont obtenu selon la table Acad une note > 4 dans le cours 2 du 1er semestre de Bachelor en Informatique et Communications, étant donné que le cham No. dans Acad est à lier par une égalité au champ SCIPER dans Admin. SELECT Nom, Prénom, Adr (SELECT * demanderait tous les champs) FROM Acad JOIN Admin ON Acad.No = Admin.SCIPER WHERE Sem = I&C B1 AND Cours2 > 4 ORDER BY Admin.Nom; Renvoie comme résultat la liste des étudiants I&C B1 ayant réussi le Cours 2 Godat Pierre abc Muller Marc xyz
9
Principales opérations relationnelles en SQL MERGE combine deux tables en une (à coups d’UPDATEs et d’INSERTs) Un MERGE des deux tables précédentes résulte en la table suivante: Relation Intégrale La commande MERGE a pour effet de fusionner deux tables en une en établissant une égalité entre deux de leurs champs, p.ex. Admin.SCIPER et Acad.No. Ceci permet de lire des données de la table fusionnée sans devoir à chaque fois spécifier les noms des champs à relier comme égaux, comme dans la commande SELECT de l’exemple précédent. Nom Prénom Etudiant SCIPER DdN Adr Tel Cours1 Cours2 Cours3 Godat Pierre P.Godat 567890 … abc 4.5 Meyer Tim T.Meyer 345678 5 Muller Marc M.Muller 123456 xyz 5.5
10
Principales opérations relationnelles en SQL DELETE supprime des lignes dans une table
DELETE FROM Intégrale WHERE SCIPER = ‘567890’; Résulte en la relation Intégrale suivante: NB: TRUNCATE / DROP vident / suppriment une table Enfin les commandes DELETE, TRUNCATE, et DROP permettent respectivement de supprimer sélectivement ou globalement les lignes d’une table, ou carrément de supprimer toute une table. Nom Prénom Etudiant SCIPER DdN Adr Tel Cours1 Cours2 Cours3 Meyer Tim T.Meyer 345678 … 5 Muller Marc M.Muller 123456 xyz 5.5
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.