C'est probablement une question n00blike (ou pire). Mais j'ai toujours considéré un schéma comme une définition de table dans une base de données. C'est faux ou pas tout à fait correct. Je ne me souviens pas beaucoup de mes cours de base de données.
C'est probablement une question n00blike (ou pire). Mais j'ai toujours considéré un schéma comme une définition de table dans une base de données. C'est faux ou pas tout à fait correct. Je ne me souviens pas beaucoup de mes cours de base de données.
Réponses:
schéma : base de données : table :: plan d'étage : maison : pièce
Un schéma de relation est la définition logique d'une table - il définit le nom de la table, ainsi que le nom et le type de chaque colonne. C'est comme un plan ou un plan. Un schéma de base de données est la collection de schémas de relations pour une base de données entière.
Une table est une structure avec un tas de lignes (aka "tuples"), dont chacune a les attributs définis par le schéma. Les tables peuvent également contenir des index pour faciliter la recherche de valeurs sur certaines colonnes.
Une base de données est, formellement, toute collection de données. Dans ce contexte, la base de données serait une collection de tables. Un SGBD (système de gestion de base de données) est le logiciel (comme MySQL, SQL Server, Oracle, etc.) qui gère et exécute une base de données.
En un mot, un schéma est la définition de l'ensemble de la base de données, il comprend donc des tables, des vues, des procédures stockées, des index, des clés primaires et étrangères, etc.
Il a été démontré que cette écriture particulière concerne uniquement Oracle et que la définition du schéma change dans le contexte d'une autre base de données.
Probablement le genre de chose à rechercher sur Google, mais les termes pour info semblent varier dans leurs définitions, ce qui est la chose la plus ennuyeuse :)
Dans Oracle, une base de données est une base de données. Dans votre tête, pensez à cela comme aux fichiers de données et aux fichiers de journalisation et à la présence physique réelle sur le disque de la base de données elle-même (c'est-à-dire pas à l'instance)
Un schéma est en fait un utilisateur. Plus précisément, il s'agit d'un ensemble de tables / procs / index, etc. appartenant à un utilisateur. Un autre utilisateur a un schéma différent (tables qu'il possède), mais l'utilisateur peut également voir tous les schémas sur lesquels il a sélectionné des privilèges. Ainsi, une base de données peut être constituée de centaines de schémas et chaque schéma de centaines de tables. Vous pouvez avoir des tables avec le même nom dans différents schémas, qui se trouvent dans la même base de données.
Une table est une table, un ensemble de lignes et de colonnes contenant des données et est contenue dans des schémas.
Les définitions peuvent être différentes dans SQL Server par exemple. Je n'en suis pas conscient.
Le schéma se comporte comme un objet parent comme on le voit dans le monde POO. ce n'est donc pas une base de données en soi. peut - être que ce lien est utile.
Mais, dans MySQL, les deux sont équivalents. Le mot-clé DATABASE ou DATABASES peut être remplacé par SCHEMA ou SCHEMAS partout où il apparaît. Exemples:
Les termes SCHEMA & DATABASE dépendent du SGBD.
Une table est un ensemble d'éléments de données (valeurs) qui est organisé à l'aide d'un modèle de colonnes verticales (identifiées par leur nom) et de lignes horizontales. Une base de données contient une ou plusieurs tables (généralement) . Et vous stockez vos données dans ces tableaux. Les tableaux peuvent être liés les uns aux autres ( voir ici ).
En savoir plus sur les schémas:
Dans SQL 2005, un schéma est un moyen de regrouper des objets. C'est un conteneur dans lequel vous pouvez placer des objets. Les gens peuvent posséder cet objet. Vous pouvez accorder des droits sur le schéma.
En 2000, un schéma équivalait à un utilisateur. Maintenant, il s'est libéré et est très utile. Vous pouvez lancer tous vos processus utilisateur dans un certain schéma et vos processus d'administration dans un autre. Accordez EXECUTE à l'utilisateur / rôle approprié et vous avez terminé d'accorder EXECUTE sur des procédures spécifiques. Agréable.
La notation par points ressemblerait à ceci:
Server.Database.Schema.Object
ou
myserver01.Adventureworks.Accounting.Beans
A Schema
est une collection d'objets de base de données qui comprend également des structures logiques. Il porte le nom de l'utilisateur qui le possède. A database
peut avoir n'importe quel nombre de schémas. Une table d'une base de données peut apparaître dans deux schémas différents du même nom. Un utilisateur peut afficher tout schéma pour lequel le privilège de sélection lui a été attribué.
Contrairement à certaines des réponses ci-dessus, voici ma compréhension basée sur l'expérience de chacune d'elles:
database/schema :: table
database :: (schema/namespace ::) table
database/schema/user :: (tablespace ::) table
Veuillez me corriger si le tablespace est facultatif ou non avec Oracle, cela fait longtemps que je ne me souviens pas de les utiliser.
Une base de données contient un ou plusieurs schémas nommés, qui à leur tour contiennent des tables. Les schémas contiennent également d'autres types d'objets nommés, notamment des types de données, des fonctions et des opérateurs. Le même nom d'objet peut être utilisé dans différents schémas sans conflit; par exemple, schema1 et myschema peuvent contenir des tables nommées mytable. Contrairement aux bases de données, les schémas ne sont pas séparés de manière rigide: un utilisateur peut accéder aux objets de n'importe lequel des schémas de la base de données à laquelle il est connecté, s'il dispose des privilèges pour le faire.
Il y a plusieurs raisons pour lesquelles on peut vouloir utiliser des schémas:
Pour permettre à de nombreux utilisateurs d'utiliser une base de données sans interférer les uns avec les autres.
Pour organiser les objets de base de données en groupes logiques pour les rendre plus faciles à gérer.
Les applications tierces peuvent être placées dans des schémas distincts afin de ne pas entrer en collision avec les noms d'autres objets.
Les schémas sont analogues aux répertoires au niveau du système d'exploitation, sauf que les schémas ne peuvent pas être imbriqués.
La documentation officielle peut être consultée https://www.postgresql.org/docs/9.1/ddl-schemas.html
Les schémas contiennent des bases de données.
Les bases de données font partie d'un schéma.
Donc, schémas> bases de données.
Les schémas contiennent des vues, des procédures stockées, des bases de données, des déclencheurs, etc.
Un schéma n'est pas un plan pour l'ensemble de la base de données. C'est un plan / conteneur pour un sous-ensemble d'objets (ex. Tables) dans une base de données.
Cela veut dire que vous pouvez avoir plusieurs objets (ex. Tables) dans une même base de données qui ne relèvent pas nécessairement de la même catégorie fonctionnelle. Vous pouvez donc les regrouper sous différents schémas et leur donner différentes autorisations d'accès utilisateur.
Cela dit, je ne sais pas si vous pouvez avoir une table sous plusieurs schémas. L'interface utilisateur de Management Studio propose une liste déroulante pour attribuer un schéma à une table, permettant ainsi de ne choisir qu'un seul schéma. Je suppose que si vous le faites avec TSQL, cela pourrait créer 2 (ou plusieurs) objets différents avec des ID d'objet différents.
Un schéma de base de données est un moyen de regrouper logiquement des objets tels que des tables, des vues, des procédures stockées, etc. Considérez un schéma comme un conteneur d'objets. Et les tableaux sont des collections de lignes et de colonnes. la combinaison de toutes les tables fait un db.