2017-07-17 1 views
2

Salut, je suis nouveau dans le domaine CS, et une chose est que, avant de poser cette question, je l'ai déjà googlé, mais cela m'a fait plus confus entre deux définitions que j'ai trouvé juste en demandant lequel est correct? . alors dans ce lien j'ai trouvé plusieurs réponses dont une est correcte? What is purpose of database schema?qu'est-ce qu'un schéma de base de données?

je trouve ces choses me confondant pour moi, je pense que les deux sont différents les uns des autres Inspirations ..

1) Un schéma SQL est conteneur d'objets. Par exemple, vous pouvez avoir une grande application d'entreprise et il est recommandé d'utiliser différents schémas à des fins différentes (par exemple, mettre des tables liées aux ressources humaines dans un schéma RH, des tables liées à la comptabilité dans un schéma comptable, etc.). Un schéma peut appartenir à n'importe quel utilisateur et la propriété est transférable.

2) le schéma de base de données est la définition qui décrit la configuration complète de la base de données, y compris toutes ses tables, relations, index, etc

ma question est différente, j'ai lu les réponses multiples qui sont disponibles, mais J'ai trouvé plusieurs réponses qui est ce qui m'a rendu plus confus

Répondre

2

Les deux sont corrects. "Schéma" a plusieurs significations. Votre première signification est le type de schéma que vous obtenez avec CREATE SCHEMA - un conteneur d'objet. Votre deuxième signification est la signification générale de "schéma de base de données" qui est indépendant de SQL Server. Habituellement, il est clair à partir du contexte que la signification est voulue - le "schéma de la base de données" est typiquement singulier, alors que les "schémas" dans une base de données unique se réfèrent aux conteneurs. Donc, si vous vouliez être particulièrement confus, vous pourriez parler d'un schéma de base de données qui a plusieurs schémas dedans.

2

parler brièvement, Schema est synonyme de database instance

Vous pouvez utiliser les deux CREATE SCHEMA MYDATABASE et CREATE DATABASE MYDATABASE dans la base de données relationnelle telles que MySql pour créer une nouvelle instance de base de données.

Le mot Schema était autrefois considéré comme trop académique et un peu plus tard obsolète.

Les deux sont Okey, mais Schema sonne un peu geek.

+0

Ce que vous dites est vrai spécifiquement pour MySQL (la question concerne SQL Server). En MySQL, 'SCHEMA' est un synonyme syntaxique de' DATABASE'. Cependant, même pour les bases de données MySQL, il serait normal de parler du schéma de base de données sans le confondre avec la base de données elle-même - concept abstrait indépendant du système de base de données utilisé (les schémas SQL Server sont un détail d'implémentation). –