Cours SQL

Cours transact-SQL dans microsoft SQL Server (TSQL)


Télécharger Cours transact-SQL dans microsoft SQL Server (TSQL)

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


CHAPITRE 1 : PRÉSENTATION DE TSQL

Le langage TSQL (Transact Strutrured Query Language) permet de normaliser le développement d'applications liées aux Bases de Données. TSQL est une extension du langage SQL développé par IBM (International Business Machine) dans les Formation informatique années 1970. C'est un langage procédural par opposition à SQL qui est un langage déclaratif.

I) Historique

Le langage SQL est né à la suite des travaux du mathématicien Codd. Historiquement, les années suivantes sont importantes :

-          1970: IBM développe SQL

-          1986 : Normalisation SQL/86

-          1989 : Normalisation SQL/89

-          1992 : Normalisation ANSI SQL/92

-       1996 : Microsoft adopte TSQL Il) Les différents types d'instructions  Le langage SQL possède trois types d'instructions :

-          le Langage de Définition des Données (LDD ou DDL en anglais) utilisé pour la création, la modification et la suppression des objets de base de données (tables, vues, etc.). Il utilise principalement les instructions CREATE, ALTER et DROP ;

Exemple: CREATE DATABASE Test

-          le Langage de Manipulation des Données (LMD ou DML en anglais) qui permet de sélectionner, d'ajouter, de modifier et de supprimer des données dans les objets de base de données (tables, vues, etc.). Il utilise principalement les instructions SELECT, INSERT, UPDATE et DELETE ;

Exemple: SELECT * FROM Produits

-          le Langage de Contrôle des Données (LCD ou DCL en anglais) utilisé pour la gestion des protections d'accès aux données. Il utilise principalement les instructions GRANT, DENY et REVOKE.

Exemple : GRANT Select ON Produits TO Steve

III) Les Directives

Pigier : Requêtes Transact-SQL dans Microsoft SQL Server 2000

Les directives indiquent comment traiter les instructions TSQL. Les principales directives sont :

-        USE « base de données » : permets de préciser sur quelle base de données vont porter les instructions qui suivent.

Exemple : USE Master

-        GO : SQL Server interprète l'instruction GO comme un signal

pour exécuter les instructions TSQL qui précèdent. Une commande GO termine un lot d'instructions TSQL. Certaines instructions TSQL doivent s'exécuter comme des lots, dans ce cas, l'utilisation de la commande GO est obligatoire.

-        PRINT : est une instruction permettant de générer une ligne en sortie de procédure.

Exemple: PRINT @@VERSION

-        EXEC[UTE] : est utilisée pour exécuter une fonction ou une

procédure stockée.

Exemple : EXEC getdate()

IV) Éléments de syntaxe de TSQL

Le langage TSQL comporte des éléments que l'on retrouve dans la plupart des langages évolués :

-        les types de données : ils déterminent la nature du contenu des objets tels que les colonnes, les variables, les paramètres, etc.

Numérique : Ce type de données représente des valeurs entières ou décimales.

Float      8o    ±1.74E308

Real       4o    ±3.49E38

'Booleen

Bit        lo    valeur binaire (0 ou 1)

'Spécial

Uniqueldentifier 16o Définit une colonne comme identificateur unique globale (GUID)

Dates : Ce type de donnée représente une date ou une

durée.

DateTime         8o De 01/01/1753 à 31/12/9999

SmallDateTime    4o De 01/01/1900 à 06/06/2079

Caractères : Ce type de données est utilisé pour représenter

les chaînes de caractères de longueur fixe ou variable.

Char       taille fixe n'excédant pas 8Ko

Varchar    taille variable n'excédant pas 8Ko

Nchar      unicode taille fixe n'excédant pas 4Ko

Nvarchar   unicode taille var. n'excédant pas 4Ko

Text       taille variable pouvant excéder 8Ko

Ntext      unicode taille var. pouvant excéder 4K

Binaire : Ce type de données est très proche du type de données de caractères en termes de stockage et de structure, mais le contenu des données est  Formation informatique traité sous forme

