Создание запроса с помощью SQL
Содержание
Введение…………………………………………………………
Теоретическая часть……………………………………………………………..
1. Базы данных и системы
управления базами данных………………
1.1. Базы данных…………………………………………………
1.2 Сетевая модель данных………………………
1.3. Реляционная модель данных……………………………………………….5
2.СУБД ACCESS………………………………………………………………
1.4.Типы данных и объекты базы данных…………………………………….8
Практическая часть………………………………
2.1. Описание предметной области……………………………………………..10
2.2. Разработка структуры базы данных………………………………………..11
2.3 Создание форм…………………………………………… ………………….14
2.4 Создание запроса с помощью SQL…………………………….16
2.5 Создание отчетов……………………………………
Заключение……………………………………………………
Список использованной литературы…………………………………………...
Введение
Основные идеи современной
информационной технологии базируются
на концепции, согласно которой данные
должны быть организованы в базы данных
с целью адекватного
Увеличение объема и структурной
сложности хранимых данных, расширение
круга пользователей
Целью этой работы является создать базу данных в СУБД ACCESS. Которая должна будет автоматизировать работу сотрудников книжного магазина.
Теоретическая часть
1. Базы данных и системы управления базами данных
1.1. Базы данных
По упрощенному определению,
база данных - это набор данных, которые
используются системой. Обычно под
данными подразумевают
Большинство используемых сегодня
баз данных попадают в категорию
реляционных баз данных, которые
организуют данные в виде набора связанных
таблиц. Хотя данная книга нацелена
на изучение именно реляционных баз
данных, существуют и другие типы баз.
К примеру, большинство старых систем
использовали одноуровневые
Для изучения реляционных баз данных необходимо знать некоторые ключевые термины и понятия.
Таблица состоит из строк и столбцов. Каждая строка содержит данные об отдельном покупателе, тогда как столбцы содержат определенный элемент данных. Каждая ячейка в таблице содержит элемент данных, или одиночное данное. Строки также называются записями, а столбцы иногда называются полями. Каждая строка в таблице определяется столбцом или набором столбцов, которые являются уникальными. Если использовать термины теории баз данных, то уникальный идентификатор называется ключом. Таблица может иметь более одного ключа, но только один из них может быть выбран первичным ключом, который будет служить идентификатором для этой таблицы.
Реляционные базы данных следуют
набору определенных правил, которые
гарантируют целостность
Существуют следующие типы моделей представления данных:
Иерархическая модель данных
Иерархическая база данных - первый предок всех баз данных. Ее название происходит от способа представления базы данных в виде древовидной иерархии, похожей на систему каталогов в компьютере. Самый известный подобного рода продукт под названием Information Management System (IMS, Информационная управляющая система) был разработан компанией IBM. IMS доминировал на рынке крупных баз данных с 1960-х до ранних 1990-х годов. Единственная проблема IMS заключалась в сложности ее использования. Для взаимодействия с базой данных требовался профессиональный программист. Несмотря на усилия IBM по сокращению сферы ее
использования в пользу реляционных
продуктов, IMS по-прежнему применяется
в некоторых старых системах для
управления большими базами данных, таких,
например, которые используются в
страховых компаниях. Компании по-прежнему
используют IMS по четырем причинам.
Во-первых, она дает возможность
быстрого доступа к миллионам
записей. Во-вторых, переход к реляционной
системе может привести к временным
перерывам в работе систем. В-третьих,
такой переход потребует
1.2. Сетевая модель данных
Сетевая база данных, предназначенная
для систем среднего размера, появилась,
как способ улучшить иерархическую
модель. Название происходит от представления
базы данных в виде сети связанных
таблиц. По сути, сетевая диаграмма
выглядит очень похоже на ERD, которые
мы используем в этой книге. Основное
различие между сетевой и реляционной
базой данных состоит в том, что
в реляционной базе данных используются
внешние ключи для создания связей
между таблицами, тогда как сетевая
база данных использует для связи
таблиц физические указатели. Это кажущееся
небольшим отличие приводит при
внедрении баз к сильным
1.3. Реляционная модель данных
Реляционная система является
самой простой для разработки
и управления базой данных. Профессионалы
могут работать более эффективно,
используя реляционные системы,
так как они позволяют
Существует большой выбор реляционных продуктов. Такие разработчики, как Oracle, IBM и Microsoft, создают конкурирующие реляционные продукты. Oracle и ЮМ конкурируют на профессиональном рынке для больших серверов, которые используются крупными компаниями, будь то строительная или Web-компания. Microsoft нацелена на небольшие и среднего размера системы. К счастью, все эти системы основаны на одной и той же реляционной модели и используют один язык структурированных запросов (SQL).
2. СУБД MS Access
СУБД Access является системой управления базами данных реляционного типа. Данные хранятся в такой базе в виде таблиц, строки (записи) которых состоят из наборов полей определенных типов. С каждой таблицей могут быть связаны индексы (ключи), задающие нужные пользователю порядки на множестве строк. Таблицы могут иметь однотипные поля (столбцы), и это позволяет устанавливать между ними связи, выполнять операции реляционной алгебры. Типичными операциями над базами данных являются определение, создание и удаление таблиц, модификация определений (структур, схем) существующих таблиц, поиск данных в таблицах по определенным критериям (выполнение запросов), создание отчетов о содержимом базы данных.
СУБД позволяет задавать типы данных и способы их хранения. Можно также задать критерии (условия), которые СУБД будет в дальнейшем использовать для обеспечения правильности ввода данных. В самом простом случае условие на значение должно гарантировать, что не будет введен случайно в числовое поле буквенный символ. Другие условия могут определять область или диапазоны допустимых значений вводимых данных.
Microsoft Access предоставляет
максимальную свободу в
Так как Microsoft Access является современным
приложением Windows, можно использовать
в работе все возможности DDE (динамический
обмен данными) и OLE (связь и внедрение
объектов). DDE позволяет осуществлять
обмен данными между Access и любым
другим поддерживающим DDE приложением
Windows. В Microsoft Access можно при помощи
макросов или Access Basic осуществлять динамический
обмен данными с другими
OLE является более изощренным
средством Windows, которое позволяет
установить связь с объектами
другого приложения или
В Microsoft Access для обработки данных базовых таблиц используется мощный язык SQL (структурированный язык запросов). Используя SQL можно выделить из одной или нескольких таблиц необходимую для решения конкретной задачи информацию. Access значительно упрощает задачу обработки данных. Совсем не обязательно знать язык SQL. При любой обработке данных из нескольких таблиц Access использует однажды заданные связи между таблицами.
В Microsoft Access имеется также
простое и в то же время богатое
возможностями средство графического
задания запроса – так
Microsoft Access спроектирован
таким образом, что он может
быть использован как в
Практически все существующие СУБД имеют средства разработки приложений, которые могут использованы программистами или квалифицированными пользователями при создании процедур для автоматизации управления и обработки данных.
Microsoft Access предоставляет
дополнительные средства
Все выше сказанное позволило остановить выбор на СУБД Access для постановки и решения задачи автоматизации процесса ведения документации и отчетности в учебном заведении.
1.4.Типы данных и объекты базы данных
Таблицы баз данных, как правило, допускают работу с гораздо большим количеством разных типов данных. Так, например, базы данных Microsoft Access работают со следующими типами данных.
Текстовый – тип данных, используемый для хранения обычного неформатированного текста ограниченного размера (до 255 символов).
Числовой – тип данных для хранения действительных чисел.
Поле Мемо – специальный тип данных для хранения больших объемов текста (до 65 535 символов). Физически текст не хранится в поле. Он храниться в другом месте базы данных, а в поле храниться указатель на него, но для пользователя такое разделение заметно не всегда.
Дата/время – тип данных для хранения календарных дат и текущего времени.
Денежный - тип данных для
хранения денежных сумм. Теоретически,
для их записи можно было бы пользоваться
и полями числового типа, но для
денежных сумм есть некоторые особенности
(например, связанные с правилами
округления), которые делают более
удобным использование
Счетчик – специальный тип данных для уникальных (не повторяющихся в поле) натуральных чисел с автоматическим наращиванием. Естественное использование – для порядковой нумерации записей.
Логический - тип для хранения логических данных (могут принимать только два значения, например Да или Нет).
Гиперссылка – специальное поле для хранения адресов URL Web-объектов Интернета. При щелчке на ссылке автоматически происходит запуск броузера и воспроизведение объекта в его окне.
Мастер подстановок – это не специальный тип данных. Это объект, настройкой которого можно автоматизировать ввод данных в поле так, чтобы не вводить их вручную, а выбирать их из раскрывающегося списка.
Объекты базы данных:
Таблицы – это основные объекты любой базы данных. Во-первых, в таблицах хранятся все данные, имеющиеся в базе, а во-вторых, таблицы хранят и структуру базы (поля, их типы и свойства).
Запросы. Эти объекты служат для извлечения данных из таблиц и предоставления их пользователю в удобном виде. С помощью запросов выполняют такие операции как отбор данных, их сортировку и фильтрацию. С помощью запросов можно выполнять преобразования данных по заданному алгоритму, создавать новые таблицы, выполнять автоматическое наполнения таблиц данными, импортированными из других источников, выполнять простейшие вычисления в таблицах и многое другое.
Формы. Если запросы – это специальные средства для отбора и анализа данных, то формы – это средства для ввода данных. Смысл их тот же – предоставить пользователю средства для заполнения только тех полей, которые ему заполнять положено. Одновременно с этим в форме можно разместить специальные элементы управления (счетчики, раскрывающиеся списки, переключатели, флажки и прочее) для автоматизации ввода. Преимущества форм раскрываются особенно наглядно, когда происходит ввод данных с заполненных бланков. В этом случае форму делают графическими средствами так, чтобы она повторяла оформление бланка – это заметно упрощает работу наборщика, снижает его утомление и предотвращает появление печатных ошибок.
Отчеты. По своим свойствам и структуре отчеты во многом похожи на формы, но предназначены только для вывода данных, причем для вывода не на экран, а на принтер. В связи с этим отчеты отличаются тем, что в них приняты специальные меры для группирования выводимых данных и для вывода специальных элементов оформления, характерных для печатных документов.
Страницы. Это специальные объекты баз данных, реализованных в последних версиях СУБД Microsoft Access (начиная с Access 2000). Правда, более коректно их называть страницами доступа к данным. Физически это особый объект, выполненный в коде HTML, размещаемый на Web-странице и передаваемый клиенту вместе с ней. Сам по себе этот объект не является базой данной, но содержит компоненты, через которые осуществляется связь переданной Web-страницы с базой данных, остающейся на сервере. Пользуясь этими компонентами, посетитель Web-узла может просматривать записи базы в полях страницы доступа. Таким образом, страницы доступа к данным осуществляют интерфейс между клиентом, сервером и базой данных, размещенной на сервере. Эта база данных не обязательно должна быть базой данных Microsoft Access. Страницы доступа, созданные средствами Microsoft Access, посволяют работать также с базами данных Microsoft SQL Server.
Макросы и модули. Эти категории объектов предназначены как для автоматизации повторяющихся операций при работе с СУБД, так и для создания новых функций путем программирования. В СУБД Microsoft Access макросы состоят из последовательности внутренних команд СУБД и являются одним из средств автоматизации работы с базой. Модули создаются средствами внешнего языка программирования, в данном случае языка Visual Basic for Applications. Это одно из средств, с помощью которых разработчик базы может заложить в нее нестандартные функциональные возможности, удовлетворить специфическое требование заказчика, повысить быстродействие системы управления, а также уровень ее защищенности.
2.Практическая часть
2.1. Описание предметной области
Необходимо построить базу данных, содержащую информацию о автомобилях. В такой базе данных нужно найти список владельцев по части номера, цвету и марке.
Информационное обеспечение такого приложения пользователя включает:
- Марка авто
- Год выпуска
- Цвет
- Рег.номер
- ФИО владельца
- Адрес владельца
2.2. Разработка структуры базы данных
Методически правильно начинать работу с карандашом и листом бумаги в руках, не используя компьютер. На данном этапе он просто не нужен. Неоптимальные решения и прямые ошибки, заложенные на этапе проектирования, впоследствии очень трудно устраняются, поэтому этот этап является основополагающим. На этом этапе мы создаем:
· Список исходных данных;
· Список выходных данных, которые необходимы для управления структурой предприятия;
· Список выходных данных, которые не являются необходимыми для заказчика, но которые он должен предоставить в другие организации (в вышестоящие структуры, в органы статистического учета, прочие административные и контролирующие организации).
Выяснив основную часть данных, которые заказчик потребляет или поставляет, можно приступать к созданию структуры базы, то есть структуры ее основных таблиц.
1. Работа начинается с
составления генерального
2. В соответствии с
типом данных, размещаемых в каждом
поле, определяют наиболее
3. Далее распределяют поля генерального списка по базовым таблицам «Владелец», «Марки», «Автомобиль», «Цвета».(рис.1, рис2, рис.3, рис.4)
Рисунок 1. Таблица «Владелец»
Рисунок 2. Таблица «Марки»
Рисунок 3. Таблица «Автомобиль»
Рисунок 4. Таблица «Цвета»
4. В каждой из таблиц
намечают ключевое поле. В качестве
такого выбирают поле, данные
в котором повторяться не
5. Далее определяются связи между таблицами(рис. 5). Такой чертеж называется схемой данных. Существует несколько типов возможных связей между таблицами. Наиболее распространенными являются связи «один ко многим» и «один к одному». Связь между таблицами организуется на основе общего поля, причем в одной из таблиц оно обязательно должно быть ключевым, то есть на стороне «один» должно выступать ключевое поле, содержащее уникальные, неповторяющиеся значения. Значения на стороне «многие» могут повторяться.
Рисунок 5. «Схема данных»
2.3 Создание форм
Самый легки способ создания формы с помощью Мастера форм. Выберите Другие формы / Мастер форм. На экране появится окно диалога «Создание форм», в котором необходимо выбрать метод построения формы и исходный объект для построения формы. В качестве такого объекта могут быть выбраны таблица или запрос. Допустим в качестве исходной таблицы мы выбрали Запрос 5 ( рис. 6 ), далее выбираем поля для формы. После нажатия кнопки Далее, переходим к следующему диалоговому окну (рис. 7 ). На следующих шагах Мастер форм предлагает выбрать форму представления отчета (в столбец, ленточную, табличную или выровненную) и стиль оформления. Стили представляют собой набор различных фоновых рисунков с соответствующим подбором шрифтов и форм полей (рис 8. ). На последнем шаге можно изменить предлагаемое Мастером название формы на свое собственное и на этом завершить процесс создания формы нажав кнопку Готово. Если по каким-либо причинам форма вас не удовлетворяет, нажмите кнопку Конструктор, и вы перейдете в режим конструктора форм, в котором получите в свое распоряжение все средства для создания полноценной формы.
Рисунок 6 «Создание форм»
Рисунок 7 « форма представления отчета»
Рисунок 8 « Стили»
2.4 Создание запроса с помощью SQL
Язык SQL (Structured Query Language - язык структурированных запросов) в настоящее время является фактически стандартным языком доступа к реляционным базам данных. Для создания запроса с помощью SQL необходимо знать следующие понятия:
Инструкция SELECT
По этой инструкции СУБД возвращает данные из базы данных в виде набора записей. Синтаксис
SELECT [предикат] [таблица].[поле] [AS псевдоним]
FROM (выражение)
Элемент |
Описание |
предикат |
Один из следующих предикатов отбора: ALL, DISTINCT, DISTINCTROW или TOP. Предикаты используются для ограничения числа возвращаемых записей. Если они отсутствуют, по умолчанию используется предикат ALL. |
* |
Указывает, что выбраны все поля заданной таблицы или таблиц. |
таблица |
Имя таблицы, из которой должны быть отобраны записи. |
поле |
Имена полей, из которых должны быть отобраны данные. Если включить несколько полей, они будут извлекаться в указанном порядке. |
псевдоним |
Имена, которые станут заголовками столбцов вместо исходных названий столбцов в таблице. |
выражение |
Имена одной или нескольких таблиц, которые содержат отбираемые данные. |
Предложение FROM
Указывает таблицы или запросы, которые содержат поля, перечисленные в инструкции SELECT. Чтобы узнать, какие записи будут отобраны при выполнении запроса на создание таблицы, сначала просмотрите результаты инструкции SELECT, использующей те же условия отбора.
Синтаксис
SELECT список Полей
FROM выражение
Операция INNER JOIN
Объединяет записи из двух таблиц, если связующие поля этих таблиц содержат одинаковые значения.
Синтаксис
Таблица1 INNER JOIN Таблица2 ON Таблица1.Поле1 = Таблица2.Поле2
Конструкция INNER JOIN используется в предложении FROM.
На примере
«автомобилей» попробуем создать
следующий запрос:
SELECT Владелец.ФИО, Автомобиль.рег_ номер,
Цвета.цвет, Владелец.адрес, Марки.марка
FROM ((Владелец INNER JOIN Автомобиль ON Владелец.код_владельца = Автомобиль.код_владельца) INNER JOIN Марки ON Автомобиль.код_марки = Марки.код_марки) INNER JOIN Цвета ON Автомобиль.код_цвета = Цвета.код_цвета; (Рис.9)
Рисунок 9 «Создание запроса»
2.5 Создание отчетов
Отчеты, как и формы, являются
главными элементами интерфейса баз
данных. Они позволяют выводить на
печать информацию о содержимом базы
в удобном для пользователя виде.
Большая часть отчетов
В качестве исходных данных выберем запрос 5. На следующем шаге Мастер отчетов предлагает осуществить группировку данных (рис. 10). На следующих шагах предлагаются выбрать макет отображения отчета и ориентацию листа бумаги, а также определить стиль заголовка и подножий. После чего Мастер отчетов предлагает ввести сортировку. Допускается сортировка записей в возрастающем или убывающем порядке, включающая до четырех полей (рис.11). На следующих шагах предлагаются выбрать макет отображения отчета и ориентацию листа бумаги, а также определить стиль заголовка и подножий. Задайте наименование отчета и нажмите кнопку Готово (рис. 12).
Рисунок 10 «Группировка данных»
Рисунок 11 «Сортировка записей в возрастающем или убывающем порядке»
Рисунок 12 «Отчет»
Заключение
В проделанной работе были опробованы и использованы основные метода и объекты системы управления базами данных Microsoft Access.
Так как интеграция информационных систем во все сферы жизни увеличивается с каждым днем, то актуально становится разработка подобных баз данных. При этом разработчик должен учитывать то, что наиболее простые БД могут быть подвержены избыточности, но при этом нельзя и увлекаться делением БД на много составных таблиц. Также современные средства дружественного интерфейса позволяют разработать интуитивно понятные приложения, что является одним из основных требований заказчика. При создании БД необходимо принять во внимание область, для которой разрабатывается база данных. Например, при формировании БД для магазина, разработчик должен ориентировать её в первую очередь на продажу.
Список использованной литературы
1. Диго С.
М. Проектирование и
2. Диго С. М. Создание баз данных в среде СУБД Access. М.: МЭСИ, 2000. - 105 с.: ил.
3. Буч Г. Объектно-
4. Горев А., Ахаян Р, Макашарипов С. Эффективная работа с СУБД. СПб.; Питер, 1997., - 700 с.
5. Грабер М. Введение в SQL. Пер. с англ. - М.: "ЛОРИ", 1996.
6. Грабер М. SQL. Справочное руководство. "ЛОРИ", Москва, 1997 Вескес Дж., Гандерлоу М., Чипмен М. Access и SQL Server. Руководство разработчика. Пер. с англ. - М.: "ЛОРИ", 1997. - 362 с.
7. Дейт К.
Дж. Введение в системы баз
данных, 6-е изд.: Пер. с англ.. - К.;
СПб.:Издательский дом "
8. Диго С. М. Проектирование баз данных. - М.: Финансы и статистика, 1988.
9. Мишенин А.
И. Теория экономических
10. Хансен Г., Хансен Дж. Базы данных. Разработка и управление. - Издательство Бином -704 с.