Introduction aux bases de données Séance 1 Introduction aux bases de données Sébastien Combéfis mardi 24 février 2015
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution Pas d Utilisation Commerciale Pas de Modification 4.0 International.
Contenu Concepts des bases de données, appliqué avec le langage SQL Bases de données Systèmes de gestion de bases de données Langage SQL Modèle entité-relation Algèbre relationnelle Gestion de données 3
Activités Quatorze séances de cours Douze séances théoriques avec exercices en salle Une séance de révision L examen se déroule la dernière séance du 9 juin 2015 Examen sur papier, durée 2h30 Régulièrement des petits tests et devoirs 4
Évaluation Première session L examen compte pour 60% de la note finale Les tests et devoirs comptent pour 40% de la note finale Deuxième session L examen compte pour 100% de la note finale Sauf si compter les tests et devoirs augmente la moyenne 5
Ressources Documents relatifs au cours disponibles sur : http://sebastien.combefis.be/teaching/itscm/db Livres de référence 6
Introduction Collection de données organisée sous un format choisi Données organisées par plusieurs formats possibles Système de gestion de bases de données (SGBD) Logiciels pour gérer les bases de données Bases de données composées à partir de tables Composant élémentaire des bases de données 7
Bases de données Entreprise stocke des fiches client, produit et facture Base de données avec trois tables Exemples d enregistrements extraits des tables N client 8273 Nom Doe Prénom John N facture 29-2028-15 Date 15/02/2015 Client 8273 Articles 827-22 271-83 N produit 827-22 Description Écrou M5 N produit 271-83 Description Vis M36 8
Enregistrement Collection d enregistrements dans une table Avec les mêmes caractéristiques Exemple avec trois enregistrements N client Nom Prénom 6374 Ford Henri 8273 Doe John 9283 Gomez Maria 9
SGBD Quatre fonctions principales Organisation des données Tables et colonnes, vérification de l unicité des données Gestion des données Ajout/suppression de lignes, vérification des contraintes Accès aux données Accès et manipulation des données via le langage SQL Accès par programme Exécution à partir d un terminal ou d un programme d application Exemples : Access, Oracle, DB2, SQL Server, MySQL et PostgreSQL 10
Grands défis Multiplicité des données Positions géographiques, données multimédia Gestion des données erronées Extraction des informations pertinentes Augmentation du volume des données Soucis de performances, systèmes distribués 11
Format de données Représentation de données tabulaires Trois formats texte différents CSV, XML, JSON Nom Prix Code Banane 5,99 e/kg 77 Pomme 2,99 e/kg 99 Poire 7,99 e/kg 170 12
Comma-Separated Values (CSV) Un enregistrement par ligne, valeurs séparées par des virgules Entête de la table sur la première ligne Séparateur décimal est par défaut le point Convention anglaise de notation des nombres Peu utilisé car non standardisé 1 Nom, P r i x, Code 2 Banane, 5. 9 9, 7 7 3 Pomme, 2. 9 9, 9 9 4 P o i r e, 7. 9 9, 1 7 0 13
Autre exemple de CSV Le point-virgule comme séparateur au lieu de la virgule Encadrer les valeurs avec des guillemets doubles " 1 T i t r e ; A u t e u r s ; É d i t e u r ; P r i x 2 NoSQL ; Rudi ; E y r o l l e s ; 1 7, 9 9 3 SQL ; " Ronald ; Ryan ; A r i e " ; Pearson ; 2 1, 9 9 4 " Sabina, " " l a j u i v e " " de Jung " ; A l a i n ; PGdR E d i t i o n s ; 1 0, 5 0 Titre Auteur Éditeur Prix NoSQL Rudi Eyrolles 17,99 e SQL Ronald ; Ryan ; Arie Pearson 21,99 e Sabina, la juive de Jung Alain PGdR Editions 10,50 e 14
extensible Markup Language (XML) I Utilisation de balises pour structurer les données dans le texte Contenu coincé entre une balise ouvrante et fermante Les balises portent un nom Texte ou autres balises entre une balise ouvrante et fermante Ouvrante < > et fermante </ > Le fichier est formé d une balise principale appelée nœud 15
extensible Markup Language (XML) II 1 <data> 2 < f r u i t > 3 <name>banane</name> 4 <p r i c e >5.99</ p r i c e > 5 <code >77</code> 6 </ f r u i t > 7 < f r u i t > 8 <name>pomme</name> 9 <p r i c e >2.99</ p r i c e > 10 <code >99</code> 11 </ f r u i t > 12 < f r u i t > 13 <name>p o i r e </name> 14 <p r i c e >7.99</ p r i c e > 15 <code >170</code> 16 </ f r u i t > 17 </data> 16
extensible Markup Language (XML) III On peut ajouter des attributs dans la balise ouvrante Paire (nom, valeur) Permet une forme plus compacte du fichier XML 1 <data> 2 < f r u i t name=" Banane " p r i c e=" 5. 9 9 " code=" 77 "></ f r u i t > 3 < f r u i t name="pomme" p r i c e=" 2. 9 9 " code=" 99 "></ f r u i t > 4 < f r u i t name=" P o i r e " p r i c e=" 7. 9 9 " code=" 170 "></ f r u i t > 5 </data> 17
JavaScript Object Notation (JSON) I Permet de représenter des objets Notation issue de la notation des objets Javascript Ensemble de paires (étiquette, valeur) Étiquette entre guillemets, deux-points et valeur Valeurs sont soit une simple valeur, soit une liste de valeurs Liste de valeurs délimitée par des crochets [] 18
JavaScript Object Notation (JSON) II 1 { 2 " data " : [ 3 { 4 "name" : " Banane ", 5 " p r i c e " : 5. 9 9, 6 " code " : 77 7 }, 8 { 9 "name" : "Pomme", 10 " p r i c e " : 2. 9 9, 11 " code " : 99 12 }, 13 { 14 "name" : " P o i r e ", 15 " p r i c e " : 7. 9 9, 16 " code " : 170 17 } 18 ] 19 } 19
Table Un enregistrement est une suite de valeurs Les valeurs possèdent un type bien défini Colonne représente ensemble des valeurs d un même type Chaines de caractères, nombre entier Prénom Nom Matricule Année Julieth Romanoff 283922 BAC 1 Sebastian Pedro Martinez 928301 BAC 2 Fiora Dorée 273829 MASTER 1 Ludwig Mailleux 548103 BAC 3 Brice Darks 739182 BAC 2 20
Structure d une table Colonne caractérisée par trois éléments Nom, type et longueur Domaine des valeurs des différentes colonnes La longueur limite les valeurs possibles Nom Type Longueur Prénom Chaine de caractères 30 Nom Chaine de caractères 30 Matricule Nombre entier positif 6 Année Chaine de caractères 8 21
Modification d une table Ajout et suppression de lignes (enregistrements) Modification de toutes les valeurs d une colonne donnée Ou d une sélection de lignes Modification de la structure de la table Détermination de la mise à jour des enregistrements 22
Crédits Photos des livres depuis Amazon 23