IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Le livre du site SQLpro"SQL - développement"

Par SQLPro (autres articles)
 

La norme SQL 2, les différents dialectes SQL des principaux SGBDR.
Un comparatif de toutes les fonctions, du SQL de : Oracle, Sybase, MS SQL Server, MySQL, PostGreSQL, Access et Paradox.
Un chapitre de plus de 120 pages sur de multiples exemples de SELECT forgé par les expériences et demande des internautes !
Par l'auteur du forum et du site SQLpro.



Éditeur CampusPress
Collection Référence Développement

Un manuel de référence basé sur une approche pragmatique pour découvrir le SQL





- Ce langage d’interrogation adapté aux bases de données relationnelles est le plus utilisé au monde
- La syntaxe est très simple et extrêmement puissante
- Ce livre s’adresse aux débutants comme aux professionnels
- Il comporte plus de 460 exemples didactiques

SQL (Structured Query Langage) est un langage de requêtes pour bases de données relationnelles développé par IBM. Le SQL a été repris par un grand nombre d’applications reposant sur une architecture client/serveur. Oracle, Sybase, Microsoft,
 
 

OBJECTIFS : Connaître le SQL et pouvoir l’inclure au sein d’une application Web
LECTORAT :  Débutant/Avancé
REFERENCE : ISBN : 2-7440-1184-3

EAN : 9 782744 011849
Prix : 29.99 E (196.73 FF ttc)
Nombre de pages :  510
Parution : Septembre 2001

EN BREF, CE QUE CONTIENT LE LIVRE...

Spécialiste en la matière, l’auteur nous fait part aujourd’hui de son expérience forgée auprès des nombreux utilisateurs confrontés aux problèmes que peut poser le SQL, des plus élémentaires au plus complexes. Résolument pratique, cet ouvrage répondra à toutes vos questions que vous soyez un informaticien professionnel ou débutant. Facile à lire, il n’en demeure pas moins intransigeant avec un SQL normatif, en prenant en compte toutes ses spécificités. Vous étudierez les bases de données sur les bases du SQL 2, et ferez des comparaisons avec les grands acteurs actuels de l'univers des SGBDR : Access, MySQL, Oracle et SQL Server notamment.
 

LES TÊTES DE CHAPITRE

Les bases de données
Présentation de SQL
Requêtes d'extraction monotabulaire
Requêtes d'extraction multi-tabulaires
Création des éléments d'une base de données
Mise à jour des données et gestion des droits d'accès
Programmation des bases de données
Quelques requêtes remarquables
L'avenir du SQL (SQL 3, XML, XQL)

Fonctions et structures SQL comparées pour différents SGBDR

Bibliographie et webographie


Table des matières complète

AVANT-PROPOS

1 - LES BASES DE DONNÉES
    HISTORIQUE
    VOCABULAIRE DE BASE
    BASE DE DONNÉES RELATIONNELLE
    LE TRANSACTIONNEL
    LE CLIENT SERVEUR
    SGBDR "fichier"
    SGBDR "Client/Serveur"
        Différence fondamentales entre les deux
    GESTION DE LA CONCURRENCE
        Verrouillage pessimiste
        Verrouillage optimiste
        Discussion sur ces différents modes de verrouillage
    SPÉCIFICITÉ DU CLIENT / SERVEUR
        Les déclencheurs (ou triggers)
        Les procédures stockées
    LA JOURNALISATION, MÉCANISME DE BASE DU TRANSACTIONNEL

2 - PRÉSENTATION DE SQL
    SQL... UNE HISTOIRE !
    SQL, UN LANGAGE ?
    SUBDIVISIONS DU SQL
        DDL : "Data Definition Language"
        DML : "Data Manipulation Language"
        DCL : "Data Control Language"
        TCL : "Transaction Control Language"
        SQL dynamique ou programmation SQL
    TYPES DE DONNÉES
        Types alphanumériques
        Types numériques
            Entiers
            Réels
        Types temporels
            Données temporelles (DATE, TIME et TIMESTAMP)
                Type INTERVAL
        Type chaîne de bits
        Types "BLOBS"
        Autres types courants, hors norme SQL 2
        Création de "nouveaux types" (DOMAINE)
    REMARQUES PRÉLIMINAIRES SUR L'ÉCRITURE DES REQUÊTES
    LA BASE EXEMPLE
        Modèle conceptuel de données
        Modèle physique des données (MPD)

