Notions de base sur les bases de données
Dans SQL Server, une base de données est constituée d'une collection de tables qui renferment un ensemble spécifique de données structurées. Une table se compose de lignes, également appelées enregistrements ou tuplets, et de colonnes, également appelées attributs. Chaque colonne d'une table est conçue pour stocker un certain type d'informations, par exemple, des données, des noms, des montants monétaires ou des nombres.
Les tables peuvent avoir recours à différents types de contrôles, tels que des contraintes, des déclencheurs, des valeurs par défaut ou des types de données personnalisés par l'utilisateur, dont la fonction est de garantir la validité des données. Des contraintes DRI (intégrité référentielle déclarative) peuvent être ajoutées aux tables pour assurer la cohérence des données connexes qui se trouvent réparties sur plusieurs tables. Les tables peuvent posséder des index comparables à ceux d'un livre, qui permettent de retrouver rapidement les lignes. Une base de données peut également contenir des procédures utilisant du code de programmation Transact-SQL ou .NET Framework pour effectuer des opérations sur les données de la base. Il peut s'agir d'opérations visant à créer des vues offrant un accès personnalisé à des données de tables ou une fonction définie par l'utilisateur destinée à effectuer un calcul complexe dans un sous-ensemble de lignes.
Par exemple, vous créez une base de données appelée MyCompanyDB pour gérer les données de votre société. Dans la base de données MyCompanyDB, vous créez la table Employees pour y consigner des informations sur chaque employé. Ces captures instantanées sont : EmpId, LastName, FirstName, Dept et Title. Pour être certains que deux employés ne peuvent pas avoir le même matricule EmpId et que les numéros entrés dans la colonne Dept correspondent tous à un service de votre société, vous devez ajouter des contraintes à la table.
Dans le but de rechercher plus rapidement les données concernant un employé à partir de son matricule ou de son nom, vous définissez des index. Vous devrez ajouter une ligne de données à la table Employees pour chaque employé. Il est donc nécessaire de créer également une procédure stockée appelée AddEmployee. Cette procédure est personnalisée afin d'accepter les données relatives à chaque nouvel employé et de permettre l'ajout des lignes correspondantes dans la table Employees. Vous aurez éventuellement besoin d'un récapitulatif des employés par service. Pour cela, vous définissez une vue appelée DeptEmps combinant des données issues des tables Departments et Employees, qui produit le résultat. Cette figure illustre les parties de la base de données MyCompanyDB qui sont créées.
Une instance de SQL Server peut prendre en charge de nombreuses bases de données. Chaque base de données peut stocker des données connexes ou non liées issues d’autres bases de données. Par exemple, une instance de SQL Server peut contenir une base de données stockant les informations sur le personnel et une autre, celles qui concernent les produits. Ou encore, une base de données peut contenir les données des commandes actuelles des clients et une autre, reliée à la première, l'historique des commandes qui servira à établir le bilan annuel.
Important
Il est recommandé de ne pas créer d'objets utilisateur, tels que des tables, des vues, des procédures stockées ou des déclencheurs, dans la base de données master. La base de données master contient des informations système utilisées par l'instance de SQL Server, telles que des informations de connexion et des paramètres d'options de configuration.
Base de données OLTP
Les bases de données relationnelles avec traitement transactionnel en ligne (OLTP) s'avèrent idéales pour gérer les modifications de données. Elles sont généralement utilisées par plusieurs utilisateurs qui exécutent des transactions simultanées, ce qui donne lieu à une modification des données en temps réel. Bien que chaque demande de données individuelle émise par les utilisateurs ne fasse généralement référence qu'à quelques enregistrements, de nombreuses demandes sont faites simultanément.
Les bases de données OLTP sont conçues pour permettre aux applications transactionnelles de n'écrire que les données nécessaires au traitement d'une seule transaction aussi vite que possible. En règle générale, les bases de données OLTP présentent les caractéristiques suivantes :
elles prennent en charge un nombre important d'utilisateurs simultanés procédant à l'ajout et à la modification réguliers de données ;
elles représentent l'état en perpétuel changement d'une entreprise sans en enregistrer l'historique ;
elles contiennent de gros volumes de données, notamment des données extensives utilisées pour vérifier les transactions ;
leurs structures sont complexes ;
elles sont mises au point pour réagir rapidement aux transactions ;
elles offrent l'infrastructure technologique qui leur permet de gérer les opérations quotidiennes d'une entreprise ;
les transactions individuelles sont réalisées rapidement et utilisent des quantités de données relativement réduites. Les systèmes OLTP sont conçus et ajustés pour traiter des centaines, voir des milliers, de transactions entrées simultanément.
Les données des systèmes OLTP sont organisées principalement en vue de la prise en charge de transactions, notamment les suivantes :
enregistrement d'une commande à partir d'un terminal de point de vente ou entrée par l'intermédiaire d'un site Web ;
commande de fournitures supplémentaires lorsque les quantités en stock atteignent un seuil spécifié ;
suivi des composants lors de leur assemblage en un produit fini dans une usine de production ;
enregistrement des données sur les employés.
Entrepôt de données
Contrairement à une base de données OLTP, dont la finalité est de capturer des modifications et des ajouts de données à fréquence élevée, un entrepôt de données (ou « data warehouse » en anglais) a pour vocation d'organiser d'importantes quantités de données stables afin d'en faciliter l'analyse et l'extraction. Un entrepôt de données sert souvent de base à une application décisionnelle d'entreprise.
La liste ci-dessous présente quelques-unes des caractéristiques des entrepôts de données :
combinaison de données provenant de sources de données hétérogènes dans une structure unique et homogène ;
organisation des données dans des structures simplifiées pour accroître l'efficacité des requêtes analytiques, sans se préoccuper du traitement transactionnel ;
détention de données transformées qui sont à la fois valides, cohérentes, consolidées et formatées dans le but de l'analyse ;
mise à disposition de données stables qui représentent l'historique de la société ;
mise à jour régulière par des données supplémentaires et non par les transactions fréquentes ;
simplification des exigences de sécurité.
Capture instantanée de base de données
Une capture instantanée de base de données est une vue en lecture seule et statique d'une base de données (la base de données source). Les transactions contenues dans chaque capture instantanée de base de données correspondent à celles de la base de données source au moment de la création de la capture instantanée. Pour plus d'informations, consultez Captures instantanées de base de données.