Cours Bases de données Nguyen Tuan Loc
Contact Nguyen TuanLoc, Dr Laboratoire LIP6-CNRS Université Pierre et Marie Curie bureau c569 8, rue du capitaine Scott 75015 Paris - France Tél: 01 44 27 87 85 Web: http://nguyentuanloc.online.fr Email:Tuan-Loc.Nguyen@lip6.fr
Réferences Base de données – G. Gardarin - Eyrolles Databases complete book – H.Garcia/J.Ullman Cours en ligne : http://nguyentuanloc.online.fr
Besoin du cours : Objectif : Approfondir les concepts de bases de données relationnelles. Maîtriser la conception et la mise en œuvre d’une base de données relationnelles. Découvrir quelques SGBD relationnelles (MySQL, Access, SQL Server) Acquérir une expériences dans la normalisation et l’optimisation des performances. Découvrir et pratiquer les principales fonctions d’administration d’un SGBD relationnel. Pre-requis Motivé
Contenu Cours 4: Présentation SQL 2,5h Cours 5: Normalisation (1) 3,5h Cours 1: Introduction (1) 3,5h Cours 2: Introduction (2) 3,5h Cours 3: Modèle relationnel 3,5h Démo & TP (MySQL) 45’ Cours 4: Présentation SQL 2,5h & Algèbre relationnelle Démo & TP (Access) 1h Cours 5: Normalisation (1) 3,5h Cours 6: Normalisation (2)& optimisation 2h Démo & TP (Access,MySQL) 45’ Contrôle continu 1,5h Cours 7: Présentation SQL avancé 2,5h Démo & TP (MySQL) 45’ Préparer projet (30/10->30/11) 1h Cours 8: SGBD XML&Web Services 2h Démo & TP (MySQL) 1,5h Cours 9: BD et Web – Administration 2,5h Contrôle continu (soutenance de projet) 2,5h Examens 2h30
Contenu du cours 1 Définition de bases de données Définition de SGBD Caractéristiques Pourquoi Modèles de modélisation des données Objectif du SGBD Architecture deux niveaux trois niveaux répartie Fichier : indépendance programme et données Complexe données et structure Accès rapide facile What pas How Acces concurent Base de données Programme et données indépendance, Duplicata, sharing, dev time, maintenance Type : Relationelle, OO, XML
Résumé Bases de données, définition: Collection de fichiers reliés par des pointeurs multiples, bien organisés, répondre efficacement des demandes variées Collection d’informations via la modélisation du monde réel
SGBD - Qu’est-ce c’est ? SGBD (DBMS): Databases Management System Système de Gestion de Bases de Données Définition de SGBD: Logiciel: données persistantes accès efficace (Ullman) Ensemble de logiciels systèmes permettant de stocker et d’interroger un ensemble de fichiers indépendants. Il est aussi un outil permettant de modéliser et de gérer des données (G.Gardarin)
SGBD: Caractéristiques Management des données persistantes Accéder aux larges données avec efficacité Supporter modèles de données Transaction Permettre de définir des données(structure, accès, manipuler) Recouverte des données Control d’accès
Objectif du SGBD (1) Assurer l’indépendance des programmes aux données (architecture 2-tiers) What non How Indépendance: Physique des programmes aux données Logique des programmes aux données Administration facile Permettre de manipuler par langages query (SQL)
1. Objectifs des SGBD (2) INDÉPENDANCE PROGRAMMES/DONNÉES Indépendance physique Indépendance logique ACCÉS PAR DES LANGAGES ASSERTIONNELS Recherche (le quoi et non le comment) Insertion (en groupes, calculées) Mise à jour (basée sur la recherche) EFFICACITÉ DES ACCÈS Temps de réponse
SGBD SGBD logique données physique
Objectifs des SGBD (3) PARTAGEABILITÉ ET SÉCURITE DES DONNÉES SUPPORT DE TRANSACTIONS Atomique (tout ou rien) Cohérente (respect de l'intégrité) PARTAGEABILITÉ ET SÉCURITE DES DONNÉES Simultanéité lecture/écriture maximum Accès transactionnels & décisionnels Confidentialité (authentification, droits d'accès, cryptage) Restauration après pannes (journaux, sauvegardes)
Objectifs des SGBD (4) CONCEPTION FACILITÉE DES APPLICATIONS Conception visuelle des BD (diagrammes E/R, objets) Conception des traitements (diagrammes de flux entre modules) Dictionnaire de données (objets BD, graphiques, applicatifs) ADMINISTRATION SYSTÈME FACILITÉE Visualisation des plans d ’accès Élaboration de statistiques
Architecture ANSI/SPARC 78 Externe (vues) description des entités et associations vues par un utilisateur (ou un groupe d’utilisateurs) Conceptuel description des entités et associations du monde réel Interne implémentation physique des entités et associations dans les fichiers Vue externe Vue externe Vue externe conceptuel interne
Architectures Client-Serveur Définition modèle d'architecture applicative où les programmes sont répartis entre processus clients et serveurs communiquant par des requêtes avec réponses. Une répartition hiérarchique des fonctions données sur le serveur partagées entre N clients interfaces graphiques sur la station de travail personnelle communication par des protocoles standardisés distribution des programmes applicatifs afin de minimiser les coûts
Pourquoi le Client-serveur ? Évolution des besoins de l'entreprise Augmentation de productivité, de réactivité Utilisation des micros assurant flexibilité et faibles coûts Besoin de décisionnel et transactionnel sur gros volumes Évolution des technologies Systèmes ouverts permettant l'usage de standards Environnements de développement graphiques Explosion de la puissance des micros et des serveurs Solutions techniques séduisantes Les données partagées enfin accessibles simplement Mise en commun des services (règles de gestion, procédures) Gestion de transactions et fiabilité au niveau du serveur
Architecture 1e génération Architecture Client-Serveur SGBD règles NT, UNIX, NOVELL SERVEUR Données GCOS, VMS, MVS REQUETE RESULTAT Windows NT UNIX CLIENTS APPLICATIONS APPLICATIONS APPLICATION
Le C/S de 2e génération Procédure stockée Procédure accomplissant une fonction de service sur les données Exemple : Entrée ou sortie de stock Architecture orientée services plutôt que requêtes Distribution des traitements Peut être automatisée Évolution et passage à l'échelle Possibilité de serveurs multiples, avec redondances Possibilité de données privées sur les clients Application Outil Applicatif Client Outil de connectabilité Protocole Réseau Requêtes de services Résultats Protocole Réseau Outil de connectabilité Serveur Procédures Stockées Serveur BD base de données
Intérêt du C/S de 2e génération Réduction des transferts réseaux non nécessité de monter les données dans le client pour les modifier appel de services plus compact Distribution automatique des applications développement sur le poste de travail partitionnement par tirer-déposer (drag & drop) Simplification des outils de développement principe de la fenêtre unique modélisation uniforme des objets applicatifs invisibilité du modèle de données à l'extérieur du serveur
Vers le 3e génération Intégration du Web et du client-serveur navigateur à présentation standard pour le client possibilité de petites applications (contrôles) sur le client très grande portabilité (Intranet, Internet) Architecture à 3 strates (3-tiered) Base de données avec procédures stockées Services applicatifs partagés et objets métiers (EJB, ActiveX) Présentation hypertexte multimédia avec contrôles Support de l'hypermédia types de données variées et extensibles (texte, image,vidéo) hypertexte et navigation entre documents et applications
Concepts de Base Le gestionnaire de fichiers est la couche interne d'un SGBD, souvent intégrée au système opératoire. Gestionnaire de fichiers
Structures des Disques Notion 1: Volume (Disk Pack) Unité de mémoire secondaire amovible.
Notion de fichier Notion 2: Fichier (File) Récipient d'information caractérisé par un nom, constituant une mémoire secondaire idéale, permettant d'écrire des programmes d'application indépendants des mémoires secondaires. Un fichier se caractérise plus particulièrement par : UN NOM UN CREATEUR UNE DATE DE CREATION UN OU PLUSIEURS TYPES D'ARTICLE UN EMPLACEMENT EN MS UNE ORGANISATION
Les fichiers sur les volumes Notion 7: Label de volume (Label) Premier secteur d'un volume permettant d'identifier ce volume et contenant en particulier son numéro. Notion 8: Descripteur de fichier (Directory entry) Ensemble des informations permettant de retrouver les caractéristiques d'un fichier, contenant en particulier le nom du fichier, sa localisation sur disque, etc… Notion 9: Catalogue (Directory) Table (ou fichier) située sur un volume et contenant les descripteurs des fichiers du volume.
Organisation d'un volume LABEL n CATALOGUE F1 F2 F3 F4 … F1 F2 F3 F4 VOLUME n
Catalogue Hiérarchisé Notion 10: Catalogue hiérarchisé Catalogue constitué d'une hiérarchie de fichiers, chaque fichier contenant les descripteurs des fichiers immédiatement inférieurs dans la hiérarchie. > PIERRE > PIERRE > BASES-DE-DONNEES > PIERRE > BASES-DE-DONNES > MODELES
Allocation de l'espace disque Notion 11: Région (Allocation area) Ensemble de zones de mémoires secondaires (pistes) adjacentes allouées en une seule fois à un fichier. Notion 12: Granule d'allocation (Allocation granule) Unité de mémoire secondaire allouable à un fichier.
Stratégie d'allocation Objectifs d'une stratégie (1) minimiser le nombre de régions à allouer à un fichier de sorte à réduire d'une part les déplacements des bras des disques lors des lectures en séquentiel et d'autre part le nombre de descripteurs de régions associés à un fichier; (2) minimiser la distance qui sépare les régions successives d'un fichier, de sorte à réduire les déplacements de bras en amplitude.
Adressage Relatif Notion 13: Adresse relative (Relative address) Numéro d'unité d'adressage dans un fichier (autrement dit: déplacement par rapport au début du fichier). | | | | | | | | | | offset = adresse relative