Rapport Multirisque Habitation
Rapports de Stage : Rapport Multirisque Habitation. Rechercher de 53 000+ Dissertation Gratuites et Mémoires. . . . . . . . . . . . . . . . . . . . . . . . . Modication . . . . . . . . . . . . . . . . . . . . . . . . . . . . Suppression 3.4.1 3.4.2 3.4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . Généralités sur les transactions Autres modèles de transactions Les transactions dans SQL . . . . . . . . . . . . . . . .
19
19 20 21 22 22 23 24
4
Interrogations
4.1 4.2 Syntaxe générale 4.2.1 4.2.2 4.3 4.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Clause SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . select comme expression Pseudo-colonnes . . . . . . . . . . . . . . . . . . . . . .
26
26 26 27 28 29 31 31 33 33 35 35 36 37 38 38 39 40 41 41 45 45 47 47 48 48 51 51 53 53 54 55
Clause FROM . . . . . . . . . . . . . . . . . . . . . . . . . . . Clause WHERE . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 4.4.2 Clause WHERE simple . . . . . . . . . . . . . . . . . . Opérateurs logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Jointure naturelle . . . . . . . . . . . . . . . . . . . . . Jointure d'une table avec elle-même . . . . . . . . . . . Jointure externe . . . . . . . . . . . . . . . . . . . . . . Jointure non équi . . . . . . . . . . . . . . . . . . . .
4.5
Jointure 4.5.1 4.5.2 4.5.3 4.5.4
4.6
Sous-interrogation . . . . . . . . . . . . . . . . . . . . . . . . . 4.6.1 4.6.2 4.6.3 4.6.4 4.6.5 Sous-interrogation à une ligne et une colonne . . . . . . Sous-interrogation ramenant plusieurs lignes . . . . . . Sous-interrogation synchronisée . . . . . . . . . . . . . . . . . Sous-interrogation ramenant plusieurs colonnes
Clause EXISTS . . . . . . . . . . . . . . . . . . . . . .
4.7 4.8 4.9
Fonctions de groupes . . . . . . . . . . . . . . . . . . . . . . . Clause GROUP BY . . . . . . . . . . . . . . . . . . . . . . . . Clause HAVING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.10 Fonctions
4.10.1 Fonctions arithmétiques
4.10.2 Fonctions chaînes de caractères
4.10.3 Fonctions de travail avec les dates . . . . . . . . . . . . 4.10.4 Fonction de choix (CASE) . . . . . . . . . . . . . . . . 4.10.5 Nom de l'utilisateur . . . . . . . . . . . . . . . . . . . . 4.11 Clause ORDER BY . . . . . . . . . . . . . . . . . . . . . . . . 4.12 Opérateurs ensemblistes 4.12.1 Opérateur UNION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iv
TABLE DES MATIÈRES
4.12.2 Opérateur INTERSECT . . . . . . . . . . . . . . . . . 4.12.3 Opérateur EXCEPT . . . . . . . . . . . . . . . . . . . 4.12.4 Clause ORDER BY . . . . . . . . . . . . . . . . . . . . 4.13 Limiter le nombre de lignes renvoyées . . . . . . . . . . . . . . 4.14 Injection de code SQL . . . . . . . . . . . . . . . . . . . . . .
55 55 55 56 56
5
Langage de dénition des données
5.1 5.2 Schéma Tables 5.2.1 5.2.2 5.2.3 5.2.4 5.3 Vues 5.3.1 5.3.2 5.3.3 5.3.4 5.4 5.4.1 5.4.2 5.4.3 5.4.4 5.4.5 5.5 5.5.1 5.5.2 5.5.3 5.6 5.6.1 5.6.2 5.6.3 5.7 5.7.1 5.7.2 5.7.3 5.7.4 5.7.5 5.7.6 5.8 5.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CREATE TABLE AS . . . . . . . . . . . . . . . . . . ALTER TABLE . . . . . . . . . . . . . . . . . . . . . . Supprimer une table - DROP TABLE . . . . . . . . . . Synonyme public de table ou de vue CREATE VIEW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DROP VIEW . . . . . . . . . . . . . . . . . . . . . . . Utilisation des vues . . . . . . . . . . . . . . . . . . . . Utilité des vues . . . . . . . . . . . . . . . . . . . . . . CREATE INDEX . . . . . . . . . . . . . . . . . . . . . Utilité des index DROP INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
59 59 59 60 62 62 62 63 64 64 65 66 66 67 68 68 69 70 70 71 71 73 73 74 75 75 77 77 78 78 79 80 81 82
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Types d'index . . . . . . . . . . . . . . . . . . . . . . . Dictionnaire des données . . . . . . . . . . . . . . . . . Utilisation de tables de la base . . . . . . . . . . . . . . Autres solutions . . . . . . . . . . . . . . . . . . . . . . Séquences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Génération de clés primaires . . . . . . . . . . . . . . . . . . .
Procédure et fonction stockée Fonction stockée
Procédure stockée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tables du dictionnaire
Triggers
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Types de triggers . . . . . . . . . . . . . . . . . . . . . Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . Restriction sur le code des triggers Clause WHEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Triggers INSTEAD OF . . . . . . . . . . . . . . . . . . Dictionnaire de données . . . . . . . . . . . . . . . . . . . . .
Dictionnaire de données
Privilèges d'accès à la base . . . . . . . . . . . . . . . . . . . .
TABLE DES MATIÈRES
v
5.9.1 5.9.2 5.9.3 5.9.4 5.9.5
GRANT . . . . . . . . . . . . . . . . . . . . . . . . . . REVOKE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changement de mot de passe Création d'un utilisateur, rôle
82 83 83 84 84
Synonyme . . . . . . . . . . . . . . . . . . . . . . . . .
6
Gestion des accès concurrents
6.1 Problèmes liés aux accès concurrents 6.1.1 6.1.2 6.1.3 6.1.4 6.2 6.2.1 6.2.2 6.3 6.3.1 6.3.2 6.4 6.5 Mises à jour perdues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
86
86 86 87 87 88 88 88 89 90 90 91 92 94 95
Lecture inconsistante ou lecture impropre . . . . . . . . Lecture non répétitive, ou non reproductible, ou incohérente . . . . . . . . . . . . . . . . . . . . . . . . . . . Lignes fantômes . . . . . . . . . . . . . . . . . . . . . . Sérialisation des transactions . . . . . . . . . . . . . . . Niveaux d'isolation . . . . . . . . . . . . . . . . . . . . Traitement pessimiste . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Isolation des transactions . . . . . . . . . . . . . . . . . . . . .
Traitement pour les accès concurrents . . . . . . . . . . . . . . Traitement optimiste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Traitement par défaut des accès concurrents Blocages explicites 6.5.1 Blocages explicites d'Oracle
Présentation du polycopié
Ce polycopié présente le langage SQL. Il ne suppose que quelques connaissances de base exposées dans le polycopié d'introduction aux bases de données. Les exemples ont été testés avec le SGBD Oracle, version 10g mais n'utilisent qu'exceptionnellement les particularités de ce SGBD par rapport aux normes SQL. Ce cours concerne la norme SQL2. SQL3, le relationnel-objet et l'interface avec le langage Java sont étudiés dans un autre cours. Les remarques et les corrections d'erreurs peuvent être envoyées par courrier électronique à l'adresse grin@unice.fr, en précisant le sujet Poly SQL et la version du document.
vi
Chapitre 1 Introduction
1.1 Présentation de SQL
SQL signie Structured Query Language c'est-à-dire Langage d'interrogation structuré. En fait SQL est un langage complet de gestion de bases de données relationnelles. Il a été
...