3 - REQUÊTES D'EXTRACTION MONOTABULAIRE
    ELÉMENTS DE BASE DE LA SYNTAXE SQL
        Convention d'écriture :
    LE SIMPLE (?) SELECT
        L'opérateur *
        L'opérateur DISTINCT (ou ALL)
        Opérateur AS
        Surnom
        La clause WHERE
        Opérateurs de comparaison
        Mots réservés
    CLAUSE ORDER BY
    EN RÉSUMÉ
    FONCTION DE TRAITEMENT DES CHAÎNES DE CARACTÈRES
        Opérateur de concaténation (||)
        Recherche partielle (LIKE)
        Mise en majuscule / Minuscule (LOWER, UPPER)
        Supprimer les blancs, ou tout autre caractères (TRIM)
        Extraire une sous-chaîne (SUBSTRING)
        Position d'une sous chaîne dans une chaîne (POSITION)
        Longueur d'une chaîne de caractères (CHARACTER_LENGTH)
    AUTRES FONCTIONS COURANTES DE TRAITEMENT DES CHAÎNES DE CARACTÈRES
        Correspondance phonétique (SOUNDEX)
        Remplissage (LPAD, RPAD, SPACE)
        Initiales en majuscule (INITCAP)
        Inversion d'une chaîne de caractères (REVERSE, FLIP)
        Remplacement (REPLACE)
        Conversion de caractères (CHAR, ASCII, NCHAR, UNICODE)
        Conversion (CONVERT, TRANSLATE, COLLATE)
    FONCTION DE TRAITEMENT NUMÉRIQUES
        Opérateurs dyadiques
       Fonctions mathématiques
    FONCTIONS DE TRAITEMENT DES DONNÉES TEMPORELLES
        Date et heure courante (CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP)
        Partie de date (EXTRACT)
        Prédicat et opérateur OVERLAPS
        Ajout et retrait d'intervalle à une valeur temporelle
        Autres fonctions temporelles courantes
    FONCTIONS COMMUNES AUX DIFFÉRENTS TYPES DE DONNÉES
        Longueurs des données (BIT_LENGTH, OCTET_LENGTH)
        Transtypage (CAST)
        Traitement de liste (GREATEST, LEAST, DECODE)
    FONCTIONS D'AGRÉGATION STATISTIQUES
        Doublons dans les comptage statistiques
    LA CLAUSE GROUP BY
    OPÉRATEURS IN ET BETWEEN
        Opérateur IN
        Opérateur BETWEEN
    VALEURS BOOLÉENNES, NÉGATION, "NULL" ET LEURS TRAITEMENTS
        Négation (NOT)
        Valeurs 'NULL'
        Opérateurs de traitement des valeurs 'NULL'
    BRANCHEMENTS DANS LE SQL (CASE)
    PROBLÈMES DE LOGIQUE EN SQL
    CONSTRUCTEUR DE LIGNES VALUÉES
    VUE D'ENSEMBLE DES OPÉRATEURS DE LA CLAUSE WHERE

4 - REQUÊTES D'EXTRACTION MULTI-TABULAIRES
    LES JOINTURES
        Retour sur les clauses WHERE et FROM
    DIFFÉRENTS TYPE DE JOINTURES
        Opérateur de jointure naturelle
        Équi-jointure
        Non équi-jointure
        Auto jointure
        Jointures externes et hypothèse du monde clos
        Différence entre jointure externe et jointure interne
        Syntaxe normalisée des jointures externes
        Jointure croisée
        Jointure d'union
    RÉCAPITULATIF DES JOINTURES ET DE LEUR SYNTAXE NORMALISÉE
    LA CLAUSE HAVING
    LES SOUS REQUÊTES
        Emplacement d'une sous requête au sein d'un ordre SELECT
        Sous requêtes ramenant une seule valeur
        Sous requêtes ramenant une seule colonne contenant plusieurs valeurs.
        Sous requêtes ramenant des valeurs (ensemble de données non vide)
             ou rien du tout (ensemble vide)
        Sous requêtes ramenant une table quelconque
        Sous requêtes remplaçant une constante
        Sous requêtes en tant que constante dans l'énumération des colonnes
        Sous requêtes en tant que constante dans la clause WHERE
        Sous requêtes remplaçant plusieurs constantes simultanément
        Sous requête remplaçant une liste
        Sous requêtes remplaçant une table
        Utilisation de l'opérateurs MATCH
        Sous requêtes avec les opérateurs ALL, ANY (ou SOME)
        Sous requête binaire (clause EXISTS ou UNIQUE)
        Sous requête corrélée
    OPÉRATEURS ENSEMBLISTES : UNION, INTERSECT, EXCEPT
        Union (UNION)
        Intersection (INTERSECT)
        Différence (EXCEPT)
        Quelques remarques sur les opérateurs ensemblistes

5 - CRÉATION DES ÉLÉMENTS D'UNE BASE DE DONNÉES
    NOM DES OBJETS D'UNE BASE DE DONNÉES
    CRÉATION DE LA BASE DE DONNÉES
    CRÉATION DES TABLES
        Contraintes de colonnes
        Donnée obligatoire (NOT NULL)
        Valeur par défaut (DEFAULT)
        Colonne clef (PRIMARY KEY)
        Valeur unique (UNIQUE)
        Contrôle de validité (CHECK)
        Clef étrangère (REFERENCES)
    LES DOMAINES (DOMAIN)
    CONTRAINTES DE TABLE (CONSTRAINT)
        Clef de la table (PRIMARY KEY)
        Unicité de données (UNIQUE)
        Contrôle de validité multicolonne (CHECK)
        Référence de clef étrangère (FOREIGN KEY)
    INTÉGRITÉ RÉFÉRENTIELLE
    LES ASSERTIONS
    MODIFICATION ET SUPPRESSION DES TABLES (ALTER TABLE, DROP TABLE)
    LES INDEX
    LES VUES
        Définition d'une vue
        Vues modifiables
    GÉNÉRATION D'UNE BASE DE DONNÉES
    SCRIPT DE CRÉATION DE LA BASE
        Script d'indexation
        Script d'alimentation des données de base
        Script de modification évolutive de la base de données
        Outils de modélisation (User Case Design)

6 - MISE À JOUR DES DONNÉES ET GESTION DES DROITS D'ACCÈS
    INSERTION DE NOUVELLES LIGNES (INSERT)
        Insertion d'une seule ligne
        Insertion de plusieurs lignes simultanément
    MODIFICATION DE LA VALEURS DES DONNÉES (UPDATE)
    SUPPRESSION DE LIGNES (DELETE)
    GESTION DES TRANSACTIONS (COMMIT, ROLLBACK , SET TRANSACTION)
        Anomalies transactionnelles
        Pertes de mise à jour
        Références fantômes
        Lectures impropres (ou inconsistantes)
        Lectures non reproductibles
        Isolation des transactions (ou la solitude du processus de fond !)
        Le problème du verrou mortel (deadlock)
    UTILISATEURS, BASE DE DONNÉES ET CONTRÔLE D'ACCÈS
    CONFIDENTIALITÉ ET SÉCURITÉ D'ACCÈS AUX DONNÉES
    BASE DE DONNÉES ET MÉTA DONNÉES

