2008-11-18 5 views
107

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

+1

В схеме оракула просто ссылается на пользователя. То есть, когда мы создаем пользователя, схема будет создана теперь, мы можем добавить таблицы, представления, пакеты индексов и т. Д. Как – Ali786 2014-12-09 09:48:31

ответ

183

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

+0

nice: D подумал, что было больше, чем это – anbanm 2008-11-18 13:48:50

+50

Немного загадочно, но не ошибаюсь; но вы действительно думаете, что самопровозглашенный n00b поймет это? – 2008-11-18 13:49:17

+4

Хорошая аналогия. Я бы изменил «план этажа» на «синие принты», потому что схема имеет больше, чем просто таблицы, а синие отпечатки содержат проводку, отопление и сантехнику. – 2008-11-18 13:49:50

13

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

84

A отношение схема - логическое определение таблицы - она ​​определяет w имя таблицы и имя и тип каждого столбца. Это похоже на план или план. A схема базы данных - это сборка схем связей для всей базы данных.

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

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

10

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

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

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

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

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

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

2

Более подробно о схемах:

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

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

Точка обозначения бы так:

Server.Database.Schema.Object

или

myserver01.Adventureworks.Accounting.Beans

1

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

0

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

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

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

Schemas содержит представление, хранимые процедуры (ы), базы данных (ы), спусковой механизм (ы) и т.д.

7

схема ведет себя как кажется, родительским объект, как показано в объектно-ориентированном мире. поэтому это не сама база данных. возможно, this link.

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

  • CREATE DATABASE < => CREATE SCHEMA
  • ВЫСТАВКАХ БАЗ < => SHOW SCHEMAS

Documentation of MySQL

SCHEMA & условия БАЗ являются чем-то СУБД зависит.

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

2

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

0

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

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

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

0

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

2

Концепция схемы различна в разных программах db.

здесь я просто обратитесь к оракулу схеме:


Схема объектов

Схема представляет собой набор логических структур данных или объектов схемы. Схема принадлежит пользователю базы данных и имеет то же имя, что и этот пользователь. Каждому пользователю принадлежит одна схема. Объекты схемы могут быть созданы и управляются с SQL и включают в себя следующие типы объектов:

Кластеры Ограничения базы данных ссылками триггеры базы данных Размеры Внешние процедуры библиотеки Index организованы столы Индексы Indextypes классы Java, Java ресурсы, Java источники материализованные представления журналы материализованного представления таблицы объектов типы объектов объектные представления операторы пакетов Последовательность Хранимых функции, хранимые процедуры Синонимы Таблица Просмотров


Nonschema объекты

Других типов объектов также хранятся в базе данных и могут быть созданы и управляются с SQL, но не являются содержится в схеме:

Контексты Каталоги Файлы параметров (PFILE) и файлы параметров сервера (SPFILE) Профили Роли сегменты Откат Tablespaces Пользователи

1

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

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

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

схема: database: table :: владелец: hou se: room

1

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

Смежные вопросы