Как вы определяете базовую таблицу? - PullRequest
5 голосов
/ 21 апреля 2011

Мой вопрос касается теории баз данных.

Если мне дают набор таблиц, есть ли способ определить базовую таблицу, просто взглянув на них?

Ответы [ 5 ]

6 голосов
/ 22 апреля 2011

Это принцип реляционной модели, в котором нет ненужных различий между базовой таблицей (базовая связь) и производной (виртуальное отношение или «представление»). Оба типа имеют атрибуты, ключи и все другие функции, которые вы ожидаете от отношений, и оба могут использоваться одинаково. С практической точки зрения реализации необходимо, чтобы программное обеспечение СУБД обеспечивало некоторые средства для их дифференциации, но логически они одинаковы.

Принцип сходства базовых и производных отношений иногда называют принципом взаимозаменяемости.

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

1 голос
/ 21 апреля 2011

Согласно IBM здесь базовая таблица - это то, что большинство понимает как «таблица базы данных», другими словами, сама таблица.

Но я должен сказать, что ваш вопрос немного похож на "квантовую теорию" - если воспринимать буквально "просто глядя на них" ... извините, мне пришлось смеяться, потому что я почувствовал головную боль из-за этогоone.

Если я предполагаю, что вы имели в виду «просто запрашивая их», то для написания запроса вам уже нужно знать имя таблицы.Опять все немного курицы и яйца.

Может быть, вы хотите знать, если есть таблица, которая содержит список всех таблиц базы данных?Скорее это зависит от системы баз данных, с которой вы работаете, а иногда и от приложений.Взять, к примеру, SAP.Он может использовать систему баз данных Oracle и создает таблицу базы данных, которая содержит список всех сгенерированных таблиц SAP.Вы можете думать об этом как о базовой таблице в том смысле, что она идет не дальше, чем она сама.

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

... или, возможно, нет.

0 голосов
/ 21 апреля 2011

Отказ от ответственности: я никогда не слышал о «базовой таблице» до сих пор

После некоторого поиска в Google единственные случаи, когда кто-либо говорит о «Базовых таблицах», кажется, когда описываютфизические таблицы, от которых зависит представление.

Исходя из этого, я бы сказал, что все таблицы являются базовыми, за исключением временных таблиц.

0 голосов
/ 21 апреля 2011

Если по базовой таблице вы говорите о наследовании от таблицы, то да, вы можете объединить общие поля таблицы в базовой таблице.

Например: Базовая таблица: Пользователь (имя) Таблицы, использующие наследованиепользователь таблицы: администратор, член и т. д.

Но не смущайтесь этим наследованием, оно только копирует поля, ничего больше, это не вещи Oriented-Object.

0 голосов
/ 21 апреля 2011

Я предполагаю, что вы хотите сказать обычную таблицу из представления.

Это зависит от того, что вы подразумеваете под "взглядом на них".

ЕслиВы имеете в виду просто смотреть на данные, то нет.

Если вы имеете в виду просмотр сценария, который создает таблицу, тогда да.Кроме того, если вы имеете в виду, просматривая что-то вроде SQL Server Management Studio, то снова да, потому что они разбивают таблицы и представления на разные папки.

...