Base de données : SQL Afpa Pont de Claix page 1 Bases de données : SQL Support
Base de données : SQL Afpa Pont de Claix page 1 Bases de données : SQL Support de Formation n°1 Mise à jour 3 mai 2001 (LR, PG, MF) Base de données : SQL Afpa Pont de Claix page 2 Objectifs • Présentation du langage SQL et de l’algèbre relationnel • Interrogation et mise à jour d’une base de données en SQL interactif • Construction complète d’une base de données • Notions d’administration d’une base de données en Client/Serveur • Présentation du modèle client/serveur • La connexion ODBC et l’utilisation d’ACCESS comme client Mode d’emploi Pour chacun des thèmes abordés, ce support de formation : - présente les points essentiels - renvoie à des supports de cours, des livres ou à la documentation en ligne constructeur, par le symbole : & - propose des exercices pratiques par le symbole : : Autres symboles utilisés : % Point important qui mérite d’être souligné M A éviter à tout prix ! J Manip à réaliser avec un utilitaire graphique (qui devrait normalement simplifier le travail !) Ł Approfondissement : travail de documentation ou exercice supplémentaire, à faire individuellement (non intégré dans le temps de formation moyen) Base de données : SQL Afpa Pont de Claix page 3 . PRESENTATION DU LANGAGE SQL G E Ressources • Pour la syntaxe du langage SQL : consulter le livre « SQL2 Initiation/Programmation » de Christian Marée et Guy Ledant • Pour l’utilisation de l’environnement SQL Server : utiliser « Documentation en ligne de SQL Server » et « Aide de Transact SQL » sous « Analyseur de requête SQL » e Historique du langage • S.Q.L. (Structured Query Language) est un langage structuré permettant d’interroger et de modifier les données contenues dans une base de données relationnelle. • Il est issu de SEQUEL : Structured English Query Language. C’est le premier langage pour les S.G.B.D Relationnels. Il a été développé par IBM en 1970 pour système R, son 1 er SGBDR. • S.Q.L. a été reconnu par l’ANSI puis imposé comme norme. Il n’existe pas de S.G.B.D.R sans S.Q.L. ! Malheureusement, malgré la norme SQL, il existe un ensemble de « dialectes » qui respectent un minimum commun. • Ce cours s’appuiera sur le langage « Transact SQL » de Microsoft, en essayant de rester le plus standard possible. q Notion de relation & SQL 2 : Partie I Approche p. 1 à 25 • SQL est basé sur la théorie des ensembles : il manipule des « tables » qui représentent le graphe d’une relation entre plusieurs ensembles (colonnes). • Chaque ligne ou « tuple » est un élément du graphe de la relation IdPilote NomPilote PrenomPilote 1 GAINSBOURG Serge 2 FERRAT Jean 3 NOUGARO Claude 4 SCHUMMAN Robert 5 STROGOFF Michel 6 SORREL Lucien 7 TAVERNIER Bertrand 8 FAYOLLE Marc 9 LECU Régis Colonne ou attribut Ligne ou tuple Base de données : SQL Afpa Pont de Claix page 4 • Exemple : la base de données « Compagnie aérienne » que l’on créera sous SQL Server dans la suite de ce cours : Schéma général de la base Structure et contenu des tables AVION ( NumAvion, TypeAvion, BaseAeroport) NumAvion : numéro d’avion (clé primaire, numérique) TypeAvion : type d’avion : A320, B707… (Clé étrangère vers la colonne TypeAvion de la table TYPE, alphanumérique) BaseAeroport : identificateur de l’aéroport où est basé l’avion (clé étrangère vers la col onne IdAeroport de la table AEROPORT, 3 lettres) Lien vers clé primaire Base de données : SQL Afpa Pont de Claix page 5 NumAvion TypeAvion BaseAeroport 100 A320 NIC 101 B707 CDG 102 A320 BLA 103 DC10 BLA 104 B747 ORL 105 A320 GRE 106 ATR42 CDG 107 B727 LYS 108 B727 NAN 109 A340 BAS Tous les avions de même type ont des caractéristiques communes : tous les A320 possèdent le même nombre de places et sont contruits par « AirBus ». Pour ne pas introduire de redondance dans notre base, il faut donc créer une table TYPE pour stocker le nombre de places et le nom du constructeur. TYPE ( TypeAvion, Capacite, IdConstructeur) TypeAvion : type d’avion (clé primaire, alphanumérique) Capacité : nombre de places (numérique) IdConstructeur : identificateur du constructeur (clé étrangère vers la colonne IdConstructeur de la table CONSTRUCTEUR, numérique) TypeAvion Capacite idConstructeur A320 300 1 A340 350 1 ATR42 50 1 B707 250 2 B727 300 2 B747 400 2 DC10 200 4 Les noms des constructeurs doivent être connus avant de renseigner les types d’avion : il faut les stocker dans une table indépendante CONSTRUCTEUR , pour pouvoir les présenter à l’utilisateur dans une liste déroulante. Par ailleurs, cette solution économise de la place dans la base de données (N entiers au lieu de N fois 50 caractères) CONSTRUCTEUR ( IdConstructeur, NomConstructeur) IdConstructeur : identificateur du constructeur (clé primaire, numérique) NomConstructeur : nom du constructeur (alphanumérique) IdConstructeur NomConstructeur 1 Aérospatiale 2 Boeing 3 Cessna 4 Douglas Base de données : SQL Afpa Pont de Claix page 6 Tous les avions sont basés dans un aéroport. Les vols effectués par la compagnie aérienne vont d’un aéroport de départ à un aéroport d’arrivée. La table AEROPORT doit regrouper toutes les caractéristiques qui concernent directement l’aéroport : identificateur, nom, ville desservie AEROPORT ( IdAeroport, NomAeroport, NomVilleDesservie) IdAeroport : identificateur de l’aéroport (clé primaire, 3 lettres) NomAeroport : nom de l’aéroport (alphanumérique) NomVilleDesservie : ville desservie par l’aéroport (alphanumérique) IdAeroport NomAeroport NomVilleDesservie BAS Poretta Bastia BLA Blagnac Toulouse BRI Brive Brive CDG Roissy Paris GRE Saint Geoir Grenoble LYS Saint exupéry Lyon NAN Saint Herblain Nantes NIC Nice cote d'azur Nice ORL Orly Paris Un vol, décrit par un numéro de vol unique, relie un aéroport de départ à un aéroport d’arrivée, en partant à une heure donnée et en arrivant à une heure donnée. Le même vol est proposé par la compagnie aérienne à des dates différentes, avec des moyens (pilote et avion) éventuellement différents : ne pas confondre la table VOL qui décrit les caractéristiques générales du vol, avec la table AFFECTATION qui décrit les moyens mis en œuvre pour un VOL proposé à une date donnée. VOL (NumVol, AeroportDept, Hdépart, AeroportArr, HArrivée) NumVol : numéro de vol (clé primaire, "IT" + 3 chiffres ) AeroportDept : identificateur de l’aéroport de départ (clé étrangère vers la colonne IdAeroport de la table AEROPORT, 3 lettres) Hdépart : heure de départ (type heure) AeroportArr : identificateur de l’aéroport d’arrivée (clé étrangère vers la colonne IdAeroport de la table AEROPORT, 3 lettres) Harrivée : heure d’arrivée (type heure) NumVol AeroportDept Hdépart AeroportArr HArrivée IT100 NIC 7:00 CDG 9:00 IT101 ORL 11:00 BLA 12:00 IT102 CDG 12:00 NIC 14:00 IT103 GRE 9:00 BLA 11:00 IT104 BLA 17:00 GRE 19:00 IT105 LYS 6:00 ORL 7:00 IT106 BAS 10:00 ORL 13:00 IT107 NIC 7:00 BRI 8:00 IT108 BRI 19:00 ORL 20:00 Base de données : SQL Afpa Pont de Claix page 7 IT109 NIC 18:00 ORL 19:00 IT110 ORL 15:00 NIC 16:00 IT111 NIC 17:00 NAN 19:00 Pour connaître une « desserte » de façon unique, il faut connaître le numéro de vol et la date : la table AFFECTATION aura donc une « clé primaire composée », constituée par la concaténation des colonnes NumVol et DateVol. AFFECTATION (NumVol, DateVol, NumAvion, IdPilote) NumVol : numéro de vol (clé étrangère vers la colonne NumVol de la table VOL) DateVol : date du vol (type date). Clé primaire : NumVol + DateVol NumAvion : numéro de l’avion qui assure le vol (clé étrangère vers la colonne NumAvion de la table Avion, numérique) IdPilote : identificateur du pilote en charge du vol (clé étrangère vers la colonne IdPilote de la table Pilote, numérique) NumVol DateVol NumAvion IdPilote IT100 6 avril 2001 100 1 IT100 7 avril 2001 101 2 IT101 6 avril 2001 100 2 IT101 7 avril 2001 103 4 IT102 6 avril 2001 101 1 IT102 7 avril 2001 102 3 IT103 6 avril 2001 105 3 IT103 7 avril 2001 104 2 IT104 6 avril 2001 105 3 IT104 7 avril 2001 107 8 IT105 6 avril 2001 107 7 IT105 7 avril 2001 106 7 IT106 6 avril 2001 109 8 IT106 7 avril 2001 104 5 IT107 6 avril 2001 106 9 IT107 7 avril 2001 103 8 IT108 6 avril 2001 106 9 IT108 7 avril 2001 106 5 IT109 6 avril 2001 107 7 IT109 7 avril 2001 105 1 IT110 6 avril 2001 102 2 IT110 7 avril 2001 104 3 IT111 6 avril 2001 101 4 IT111 7 avril 2001 100 8 • Les éléments d’une colonne appartiennent tous au même ensemble appelé « domaine » • Une clé qui fait référence à la clé primaire d’une autre table est appelée « clé étrangère » : NumAvion dans Affectation… Base de données : SQL Afpa Pont de Claix page 8 a g Rappels d’algèbre relationnel Toutes les requêtes SQL correspondent à une combinaison des 7 opérateurs d’algèbre relationnel. Les Opérateurs Ensemblistes Ne s’appliquent qu’à des relations « unicompatibles » : possédant uploads/Voyage/ courssql-4.pdf
Documents similaires
-
20
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Sep 17, 2022
- Catégorie Travel / Voayage
- Langue French
- Taille du fichier 0.4942MB