Les bases de données Introduction aux fonctions de tableur et logiciels ou langages spécialisés (MS-Access, Base, SQL…) INFO-F-206 (2008-2009) [email protected] Yves Roggeman Boulevard du Triomphe – CP 212 B-1050 Bruxelles (Belgium) Idée intuitive • (Grand) ensemble de données – Persistantes – Support externe (disque…) • Accès « intelligent » et efcace – Structure / Organisation – Description (logique et physique) • Plus qu’un fchier – Répartition physique sur plusieurs fchiers [email protected] INFO-F-206 (2008-2009) 2 Bases de données Table ou fchier structuré • Fichier (structuré) = – Ensemble d’enregistrements – Découpés en champs similaires – Identifés par une clé ou une position • Gestion d’index (ou numéro) • Table = – Ligne = enregistrement – Colonne = champ [email protected] INFO-F-206 (2008-2009) 3 Bases de données Données via tableur (1) • Notion de « base de données » – Concept usurpé – Simple table sans index, sans relations • Structure : – Nom des champs en en-tête – Pas de clé : position dans une « liste » • Actions : – Tri (multi-critères) – Filtre (idem) : simple ou élaboré [email protected] INFO-F-206 (2008-2009) 4 Bases de données Données via tableur (2) • Fonctions – Fonctions de recherche et de référence • INDEX, RECHERCHE, EQUIV… (cf. tableur) – Fonctions « base de données » • Compteurs : BDNBVAL, BDNB • Valeurs déduites : BDSOMME, BDMOYENNE, BDMAX… • Extraction : BDLIRE (si 1! valeur) • Format : « F ( BD ; Champ ; Critère ) » • Accès aux données externes [email protected] (SQL…) INFO-F-206 (2008-2009) 5 Bases de données Base de données • Liée à un SGBD = Système de Geston de Bases de Données – Exemples : Access ou Base • 3 aspects : – Physique : fchiers contenant les données – Schéma : description des données – Accès : sauvegarde, mise à jour, interrogation, recherche, mise en forme… [email protected] INFO-F-206 (2008-2009) 6 Bases de données Historique • 1ère génération : 1960-70 – Modèles réseau et hiérarchique (Mainframe) 1 artcle (= enregistrement) donne accès à n autres – Ex. : (CODASYL) IDMS, IMS… • 2e génération : 1970-80 – Modèle relationnel (Tables liées) – Ex. : DB2, INFORMIX, ORACLE, SYBASE… • 1980 : SQL (Structured Query Language) • Micro : – DBase (1981), FoxPro, Paradox… – MS‑Ofce Pro : Access – OpenOfce : Base [email protected] INFO-F-206 (2008-2009) 7 Bases de données Schéma relationnel (1) • Tables – Attribut = colonne (≈ champ) – Domaine = type des valeurs d’un attribut – Tuple = ligne (≈ enregistrement) – Relation = table = ensemble de tuples • Clés – Primaire : unique (identife un tuple) • Dépendance fonctionnelle des autres attributs – Secondaires : avec ou sans doublons [email protected] INFO-F-206 (2008-2009) 8 Bases de données Schéma relationnel (2) • Contraintes d’intégrité – D’entité : pas de valeur nulle (= inconnue) dans la clé primaire – De domaine : prédicat sur les valeurs (sous-domaine) • Ex. : 1000 <= ZIP <= 9999 (parmi les entiers) – Référentielle : valeur apparaît comme clé dans une autre table • Ex. : ZIP → Table de codes postaux [email protected] INFO-F-206 (2008-2009) 9 Bases de données Schéma relationnel (3) • Normalisation 1. Chaque atribut est atomique • Contrexemple : Champ « Prénoms » 2. Chaque atribut dépend de la clé entère • Clé = {Identité + Adresse} • Téléphone : OK (individu a plus d’une adresse et plusieurs individus ont la même adresse [cf. bureau]) • GSM : KO (indépendant de l’adresse) 3. Chaque atribut ne dépend pas d’autre chose que de la clé • Contrex. : Ville dépend de « ZIP », pas de « Nom, Prénom » [email protected] INFO-F-206 (2008-2009) 10 Bases de données Opérations • Création de tables virtuelles : – Vue = table en réponse à une question • « Algèbre relationnelle » – Opération ensemblistes : union, intersection, produit cartésien… – Projection = sélection d’attributs (de colonnes) – Restriction = sélection de tuples (de lignes) – Jointure = liaison de 2 tables par un ou plusieurs attributs (≈ concaténation) [email protected] INFO-F-206 (2008-2009) 11 Bases de données SGBD (1) • Base de données = – Objets • Tables : Données (normalisées) + clés + contraintes • Requêtes : Vues • Formulaires : Grilles de saisie et d’afchage • États / Pages (Web) : Formats de publication – Relations (jointures logiques) • Intégrité référentielle [email protected] INFO-F-206 (2008-2009) 12 Bases de données SGBD (2) • Modes – Création / Modifcation – Feuille de données – Mode SQL (pour requêtes) • Outils – cf. Excel (format, tri, fltre…) – Analyse : normalisation, performances… [email protected] INFO-F-206 (2008-2009) 13 Bases de données SQL (1) • Interrogation – Projection : SELECT Attributs/Expressions FROM Table – Restriction : SELECT * FROM Table WHERE Condition – Jointure : SELECT * FROM Table1 JOIN Table2 ON Lien/Condition + extensions : tris, regroupements… [email protected] INFO-F-206 (2008-2009) 14 Bases de données SQL (2) • Création de tables et de schémas CREATE TABLE Nom (Atributs…) • Mises à jour INSERT INTO Table VALUE (Atributs) UPDATE Table SET Atribut = Valeur WHERE … DELETE FROM Table WHERE … • Vues CREATE VIEW … AS … [email protected] INFO-F-206 (2008-2009) 15 Bases de données