В чем разница между схемой, таблицей и базой данных?
-
08-07-2019 - |
Вопрос
Вероятно, это неприятный (или еще хуже) вопрос.Но я всегда рассматривал схему как определение таблицы в базе данных.Это неправильно или не совсем правильно.Я мало что помню из своих курсов по базам данных.
Решение
схема : база данных : таблица :: план этажа : дом : номер р>
Другие советы
А схема отношения является логическим определением таблицы: оно определяет имя таблицы, а также имя и тип каждого столбца.Это как план или чертеж.А схема базы данных представляет собой набор схем отношений для всей базы данных.
А стол представляет собой структуру с набором строк (также известных как «кортежи»), каждая из которых имеет атрибуты, определенные схемой.Таблицы также могут иметь индексы, помогающие искать значения в определенных столбцах.
А база данных формально — это любой набор данных.В этом контексте база данных будет представлять собой набор таблиц.А СУБД (Система управления базами данных) — это программное обеспечение (например, MySQL, SQL Server, Oracle и т. д.), которое управляет базой данных и запускает ее.
В двух словах, схема - это определение всей базы данных, поэтому она включает таблицы, представления, хранимые процедуры, индексы, первичные и внешние ключи и т. д.
Было показано, что эта конкретная публикация относится только к Oracle, а определение схемы изменяется в контексте другой БД.
Возможно, что-то вроде гугла, но термины FYI, кажется, различаются в своих определениях, что является самой раздражающей вещью:)
В Oracle база данных - это база данных. Думайте об этом как о файлах данных, журналах повторов и фактическом физическом присутствии на диске самой базы данных (т.е. не экземпляра)
Схема фактически является пользователем. Более конкретно, это набор таблиц / procs / indexes и т. Д., Принадлежащих пользователю. У другого пользователя есть другая схема (таблицы, которыми он / она владеет), однако пользователь также может видеть любые схемы, на которых у него есть права доступа. Таким образом, база данных может состоять из сотен схем, а каждая схема - из сотен таблиц. Вы можете иметь таблицы с одинаковыми именами в разных схемах, которые находятся в одной базе данных.
Таблица - это таблица, набор строк и столбцов, содержащих данные, и содержится в схемах.
Определения могут отличаться в SQL Server, например. Я не знаю об этом.
Поведение схемы похоже на родительский объект в мире ООП.так что это не сама база данных.может быть эта ссылка Полезно.
Но в 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 (или несколько) разных объектов с разными идентификаторами объектов.
База данных схема - это способ логически группировать объекты, такие как таблицы, представления, хранимые процедуры и т. д. Думайте о схеме как о контейнере объектов. А таблицы - это коллекции строк и столбцов. Сочетание всех таблиц составляет БД.