d'une série de valeurs binaires.

Binary     taille fixe n'excédant pas 8Ko
VarBinary taille variable n'excédant pas 8Ko

Image      taille variable pouvant excéder 8Ko

_ les identificateurs : ce sont les noms des objets tels que les bases de données, les tables, les colonnes, etc.

  1. identificateurs standard

Les identificateurs standard peuvent contenir de 1 à 128 caractères,  Formation informatique notamment des lettres, des symboles (_, @ ou #) et des nombres. La première lettre doit être alphabétique et aucun espace n'est autorisé dans le nom. Ils ne doivent correspondre à aucun mot-clé du langage TSQL.

  1. identificateurs délimités

Un identificateur qui ne respecte pas une ou plusieurs des règles de mise en forme des identificateurs standard

doit toujours être délimité. Les délimiteurs sont [] et " ".

Exemple : SELECT * FROM "Liste des Etudiants"

DROP DATABASE [123ABC]

Le symbole @ commence le nom de toute variable locale et @@ désigne les variables globales. Le symbole # commence le nom de toute table temporaire et ## désigne les tables temporaires globales.



SELECT *

FROM ##tb_tempo

_ les opérateurs : permettent de créer des expressions complexes à partir d'expressions simples. Parmi les opérateurs, nous avons :

_ les variables : éléments permettant de stocker une valeur en vue de son utilisation future. Une variable locale est définie par l'utilisateur par l'instruction DECLARE, se voit affecter une valeur initiale dans une instruction SET ou SELECT est utilisée dans l'instruction ou le lot.

USE Northwind

DECLARE @EmpID int,@Name char(20)

SET @EmpId = 101

SELECT @Name = 'Dupont'

_ les commentaires : ce sont des parties de texte insérées dans un jeu Formation informatique d'instruction pour en expliquer le but. Les commentaires ne sont pas exécutés.

  1. Commentaire en ligne

SELECT productname, unitsinstock - unitsonorder

-- Calcule l'inventaire supplierlD

FROM products

/* Ce programme extrait toutes les lignes de la table products, et affiche le prix unitaire, le prix unitaire augmenté de 10 % et le nom du produit.*/

USE Northwind

SELECT unitprice, (unitprice * 1.1), productname FROM Product

GO

_ les scripts : c'est un ensemble d'instructions TSQL

Pigier : Requêtes Transact-SQL dans Microsoft SQL Server 2000  CHAPITRE 2 : UTILISATION DES OUTILS DE REQUÊTES

SQL Server 2000 fournit plusieurs outils de requête que vous pouvez utiliser pour exécuter des scripts Transact-SQL.

I) Présentation de SQL Server

SQL Server 2000 ajoute de nombreuses fonctionnalités par rapport à ces versions antérieures (6.5 et 7.0), dont la prise en charge de XML (eXtended Markup Language), Datawarehouse (Entrepôt de données), OLAP et OLTP (traitement de données en ligne)

1. Composants client-serveur

L'architecture de SQL Server est divisée en :

-        une partie serveur : gestion des bases de données, répartition des ressources entre les différentes demandes des clients (effectue le traitement lourd) ;

-        une partie cliente : affichage des résultantes de requêtes (effectue le traitement léger (renvoi du traitement lourd)). Les communications entre le serveur et le client peuvent s'effectuer sur différents protocoles réseaux dont TCP/IP, Canaux nommés, I PX/SPX.

Les fonctionnalités de SQL Server reposent sur l'exécution de plusieurs services :

-        MSSQLServer gère les requêtes, les transactions et assure l'intégrité des données ;

-        MSSQLServerAgent permet l'exécution des tâches planifiées.

2. Bases de données SQL Server

SQL Server héberge deux types de bases de données : les bases de données systèmes et les bases de données utilisateurs. Les bases de données système contiennent des informations nécessaires au bon fonctionnement de SQL Server. Les bases de données utilisateur sont Formation informatique les bases de données créées et utilisées par les utilisateurs.

Lors de l'installation de SQL Server, le programme d'installation crée plusieurs bases de données système :

-        master : contrôle les bases de données utilisateurs et le fonctionnement global de SQL Server en effectuant le suivi d'informations telles que les comptes d'utilisateur, les


Pigier : Requêtes Transact-SQL dans Microsoft SQL Server 2000

variables d'environnement configurables et les messages d'erreur du système ;

-        model : utilisée pour la création de nouvelles bases de données utilisateur ;

-        tempdb : offre une zone de stockage pour les tables temporaires et les autres besoins de stockage temporaire ;

-        msdb : offre une zone de stockage pour les informations de programmation et l'historique des travaux.

Selon les options choisies, le programme d'installation peut créer les bases de données utilisateurs suivantes :

-        Pubs : propose un exemple de base de données comme outil d'apprentissage ;

-        Northwind : propose un exemple de base de données comme outil d'apprentissage avec un grand nombre de données.

3. Éditions de SQL Server

Il existe plusieurs éditions de SQL Server 2000 :

-        Entreprise : en environnement de production Client/Serveur, cette version regroupe toutes les fonctionnalités avec la prise en charge de sites Web, OLTP, le DataWarehousing, etc ;

-        Entreprise d'évaluation : Cette édition est identique à la Formation informatique précédente mais n'est utilisable que 120 jours. Elle est téléchargeable gratuitement ;

-        Standard : cette édition regroupe toutes les fonctionnalités de l'édition Entreprise, sauf pour ce qui est des sites Web, OLTP et le DataWarehousing. Cette édition convient à de petites exploitations, avec des bases de données plus légères ;

-        Développeur : cette édition, identique à l'édition entreprise, est réservée au développement d'applications basées sur SQL Server, aux tests et non à l'exploitation ;

-        Windows CE : cette édition allégée permet le stockage de données sur des périphériques exploitant Windows CE. Il est alors possible pour l'utilisateur de synchroniser ses données avec des éditions Entreprise et Standard d'SQL Server ;

-        MSDE (Microsoft Desktop Engine) : Cette édition est libre de droits de redistribution (redistribuable gratuitement) et est destinée aux applications ayant besoin d'exploiter et stocker

Pigier : Requêtes Transact-SQL dans Microsoft SQL Server 2000

localement des bases de données. Cette édition possède des restrictions majeures notamment sur la taille maximale d'une base de données (limitée à 2Go) et du nombre d'utilisateur connecté simultanément (limité à 5).

Il) Les outils de SQL Server

1. Outils graphiques

SQL Server est fourni avec une suite d'outils graphiques dédiés aux taches d'administration et d'exploitation:

-        Entreprise Manager : Outil principal d'administration de SQL Server. Il permet d'accéder à toutes les options et toutes les fonctionnalités de SQL Server. Il se présente sous forme de composant enfichable MMC ;

-        Analyseur Cours transact-SQL dans microsoft SQL Server (TSQL) de requêtes : Outil  d'interrogation graphique utilisés pour analyser le plan d'une requête, analyser les informations statistiques et gérer simultanément plusieurs requêtes dans différentes fenêtres ;



-        Service Manager : Utilitaire graphique permettant de démarrer, arrêter et suspendre des services SQL Server.

2. Outil en ligne de commande

-        Osql : Utilitaire utilisant la connectivité ODBC pour communiquer avec SQL Server (utilisé principalement pour exécuter des fichiers de traitement par lots contenant une ou

Pigier : Requêtes Transact-SQL dans Microsoft SQL Server 2000

plusieurs instructions SQL). Il remplace l'utilitaire isql des versions précédentes de SQL Server.

III) Présentation de l'analyseur de requête

L'analyseur de requêtes sert à afficher sous forme graphique les instructions des requêtes et leurs résultats. Vous pouvez aussi l'utiliser pour écrire, modifier et enregistrer des scripts Transact­SQL.

Lorsque vous lancez l'analyseur de requête, il demande les informations de connexions :

