В чем разница между схемой, таблицей и базой данных?

StackOverflow https://stackoverflow.com/questions/298739

Вопрос

Вероятно, это неприятный (или еще хуже) вопрос.Но я всегда рассматривал схему как определение таблицы в базе данных.Это неправильно или не совсем правильно.Я мало что помню из своих курсов по базам данных.

Это было полезно?

Решение

схема : база данных : таблица :: план этажа : дом : номер

Другие советы

А схема отношения является логическим определением таблицы: оно определяет имя таблицы, а также имя и тип каждого столбца.Это как план или чертеж.А схема базы данных представляет собой набор схем отношений для всей базы данных.

А стол представляет собой структуру с набором строк (также известных как «кортежи»), каждая из которых имеет атрибуты, определенные схемой.Таблицы также могут иметь индексы, помогающие искать значения в определенных столбцах.

А база данных формально — это любой набор данных.В этом контексте база данных будет представлять собой набор таблиц.А СУБД (Система управления базами данных) — это программное обеспечение (например, MySQL, SQL Server, Oracle и т. д.), которое управляет базой данных и запускает ее.

В двух словах, схема - это определение всей базы данных, поэтому она включает таблицы, представления, хранимые процедуры, индексы, первичные и внешние ключи и т. д.

Было показано, что эта конкретная публикация относится только к Oracle, а определение схемы изменяется в контексте другой БД.

Возможно, что-то вроде гугла, но термины FYI, кажется, различаются в своих определениях, что является самой раздражающей вещью:)

В Oracle база данных - это база данных. Думайте об этом как о файлах данных, журналах повторов и фактическом физическом присутствии на диске самой базы данных (т.е. не экземпляра)

Схема фактически является пользователем. Более конкретно, это набор таблиц / procs / indexes и т. Д., Принадлежащих пользователю. У другого пользователя есть другая схема (таблицы, которыми он / она владеет), однако пользователь также может видеть любые схемы, на которых у него есть права доступа. Таким образом, база данных может состоять из сотен схем, а каждая схема - из сотен таблиц. Вы можете иметь таблицы с одинаковыми именами в разных схемах, которые находятся в одной базе данных.

Таблица - это таблица, набор строк и столбцов, содержащих данные, и содержится в схемах.

Определения могут отличаться в SQL Server, например. Я не знаю об этом.

Поведение схемы похоже на родительский объект в мире ООП.так что это не сама база данных.может быть эта ссылка Полезно.

Но в MySQL они эквивалентны.База данных или базы данных ключевых слов можно заменить на схемы или схемы, где бы она ни появлялась.Примеры:

  • СОЗДАТЬ БАЗУ ДАННЫХ <=> СОЗДАТЬ СХЕМУ
  • ПОКАЗАТЬ БАЗЫ ДАННЫХ <=> ПОКАЗАТЬ СХЕМЫ

Документация MySQL

Термины СХЕМА и БАЗА ДАННЫХ зависят от СУБД.

А Стол представляет собой набор элементов данных (значений), организованных с использованием модели вертикальных столбцов (которые идентифицируются по их именам) и горизонтальных строк.База данных содержит один или несколько (обычно) Таблицы .И вы храните свои данные в этих таблицах.Таблицы могут быть связаны друг с другом(Глянь сюда).

Подробнее о схемах:

В SQL 2005 схема — это способ группировки объектов.Это контейнер, в который можно помещать объекты.Люди могут владеть этим объектом.Вы можете предоставить права на схему.

В 2000 году схема была эквивалентна пользователю.Теперь он вырвался на свободу и весьма полезен.Вы можете поместить все свои пользовательские процессы в одну схему, а свои административные процессы в другую.Предоставьте EXECUTE соответствующему пользователю/роли, и вы сможете предоставить EXECUTE для определенных процедур.Хороший.

Обозначение через точку будет выглядеть так:

Сервер.База данных.Схема.Объект

или

myserver01.Adventureworks.Accounting.Beans

A Schema - это коллекция объектов базы данных, которая также включает в себя логические структуры. У него есть имя пользователя, которому он принадлежит. database может иметь любое количество схем. Одна таблица из базы данных может появляться в двух разных схемах с одинаковыми именами. Пользователь может просматривать любую схему, для которой ему назначена привилегия выбора.

В oracle Schema - один пользователь в одной базе данных, например, scott - одна схема в базе данных orcl.       В одной базе данных у нас может быть много схем типа Скотта

Как хорошо сказал MusiGenesis, в большинстве баз данных:

  

схема: база данных: таблица :: план этажа: дом: комната

Но в Oracle может быть проще думать:

схема: база данных: таблица :: владелец: дом: комната

В отличие от некоторых из приведенных выше ответов, вот мое понимание, основанное на опыте работы с каждым из них:

  • MySQL: database/schema :: table
  • SQL-сервер: database :: (schema/namespace ::) table
  • Оракул: database/schema/user :: (tablespace ::) table

Пожалуйста, поправьте меня насчет того, является ли табличное пространство необязательным или нет для Oracle, я давно не помню, чтобы я их использовал.

Схемы содержат базы данных.

Базы данных являются частью схемы.

Итак, схемы > базы данных.

Схемы содержат представления, хранимые процедуры, базы данных, триггеры и т. д.

Схема - это не план всей базы данных. Это план / контейнер для подмножества объектов (ex.tables) внутри базы данных.

Это означает, что в одной базе данных может быть несколько объектов (например, таблиц), которые не обязательно попадают в одну и ту же функциональную категорию. Таким образом, вы можете сгруппировать их по разным схемам и дать им разные права доступа пользователя.

Тем не менее, я не уверен, что вы можете иметь одну таблицу в нескольких схемах. Пользовательский интерфейс Management Studio предоставляет раскрывающийся список для назначения схемы таблице, что позволяет выбирать только одну схему. Я предполагаю, что если вы сделаете это с TSQL, он может создать 2 (или несколько) разных объектов с разными идентификаторами объектов.

База данных схема - это способ логически группировать объекты, такие как таблицы, представления, хранимые процедуры и т. д. Думайте о схеме как о контейнере объектов. А таблицы - это коллекции строк и столбцов. Сочетание всех таблиц составляет БД.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top