7 - PROGRAMMATION DES BASES DE DONNÉES
    SQL INTÉGRÉ
        Les curseurs
        Valeur de retour d'un ordre SQL
        Bornage des ordres SQL au sein du langage hôte
        Exemple de SQL intégré
    LES MODULES PERSISTANTS (PSM)
    LES DÉCLENCHEURS (TRIGGER)
    DE L'UTILITÉ DES PROCÉDURES STOCKÉES
    LES FONCTIONS UTILISATEUR (UDF)
    QUELQUES CONSEILS
        Utilisation des déclencheurs

8 - QUELQUES REQUÊTES REMARQUABLES
    RÉTABLIR L'ORDRE ...
        Énumération des lignes d'une table réponse
        Cumul
        Récupérer les n premiers
        Récupérer les p % premiers
        Sélection de n en n
        Récupérer les trous
        Créer des doublons !
    GÉRER LE DÉSORDRE !
        Des résultats anarchiques
        Un élément tiré au sort
        Générateurs de hasard
    DOUBLONS ET ORPHELINS
        Débusquer les doublons
        Rechercher les "quasi" doublons
        Supprimer les orphelins
    IMBRICATION D'AGGRÉGATION
        Obtenir le MAX de SUM ou de COUNT partiels, première version
        Une version plus élégante
        Des versions plus spécifiques pour certains SGBDR
    HISTORISATION ET GESTION DE TRANCHES
        Recherche de l'état de l'adhérent N à la date D
        Recherche de l'état de tous les adhérents à la date D
        La recherche de la tranche la plus proche
        Recherche de la tranche la plus fine
    UNE COLONNE... PLUSIEURS DONNÉES !
        La solution : des valeurs binaires...
        Extraction dans ce modèle de données
        Modification des données
        Encore plus simple avec des vues !
        En guise de conclusion
    RECHERCHE DE CONTIGUÏTÉ
    RECHERCHES PARTIELLES DU PLUS FIN AU PLUS GROSSIER
    PÉRIODICITÉ ET PLANIFICATION
    PROBLÈME DE PLANNING, D'HORAIRES DE DURÉE ET D'HEURE D'OUVERTURE..
    LA DIVISION RELATIONNELLE
        Définition du problème
        Essai primaire
        Contre- exemple 1
        Contre- exemple 2
        Contre exemple 3
        Raffinements
        Une solution
        Une bonne solution
        Une solution audacieuse
        Une solution étrange
        Une solution exemplaire
        Un pas de plus
        Conclusion
    GESTION D'ARBRES EN SQL
        Représentation classique d'une arborescense
        Représentation intervallaire d'une arborescence
        Rechercher toutes les feuilles
        Toutes les feuilles sous un élément de référence
        Rechercher tous les noeuds
        Tous les noeuds sous un élément de référence
        Tous les éléments dépendant d'un élément de référence (sous arbre)
        Tous les éléments indépendants d'un élément de référence
            (complément au sous arbre)
        Tous les pères d'un élément de référence
        Recherche de la racine de l'arbre
        Compter les feuilles
        Compter les noeuds
        Insertion d'un élément dans cette arborescence
        Suppression d'un élément de cette arborescence
        Suppression d'un sous arbre
        La cerise sur le gâteau !
        Transformation en vue d'un arbre à profondeur constante
        Indentation hiérarchique des éléments
    LINÉRISATION DES RÉSULTATS
        Des données de colonnes remises en ligne
        Des données de ligne traitées comme une colonne

9 - L'AVENIR DU SQL (SQL 3, XML, XQL)
    UNE BRÈVE PRÉSENTATION DE SQL 3
        Déclencheurs (Triggers)
        Extension du langage
        Types abstraits
        et encore...
    XML, XQL ET LES BASES DE DONNÉES
        eXtended Markup Language (XML)
        eXtended Query Language (XQL)

ANNEXES

FONCTIONS ET STRUCTURES SQL COMPARÉES POUR DIFFÉRENTS SGBDR

BIBLIOGRAPHIE ET WEBOGRAPHIE
    BIBLIOGRAPHIE SÉLECTIVE
    WEBOGRAPHIE SÉLECTIVE
        En français
        En anglais