КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Язык SQL. Запросы на выборку данных с GROUP BY
Логические схемы сущность-связь. Схема данных. Конструктор запросов QBE. Главный ключ системы Для выполнения операций над данными необходимо иметь для каждой записи (строки) таблицы уникальный идентификатор, значение которого однозначно определяет только эту запись. Этот идентификатор называют Главный ключ (primary key). Он может состоять из одного или нескольких полей. Например, в TELEF (телефонный справочник, см. пример)- роль ключа выполняет одно поле- Номер телефона, а в SEBEST- 3 поля: Фирма, Прод., Сх. Главный ключ должен обладать двумя свойствами: 1. Однозначной идентификацией записи. 2. Отсутствием избыточности- никакое поле нельзя удалить из ключа, не нарушая при этом однозначности (первого свойства). В примере ZAKAZ - главным ключом является номер завода (поскольку бессмысленно иметь иначе). Главным ключом в таблице KADR «просится» быть Ф.И.О…. (посмотрим далее). Таким образом, указание главного ключа - это и есть единственный способ отличить один экземпляр объекта от другого. Вернемся к Ф.И.О.- это не надежный ключ. Более надежным является в пределах предприятия - табельный номер; в пределах страны - номер и серия паспорта или просто один номер (как в США- social secuirity number). Слово «главный» предполагает и наличие неглавного или простого (вторичного) ключа. Этот термин возникает в операции, подразумевающей просмотр по какому-либо полю. Например, по полю «Катег» в примере с телефонным справочником. Т.е. при этом «Катег»- это простой ключ и его значение может быть неуникальным. Один из выводов по ключам: главный ключ - только один, а простых ключей может быть множество. Простые ключи используются при так называемом индексировании (об этом далее). Это важные теоретические положения, но на практике могут быть и дубликаты главных ключей, и файлы (таблицы) без понятия главного ключа. Есть способы мириться с этими отступлениями. Например, в первом случае пользователю предоставляется возможность исправить дублирование или оставить это системе (однако не во всех системах это так). Модели «сущность-связь» Основная статья: ER-модель данных Модель «сущность-связь» (англ. “Entity-Relationship model”), или ER-модель, предложенная П. Ченом[1] в 1976 г., является наиболее известным представителем класса семантических (концептуальных, инфологических) моделей предметной области. ER-модель обычно представляется в графической форме, с использованием оригинальной нотации П. Чена, называемой ER-диаграмма, либо с использованием других графических нотаций (Crow's Foot, Information Engineering и др.). Основные преимущества ER-моделей: · наглядность; · модели позволяют проектировать базы данных с большим количеством объектов и атрибутов; · ER-модели реализованы во многих системах автоматизированного проектирования баз данных (например, ERWin). Основные элементы ER-моделей: · объекты (сущности); · атрибуты объектов; · связи между объектами. Сущность — объект предметной области, имеющий атрибуты. Связь между сущностями характеризуется: · типом связи (1:1, 1:N, N:М); · классом принадлежности. Класс может быть обязательным и необязательным. Если каждый экземпляр сущности участвует в связи, то класс принадлежности — обязательный, иначе — необязательный.
Схема данных Создание схемы данных позволяет упростить конструирование многотаблиц, форм, запросов, отчетов, а также обеспечить поддержание целостности взаимосвязанных данных при корректировке таблиц. Схема данных наглядно отображает таблицы и связи между ними, а также обеспечивает использование связей при обработке данных и целостность БД. Схема данных задает структуру БД. Она является графическим образом БД. Схема данных базы графически отображается в своем окне, таблицы представлены списками полей, а связи - линиями между полями разных таблиц. Схема данных ориентирована на работу с таблицами, отвечающими требованиям нормализации, между которыми установлены связи 1:М и 1:1 с обеспечением целостности БД. Поэтому схема данных отроится в соответствии с информационно-логической моделью. При построении схемы данных Access автоматически определяет по выбранному полю связи тип связи между таблицами. Если поле, по которому нужно установить связь, является уникальным ключом, как в главной таблице, так и в подчиненной Access устанавливает связь «один – к – одному». Если поле связи является уникальным ключом в главной таблице, а в подчиненной таблице является неключевым или входит в составной ключ, Access устанавливает связь «один ко многим» от главной таблице к подчиненной. Связи - объединения. При выборе в качестве поля связи в главной таблице неключевого поля Access сообщает, что тип отношения не может быть определен. В этом случае между таблицами возможно установление только связи - объединения. Связь - объединение обеспечивает объединение записей двух таблиц, имеющих одинаковые значения в поле связи. Причем производится объединение каждой записи из одной таблицы с каждой записью из другой таблицы при условии равенства значений в поле связи. Результатом объединения записей, который определяется выбором одного из трех способов, может быть: Создание схемы данных начинается в окне БД с выполнения команды Сервис / Схема данных или нажатием соответствующей кнопки. После этого можно выбрать таблицы, включаемые в схему данных, и приступить к определению связей между ними. Устанавливая связи между парой таблиц в схеме данных, надо выделить в главной таблице уникальное ключевое поле, по которому устанавливается связь, и протащить курсор мыши в соответствующее поле подчиненной таблицы.
QBE-запросы (Query By Example) — запросы, строящиеся с помощью конструктора запросов, представляющего собой графический инструмент для создания запросов по образцу. Данный метод отбора данных впервые предложен Моше Злуфом (англ. Moshé M. Zloof), сотрудником исследовательского центра IBM в 1970 году. Эксплуатационным преимуществом поиска QBE является то, что для формирования запроса не требуется использовать специализированный язык запросов, синтаксис которого может быть сложен и недоступен конечному пользователю. Пользователю выводится окно, в котором указаны все поля данных, встречающиеся в каждой записи данных; введение информации в конкретное поисковое поле ограничит поиск совпадением (полным или частичным, в зависимости от договорённости реализации) по данному полю. Проверка условий осуществляется только по заполненным условиям на поля, а поля, условия на которые указаны не будут, могут соответствовать чему угодно. Многие практические реализации QBE допускают также не только конъюнктивное соединение условий в заполненных полях, но и другие варианты соединения условий (например, дизъюнкцию, отрицание, существование или несуществование связанных записей и другие). 24.Язык SQL. Запросы на выборку данных. SQL (произносится “SEQUEL”)- структурированный язык запросов (Structured Query Language). Базы данных имеют тенденцию к постоянной интеграции, что привело к необходимости разработки стандартного языка запросов, пригодного для использования на множестве компьютерных платформ. SQL изначально не являлся языком программирования, поскольку на нем пишутся не программы, а запросы к БД. Т.е. SQL- декларативный язык. Это означает, что с его помощью можно сформулировать ЧТО необходимо получить, но нельзя указать КАК это сделать. Операторы типа if, for, do, while и т.п. – отсутствуют. Запрос на языке SQL состоит из одной или нескольких команд SQL, следующих одна за другой и разделенных точкой с запятой. Наиболее важные команды:
Инструкция SELECT Предложение GROUP BY позволяет определить подлинность значений отдельного поля в терминах другого поля и применять функции агрегирования к полученному подмножеству. Это дает возможность комбинировать поля и агрегатные функции в одном SELECT. Например, предположим, что нужно найти наибольший заказ из тех, что получил каждый из продавцов. SELECT snum, MAX (amt) FROM Orders GROUP BY snum При этом результат- несколько строк.
GROUP BY применяет агрегированные функции отдельно к каждой из серии групп, которые определяются общим значением поля (одно и тоже snum). Справа- МАХ значение на группу (с номером 1001). Возможно, применить GROUP BY к нескольким полям: SELECT snum, odate, MAX (amt) FROM Orders GROUP BY snum, odate; Запрос дает наибольший заказ сделанный каждому продавцу на каждую дату.
Дата добавления: 2014-11-25; Просмотров: 1118; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |