Это, вероятно, вопрос типа n00b (или хуже). Но я всегда рассматривал схему как определение таблицы в базе данных. Это неправильно или не совсем правильно. Я не помню много из моих курсов баз данных.
Это, вероятно, вопрос типа n00b (или хуже). Но я всегда рассматривал схему как определение таблицы в базе данных. Это неправильно или не совсем правильно. Я не помню много из моих курсов баз данных.
Ответы:
схема : база данных : таблица :: план этажа : дом : комната
Отношение схема является логическим определением таблицы - это определяет , что имя таблицы, и то , что имя и типа каждого столбца. Это как план или план. Схема базы данных представляет собой набор реляционных схем для всей базы данных.
Таблица представляет собой структуру с кучей строк ( так называемый «кортежей»), каждый из которых имеет атрибуты , определенные в схеме. Таблицы могут также иметь индексы для поиска значений в определенных столбцах.
База есть, формально, любой набор данных. В этом контексте база данных будет представлять собой набор таблиц. СУБД (система управления базами данных) является программное обеспечение (например , MySQL, SQL Server, Oracle и т.д.) , которая управляет и управляет базой данных.
В двух словах, схема - это определение всей базы данных, поэтому она включает таблицы, представления, хранимые процедуры, индексы, первичные и внешние ключи и т. Д.
Было показано, что эта конкретная публикация относится только к Oracle и определение схемы изменяется в контексте другой БД.
Вероятно, это просто гугл, но термины FYI, кажется, различаются в своих определениях, что является самой раздражающей вещью :)
В Oracle база данных - это база данных. В вашей голове думайте об этом как о файлах данных, журналах повторов и фактическом физическом присутствии на диске самой базы данных (т.е. не экземпляра).
Схема фактически является пользователем. Более конкретно, это набор таблиц / procs / indexes и т. Д., Принадлежащих пользователю. У другого пользователя есть другая схема (таблицы, которыми он / она владеет), однако пользователь также может видеть любые схемы, на которых у него есть права доступа. Таким образом, база данных может состоять из сотен схем, а каждая схема - из сотен таблиц. Вы можете иметь таблицы с одинаковыми именами в разных схемах, которые находятся в одной базе данных.
Таблица - это таблица, набор строк и столбцов, содержащих данные и содержащиеся в схемах.
Например, определения могут быть разными в SQL Server. Я не знаю об этом.
Схема ведет себя как родительский объект, как видно в мире ООП. так что это не сама база данных. Может быть, эта ссылка полезна.
Но, в MySQL, два эквивалентны. Ключевое слово DATABASE или DATABASES может быть заменено на SCHEMA или SCHEMAS, где бы оно ни появлялось. Примеры:
Термины SCHEMA и DATABASE зависят от СУБД.
Таблица представляет собой набор элементов данных (значений) , который структурирован с использованием модели вертикальных колонок (которые идентифицированы по их имени) и горизонтальными рядами. База данных содержит одну или несколько (обычно) таблиц . И вы храните свои данные в этих таблицах. Таблицы могут быть связаны друг с другом ( см. Здесь ).
Больше на схемах:
В SQL 2005 схема - это способ группировки объектов. Это контейнер, в который вы можете помещать объекты. Люди могут владеть этим объектом. Вы можете предоставить права на схему.
В 2000 году схема была эквивалентна пользователю. Теперь это вырвалось на свободу и весьма полезно. Вы можете добавить все свои пользовательские процессы в одну схему, а ваши административные - в другую. Предоставьте EXECUTE соответствующему пользователю / роли, и вы закончили с предоставлением EXECUTE для определенных процедур. Ницца.
Точечная запись будет выглядеть так:
Server.Database.Schema.Object
или
myserver01.Adventureworks.Accounting.Beans
A Schema
представляет собой набор объектов базы данных, который также включает в себя логические структуры. У него есть имя пользователя, которому он принадлежит. А database
может иметь любое количество схем. Одна таблица из базы данных может появляться в двух разных схемах с одинаковыми именами. Пользователь может просматривать любую схему, для которой ему была назначена привилегия выбора.
Вопреки некоторым из приведенных выше ответов, мое понимание основано на опыте каждого из них:
database/schema :: table
database :: (schema/namespace ::) table
database/schema/user :: (tablespace ::) table
Пожалуйста, исправьте меня в том, является ли табличное пространство необязательным или нет в Oracle, я уже давно не использую их.
База данных содержит одну или несколько именованных схем, которые в свою очередь содержат таблицы. Схемы также содержат другие виды именованных объектов, включая типы данных, функции и операторы. Одно и то же имя объекта может использоваться в разных схемах без конфликтов; например, и schema1, и myschema могут содержать таблицы с именем mytable. В отличие от баз данных, схемы жестко не разделены: пользователь может получить доступ к объектам в любой из схем в базе данных, к которой он подключен, если у него есть для этого полномочия.
Существует несколько причин, по которым можно использовать схемы:
Позволить многим пользователям использовать одну базу данных, не мешая друг другу.
Организовать объекты базы данных в логические группы, чтобы сделать их более управляемыми.
Сторонние приложения могут быть помещены в отдельные схемы, чтобы они не конфликтовали с именами других объектов.
Схемы аналогичны каталогам на уровне операционной системы, за исключением того, что схемы не могут быть вложенными.
Официальную документацию можно отсылать https://www.postgresql.org/docs/9.1/ddl-schemas.html.
Схемы содержат базы данных.
Базы данных являются частью схемы.
Итак, схемы> базы данных.
Схемы содержат представления, хранимые процедуры, базы данных, триггеры и т. Д.
Схема не является планом для всей базы данных. Это план / контейнер для подмножества объектов (ex.tables) внутри базы данных.
Это означает, что в одной базе данных может быть несколько объектов (например, таблиц), которые не обязательно попадают в одну и ту же функциональную категорию. Таким образом, вы можете сгруппировать их по разным схемам и дать им разные права доступа пользователя.
Тем не менее, я не уверен, можете ли вы иметь одну таблицу в нескольких схемах. Пользовательский интерфейс Management Studio предоставляет раскрывающийся список для назначения схемы таблице, что позволяет выбирать только одну схему. Я предполагаю, что если вы сделаете это с TSQL, он может создать 2 (или несколько) разных объектов с разными идентификаторами объектов.
Схема базы данных - это способ логически группировать объекты, такие как таблицы, представления, хранимые процедуры и т. Д. Думайте о схеме как о контейнере объектов. А таблицы - это коллекции строк и столбцов. Сочетание всех таблиц составляет БД.