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

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

вопрос задан 18.11.2008
anbanm
5085 репутация

15 ответов


  • 198 рейтинг

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

    4104271803 239077
    ответ дан MusiGenesis, с репутацией 60340, 18.11.2008
  • 97 рейтинг

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

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

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

    ответ дан Ian Varley, с репутацией 7146, 18.11.2008
  • 14 рейтинг

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

    ответ дан Graeme Perrow, с репутацией 35364, 18.11.2008
  • 10 рейтинг

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

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

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

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

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

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

    ответ дан Robert, с репутацией 1282, 18.11.2008
  • 7 рейтинг

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

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

    • CREATE DATABASE & lt; = & gt; СОЗДАТЬ СХЕМУ
    • ПОКАЗАТЬ БАЗЫ ДАННЫХ & lt; = & gt; СХЕМА ШОУ

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

    SCHEMA & amp; Термины базы данных зависят от СУБД.

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

    ответ дан earthdan, с репутацией 190, 15.02.2012
  • 2 рейтинг

    концепция схемы отличается в разных программах БД.

    здесь я просто ссылаюсь на схему оракула:


    Объекты схемы

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

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


    Ноншема Объекты

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

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

    ответ дан JZ.Hunt, с репутацией 17, 28.02.2014
  • 2 рейтинг

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

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

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

    Точечная запись будет выглядеть следующим образом:

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

    или

    myserver01. AdventureWorks. Учет. Фасоль

    ответ дан Sam, с репутацией 6636, 18.11.2008
  • 2 рейтинг

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

    ответ дан Iswarya, с репутацией 21, 3.07.2012
  • 1 рейтинг

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

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

    Но в Oracle это может быть легче думать:

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

    ответ дан cmrust, с репутацией 177, 12.04.2014
  • 1 рейтинг

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

    ответ дан prasadj, с репутацией 11, 9.02.2010
  • 1 рейтинг

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

    ответ дан Salman Welji, с репутацией 20, 13.03.2015
  • 0 рейтинг

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

    • MySQL: database/schema :: table
    • SQL Server: database :: (schema/namespace ::) table
    • Oracle: database/schema/user :: (tablespace ::) table

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

    ответ дан Sridhar-Sarnobat, с репутацией 7034, 14.03.2018
  • 0 рейтинг

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

    ответ дан vivek chandel, с репутацией 1, 18.10.2013
  • 0 рейтинг

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

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

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

    ответ дан Gadam, с репутацией 524, 27.03.2013
  • 0 рейтинг

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

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

    Итак, схемы & gt; базы данных.

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

    ответ дан Rafael Lopes, с репутацией 43, 4.12.2011