рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Выборка данных из нескольких таблиц

Выборка данных из нескольких таблиц - раздел Программирование, Многотабличные запросы на чтение и объединение таблиц Правила Нормализации Таблиц, Действующие В Рамках Концепции Реляционной Модел...

Правила нормализации таблиц, действующие в рамках концепции реляционной модели, рекомендуют разбивать данные на множество таблиц. Следовательно, в базе данных, разработанной в соответствии с концепцией реляционной модели, информация, как правило, хранится в нескольких связанных между собой таблицах. Поэтому, для получения достаточно полной информации из такой базы данных обычно требуется извлекать данные из нескольких таблиц (Рисунок 1). SQL позволяет получать информацию из двух и более таблиц путем формирования многотабличных запросов.

Рисунок 1 Таблицы, связанные отношением «первичный ключ/внешний ключ»

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

Чтобы информация, полученная в результате многотабличного запроса, была полноценной, необходимо, чтобы сравниваемые столбцы имели одинаковые или совместимые (т.е. такие, которые можно преобразовать друг в друга) типы данных. Значения, содержащиеся в столбцах, по которым производится соединение, должны быть сравнимыми. Например, столбцы DNAME и ENAME (Рисунок 1) имеют один тип данных, но объединять таблицы на основе этих столбцов не имеет смысла, т.к. информация, полученная в результате сравнения названия отдела с фамилией сотрудника, не будет иметь никакой ценности. Имена сравниваемых столбцов могут быть разными, хотя чаще всего они совпадают. Если в столбцах, по которым производится сравнение, имеются неопределенные значения, то они пропускаются, т.к. неопределенное значение не может быть равно никакому, в том числе неопределенному, значению. Связанные столбцы можно не включать в результирующее множество, т.к. чаще всего они представляют собой идентификаторы, которые сами по себе интереса не представляют.

Основные типы соединения таблиц:

§ Эквисоединения (соединение по равенству)

§ Не-эквисоединения (соединения по неравенству)

Кроме этого существуют следующие типы соединения таблиц

§ Внешние соединения

§ Соединения с собой (самосоединения)

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

– Конец работы –

Эта тема принадлежит разделу:

Многотабличные запросы на чтение и объединение таблиц

На сайте allrefs.net читайте: "Многотабличные запросы на чтение и объединение таблиц"

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Выборка данных из нескольких таблиц

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Многотабличные запросы на чтение и объединение таблиц
Выборка данных из нескольких таблиц Декартово произведение Многотабличные запросы Псевдонимы таблиц Чтение всех столбцов Порядок выполнения многотабличн

Декартово произведение
В связи с тем, что многотабличные запросы выполняются путем сравнения столбцов, оператор SELECT должен содержать условие поиска, которое определяет соотношение столбцов. Если условие поиска опущено

SELECT [ALL | DISTINCT] список_выбора
FROM таблица1 [псевдоним1], таблица2 [псевдоним2], … [WHERE условие_соединения] [ORDER BY {столбец

Псевдонимы таблиц
Имена таблиц могут оказаться слишком длинными. В этом случае при составлении корректного запроса код SQL может оказаться очень большим, что увеличит время отклика, т.к. на обработку такого запроса

Порядок выполнения многотабличного запроса
1. Формируется декартово произведение таблиц, перечисленных в предложении FROM. 2. Условие соединения, заданное в предложении WHERE, применяется ко всем строкам декартова произведения табл

Не-эквисоединения
Достаточно часто возникает ситуация, когда необходимо получить информацию из разных таблиц, причем ни один столбец таблицы не соответствует в точности ни одному столбцу другой таблицы. Например (Ри

Соединение таблицы с самой собой
Отношения могут существовать не только между таблицами, но и внутри одной таблицы (рекурсивная связь). Например (Рисунок 3), таблица EMP содержит список сотрудников, каждый

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

Многотабличные запросы и стандарт SQL2
В стандарте SQL1 дано определение только внутреннего соединения таблиц, понятие внешнего соединения в нем отсутствует. Однако внешнее соединение таблиц является полезной частью реляционной модели д

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги