Séance /10/2004 SGBD - Approches & Principes
Conclusion de la séance précédente : SGBD : –centralisation et fiabilisation des données –partage de l’information –simplification de la gestion de l’information –sauvegarde –intégration du et au Système d’Information
SGBD ? Définition... Système de Gestion de Bases de Données Logiciel ou application pour créer et manipuler les Bases de Données A ne pas confondre SGBD avec « Bases de Données »
Les éditeurs de SGBD Oracle - 10i (à partir de 125 € par users) IBM - DB2 Microsoft - SQL Serveur 2000 / 2005 (De € à € selon les versions professionnelles) Sybase - Adaptative Serveur Entreprise Informix (éditeur racheté par IBM en 2001) MySQL (Open Source) PostgreSQL (Open Source) Les autres : MS Access, Filemaker Pro, etc.
Les principes des Bases de données Base de donnés (BD) = base de stockage sous forme de tables TABLE = ensemble des données ayant un lien logique entre elles –exemple DB « gestion du personnel » avec les tables salariés, type contrat de travail et congés Chaque table est définie par des CHAMPS ou ATTRIBUTS Chaque attribut a un TYPE (chaîne, entier, booléen, date,…) ENREGISTREMENT = ligne dans une table = TUPLE
Les principes des Bases de données (suite) Requête = interrogation de la BD (requête SQL) Jeu d’enregistrement = sous ensemble de données extraites d’une ou plusieurs tables d’une BD Vue de la base = vue conceptuelle Clé primaire = champ qui identifie de manière unique chaque enregistrement –exemple : le champ ID
SGBDR, R pour relationnelles Théorisées début des années 70 par Edgar. F. CODD (E.-U.)… chez IBM IBM « System R » en 1974 (1er prototype) Elles dominent actuellement le marché
Principe des SGBDR Base de données relationnelle : BD contenant plusieurs tables qui partagent des données. Les tables sont liées entre elles. Maintenir la cohérence des données (éviter doublon, etc.) Souplesse dans la structure des données Meilleure disponibilité des données
Concevoir des bases de données complexes Méthode MERISE (modèle entité-association) –Modèle Conceptuel de Données (MCD) –Méthode très répandue en France On y reviendra...
Un langage pour manipuler les données : SQL Structured Query Language (SQL) Mis au point début des années 70 Normalisé au niveau international (ISO 92,…) Un langage d’interrogation des BD « proche du langage humain » ??? Ce langage permet –d’écrire les données –de manipuler et trier des données –d’effectuer des requêtes –...
SQL dans la pratique Création / suppression de bases –CREATE DATABASE nomdelabase –DROP DATABASE nomdelabase Création / suppression de tables –CREATE TABLE nomdelatable (attribut 1 type 1, …, attribut N type N); exemple : CREATE TABLE etudiant (nom varchar(20), adresse varchar(30), numero_carte int(11),); –DROP TABLE nomdelatable Manipulation des données : interrogation et extraction –SELECT attribut 1, …, attribut N FROM table 1, …, table N WHERE prédicat; –SELECT * FROM etudiant WHERE nom=‘ toto ’;
SQL dans la pratique (suite) Le prédicat reprend –Des attributs indiqués dans la clauses SELECT –Des opérateurs de comparaison (>, =, =, <>) –Des opérateurs booléens (AND, OR, NOT) Insertion de données –INSERT INTO nomdelatable VALUES (val1, …, val N); –Ex : INSER INTO employes VALUES (‘toto’, 15000, ‘Bron’); UPDATE / DELETE Tri des résultats…
SGBDR Open Source : MySQL Lancer EasyPHP puis PHPMYADMIN Création de la table master_2005 Création de la table etudiants avec les attributs –id INT NOT NULL AUTO_INCREMENT, –nom varchar(50), –prenom VARCHAR(50), – VARCHAR(75), Saisir des données (onglet insérer) Utilisation de SQL
Exercice pratique Création d’une BD : gestion_doc Tables : –document ( id_titre, nom_doc, date_pub, commentaire, ) –type_doc (id_type, nom_type) –Auteur (id_auteur, nom_auteur, prenom_auteur, ,) –Rubrique (id_rub, nom_rub,) Rajouter dans la table document les attributs pour lier le document à un auteur, un type de document et une rubriqe) Insérer des données