Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
на айфон. ответа по бд.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
972.8 Кб
Скачать

35) Секционирование таблиц.

Microsoft SQL Server поддерживает физическое разделение данных таблицы без разделения логической таблицы - такие таблицы называются секционированными. Данные секционированных таблиц подразделяются на блоки, которые могут быть распределены по нескольким файловым группам в базе данных.

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

В SQL Server все таблицы в базе данных считаются секционированными, даже если они состоят всего лишь из одного раздела. Фактически, секции представляют собой базовую организационную единицу в физической архитектуре таблиц и индексов. Это означает, что логическая и физическая архитектура таблиц и индексов, включающая несколько секций, полностью отражает архитектуру таблиц и индексов, состоящих из одной секции

Чтобы создать секционированную таблицу, необходимо выполнить следующие шаги:

  1. Создать функцию секционирования, чтобы указать, каким образом таблица будет секционирована.

  2. Создать схему секционирования, чтобы указать размещение секций функцией секционирования по файловым группам.

  3. Создать таблицу с использованием схемы секционирования.

Для изменения количества секций используются следующие операции:

  • Операция разделения используется при необходимости разделить существующую секцию на две, фактически добавляя новую граничную точку функции разбиения

  • Слияние позволяет объединить две рядом стоящие секции, то есть удалить граничную точку функции разбиения.

  • Переключение позволяет подменить заполненную данными секцию таблицы пустой секцией.

36)Выборка данных из нескольких таблиц. Конструкция join. Виды соединений.

Выборка осуществляется с помощью одной команды SELECT, являющейся частью языка DML (Data Manipulation Language – язык управления данными).

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

Команда SELECT состоит из следующих основных частей: списка выборки и разделов FROM, WHERE, GROUP BY, HAVING, ORDER BY и COMPUTE – обязательным является лишь список выборки.

Простая выборка данных

Для простой выборки данных используется сокращенный синтаксис оператора SELECT:

SELECT [ALL | DISTINCT] [TOP n [PERCENT] СписокВыборки

FROM ИмяТаблицы

WHERE УсловиеОтбора

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

*| ИмяПоля | Выражение [AS Псевдоним], [...n].

По умолчанию команда SELECT возвращает все записи, включая дубликаты, что определяется ключевым словом ALL, которое может быть опущено. Для получения набора уникальных неповторяющихся записей необходимо указывать ключевое слово DISTINCT.

Использование ключевого слова TOP предписывает выводить не все записи итогового набора, а только n первых. Можно выбирать не фиксированное количество записей, а определенный процент от всех строк – для этого указывается ключевое слово PERCENT.

Пример 1:

Для получения списка названий книг с авторами из таблицы Book_name базы данных Books необходимо выбрать поля B_name и avtor:

SELECT B_name AS 'Название',AvtorAS 'Автор' FROM Book_name

При этом БД Books должна быть текущей. Поля данных будут представлены пользователю в порядке, определенном в списке выборки.

Для определения соответствия выражения одному из перечисленных в заданном списке значений применяется логический оператор IN. Данный оператор всегда может быть записан и в виде группы условий, объединенных операндом OR.

Пример, Можно получить список сотрудников из США и Канады:

Select LastName From Table WHERE CountryName IN (‘United States’, ‘Canada’)

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

Существует четыре вида соединений:

  • внутреннее,

  • внешнее,

  • полное,

  • перекрестное.

Для объединения трех и более таблиц можно применять последовательность соединений.

Для соединения таблиц необходимо раздел FROM дополнить ключевыми словами JOIN, которое определяет соединяемые таблицы и метод соединения, и ON, указывающее общие для таблиц поля.

Синтаксис:

SELECT <select list>

FROM <first table> [<alias>] <join type> <second table> [<alias>]

[ON <join condition>][;]