Базы данных
Базы данных
Введение
Для решения проблем обработки экономической информации используются современные компьютеры с соответствующим программным обеспечением, системами управлениями базами данных (СУБД). Лидирующее место среди СУБД в данный момент по праву занимает Microsoft Access.
В своей контрольной роботе я знакомлюсь с основными понятиями информационных баз данных.
В первой части контрольной роботы я рассматриваю такие понятия как: БД; РБД; поле таблицы; запись таблицы; ключевое поле (ключ) таблицы; главная и подчиненная таблица; различные связи между таблицами; а также управления базами данных.
Для закрепления полученных знаний, и получения практических навыков во второй части своей контрольной я попробую создать базу данных, и провести ряд операций с помощью СУБД Access. Я рассматриваю такие операции, как определение связей между таблицами, сортировка данных с помощью «расширенного фильтра», создание однотабличного запроса на выборку, создание многотабличного запроса на выборку, сортировка данных за несколькими ключами, создание многотабличного запроса с параметром, создание в режиме «конструктор» запроса на обновление и т.д.
Часть I
Во время развязывания наглядных задач приходится реализовывать алгоритмы обработки массивов данных, которые являются не однообразными массивами (множествами) числовых значений или текстов, а важными структурными отношениями между элементами данных. Проще всего структура - это вектор элементов. В общем виде это могут быть двух - или N-пространственные массивы.
Данные - это факты и идеи, поданные в формализированном виде для обработки посредством определенного процесса (алгоритма) или для передачи.
Структура данных - совокупность правил и ограничений, которые отображают связки, что существуют между отдельными частями данных. Определяется пользователем и зависит от конкретного задания.
База данных - совокупность взаимосвязанных данных (файлов), предназначенных для общего применения.
Система управления базами данных - комплекс программ, которые обеспечивают взаимодействие пользователя с базой данных.
Посредством СУБД обеспечивается решение таких основных заданий:
Создание базы данных;
Занесение, корректировка и изъятие данных;
Упорядочение данных;
Выбор совокупности данных, что отвечают заданным критериям;
Оформление выходных данных и т.д.
Совокупность СУБД и базы данных - это банк данных. К достоинствам подхода, который основывается на концепции банка данных, принадлежит:
Удовлетворение информационных потребностей разных типов пользователей;
Достоверность и непротиворечие информации, что сохраняется;
Санкционированный доступ к данным;
Адаптационной модели к изменениям предметной области;
Выдача информации в форме установленной пользователем;
Одноразовое введение данных и многократное их использование;
Возможность исключения избыточности данных, что сохраняются, и т.д.
Реляционная модель данных
Каждая база данных содержит информацию об определенном классе объектов. Совокупность таких объектов называется предметной областью базы данных (например, совокупность данных о работниках фирмы, сводка об изделиях на составе, о транспортных средствах авто предприятия и тому подобное) информация об объектах предметной области, поданная в разных документах, образует модель предметной области (карточки учета кадров, карточки складского учета, накладные, журналы учета транспортных средств и других) описание этих документов (названия документов; колонки, в которых они находятся; связки между ними) называется схемой отношений.
Представление информации в виде таблицы, что состоит из заданных колонок, которые располагаются в определенном порядке слева направо, называется отношением. Отсюда и название модели - реляционная (relation - отношение). Структура таблицы определяется совокупностью ее столбцов. В каждой строке таблицы содержатся Данные об одном объекте базы данных, которыми могут быть, например, изделие на составе, работник фирмы, транспортное средство и тому подобное.
В базе данных каждая таблица определяется совокупностью ее сто столбцов и строк. В каждой строке таблицы содержится только по одному значению из столбца.
Столбец отвечает определенному элементу данных - атрибуту, который является проще всего структурой данных и отображает свойство сути. Например, фамилия, имя, отчество студента, номер зачетной книжки, оценки являются атрибутами сути „студент”. Каждый столбец должен иметь имя соответствующего элемента данных (атрибута). Один или несколько атрибутов, значения которых однозначно идентифицируют строку таблицы, являются ключом таблицы.
Данные каждого поля могут быть одним из типов: символ, строка, числа разных форматов, дата, время, выбор из некоторого набора данных и т.д.
Конечное множество атрибутов, что определяют суть, является схемой отношений.
Отношение - конечное множество записей, сложенных из допустимых значений атрибутов схемы отношений.
Важным требованием к отношениям реляционной модели является нормализация данных, поданных в табличной форме. Первично нормализованная таблица содержит строки, в которых для каждого атрибута иметься только одно из возможных значений.
Совокупность нормализованных отношений, логически взаимосвязанных и таких, что отображают некоторую предметную область, образует реляционную базу данных.
Основу такой модели составляют двумерные таблицы, которые имеют такие свойства:
Каждая ячейка таблицы является элементом данных;
Каждый столбец таблицы имеет уникальное имя;
Все столбцы в таблице однородны, то есть их элементы однотипны. Это могут быть числа, тексты, дать, логические значения, графические объекты и тому подобное;
В таблице не должно быть одинаковых строк;
Строки должны иметь одинаковую длину, их поля разнородны и взаимосвязаны;
Порядок прохождения строк и столбцов произволен.
Система управления базами данных, реляционного типа, как правило, поддерживает четыре типа связей между таблицами:
«один-к-одному»- это такая связь, когда одной записи одной таблицы отвечает не более как одна запись другой таблицы.
«Один-К-многим»- это такая связь, когда одной записи главной таблицы отвечают несколько записей подчиненной таблицы.
«много-к-одному»- это такая связь, когда многим записям главной таблицы отвечают несколько записей подчиненной.
«много-ко-многим»- это такая связь, когда одной записи одной таблицы отвечают несколько записей другой таблицы.
Часть II
1.Запускаем программу СУБД Access, и создаем в режиме «конструктор» структуры четырех таблиц БД «Оптовый магазин» («поставщики», «покупатели», «товары», «Заказы») самостоятельно определим в каждой из них тип данных и особенности каждого поля, и ключевое поле.
Поставщики
Код поставщика
|
Поставщик
|
Страна
|
Город
|
Адрес
|
Телефон
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Покупатели
Код покупателя
|
Покупатель
|
Страна
|
Город
|
Адрес
|
Телефон
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Товары
Код товара
|
Товар
|
Единица измерения
|
Цена
|
Код пос.
|
Остаток.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Заказы
Код заказа
|
Код товара
|
Код покупателя
|
Дата заказа
|
Количество
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. На следующем этапе устанавливаем связь между таблицами. Для этого открываем в команде Сервис > Схема данных, а потом Связи>Добавить таблицу.
3. Вводим данные в таблицы «Поставщики» и «Товары». Примечательно, что сначала мы заполняем таблицу главную «Поставщики», а только потом зависящую «Товары».
4. Далее мы проведем сортировку данных таблицы «Поставщики» за одним ключом сортировки (Улица - за алфавитом) с использованием «расширенного фильтра».
Для этого открываем таблицу «Поставщики» в режиме таблицы, и выполняем команду Записи > Фильтр > Расширенный фильтр.
На бланке фильтра выполняем буксировку поля „улица” из списка полей таблицы „Поставщики” в первую пустую ячейку рядка „поле”, в ряду „сортировка” установить „по возрастанию” и выполнить задание Фильтр > Применить фильтр
5. Теперь проведем сортировку с помощью двух ключей („страна”- за алфавитом, „улица”- в обратном алфавитном порядке) с помощью «расширенного фильтра».
Проводим сортировку в таком же порядке, добавляя еще один критерий сортировки.
6. На следующем этапе своей контрольной я создаю в режиме «конструктор» однотабличный запрос «запрос6» на выборку. Для этого, в окне БД «оптовый магазин» из списка объектов выбираем «Запросы», «Создание запроса в режиме конструктора». В диалоговом окне «Добавление таблицы» выделяем название «Заказы», нажимаем кнопку «Добавить» и закрываем окно.
На бланке запроса выполняем буксировку поля «Код заказа» из списка полей таблицы «Заказы» в первую пустую ячейку ряда «Поле». Потом выполним перетаскивание поля «Дата заказа» в другую ячейку ряда «Поле», а в ряду «Условие отбора» вводим следующие критерии:
>=#01.11.04# And <=#31.12.04#
(дата с обоих сторон выделяется символом „#”). Далее выполняем перетягивание поля «Количество» в третью ячейку ряда «Поле» и в ряду «Условие отбора» ввести критерий отбора: <30
7. Теперь создадим в режиме «Конструктор» многотабличный запрос «Запрос 7» на выборку.
Из связанных таблиц «Поставщики» и «Товары» выберем записи, в которых название поставщика заканчивается на букву «а» или цена товара меньше 2р.
Создаем запрос по той же схеме, только, в диалоговом окне «Добавление таблицы» выделяем два названия: «Поставщики», «Товары».
На бланке запроса выполняем буксировку полей «Код товара», «Товар» и «Цена» из списка полей таблицы «Товары» в первые три ячейки ряда «Поле». В четвертую свободную ячейку переносим «Поставщик» из таблицы «Поставщики»
Вводим критерии отбора.
Выполняем команду Запрос > Запуск
8. Создаем в режиме «Конструктор» запроса «Запрос 8» с полем, который вычисляется: определить цену товаров в условных единицах ($) за текущим курсом валют.
Для выполнения этого задания создаем запрос в режиме конструктора, в диалоговом окне «Добавление таблицы» добавляем «Товары».
На бланке запроса выполняем буксировку полей «Код товара», «Товар», «Цена» из списка полей таблицы «Товары» в первые три ячейки ряда «Поле». После, устанавливаем курсор в четвертой (первой пустой) ячейке ряда «Поле» и нажимаем кнопку “Построить” на панели инструментов.
В диалоговом окне «Построитель выражений» с помощью кнопок арифметических и логических операций, кнопок логических отношений, а так же значков объектов БД набираем требуемое выражение:
Цена в $: [Товары]![Цена]/5,3
(имя поля, которое вычисляется, отделяется от расчетной формулы символом ":"; названия таблицы и ее поля в формуле берутся в квадратные скобки и отделяются символом "!") и нажать кнопку ОК.
Потом на бланке запроса клацнуть правой кнопкой мышки по введенной формуле и в контекстном меню выбрать пункт «Свойства».В диалоговом окне «Свойства поля» из списка «Формат поля» выбрать «Фиксированный» и закрыть это окно.
Далее выполняем уже знакомую нам операцию: Запрос > Запуск.
9. Проведем сортировку результатов запроса «Запрос 8» за двумя ключами («Цена» - по возрастанию, «Товар» - за алфавитом).
Сортировка за двумя ключами в данной ситуации имеет резон, потому что, в первом ключе сортировки («Цена») есть данные, которые повторяются.
В окне БД «Оптовый магазин» выделяем значок запроса «Запрос 8» и нажимаем кнопку «Конструктор».
В нижней части бланка запроса устанавливаем курсор в столбике, который отвечает полю «Товар» и выполнить команду Правка >Удалить столбцы. Потом выполним перетягивание поля «Товар» в третью ячейку ряда «Поле» - в результате выражение для поля, которое вычисляется, сместится в четвертую ячейку ряда «Поле». Далее во второй и третей ячейке ряда «Сортировка» (под названием «Цена» и «Товар») установить «по возрастанию»
выполняем команду Запрос > Запуск.
10. Создание в режиме «Конструктор» многотабличного запроса «Запрос 10» с параметром.
Например, из связанных таблиц «Товары», «Заказы» и «Покупатели» выбираем записи, в которых количество заказанных товаров лежит в диапазоне от 20 до 30, для этого создаем запрос в режиме конструктора. В диалоговом окне «Добавление таблицы» выделяем название «Покупатели», «Заказы», «Товары».
На бланке запроса выполняем буксировку поля «Код заказа» из таблицы «Заказы», поля «Товар» из списка таблицы «Товары», поля «Покупатель» из списка полей таблицы «Покупатели» в третью ячейку и поля «Количество» из таблицы «Заказы». В четвертой ячейке ряда «Условие отбора» под названием поля «Количество», вводим критерии отбора: >=20 And <=30.
Выполняем команду Запрос > Запуск и в двух диалоговых окнах «Введите значение параметра» ввести те значения минимального и максимального количества, которые меня интересуют. Сохраняем запрос под названием «Запрос 10».
11.Создание в режиме «Конструктор» на основе запроса «Запрос8» запроса «Запрос11» на создание таблицы «Т11».
В окне БД «Оптовый магазин» клацнуть правой кнопкой мышки на значке запроса «Запрос8» и в контекстном меню выбрать пункт «Копировать». Потом в свободном месте этого же окна клацнуть правой кнопкой мышки, в контекстном меню выбрать пункт «Вставить», в диалоговом окне «Вставка» вводим имя «Запрос11» и нажимаем кнопку «Конструктор».
Чтобы сделать из запроса на выборку запрос на создание таблицы, выполняем команду Запрос > Создание таблицы, в диалоговом окне «Создание таблицы» ввести имя новой таблицы (Т11), установить переключатель «в текущей базе данных» и нажать кнопку ОК. Запрос>Запуск.
И вот, наша таблица появляется среди других таблиц нашей базы данных.
12. Теперь создадим в режиме «Конструктор» запрос «Запрос12» на обновление записей таблицы «Т12».
Например, в таблице «Т12» во всех товарах, которые заканчиваются на буквы «О» или «Д», снизим цену на 20%.
В окне БД клацнуть правой кнопкой мышки на значке таблицы «Т11» и в контекстном меню выбрать пункт «Вставить», в диалоговом окне «Вставка таблицы» ввести имя «Т12», установить переключатель «структура и данные», нажимаем ОК.
В окне БД из списка объектов БД выбрать «Запросы», а потом дважды клацнуть на значке «создание запроса в режиме конструктора». В диалоговом окне «Добавление таблицы» выделяем название «Т12», нажимаем кнопку «добавить».
На бланке запроса выполняем перетягивание поля «Товар» из списка полей таблицы «Т12» в первую ячейку ряда «Поле», а под ним вводим критерий выборки "*о" в рядок «Условия отбора» и критерий "*д" в рядок «или».
Чтобы сделать из запроса на выборку, запрос на обновление записей, выполняем команду Запрос> Обновление.
13. Создание в режиме «Конструктор» запроса «Запрос13» на добавление записей к таблице «Т12».
Ну, к примеру, из таблицы «Т12» добавим к таблице «Т11» записи, в которых товары которые заканчиваются на буквы "о" или "д".
Для этого, проводим уже знакомую нам операцию: в окне БД из списка объектов БД выбираем «Запросы», а потом дважды клацаем на значке «Создание запроса в режиме конструктора». В диалоговом окне «Добавление таблицы» выделяем название «Т12», нажимаем кнопку «Добавить» и закрываем окно.
На бланке запроса выполняем перетаскивание полей «Товар», «Цена», «Цена в $» из списка полей таблицы «Т12» в первые три ряда «Поле». Под названием поля «Товар» вводим критерии отбора "*о" или "*д".
Чтобы сделать из запроса на выборку запрос на добавление записей, выполним команду Запрос > Добавление. Далее в окне «Добавление» укажем имя таблицы, к которой добавим записи (Т11), установим переключатель «в текущей базе данных» и нажимаем ОК.
14. Теперь создадим в режиме «Конструктор» запрос «Запрос14» на удаление записей из таблицы «Т12».
Из таблицы «Т12» удалим все записи, в которых товар который содержит в названии букву «т» или цена равняется 0,45.
Опять же, создаем «Запрос в режиме конструктора». Добавляем название таблицы «Т12».
На бланке запроса выполним буксировку полей «Товар», «Цена» из списка полей таблицы «Т12» в первые две ячейки ряда «Поле». В первой ячейке ряда «Условие отбора» (под названием поля «Товар») введем критерии отбора: *т*, а в другой ячейке ряда «или» (под названием поля «Цена») - критерий отбора: 22.
Чтобы из запроса на выборку сделать запрос на удаление записей, выполним команду Запрос > Удаление, ну и уже знакомую нам команду Запрос>Запуск.
Сохраняем запрос под названием «Запрос14».
15.теперь перейдем к созданию автоформы «Автоформа1» ("в столбец") для таблицы «Покупатели».
Для этого, в окне БД «Оптовый магазин» из списка объектов БД выбираем «Формы» и нажимаем кнопку «Создать». Потом в диалоговом окне «Новая форма» выделим «Автоформа: в столбец», из списка «выберите в качестве источника...» выбрать таблицу «Покупатели» и нажать ОК.
Сохраняем форму под названием «Автоформа1».
16.Теперь создадим с помощью «Мастера форм» многотабличную форму, предоставивши главной форме имя «Главная», а подчиненной - «Подчиненная».
На базе связанных таблиц «Поставщики» и «Товары» создать такую многотабличную форму, чтобы она отображала одну запись главной таблицы и все связанные с ней записи подчиненной таблицы.
В окне БД «Оптовый магазин» из списка объектов БД выбираем «Формы», а потом дважды щелкаем на значке «Создание формы с помощью мастера».
На первом этапе работы мастера в диалоговом окне «Создание форм» из списка «Таблицы и запросы» выбрать «Таблица: Поставщики» и перенести к списку «Выбранные поля» названия полей будущей главной формы. Потом из списка «Таблицы и запросы» выбрать «Таблица: Товары» и перенести к списку «Выбранные поля» названия полей будущей подчиненной формы.
На втором этапе - в списке «выберите вид представления данных» выделяем имя главной таблицы «Поставщики» и устанавливаем переключатель«Подчиненные формы».
на третьем этапе - выбираем какой будет иметь вид подчиненная форма, устанавливаем нужный нам переключатель.
На четвертом этапе - выбираем стиль оформления формы.
На пятом - вводим имя главной («Главная») и подчиненной («Подчиненная») форма, устанавливаем переключатель «Открыть форму для просмотра и ввода данных», и нажать кнопку «Готово».
17.Перейдем к созданию автоотчет «Автоотчет2» для таблицы «Т12».
В окне БД «Оптовый магазин» из списка объектов БД выбираем «Отчеты» и нажимаем кнопку «Создать».
Потом в диалоговом окне «Новый отчет» выделяем «Автоотчет: ленточный», из списка «Выберите в качестве источника…» выбираем таблицу «Т12» и нажимаем кнопку ОК. сохраняем отчет под названием «Автоотчет2».
18. Ну и на последок создадим с помощью «Мастера отчетов» многотабличный отчет «Многотабличный».
Например, на базе связанных таблиц «Товары» и «Заказы» создадим многотабличный отчет, предвидевши сгрупировку за полем «Товар», сортировку за ростом поля «Дата заказа» и альбомную ориентацию страниц отчета.
В окне БД «Оптовый магазин» из списка объектов БД выбираем «Отчеты», а потом дважды щелкаем на значке «Создание отчета с помощью мастера».
На первом этапе работы мастера в диалоговом окне «Создание отчетов» из списка «Таблицы и запросы» выбрать «Таблица: Товары» и перенести к списку «Выбранные поля» названия полей будущего отчета. Потом из списка «Таблицы и запросы» выбрать «Таблица: Заказы» и также перенести к списку «Выбранные поля» названия полей будущего отчета.
На втором этапе - в списке «Выберите вид представления данных» выделим имя главной таблицы «Товары».
На третьем этапе - из левого списка перенести вправо поле «Товар», обозначивши его как поле, за которым произойдет группировка.
На четвертом - из списка «1» выбрать поле сортировки «Дата заказа».
На пятом этапе - выберем макет отчета и ориентацию.
На шестом - выберем внешний вид отчета.
На седьмом этапе - вводим имя отчета «Многотабличный», устанавливаем переключатель
«Просмотреть отчет» и нажимаем кнопку «Готово».
Заключение
Рассмотрев свою контрольную работу на практическом примере, я понимаю, что СУБД Microsoft Access полезная, нужная и интересная программа. Графический многооконный интерфейс, который дает возможность мне в диалоговом режиме создавать таблицы, формы, запросы, отчеты, макросы. Специальные приспособления, которые автоматизируют работу во время создания и ведения базы данных (Мастеры и Конструкторы, Ассистенты и т.п.) заметно упрощают весь процесс и делают программу доступной в изучении каждому. Также играет роль возможность работать в локальном режиме или в режиме клиента на рабочей станции в компьютерной системе, возможность использовать объектную технологию для внедрения в базу данных объектов разного происхождения (текстов, ЕТ, диаграмм, рисунков и т.д.).
Я рада, что нашла время разобраться и выполнить работу самостоятельно, так как считаю, что в моей профессии такие навыки мне со временем очень пригодятся.
Список используемых источников
Информатика: компьютерная техника. Компьютерные технологии. Пособн. / под ред. А.И. Пушкаря. - К.: Выд. ц. «Академия», 2002.- 704с.
Пушкарь А.И. Система управления базами данных Microsoft Access и ее применение в экономике. Учебное пособие / А.И. Пушкарь, И.П. Коврижных, А.М. Мокринских. - Харьков: Изд. ХГЭУ, 2002. - 112с.
А. Левин. Самоучитель работы на компьютере. Microsoft Office 2000. СПб.: Питер,2002. - 655с.
|