Éléments fondamentaux de l'architecture de
SQL Server
Microsoft® SQL Server™ est une base de données relationnelle client/serveur basée sur Structured Query Language
(SQL). Chacun de ces terms decrit une partie fondamentale de l'architecture de SQL Server.
Base de données
Une base de donnée est similaire à un fichier de données en ce qu'il s'agit d'un emplacement
de stockage de données. De la même façon qu'un fichier de données, une base de données ne
présentent pas directement les informations à un utilisateur; ces derniers exécutent une
application qui accède aux données de la base de données et les présentent à l'utilisateur sous
un format compréhensible.
Les systèmes de base de données sont plus puissants que les fichiers de données. Les données
sont beaucoup plus organisées. Dans une base de données bien conçue, il n'y a pas
d'ensembles de données dupliqués que l'utilisateur ou l'application aient à mettre à jour en
même temps. Les ensembles de données associées sont regroupés dans une seule structure ou
enregistrement, et des relations peuvent être définies entre ces structures et ces
enregistrements.
Pour travailler avec des fichiers de données, une application doit être programmée afin de
pouvoir travailler avec la structure spécifique de chaque fichier de données. Au contraire, une
base de données contient un catalogue que les applications utilisent pour déterminer
comment sont organisées les données. Les applications de base de données génériques
utilisent le catalogue pour présenter de façon dynamique aux utilisateurs les données en
provenance de différentes bases de données, sans être associées à un format de données
spécifique.
Généralement, une base de données possède deux constituants: les fichiers contenant la base
de données physique et le programme de gestion de base de données (SGBD) que les
applications utilisent pour accéder aux données. Le SGBD est responsable du respect de la
structure de la base de données, c'est-à-dire :
de maintenir les relations entre les données dans la base de données.
de s'assurer que les données sont correctement conservées et que les règles définissant
les relations entre les données ne sont pas violées.
de récupérer toutes les données à partir d'un point de cohérence connu en cas de
défaillances du système.
Base de données relationnelle
Il existe différentes façons d'organiser des données dans une base de données, mais les bases
de données relationnelles font partie des plus efficaces. Les systèmes de bases de données
relationnelles sont une application au problème de l'organisation efficace des données de la
théorie mathématique des ensembles. Dans une base de données relationnelle, les données
sont regroupées dans des tables (appelées relations dans la théorie relationnelle).
Une table représente une classe d'objets qui sont importants pour une organisation. Par
exemple, une entreprise peut avoir une base de données comprenant une table des employés,
une autre table pour les clients et une dernière pour ses stocks. Chaque table comporte des
colonnes et des lignes (attributs et nuplets dans la théorie relationnelle). Chaque colonne
représente un attribut de l'objet dont la table est une représentation. Par exemple, une table
Employés se compose typiquement de colonnes pour le nom, le prénom, l'identification de
l'employé, le service, l'échelon salarial et l'intitulé de poste. Chaque ligne représente une
instance de l'objet dont la table est une représentation. Par exemple, un ligne de la table
Employés représente l'employé dont le numéro d'identification est ID 12345.
Los de l'organisation des données à l'intérieur de tables, il est possible de trouver de
nombreuses façons permettant de définir les tables. La théorie des bases de données
relationnelles définit le processus normalisation, qui permet de s'assurer que l'ensemble de
tables que vous avez défini organisera efficacement vos données.
Client/Serveur
Dans un système client/serveur, le serveur est un ordinateur relativement important situé en
position centrale qui gère des ressources utilisées par de nombreuses personnes. Quand des
personnes ont besoin d'utiliser les ressources, elles se connectent par l'intermédiaire du réseau
à partir de leurs ordinateurs, ou clients, au serveur. Exemples de serveurs:
Serveurs d'impression
Gèrent les imprimantes utilisées par une équipe ou un service.
Serveurs de fichiers
Stockent de gros fichiers utilisés par une unité ou un service qui utilisent d'importants
lecteurs.
Serveurs de messagerie électronique
Exécutent le système de messagerie électronique d'une société.
Dans l'architecture d'une base de données client/serveur, les fichiers de la base de données et
le logiciel de SGBD sont installés sur un serveur. Un composant de communications est
fourni, permettant aux applications de s'exécuter sur des clients distincts et de communiquer
avec le serveur de base de données par l'intermédiaire d'un réseau. Le composant de
communications de SQL Server autorise également les communications entre une application
qui s'exécute sur le serveur et SQL Server.
Les applications de Server sont en général capables de travailler avec plusieurs clients en
même temps. SQL Server peut travailler simultanément avec des milliers d'applications
clientes. Le serveur possède des caractéristiques lui permettant de prévenir les problèmes
logiques susceptibles de survenir si un utilisateur essaie de lire ou de modifier des données en
cours d'utilisation par d'autres.
Bien que SQL Server ait été conçu pour travailler comme serveur à l'intérieur d'un réseau
client/serveur, il est également capable de fonctionner comme base de données isolée
directement sur un ordinateur client. L'évolutivité et la facilité d'emploi de SQL Server lui
permettent de fonctionner efficacement sur un ordinateur client sans consommer trop de
ressources.
Langage de requêtes structurées (SQL)
Pour travailler sur les données d'une base de données, il faut utiliser un jeu de commandes et
d'instructions (langage) défini par le logiciel de SGBD. Les bases de données relationnelles
peuvent utiliser plusieurs langages différents, le plus courant est SQL. Les standards pour
SQL ont été définis par l'American National Standards Institute (ANSI) et l'International
Standards Organization (ISO). La plupart des SGBD modernes prennent en charge au moins
le Niceau d'entrée de SQL-92, le dernier standard SQL (publié en 1992).
Caractéristiques de SQL Server
Microsoft® SQL Server™ met en œuvre un ensemble de caractéristiques qui présentent les
avantages suivants :
Facilité d'installation, de déploiement, et d'utilisation.
SQL Server possède un ensemble d'outils de développement et d'administration qui
améliorent votre capacité à installer, déployer, gérer et utiliser SQL Server à travers
plusieurs sites.
Evolutivité
Le même moteur de base de données peut être utilisé sur plusieurs plates-formes, allant
des ordinateurs portables qui exécutent Microsoft Windows® 95/98 jusqu'aux gros
serveurs multiprocesseurs fonctionnant sous Microsoft Windows NT®, Édition
Entreprise.
Data warehousing
SQL Server possède des outils permettant d'extraire et d'analyser des données
synthétiques en vue de leur traitement analytique en ligne (OLAP). SQL Server possède
aussi des outils pour concevoir visuellement des bases de données et analyser les données
à l'aide de questions posées en anglais.
Intégration du système avec d'autres logiciels de serveur
SQL Server intègre la messagerie électronique, Internet et Windows.
Architecture Client/Serveur
Microsoft® SQL Server™ est conçu pour fonctionner de manière efficace dans divers
environnements :
En tant que système de bases de données client/serveur à deux ou plusieurs niveaux.
En tant que système de bases de données de bureau.
Systèmes de bases de données client/serveur
Les systèmes client/serveur sont conçus de telle manière que la base de données puisse résider
dans un ordinateur central qui occupe alors la fonction de serveur et puisse être partagée par
plusieurs utilisateurs. Les utilisateurs accèdent au serveur par l'intermédiaire d'une application
client ou serveur :
Dans un système client/serveur à deux niveaux, les utilisateurs exécutent une application
en local sur leur ordinateur (lequel est le poste client) qui les connecte, en passant par le
réseau, au serveur sur lequel s'exécute SQL Server. L'application client, qui exécute la
logique d'entreprise et le code permettant d'afficher le résultat à l'utilisateur, est
également appelée client lourd.
Dans un système client/serveur à plusieurs niveaux, la logique de l'application client
s'exécute en deux endroits :
Le client léger s'exécute en local sur l'ordinateur de l'utilisateur et vise à afficher
les résultats à l'utilisateur.
La logique d'entreprise se retrouve dans les applications serveur qui s'exécutent
sur un serveur. Les clients légers demandent des fonctions à l'application serveur,
qui est elle-même une application parallélisée capable de fonctionner
simultanément avec plusieurs utilisateurs. C'est l'application serveur qui ouvre les
connexions au serveur de base de données, et elle peut s'exécuter sur le même
serveur que la base de données. Elle peut également se connecter, en passant par
le réseau, à un autre serveur qui fonctionne en tant que serveur de base de
données.
Ceci est le scénario typique d'une application Internet. Par exemple, une
application serveur peut s'exécuter sous Microsoft Internet Information Services
(IIS) et servir des milliers de clients légers qui s'exécutent sur Internet ou sur un
intranet. L'application serveur utilise un ensemble de connexions pour
communiquer avec une copie de SQL Server. SQL Server peut s'installer sur le
même ordinateur que IIS ou sur un autre serveur du réseau.
Le fait d'avoir des données stockées et gérées à un endroit centralisé présente plusieurs avantages
:
Chaque élément de données est stocké en un point central, accessible à tous les
utilisateurs.
Les différentes copies des données ne sont pas stockées sur les postes clients, ce qui
élimine, par exemple, les problèmes avec les utilisateurs qui ont à s'assurer qu'ils
travaillent bien avec les mêmes informations.
Les règles relatives à l'entreprise et à la sécurité doivent être définies une fois pour toutes
sur le serveur, et contraignent tous les utilisateurs au même niveau et de manière
identique.
Ceci est possible dans une base de données en utilisant les contraintes, les procédures
stockées et les déclencheurs. C'est également possible dans une application serveur.
Un serveur de base de données relationnelle permet d'optimiser le trafic sur le réseau, en
ne renvoyant que les données nécessaires à chaque application.
Par exemple, si une application utilisant un fichier de serveur a besoin d'afficher la liste
des noms de tous les vendeurs (Sales Representative) de l'Orégon (OR), elle doit
normalement récupérer le fichier des employés (employee) dans sa totalité. Au contraire,
si cette application communique avec un serveur de base de données relationnelle, il lui
suffit d'exécuter la commande suivante :
SELECT first_name, last_name
FROM employees
WHERE emp_title = 'Sales Representative'
AND emp_state = 'OR'
La base de données relationnelle renverra uniquement les noms de tous les vendeurs de
l'Oregon, et non l'intégralité des informations relatives à tous les employés.
Les coûts matériels peuvent ainsi être minimisés.
Étant donné que les données ne sont pas stockées sur chaque poste client, il n'est pas
nécessaire pour l'utilisateur, de réserver de l'espace disque pour le stockage de ces
données. Il n'est donc pas nécessaire pour les postes clients de disposer de capacité de
traitement pour gérer les données en local. Quant au serveur, il est dispensé de mobiliser
sa puissance de traitement pour afficher les données.
Le serveur peut être configuré en vue d'optimiser les capacités d'E/S du disque afin de
rechercher les données, tandis que les postes clients peuvent en revanche être configurés
en vue d'optimiser les opérations de mise en forme et d'affichage des données récupérées
sur le serveur.
Le serveur doit être stocké dans un endroit relativement bien sécurisé et être équipé en
périphériques tels qu'un onduleur, qui est plus économique qu'un dispositif général de
protection de tous les postes clients.
Les tâches de maintenance telles que la sauvegarde et la restauration des données, sont
donc plus simples, puisqu'elles ne concernent que le serveur central.
Au sein d'un important système client/serveur, des milliers d'utilisateurs peuvent être connectés
simultanément au serveur qui exécute SQL Server. SQL Server est muni d'un dispositif complet
de protection pour ce type d'environnements avec, par exemple, des sécurités évitant des
problèmes tels que le fait d'avoir plusieurs utilisateurs qui essayent simultanément de mettre à
jour les mêmes données. SQL Server est capable d'allouer efficacement à plusieurs utilisateurs
les ressources disponibles telles que la mémoire, la largeur de la bande réseau ou encore les E/S
disque.
Des applications SQL Server peuvent être exécutées sur l'ordinateur même où s'exécute SQL
Server. L'application se connecte à SQL Server en utilisant les composants de communication
interprocessus (IPC) de Windows (telle que la mémoire partagée), au lieu de passer par un
réseau. Cela permet à SQL Server de pouvoir être utilisé avec de petits systèmes sur lesquels, par
exemple, une application donnée a besoin de stocker ses données localement.
Systèmes de bases de données de bureau
Efficace en tant que serveur, SQL Server peut également être utilisé avec des applications qui ont
besoin d'utiliser une base de données autonome stockée localement sur le poste client. SQL
Server peut, de façon dynamique, se configurer lui-même, afin de s'exécuter avec les ressources
disponibles sur un poste client, sans qu'il soit pour cela besoin de dédier à chaque poste client un
administrateur de base de données. Les fournisseurs d'applications peuvent également intégrer
SQL Server en tant que composant de stockage de données dans leurs applications.
Lorsque les clients utilisent des bases de données locales SQL Server, une copie du moteur de
base de données SQL Server s'exécute sur le poste client et gère toutes les bases de données SQL
Server qui y sont installées. Les applications se connectent au moteur de base de données de la
même manière que lorsqu'elles se connectent, en passant par le réseau, à un moteur de base de
données qui s'exécute sur un serveur distant.
Architecture de base de données
Les données de Microsoft® SQL Server™ sont stockées dans des bases de données et sont
organisées en composants logiques visibles par les utilisateurs. Une base de données est
également implémentée physiquement sous forme de deux fichiers ou plus sur disque.
Lorsque vous utilisez une base de données, vous commencez par manipuler les composants
logiques tels que les tables, les vues, les procédures et les utilisateurs. L'implémentation
physique des fichiers est en grande partie transparente. Cette tâche revient par défaut à
l'administrateur de la base de données.
1 / 19 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !