Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Оператор выбора SELECT структурированного языка запросов SQL. Синтаксис, примеры запросов.




 

Запросы на выборку SELECT. Основным оператором языка SQL, позволяющим осуществлять отбор информации из базы данных, является оператор SELECT, кото­рый в простейшем виде может быть задан следующим образом:

 

SELECT <список колонок, включаемых в ответ>

FROM <список таблиц>

WHERE <условие>.

 

Предложения SELECT (отобрать) и FROM (из) должны присут­ствовать обязательно. Условие WHERE (где) может быть опущено. Тогда в ответ войдут все строки, имеющиеся в таблице (если быть точным, то надо иметь в виду, что такой оператор должен соответ­ствовать реляционной операции «проекция», и если в результате про­екции на выбранные столбцы будут появляться дублирующие строки, то они должны быть удалены из ответа; однако SQL позволяет управлять выводом в ответ повторяющихся строк, и можно добиться как вывода только уникальных строк, так и включения в ответ повторяющихся строк).

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

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

Так, например, запрос «Выдать всю информацию из таблицы «Kadr» по сотрудникам, чей возраст (vozr) равен 40 годам» может быть представлен на SQL следующим образом:

SELECT * FROM kadr WHERE vozr=40;

Условие, задаваемое в предложении WHERE, может быть про­стым и сложным. Для формулирования сложного условия могут быть использованы логические операторы AND и OR. Так, например, зап­рос «Выдать всю информацию из таблицы «Kadr» по мужчинам, чей возраст равен 40 годам» (т.е. пол=«мужской» И «возраст=40 лет) может быть представлен на SQL следующим образом:

SELECT * FROM kadr WHERE vozr = 40 AND pol = «м»;

Оператор SELECT оперирует над множествами и результатом обработки в общем случае является множество строк. К этим множе­ствам могут быть применены теоретико-множественные операции объединение (UNION), пересечение (INTERSECTION), разность (DIFFERENCE, MINUS, EXCEPT) и др. В разных реализациях языка SQL наборы теоретико-множественных операций различаются.

Язык SQL позволяет запрашивать вычисляемые значения. В этом случае в предложении SELECT указывается выражение для вычисле­ния значения колонки. Например, в приведенном ниже предложении запрашивается вывод стоимости поставленных товаров путем ее вы­числения на основе хранящихся в таблице «Postypl» данных о коли­честве (kolv)поставленных товаров и их цены (сепа):

SELECT naimprod, datapost, kolv*cena

FROM postypl;

Запрос может быть простым, состоящим из одного оператора SELECT, и вложенным, когда один оператор SELECT включается в состав другого оператора. Этот включенный оператор называется подзапросом (subselect) или подчиненным запросом. Существуют два типа вложенных подзапросов: обычный и коррелированный. В обычном подзапросе внутренний запрос выполняется первым, и его результат используется для выполнения основного запроса. В коррелированном подзапросе внешний запрос выполняется первым, и его результат используется для выполнения внутреннего запроса. Внутренний запрос выполняется для каждой строки, возвращенной внешним зап­росом.

В запросе можно указать упорядоченность ответа по определен­ному признаку (полю, совокупности полей, выражению).

Возможна подгруппировка данных в целях получения подытогов или других обобщающих величин (среднее, минимум, максимум и др.). Набор агрегатных функций отличается в разных системах. В стан­дарт SQL-92 включены следующие агрегатные функции: Count- под­счет, Avg - среднее, Sum - сумма, Мах - максимум, Min минимум.

В запросе допускается только один уровень группировки. Груп­пировка может осуществляться как по одному полю, так и по сово­купности нолей.

При выполнении запроса может возникнуть необходимость со­единения двух или более таблиц. Возможны разные способы задания условия соединения (вложенные запросы, задание условия соедине­ния в предложении WHERE, операция JOIN в предложении FROM).

В некоторых реализациях языка SQL отобранные оператором SELECT данные могут быть сохранены в виде таблицы базы данных.

Запросы могут использовать функции агрегирования. Стандарт предусматривает использование следующих функций агрегирования:

COUNT – подсчет;

SUM – сумма;

МАХ – максимум;

MIN – минимум;

AVG – среднее.

Чаще всего функции агрегирования используются совместно с предложением GROUP BY, но могут применяться и самостоятельно. В последнем случае результат относится не к какой-то группе, а ко всей выборке.

Существуют два типа функции COUNT. Первый тип использует символ «*». В этом случае функция подсчитывает количество строк в группе. Отдельные значения столбцов при этом не учитываются, и результат не будет зависеть от того, имеются ли в полях значения Null и указан ли параметр DISTINCT. Второй тип функции COUNT игно­рирует значения Null.

Если в ответ требуется включить все поля таблицы, то для этого можно использовать символ «*». Если запрос многотабличный, то следует применять конструкцию {спецификатор.*}

 

Жизненный цикл баз данных. Этапы проектирования баз данных. Модель сущность-связь. Модель IDEF1X

ЖЦ БД - совокупность этапов, которые проходит база данных на своём пути от создания до окончания использования.

Этапы ЖЦ БД:

- планирование разработки базы данных;

- определение требований к системе;

- сбор и анализ требований пользователей;

- проектирование базы данных: (концептуальное проектирование базы данных; логическое

физическое)

- разработка приложений: (проектирование транзакций; проектирование пользовательского интерфейса; реализация; загрузка данных; тестирование)

- эксплуатация и сопровождение: (анализ функционирования и поддержка исходного варианта БД; адаптация, модернизация и поддержка переработанных вариантов)

Модель "сущность-связь" (ER-модель) - модель данных, которая позволяет описывать концептуальные схемы с помощью обобщенных конструкций блоков. ER-модель - это мета-модель данных, то есть средство описания моделей данных. ER-модель удобна при проектировании информационных систем, баз данных, архитектур компьютерных приложений и других систем (моделей).

Типичные примеры использования ER-модели данных: IDEF1x.

Стандарт IDEF1X базируется на модели типа "Сущность-Связь". Основными компонентами стандарта IDEF1X являются следующие: сущности, атрибуты, связи.

Основными компонентами IDEF1X- модели являются:

Сущности, представляющие множество реальных или абстрактных предметов (людей, объектов, мест, событий, состояний, идей, пар предметов и т.д). Они изображаются блоками. Могут быть: независимые от идентификатора сущности; зависимые от идентификатора сущности.

Отношения между этими предметами, изображаемые соединяющими блоки линиями. Могут быть: отношения, идентифицирующие связи; отношения, не идентифицирующие связи; отношения категоризации; неспецифические отношения.

Характеристики сущностей, изображаемые именами атрибутов внутри блоков. Атрибуты могут быть: неключевыми; первичными ключами; альтернативными ключами; внешними ключами.

 

 










Последнее изменение этой страницы: 2018-04-12; просмотров: 289.

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