Обработка больших объемов информации становится не под силу человеку, поэтому для быстрой и достоверной обработки данных используются персональные компьютеры. Информация в компьютере структурируется и хранится, как правило, в виде таблиц. В свою очередь, отдельные таблицы объединяются в базы данных.
Базы данных (БД) — это один или несколько файлов данных, предназначенных для хранения, изменения и обработки больших объемов взаимосвязанной информации.
СУБД — это система программного обеспечения, предоставляющая доступ к данным многих пользователей. СУБД обеспечивает правильность, полноту и непротиворечивость данных, а также простой и понятный интерфейс.
Целью учебной практики по профессиональному модулю МДК 02 «Технология разработки и защиты баз данных» является изучение технологии разработки и защиты БД, а также основных БД. Задачей практики является проектирование базы данных для предметной области и разработка клиентского приложения для сформированной базы данных. В спроектированной БД должны быть выделены объекты для моделирования предметной области, и реализованы связи между объектами модели с использованием методики нормализации данных в БД. Клиентское приложение для сформированной БД должно предоставлять функции обработки и хранения данных.
1. Постановка задачи
Создать проект «Книжный фонд библиотеки». Программа должна отображать следующие атрибуты предметной области: сведения об авторе, издательство, год издания, стоимость, тематический раздел, дата выдачи книги, дата возврата книги, сведения о читателе с указанием ФИО, года рождения, адрес, телефон.
1.1 Основные характеристики функциональных задач
К основным характеристикам функциональных задач относятся:
1) целью данной задачи является создание проекта для облегчения заполнении заявки на выдачу книги;
2) решение задачи осуществляется с использованием средств вычислительной техники:
- процессор: не ниже Pentium/Celeron/AMD — 800 MH z;
- размер ОЗУ не менее 256 МБ;
- свободное пространство на жестком диске не менее 100 Мб;
- видеокарта не менее 128 Мб;
- операционная система Windows XP/ Vista/ Windows 7;
3) программа используется по мере необходимости;
4) выходная информация представляется в виде отчетов на экране монитора;
Область применения баз данных
... использования информации из баз данных и сложностью информационных процессов, существующих в пределах предметной области в конкретных условиях. Система управления базами данных - это программный механизм, предназначенный для записи, поиска, сортировки, обработки ... серверной системой управления базами данных. Целью реферата является изучение областей применения баз данных. 1. Актуальность темы ...
5) пользователи задачи: клиенты предприятия;
6) Содержание функций обработки входной информации при решении задач:
1.2 Схема взаимодействия входной и выходной информации
На рисунке 1 представлена схема взаимодействия входной и выходной информации.
Рисунок 1 — Схема взаимодействия входной и выходной информации.
1.3 Требования к программно-аппаратному окружению
Для нормальной работы программы необходимо наличие следующего программно-аппаратного обеспечения:
- Процессор: Pentium IVи выше;
- ОЗУ не меньше 512Мб;
- Видеокарта с памятью не менее 128Мб;
- CD-ROM;
- Монитор;
- Клавиатура;
- Мышь;
- Принтер;
- ОС: Windows XP.
интерфейс данные клиентский приложение
1.4 Требования к эргономике и технической эстетики интерфейса пользователя
Эргономика — это область науки о взаимодействии человека и машины. В век компьютеризации эргономика чаще всего занимается организацией рабочего места за компьютером.
Техническая эстетика — это теоретическая и методологическая дисциплина, предметом которой являются: во-первых, возможности и ограничения, доставляемые искусством технике, а техникой — искусству, а во-вторых, способы их сосуществования и взаимоосуществления.
Для обеспечения удобства использования программы, меню должно иметь понятный интерфейс, который не будет вызывать особых трудностей у неподготовленного пользователя.
2. Проектирование базы данных
2.1 Описание предметной области
Библиотека занимается прокатом художественной литературы. В читательском зале книги располагаются на стеллажах, каждый из которых имеет свой номер и тематику. Любой клиент может обратиться к библиотекарю, получить подробную информацию о книгах, имеющихся в библиотеке, их цене и заказать интересующие его книги, которых нет в наличии. В читательском зале имеется касса, где осуществляется непосредственная прокат книг. Книги, которые не выставляются в читательский зал, хранятся на складе. Заместитель директора работает с книжными издательствами по поставкам партий книг, а также занимается координацией действий между читательским залом и складом. Отдел бухгалтерии осуществляет бухгалтерский и кадровый учет. За чистотой на складе и в торговом зале следит уборщик. Директор руководит всей работой в библиотеке.
Организационная схема представлена на рисунке 2.
Рисунок 2 — Организационная схема.
2.2 Анализ информационных потоков предприятия
Анализ информационных потоков представлен в следующем описании: клиент устно делает заявку на прокат книги. Библиотекарь, при необходимости, дает клиенту консультацию. Если книга, которую хочет взять клиент, в данный момент отсутствует в библиотеке, то оформляется на нее заказ (неунифицированный документ).
В конце рабочего дня кассиром в бухгалтерию сдается кассовый отчет, который является документом по прокату книг. В заказ издательству-поставщику на приобретение партии книг входит общий договор и приложение к нему в виде списка названий, количества экземпляров, цены и сроков поставки. Если издательство не укладывается в эти сроки, то по электронной почте оно информирует о новой дате поставки. Заведующий складом устно информирует заместителя директора о всех изменениях, которые происходят на складе. Бухгалтерия формирует налоговую и статистическую отчетность согласно действующему законодательству.
Информационная модель представлена на рисунке 3.
Рисунок 3 — Информационная модель.
Функциональная модель фирмы представлена в следующем описании: клиент устно делает заявку на прокат книги. Библиотекарь, при необходимости, дает клиенту консультацию. Если книга, которую хочет взять клиент, в данный момент отсутствует в библиотеке, то оформляется на нее заказ (неунифицированный документ).
В конце рабочего дня кассиром в бухгалтерию сдается кассовый отчет, который является документом по прокату книг. В заказ издательству-поставщику на приобретение партии книг входит общий договор и приложение к нему в виде списка названий, количества экземпляров, цены и сроков поставки. Если издательство не укладывается в эти сроки, то по электронной почте оно информирует о новой дате поставки. Заведующий складом устно информирует заместителя директора о всех изменениях, которые происходят на складе. Бухгалтерия формирует налоговую и статистическую отчетность согласно действующему законодательству.
Функциональная модель представлена на рисунке 4.
Рисунок 4- Функциональная модель.
2.3 Инфологическая модель базы данных
Инфологическая модель представлена на рисунке 5.
Рисунок 5 — Инфологическая модель базы данных.
Словесное описание:
Один сотрудник может выдавать несколько читательских билетов, один читательский билет должен быть закреплен за одним сотрудником.
В одной записи читательского билета может быть записана только одна книга, каждая книга может содержаться в нескольких записях читательского билета.
По данным предметной области составлены следующие структуры записи таблиц (таблицы 1-3).
Таблица 1 — Логическая структура таблицы «Книги»
Книги |
|||||||
Поле |
Признак ключа |
Формат поля |
|||||
Имя (обозначение) |
Полное наименование |
Тип |
Длина |
Точность(для чисел) |
N/NN |
||
Naz |
Название |
Character |
20 |
NN |
|||
Avtor |
Автор |
Character |
30 |
N |
|||
Kod_book |
Код книги характеристики |
PK |
Character |
5 |
NN |
||
Zal_stoim |
Залоговая стоимость |
Integer |
5 |
NN |
|||
Stoim_prokata |
Стоимость проката |
Integer |
5 |
NN |
|||
Genre |
Жанр |
Character |
15 |
N |
|||
Таблица 2 — Логическая структура таблицы «Читательский билет»
Читательский билет |
|||||||
Поле |
Признак ключа |
Формат поля |
|||||
Имя (обозначение) |
Полное наименование |
Тип |
Длина |
Точность(для чисел) |
N/NN |
||
Kod_book |
Код книги |
PK |
Character |
5 |
NN |
||
Kod_bookman |
Код читателя |
Character |
5 |
NN |
|||
Data_vid |
Дата выдачи |
Integer |
10 |
N |
|||
Data_voz |
Дата возврата |
Integer |
10 |
N |
|||
№_bilet |
Номер читательского билета |
FK |
Integer |
5 |
N |
||
Code_sotrudnika |
Код сотрудника |
FK |
Integer |
5 |
N |
||
Таблица 3 — Логическая структура таблицы «Сотрудники»
Сотрудники |
|||||||
Поле |
Признак ключа |
Формат поля |
|||||
Имя (обозначение) |
Полное наименование |
Тип |
Длина |
Точность(для чисел) |
N/NN |
||
Kod_sotrud |
Код читателя |
PK |
Integer |
5 |
NN |
||
Family |
Фамилия |
Character |
20 |
NN |
|||
Name |
Имя характеристики |
Character |
15 |
N |
|||
Otchestvo |
Отчество |
Character |
15 |
N |
|||
3. Реализация базы данных
3.1 Выбор СУБД
Системы управления базами данных (СУБД) — это программные средства, с помощью которых можно создавать базы данных, наполнять их и работать с ними. В мире существует немало различных систем управления базами данных. Многие из них на самом деле являются не законченными продуктами, а специализированными языками программирования, с помощью которых каждый, освоивший данный язык, может сам создавать такие структуры, какие ему удобны, и вводить в них необходимые элементы управ-ления. К подобным языкам относятся Clipper, Paradox, FoxPro и другие.
Необходимость программировать всегда сдерживала широкое внедрение баз данных в малом бизнесе. Крупные предприятия могли позволить себе сделать заказ на программирование специализированной системы «под себя». Малым предприятиям зачастую не по силам было не только решить, но даже и правильно сформулировать эту задачу.
3.2 Создание таблиц БД
Важным моментом при создании базы данных является распределение информации между полями записи.
Можно сформулировать следующее правило: если предполагается, что во время использования базы данных будет выполняться выборка информации по некоторому критерию, то информацию, обеспечивающую возможность этой выборки, следует поместить в отдельное поле.
После того как определены поля записи, необходимо выполнить распределение полей по таблицам. В простой базе данных все поля можно разместить в одной таблице. В сложной базе данных поля распределяют по нескольким таблицам, и вводом некоторой дополнительной информации, однозначно идентифицирующей каждую запись, обеспечивается связь между таблицами.
Для того чтобы создать новую таблицу, нужно выбором из меню Tools команды Database Desktop запустить Database Desktop. Затем в появившемся окне утилиты Database Desktop надо из меню File выбрать команду New и в появившемся списке выбрать тип создаваемого файла — Table. Затем в открывшемся диалоговом окне Create Table следует выбрать тип создаваемой таблицы (значением по умолчанию является тип Paradox 7).
В результате открывается диалоговое окно Create Paradox 7 Table, в котором можно определить структуру записей таблицы.
3.3 Механизмы, используемые для управления доступом к данным
Рассмотрим чуть подробнее архитектуру доступа к данным в Access. В представленной схеме блок пользовательского интерфейса олицетворяет видимую часть СУБД, то есть то, с чем пользователь взаимодействует непосредственно (формы, отчеты и другие объекты).
Под хранилищем данных понимаются файл (файлы), содержащие таблицы данных (например, в Access это mdb-файлы).
Хранилище — это некоторый пассивный элемент, в нем данные просто содержатся. Осуществлять манипуляции с ними — это задача процессора базы данных (или, как еще говорят, ядра базы данных).
Он транслирует команды приложения в физические операции, непосредственно меняющие файл (файлы) хранилища данных. Основным достоинством описанной схемы является независимость приложения от типа базы данных, к которой она обращается: будут ли это данные во внутреннем формате Access или данные какой-то другой структуры — в приложении используются одни и те же объекты и методы доступа к ним.
MS Access выгодно отличается от многих других серверов следующими качествами:
1. Высокая производительность и надежность при минимальных требованиях к ПК.
2. Относительно низкая стоимость продукта (с Delphi поставляется сервер MS Access с бесплатной лицензией на 5 клиентов, этого достаточно для разработки БД и приложения, но обычно недостаточно для развертывания сервера в организации).
4. Разработка клиентского приложения
4.1 Технология подключения БД
Delphi имеет специальный механизм ADO для обеспечения прямого доступа к базе данных *.mdb. Компоненты располагаются на странице ADO:
ADO Connection — предназначен для подключения к базе данных. Основные методы: Connection string.
TIBTransaction — предназначен для явного управления транзакцией. Основные методы: StartTransaction, Commit, Rollback, CommitRetaining, RollbackRetaining.
AdoTable — компонент предназначен для получения данных из одной таблицы или представления базы данных
AdoQuery — компонент предназначен для получения данных на основе SQL-запроса. Компонент совместим с визуальными компонентами.
4.2 Выполнение программы
Работа в данной программе начинается, с открытия главного меню, изображенном на рисунке 6.
Рисунок 6- Вкладка «меню».
На данной форме представлены все вкладки данной программы.
При нажатии вкладки «Файл>Регистрация читателей» выполняется переход на форму где можно просмотреть уже зарегистрированных читателей или добавить нового. Форма представлена на рисунке 7.
Рисунок 7- Вкладка «Читатели (клиенты)».
При нажатии вкладки «Файл>Сотрудники» выполняется переход на форму где можно просмотреть уже работающих сотрудников или добавить нового. Форма представлена на рисунке 8.
Рисунок 8-Вкладка «Сотрудники».
При нажатии вкладки «Файл>Поступление>Книги» выполняется переход на которой вы можете добавить новую книгу. Форма представлена на рисунке 9.
Рисунок 9-Вкладка «Сделки».
При нажатии вкладки «Файл>Поступление>Периодическое издание» выполняется переход на форму на которой вы можете добавить поступление периодических изданий. Таблица представлена на рисунке 10.
Рисунок 10- Вкладка «Периодическое издание».
При нажатии вкладку «Отделы» вы сможете выбрать один из отделов библиотеки. Форма представлена на рисунке 11.
Рисунок 11- Вкладка «Отделы».
При нажатии вкладки «Справка > О программе» выполняется переход на форму с информацией о программе и разработчике. Форма представлена на рисунке 12.
Рисунок 12- Вкладка «О программе».
4.3 Создание отчетов
Для создания отчетов в среде Delphi 7 предлагается использовать компоненты RaveReports. В них можно включать графические элементы и сохранять в различных форматах (PDF, HTML, RTF).
С помощью встроенного мастера отчетов Simple Table были созданы отчеты для базы данных для каждой таблицы.
Для создания простейшего отчета разместим на форме следующие компоненты
TQRBand — компонент, представляющий собой часть отчета — контейнердля размещения данных (например, заголовок отчета, верхний или нижний колонтитулстраницы, верхний или нижний колонтитул группы и др.).
Компоненты TQRBandпечатаются в зависимости от их типа в необходимых местах отчета, независимоот их взаимного расположения на форме. Наиболее часто используемое свойствоэтого компонента — BandType, тип «полосы» (колонтитул страницыили группы, «полоса» данных и др.).
Возможные значения: rbTitle- заголовок отчета, rbPageHeader — верхний колонтитул страницы, rbColumnHeader- верхний колонтитул колонки в многоколоночном отчете, rbDetail — полосас табличными данными (повторяется столько раз, сколько строк имеется внаборе данных, авляющемся основой отчета), rbPageFooter — нижний колонтитулстраницы, rbOverlay — фон страницы, печатается в левом верхнем углу каждойстраницы, rbGroupHeader — заголовок группы, rbSubDetail — «полоса»табличных данных для Detail-таблицы, rbGroupFooter — нижний колонтитулгруппы, rbSummary — печатается в конце отчета).
Свойству BandType созданногонами компонента присвоим значение rbTitle
5. Организация защиты информации БД
В современных СУБД поддерживается один из двух наиболее общих подходов к вопросу обеспечения безопасности данных: избирательный подход и обязательный подход. В обоих подходах единицей данных или «объектом данных», для которых должна быть создана система безопасности, может быть как вся база данных целиком, так и любой объект внутри базы данных.
Эти два подхода отличаются следующими свойствами:
В случае избирательного управления некоторый пользователь обладает различными правами (привилегиями или полномочиями) при работе с данными объектами. Разные пользователи могут обладать разными правами доступа к одному и тому же объекту. Избирательные права характеризуются значительной гибкостью.
В случае избирательного управления, наоборот, каждому объекту данных присваивается некоторый классификационный уровень, а каждый пользователь обладает некоторым уровнем допуска. При таком подходе доступом к определенному объекту данных обладают только пользователи с соответствующим уровнем допуска.
Для реализации избирательного принципа предусмотрены следующие методы. В базу данных вводится новый тип объектов БД — это пользователи. Каждому пользователю в БД присваивается уникальный идентификатор. Для дополнительной защиты каждый пользователь кроме уникального идентификатора снабжается уникальным паролем, причем если идентификаторы пользователей в системе доступны системному администратору, то пароли пользователей хранятся чаще всего в специальном кодированном виде и известны только самим пользователям.
Пользователи могут быть объединены в специальные группы пользователей. Один пользователь может входить в несколько групп. В стандарте вводится понятие группы PUBLIC, для которой должен быть определен минимальный стандартный набор прав. По умолчанию предполагается, что каждый вновь создаваемый пользователь, если специально не указано иное, относится к группе PUBLIC.
Привилегии или полномочия пользователей или групп — это набор действий (операций), которые они могут выполнять над объектами БД.
В данном проекте защита информации БД не применялась.