-        Serveur SQL Server : indique le nom ou l'adresse réseau du Formation informatique poste exécutant SQL Server. Vous pouvez utiliser

« (local) » ou « . » pour désigner le poste local.

-     L'authentification Windows qui utilise votre compte

d'ouverture de session Windows.

-     L'authentification SQL Serveur qui utilise des comptes

propres à SQL Server. Dans ce mode, un login et un mot de passe sont requis. Par défaut « sa » avec un mot de passe vide.

Pigier : Requêtes Transact-SQL dans Microsoft SQL Server 2000

L'analyseur de requête est composé de plusieurs fenêtres :

-        Fenêtre Explorateur d'Objet : permets de parcourir, dans une arborescence, tous les objets de vos bases de données. La touche « F8 » permet de l'afficher ou de la masquer ;

-        Fenêtre de requêtes : éditeur de texte pour la saisie de vos codes TSQL. Il utilise un code de couleur pour faciliter la lecture du code (Exemple: en bleu les mots clés TSQL, en rouge les chaînes de caractères, etc.). L'exécution du script peut être lancée avec la touche « F5 ». Les résultats et les messages s'affichent dans une fenêtre de texte ou dans une grille. Le code saisi peut être enregistré dans un fichier (avec l'extension .sql) pour être ouvert ultérieurement.

IV) Présentation de Osai

L'utilitaire de ligne de commande osql accepte les instructions TSQL et les envoie à SQL Server de manière interactive. Il correspond Cours transact-SQL dans microsoft SQL Server (TSQL) à l'analyseur de requêtes pour la ligne de commande. Il communique avec SQL Server via la bibliothèque ODBC (Open DataBase Connectivity). Les résultats sont mis en forme et affichés à l'écran Formation informatique. Sa syntaxe est la suivante :

NB : Les options de la commande osql respectent la casse.

Utilisez l'instruction GO pour exécuter des instructions TSQL, l'instruction Cours transact-SQL dans microsoft SQL Server (TSQL) RESET pour supprimer toutes les instructions et l'instruction QUIT ou EXIT pour quitter l'utilitaire.

 

Pigier : Requêtes Transact-SQL dans Microsoft SQL Server 2000

CHAPITRE 3: CRÉATION DES OBJETS DE BASES DE DONNÉES

Avant de pouvoir stocker et manipuler des données, il est indispensable de créer une base de données et des tables. Vous pouvez ensuite créer d'autres objets pour faciliter la manipulation des données ou la gestion de la sécurité.

I) Architecture d'une base de données

1. Niveau logique

Une base de données stocke principalement un ensemble de données. Les objets de base de données vous aident à structurer vos données et à définir les mécanismes de sécurité, d'amélioration des performances et de contrôle d'intégrité des données.

Parmi ces objets de base de données, nous avons :

-        Table : définit un ensemble de lignes ayant des colonnes associées ;

-        Contrainte : définit les règles relatives aux valeurs autorisées dans les colonnes et constitue le mécanisme standard pour garantir l'intégrité des données ;

-        Valeurs par défaut : définit une valeur qui est stockée dans une colonne si aucune autre valeur n'est fournie au moment de l'ajout ;

-        Index : constitue une structure de stockage offrant un accès rapide pour l'extraction de données;

-        Vue : permet de visualiser des données provenant d'une ou de plusieurs tables ou vues d'une même base de données ;

-        Fonction définie par l'utilisateur : renvoie soit une valeur scalaire, soit une table. Les fonctions permettent d'encapsuler une logique exécutée fréquemment. Tout code qui doit exécuter la logique incorporée dans une fonction peut appeler cette fonction plutôt que répéter toute la logique de la fonction ;

-        Procédure stockée : constitue un ensemble nommé d'instructions Transact-SQL pré compilées devant être exécutées ensemble ;

-        Déclencheur : constitue une forme Cours transact-SQL dans microsoft SQL Server (TSQL) spéciale de procédure stockée exécutée automatiquement lorsqu'un utilisateur modifie des données d'une table ou dune vue.



1503