Initiation au SGBD MySQL Valérie Bellynck INPG-EFPG, Maître de conférences en I
Initiation au SGBD MySQL Valérie Bellynck INPG-EFPG, Maître de conférences en Informatique LIG-GETALP Où en est-on ? On a vu : les modèles conceptuel et logique, l'algèbre relationnelle, la construction des objets d'Access, la réalisation d'un base de données réaliste avec Access, la prise en compte des différents points de vue et tâches associés aux utilisateurs, avec quelques fois la fenêtre SQL (pour les requêtes, les formulaires ou les états) Ce qu'on va voir : une très courte introduction à la syntaxe du langage SQL, utilisé dans les serveurs MySQL le lien avec son utilisation dans des sites Web (1 of 21) >> [Valérie Bellynck], [11 octobre 2007] - Initiation à MySQL TOC Initiation à MySQL http://tiprof.fr/SGBasesDonnees/Ancien-site/Cours/ini... 1 sur 1 27/09/11 10:01 Introduction SQL ("Structured Query Language" en anglais, ce qui signifie Langage d'interrogation structuré , ou en simplifiant langage de requête) est un langage de définition et de manipulation de bases de données relationnelles ; Il définit un standard qui a été normalisé (ANSI) ; chaque produit SQL réalise différement et plus ou moins strictement la norme . MySQL est un serveur de base de données exploitant un langage qui dérive directement de SQL, en reprennant la syntaxe, mais pas toutes les fonctionnalités (clés imbriquées, clés étrangères...) << (2 of 21) >> [Valérie Bellynck], [11 octobre 2007] - Initiation à MySQL TOC Initiation à MySQL http://tiprof.fr/SGBasesDonnees/Ancien-site/Cours/ini... 1 sur 1 27/09/11 10:01 Introduction Historique de SQL 1970 découverte de l'algèbre relationnelle ( E.F.Codd) jusqu'en 1977 SEQUEL (IBM) -> SEQUEL/2 (serveur System/R d'IBM) 1981 Relational Software Oracle (premier SGBD relationnel implémentant SQL) 1986 normalisation de SQL -> SQL/86 1992 nombreuses améliorations -> modification de la norme -> SQL/92 = SQL2 1999 Expressions rationnelles, requêtes récursives, déclencheurs, types non-scalaires et quelques fonctions orientées objet -> SQL-99 ou SQL3 2003 fonctions pour la manipulation XML,« window functions », ordres standardisés et colonnes avec valeurs auto-produites -> SQL:2003 (voir wikipédia http://fr.wikipedia.org/wiki/SQL#Bref_historique) La première version de SQL a été développée à IBM en premier en 1970 par Donald D. Chamberlin et Raymond F. Boyce. Cette version,d'origine était appelé SEQUEL, a été conçue pour manipuler et éditer des données emmagasinées dans la base de données relationel IBM : le Système R. le nom SEQUEL a été abandonné car c'est celui d'un système Pick. En 1979, Relational Software, Inc. (actuellement Oracle Corporation) présenta la première version commercialement disponible de SQL, rapidement imité par d'autres fournisseurs. Malgré le succès du langage SQL qui a suivi, Edgar F. Codd dénoncera cet outil qu'il considère comme une interprétation incorrecte de ses théories. SQL a été adopté comme recommandation par l'Institut de normalisation américaine (ANSI) en 1986, puis comme norme internationale par l'ISO en 1987 sous le nom de ISO/CEI 9075 - Technologies de l'information - Langages de base de données - SQL. << (3 of 21) >> [Valérie Bellynck], [11 octobre 2007] - Initiation à MySQL TOC Initiation à MySQL http://tiprof.fr/SGBasesDonnees/Ancien-site/Cours/ini... 1 sur 1 27/09/11 10:04 Introduction Les sous-langages de SQL LDD : Langage de Définition des Données (DDL: Data Definition Language en anglais) -> permet de créer, modifier ou supprimer les définitions des tables de la base de modifier la structure de la base de données LMD : Langage de Manipulation des Données (DML: Data Manipulation Language) -> permet de manipuler les données dans les tables de consulter / modifier le contenu de la base de données LCD : Langage de Contrôle des Données (DCL: Data Control Language) -> permet de gérer les protections d'accès aux tables de gérer les privilèges, ie les droits des utilisateurs LCT : Langage de Contrôle des Transactions (TCL: Transaction Control Language) -> permet de gérer les interruptions en cours de traitement et permettre de remettre la base de données dans un état cohérent de gérer les transactions, c'est-à-dire rendre automatique divers ordres enchaînés en séquence SQL procédural, dont PSM Persistent Stored Module, CLI Call Level Interface et SQL embarqué (Embedded SQL en anglais), … -> permet d'interfacer SQL avec des langages hôtes exploiter un ensemble d'outils << (4 of 21) >> [Valérie Bellynck], [11 octobre 2007] - Initiation à MySQL TOC Initiation à MySQL http://tiprof.fr/SGBasesDonnees/Ancien-site/Cours/ini... 1 sur 1 27/09/11 10:05 MySQL pour le Web : Architecture 3-tiers MySQL est très utilisé pour le développement de sites Web dynamique, et proposé par des hébergeurs gratuits comme free, lycos, OVH, ... Mais il n'est pas le seul (postgreSQL, msql, SQLplus, ...) et peut être utilisé en dehors du context des sites Web. << (5 of 21) >> [Valérie Bellynck], [11 octobre 2007] - Initiation à MySQL TOC Initiation à MySQL http://tiprof.fr/SGBasesDonnees/Ancien-site/Cours/ini... 1 sur 1 27/09/11 10:05 Administration d'un serveur La communication avec un serveur nécessite une phase de connexion, avec identifiant et mot de passe Il existe en gros 3 niveaux de permission pour les utilisateurs : les Administrateurs peuvent agir sur les bases de données, et donc l'accès et l'existence des tables les Concepteurs peuvent agir sur les structures des tables, et donc les colonnes les Utilisateurs peuvent agir sur les contenus des tables, et donc les lignes Chaque niveau exploite principalement un des sous-langages SQL LCD, LCT , SQL procédural LDD LMD << (6 of 21) >> [Valérie Bellynck], [11 octobre 2007] - Initiation à MySQL TOC Initiation à MySQL http://tiprof.fr/SGBasesDonnees/Ancien-site/Cours/ini... 1 sur 1 27/09/11 10:06 donc agir sur les tables Administration d'un serveur Tâches des Administrateurs limiter le nombre de requêtes/mises-à-jour/connexions par jour et par utilisateur démarrer/arrêter le serveur créer/gérer les utilisateurs accéder à toutes les tables, et bloquer l'utilisation de certaines tables sauver/restaurer tout ou partie des bases de données créer des processus pour automatiser des tâches << (7 of 21) >> [Valérie Bellynck], [11 octobre 2007] - Initiation à MySQL TOC Initiation à MySQL http://tiprof.fr/SGBasesDonnees/Ancien-site/Cours/ini... 1 sur 1 27/09/11 10:06 donc agir sur les colonnes donc agir sur les lignes Administration d'un serveur Tâches des Concepteurs / Réalisateurs créer/supprimer des tables, et des tables temporaires modifier leurs structures, dont changer de statut à des attributs (index) exécuter des processus Tâches des Utilisateurs / Visiteurs voir le contenu des tables aux quelles ils sont autorisés, même sur plusieurs tables à la fois (jointures) ajouter/supprimer des valeurs à certaines tables ... << (8 of 21) >> [Valérie Bellynck], [11 octobre 2007] - Initiation à MySQL TOC Initiation à MySQL http://tiprof.fr/SGBasesDonnees/Ancien-site/Cours/ini... 1 sur 1 27/09/11 10:07 Administration d'un serveur Les utilisateurs et leurs niveaux de permission sont mémorisés par le serveur dans une base de données parmi celles qu'il gère drôle, non ? << (9 of 21) >> [Valérie Bellynck], [11 octobre 2007] - Initiation à MySQL TOC Initiation à MySQL http://tiprof.fr/SGBasesDonnees/Ancien-site/Cours/ini... 1 sur 1 27/09/11 10:07 ensemble de valeurs d’un même type, pouvant toutes caractériser/qualifier une propriété récurrente. table à 2 dimensions, chaque colonne étant caractérisée par un nom. sous ensemble du produit cartésien d’une liste de domaines. une colonne d’une relation, caractérisé par un (son) nom. liste des valeurs d’une ligne d’une table relationnelle. Algèbre relationnelle Rappels de vocabulaire Domaine : Table relationnelle : Relation (Table relationnelle) : Le résultat est un tableau à deux dimensions dont les colonnes correspondent aux domaines, et sont nommées, et dont les lignes contiennent des tuples. Attribut : tUple : << (10 of 21) >> [Valérie Bellynck], [11 octobre 2007] - Initiation à MySQL TOC Initiation à MySQL http://tiprof.fr/SGBasesDonnees/Ancien-site/Cours/ini... 1 sur 1 27/09/11 10:07 sélection d’un ou plusieurs attributs d’une relation. création d'une nouvelle relation à partir de 2 ou plusieurs autres en prenant comme pivot 1 ou plusieurs attributs. sélection de tous les tuples ou bien seulement d'une partie en fonction de critères de sélection qui portent sur les valeurs des attributs. Algèbre relationnelle Les opérations de base Projection : Exemple : n’afficher que les colonnes Nom et Prenom d'une table Personnes. Jointure : Exemple : concaténer deux tables d’adresses en fonction du nom de famille pour obtenir dans une seule table les informations provenant des 2 tables (c’est typiquement du recoupement de fichiers). Sélection : Exemple : n’afficher que les lignes de la table Personnes qui vérifient la condition suivante : le nom ne commence pas par la lettre ‘C’. Cette algèbre est facilement possible avec les commandes de MySQL (SELECT… FROM… WHERE…) << (11 of 21) >> [Valérie Bellynck], [11 octobre 2007] - Initiation à MySQL TOC Initiation à MySQL http://tiprof.fr/SGBasesDonnees/Ancien-site/Cours/ini... 1 sur 1 27/09/11 10:07 Données SQL T ypes des données Chaque attribut peut porter des valeurs d'un seul et même type. Les types utilisables peuvent nécessiter plus ou moins de place en mémoire. Pour pouvoir ajuster au plus près le type des données aux besoins des situations réelles, MySQL supporte des types très différents : Nombre entier signé ou non (température, quantité commandée, âge) Nombre à virgule (prix, taille) Chaîne de caractères (nom, adresse, article de presse) Date et heure (date de naissance, heure de parution) Énumération (une couleur parmi une liste prédéfinie) Ensemble (une ou des monnaies parmi une liste prédéfinie) << (12 of 21) >> [Valérie Bellynck], [11 octobre 2007] - Initiation à MySQL TOC Initiation à MySQL http://tiprof.fr/SGBasesDonnees/Ancien-site/Cours/ini... 1 sur 1 27/09/11 10:08 Données SQL T ypes uploads/Ingenierie_Lourd/ id-2464.pdf
Documents similaires
-
20
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jui 15, 2021
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 0.8806MB