Un schéma de base de données sert de plan pour l'organisation et la structure d'une base de données. Il définit la manière dont les tables de la base de données sont organisées, les champs qu'elles contiennent et la manière dont ces tables sont liées les unes aux autres, ce qui permet d'accéder aux données de manière cohérente et prévisible. À mesure que les systèmes de données se complexifient, les schémas de base de données gagnent en importance. Un schéma de base de données bien conçu permet aux équipes de maintenir plus facilement les données et d'y accéder de manière fiable sur les bases de données opérationnelles, analytiques et distribuées.
En général, trois types de schémas distincts sont généralement utilisés dans la conception d'une base de données : le schéma de base de données conceptuel, le schéma de base de données logique et le schéma de base de données physique.
Sur les plateformes modernes, les schémas de base de données prennent également en charge la gouvernance centralisée et le contrôle d'accès à grande échelle, comme on le voit dans des outils tels que Unity Catalog. Pour les équipes qui travaillent avec des modèles d'architecture des données, il est essentiel de comprendre comment la conception de schémas de base de données s'aligne sur la conception plus large du système.
Un schéma de base de données est le cadre structurel qui définit la manière dont les données sont organisées, stockées et consultées au sein d'une base de données. Le terme « schéma de base de données » décrit le layout des tables de la base de données, les relations entre les entités de données et les objets de la base de données qui prennent en charge les opérations sur les données.
Les schémas de base de données définissent :
Alors que le schéma de base de données définit la structure, une instance de base de données fait référence aux données réelles stockées à un moment donné. Les schémas de base de données sont implémentés et gérés au sein de plates-formes de système de gestion de base de données telles qu'Oracle Database et les systèmes de base de données SQL.
Les schémas de base de données font également partie d'une architecture de données plus large, ce qui permet d'aligner le stockage, le traitement et la gouvernance entre les systèmes.
Une table de base de données est une structure de stockage unique utilisée pour stocker des données dans un format tabulaire de lignes et de colonnes. Elle représente une entité spécifique (par exemple, des clients, des commandes ou des produits) et stocke les données existantes.
Un schéma de base de données est la structure de l'ensemble de la base de données. Le schéma de base de données définit l'organisation des tables de la base de données, la manière dont elles sont liées et la manière dont les autres objets de la base de données sont utilisés et accessibles.
Le schéma de base de données est le plan de construction. Les tables de la base de données sont les pièces individuelles.
Dans la plupart des cas, une base de données contient plusieurs tables sous un même schéma logique. Les tables sont utilisées avec d'autres objets de schéma comme les index et les vues.
Pour en savoir plus sur la façon dont les schémas et les tables de base de données sont intégrés dans le plan de données global, consultez notre glossaire de l'architecture des données. Comprendre la relation entre la conception des schémas de base de données et les pratiques de modélisation des données est essentiel pour les concepteurs de bases de données.
Les schémas de base de données sont généralement divisés en trois types : le schéma de base de données conceptuel, le schéma de base de données logique et le schéma de base de données physique. Cette séparation permet de distinguer l'intention, la structure et la mise en œuvre, ce qui facilite la conception, la maintenance et l'évolution des bases de données. Chaque type de schéma de base de données répond à un objectif et à un groupe de parties prenantes distincts, mais ils fonctionnent ensemble dans le cadre d'un processus unifié de conception de schémas.
En pratique, cette séparation prend en charge les workflows d'ingénierie des données modernes en permettant aux équipes de faire évoluer la structure sans perturber les systèmes en aval.
Le schéma conceptuel fournit une vue de haut niveau des données. Il se concentre sur les entités métier et les relations sans détails techniques.
Points clés :
Le schéma de base de données logique est la structure de données détaillée qui représente le schéma conceptuel.
Cela inclut :
La structure de base de données logique reste indépendante de la base de données et peut suivre des approches de modélisation de données en couches telles que l'architecture médaillon.
Le schéma physique de la base de données représente la manière dont les données sont stockées et consultées dans un système de base de données.
Le schéma physique de la base de données décrit :
Ce niveau est généralement géré par un administrateur de base de données. Le schéma physique inclut des détails sur la manière dont la structure logique est implémentée sur une infrastructure de données spécifique.
Un schéma de base de données se compose de plusieurs parties principales qui fonctionnent ensemble pour stocker, récupérer et protéger les données. Les principaux composants d'un schéma de base de données sont les suivants :
Le principal endroit où les données sont stockées dans un schéma de base de données se trouve dans ses tables de base de données. Chaque colonne d'un schéma de base de données a sa propre structure de table et ses propres types de données, ce qui garantit la cohérence du stockage des données.
Outre les tables de base de données, d'autres objets de base de données peuvent être définis comme suit :
L'accès à ces objets de schéma est contrôlé par des autorisations, qui garantissent que seuls les utilisateurs autorisés de la base de données peuvent accéder aux données sensibles dans un schéma de base de données.
Pour les équipes qui travaillent avec la gouvernance des données, il est essentiel de comprendre comment les autorisations de schéma de base de données s'alignent sur des politiques de gouvernance plus larges.
Ces clés garantissent l'intégrité des données dans un schéma de base de données.
La clé primaire d'une table identifie de manière unique chaque enregistrement. Chaque ligne d'une table peut être identifiée de manière unique à l'aide d'une clé primaire. La présence d'une clé primaire garantit qu'aucune donnée en double n'est stockée dans une table. Une clé primaire entière peut être composée de clés primaires et étrangères fonctionnant ensemble.
Les clés étrangères connectent deux tables ou plus dans un schéma de base de données. Les clés étrangères se connectent à une clé primaire dans une autre table, établissant des relations entre les données associées.
Ces relations sont fondamentales dans les bases de données relationnelles et les systèmes de bases de données SQL modernes, où la fiabilité transactionnelle dépend de solides garanties de transaction ACID. L'utilisation correcte des clés primaires et étrangères garantit la cohérence des données dans l'ensemble de la base de données.
Les types de données définissent les types de valeurs autorisés dans les colonnes. Les types courants sont les suivants :
Le langage de définition de données (DDL) est utilisé pour définir ou modifier les schémas et les tables des bases de données à l'aide d'instructions de création de base de données.
Les règles sont utilisées pour ajouter des fonctionnalités de sécurité, telles que :
La définition de ces règles au niveau du schéma garantit que les bases de données sont en mesure de conserver des données exactes et de maintenir leur cohérence.
Les index et les vues sont utilisés pour améliorer les performances, l'utilisabilité et le contrôle au sein d'un schéma de base de données.
Les index sont utilisés pour améliorer les performances des requêtes en accélérant l'extraction des données des colonnes qui font l'objet de recherches fréquentes. Cependant, les index sont connus pour dégrader les performances d'écriture, car ils doivent être mis à jour chaque fois que des données sont insérées, mises à jour ou supprimées.
Les vues sont des tables virtuelles utilisées pour représenter des tables réelles, généralement pour faciliter l'écriture de requêtes ou pour limiter l'accès à des données spécifiques.
Un schéma de base de données bien conçu établit un équilibre entre les performances et la complexité, garantissant de bonnes performances tout en évitant une complexité inutile.
Les approches peuvent convenir à différents types d'activités liées aux données. Le choix de l'approche de conception du schéma dépend de la manière dont les données seront utilisées.
Le schéma en étoile est une technique simple de modélisation de données utilisée en entreposage des données. Il comprend :
Raisons d'utiliser la modélisation de données en schéma en étoile :
Le modèle de schéma en étoile est fondamental dans les architectures de data warehouse.
Dans un schéma en flocon, les données sont normalisées pour réduire les besoins en stockage en divisant les tables de dimension en plusieurs tables de dimension.
Les avantages de l'utilisation d'un schéma en flocon par rapport à un schéma en étoile sont les suivants :
Les conceptions de schémas en flocon de neige peuvent également être utilisées lorsque les données des dimensions sont partagées dans plusieurs contextes ou lorsqu'elles doivent être davantage normalisées. Les modèles de schéma en étoile et de schéma en flocon de neige impliquent tous deux une table de faits centrale entourée de tables de dimensions.
Le schéma hiérarchique est un schéma dans lequel les données sont organisées en une structure arborescente avec des relations parent-enfant, où chaque enfant n'a qu'un seul parent, selon un modèle hiérarchique.
Ce type de schéma est idéal pour les données qui ont une hiérarchie inhérente, comme une structure organisationnelle ou un document XML. Le schéma hiérarchique est moins flexible que le schéma relationnel et ne peut pas gérer les relations plusieurs-à-plusieurs. Ce schéma est toujours utilisé dans certaines applications, bien que le modèle hiérarchique ait été largement remplacé par des bases de données relationnelles.
Les bases de données NoSQL ont également des considérations relatives à la conception de schémas. Contrairement aux bases de données relationnelles, elles peuvent ne pas nécessiter de schéma avant de pouvoir se connecter à la base de données et y stocker des données.
Les modèles de conception de schémas les plus courants pour les bases de données NoSQL sont les suivants :
Ces systèmes privilégient la flexibilité et la scalabilité, mais offrent souvent moins de garanties de cohérence intégrées. Les applications modernes, y compris la recherche vectorielle et les queries de similarité, étendent encore ces compromis au sein des bases de données vectorielles. Il est important pour les concepteurs de bases de données de comprendre quand utiliser des bases de données NoSQL par rapport aux conceptions de schémas de bases de données relationnelles traditionnelles.
La conception de schémas de base de données est un processus cyclique qui va de la compréhension des besoins de l'entreprise à la mise en œuvre d'une base de données fonctionnelle.
Le processus commence par la compréhension des besoins de l'entreprise. À cette étape, l'équipe :
Il est important de prendre en considération la scalabilité, la sécurité des données sensibles et toutes les règles et lois en vigueur au cours du processus, car il est difficile de mettre en œuvre de telles considérations à l'avenir.
Une fois les besoins de l'entreprise identifiés, l'équipe crée des diagrammes entité-association, qui constituent un modèle de haut niveau des données de la base de données. Lors de la conception conceptuelle de la base de données, l'équipe :
Un diagramme de relations entre entités fournit une représentation visuelle utile pour que les personnes du monde des affaires et du monde technique parviennent à un accord. La conception conceptuelle doit être vérifiée pour s'assurer qu'elle correspond aux besoins réels avant de passer à l'étape suivante.
Le schéma logique transforme le modèle conceptuel en un schéma de base de données détaillé prêt à être implémenté.
Au cours de cette étape :
À ce stade, le schéma de base de données logique est suffisamment précis pour être mis en œuvre, mais reste indépendant d'un système de base de données particulier. Le schéma logique sert de pont entre le schéma conceptuel et le schéma physique.
Le schéma physique représente l'implémentation de la base de données sur un système technologique de base de données particulier.
Cette étape implique généralement :
Si les schémas de base de données sont transférés depuis un autre système ou vers un système existant, la migration des données est une étape importante. Le schéma de base de données physique doit tenir compte des exigences spécifiques de la plateforme de gestion de base de données cible.
La normalisation et l'intégrité des données vont de pair et contribuent à garantir que les données sont exactes, cohérentes et faciles à gérer.
La normalisation de base de données est le processus d'organisation des données afin de réduire la redondance et d'améliorer l'intégrité des données. La normalisation est généralement décrite à l'aide de formes normales progressives, notamment 1NF, 2NF et 3NF.
La normalisation de la base de données divise une grande table en tables de données plus petites et liées. Cela permet de :
Dans certains cas, la normalisation ralentit les choses. La dénormalisation est une technique de conception de base de données dans laquelle :
La dénormalisation est utilisée dans l'entreposage de données et l'analytique, ainsi que dans les conceptions de schémas en étoile et en flocon de neige pour les charges de travail de traitement analytique en ligne.
L'objectif d'une bonne conception de schéma est de s'adapter aux modèles courants d'accès aux données. Le plus souvent, cela signifie concevoir un schéma normalisé pour en faciliter la compréhension, puis y apporter de petites modifications pour améliorer les performances ou la facilité d'utilisation.
La cohérence est également importante pour l'utilisabilité, car elle permet à de nombreuses personnes de travailler avec les données sans confusion. La conception de schémas n'est pas un processus unique. Il est important d'examiner souvent le schéma et d'apporter des modifications pour éviter qu'une petite limitation ne devienne une grande limitation.
Les schémas de base de données évolutifs reposent sur quelques concepts simples :
Ces concepts sont importants dans les grandes bases de données de warehouse. Comprendre la relation entre la conception de schémas de base de données et les principes d' architecture de données garantit l'évolutivité.
La conception de schémas joue également un rôle clé dans la sécurité et la gouvernance des données.
Pour les organisations qui mettent en œuvre des stratégies complètes de gouvernance des données, les autorisations de schéma de base de données constituent un contrôle fondamental.
Les erreurs de conception de schéma peuvent entraîner des problèmes de qualité des données et de performance :
SQL est utilisé pour définir les schémas de base de données. SQL fournit des instructions sur la manière dont les schémas de base de données sont créés, modifiés et tenus à jour en fonction du mode de stockage ou d'accès aux données.
Les tâches de gestion de schémas de base de données les plus courantes en SQL impliquent un ensemble d'instructions de base du langage de définition de données (DDL).
Créer des schémas et des tables : l'instruction CREATE SCHEMA crée un espace de noms, tandis que CREATE TABLE crée des tables de base de données dans le schéma. Les commandes de schéma SQL sont fondamentales pour la gestion des bases de données.
Définir la structure et les relations : les colonnes, les types de données, la clé primaire, les clés étrangères et les autres contraintes sont définis dans les définitions de table. Le schéma définit la manière dont les objets de la base de données sont liés.
Modifier les tables existantes : l'instruction ALTER TABLE permet aux utilisateurs d'ajouter des colonnes ou de modifier les types de données et les contraintes dans la structure de la base de données SQL.
Supprimer les objets de schéma : L'instruction DROP TABLE ou DROP SCHEMA supprime une table ou un schéma, en pleine connaissance de la perte de données potentielle.
Ce sont les instructions de gestion de schémas SQL les plus importantes, qui sont utilisées dans des moteurs d'analytique distribuée tels que Spark SQL.
Bien que SQL soit une norme, la gestion des schémas peut varier d'une base de données à l'autre.
Oracle Database vs SQL Server : les schémas d'Oracle Database sont associés à des utilisateurs de la base de données, tandis que les schémas de SQL Server sont des unités d'organisation distinctes. L'architecture du système de gestion de base de données diffère d'une plateforme à l'autre.
Autre terminologie de base de données : MySQL l'appelle une base de données, tandis que PostgreSQL l'appelle un schéma. Chaque système de base de données a des conventions uniques.
Problèmes de portabilité : différents types de données, contraintes, indexation et syntaxe DDL peuvent compliquer le déplacement d'un schéma d'un système de base de données à un autre.
En raison de ces variations, la gestion des schémas de base de données nécessite souvent des ajustements spécifiques à la base de données, même lorsque les conceptions suivent les pratiques SQL standard. Un administrateur de base de données doit comprendre ces différences de plateforme.
Les schémas de base de données sont utilisés dans les systèmes de données modernes, y compris les data warehouse, les data lake et les plateformes de streaming. Bien que la technologie de base de données utilisée soit différente, l'objectif de l'utilisation d'un schéma est le même : fournir une structure, une signification et une cohérence aux données.
Les plateformes de données cloud gèrent les schémas de base de données à grande échelle, en particulier entre des données et des utilisateurs partagés.
Points clés :
Ces modèles sont typiques des plateformes d'analytique cloud-natives construites autour d'un modèle de data warehouse unifié. Les plateformes cloud modernes traitent le schéma de base de données comme une couche de gouvernance clé.
La modification du schéma de la base de données dans un environnement de production est difficile, surtout lorsque plusieurs tables et charges de travail dépendent du schéma de la base de données.
Les approches courantes pour faire évoluer le schéma de la base de données incluent :
Ces pratiques soutiennent une évolution fiable des schémas dans les environnements d'ingénierie des données modernes.
Le schéma de base de données joue un rôle essentiel dans la gouvernance et la conformité des données.
Le schéma de la base de données fournit les éléments suivants :
Ces fonctionnalités de schéma de base de données garantissent la création d'un environnement de gouvernance des données, tel qu'implémenté dans Unity Catalog. Les données du schéma deviennent une source de vérité pour l'organisation des données et la gestion de la base de données.
Un système de e-commerce simple offre un moyen pratique de voir comment les schémas de base de données sont appliqués dans des scénarios du monde réel.
Dans un système de e-commerce transactionnel, le schéma de base de données est conçu pour prendre en charge les opérations quotidiennes telles que la passation de commandes et la gestion des clients pour le traitement des transactions en ligne.
Un schéma de base de données relationnelle type inclut :
Ces tables de base de données sont connectées à l'aide de clés primaires et étrangères :
Cette structure applique des relations un-à-plusieurs, minimise la redondance et maintient l'intégrité des données pour les charges de travail transactionnelles. La conception du schéma de base de données garantit la cohérence des données dans les opérations de traitement des transactions en ligne.
Pour le reporting et l'analytique, ce schéma transactionnel est souvent transformé en un modèle de schéma en étoile.
Dans ce modèle :
Cette conception de schéma simplifie les queries et prend en charge la génération de rapports efficaces dans les data warehouse et les systèmes de Business Intelligence à l'aide du traitement analytique en ligne.
La conception de schémas recherche un équilibre entre l'intégrité des données, les performances des requêtes et l'efficacité du stockage.
Pour plus de détails sur le schéma en étoile et les décisions de modélisation dimensionnelle, consultez le blog Implementing Dimensional Data Warehouse.
Un schéma de base de données bien conçu est fondamental pour des systèmes de données fiables et performants. En séparant l'intention conceptuelle, la structure logique et l'implémentation physique, les schémas de base de données favorisent la clarté, l'évolutivité et la maintenabilité à long terme.
La conception de schémas fonctionne mieux en tant que processus itératif de conception, de test et d'affinement. Des outils tels que les ERD, les outils de modélisation de bases de données et les clients SQL soutiennent cette évolution. Un administrateur de base de données et des concepteurs de bases de données doivent collaborer tout au long du processus pour s'assurer que la conception du schéma de la base de données répond à toutes les exigences.
Pour continuer à apprendre, entraînez-vous à concevoir des schémas, approfondissez votre compréhension de la normalisation des bases de données et explorez différents modèles de conception de schémas. Pour des bases plus larges, consultez le glossaire de l'architecture des données.
Comprendre comment les principes des schémas de base de données s'appliquent à l' architecture de données moderne et aux pratiques de modélisation des données vous aidera à créer des systèmes de données plus efficaces qui montent en charge avec les besoins de votre organisation. Que vous travailliez avec des bases de données relationnelles, des bases de données NoSQL ou des systèmes hybrides, une conception de schéma de base de données solide reste essentielle.
