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