Технология разработки и защиты баз данных

Обработка больших объемов информации становится не под силу человеку, поэтому для быстрой и достоверной обработки данных используются персональные компьютеры. Информация в компьютере структурируется и хранится, как правило, в виде таблиц. В свою очередь, отдельные таблицы объединяются в базы данных.

Базы данных (БД) — это один или несколько файлов данных, предназначенных для хранения, изменения и обработки больших объемов взаимосвязанной информации.

СУБД — это система программного обеспечения, предоставляющая доступ к данным многих пользователей. СУБД обеспечивает правильность, полноту и непротиворечивость данных, а также простой и понятный интерфейс.

Целью учебной практики по профессиональному модулю МДК 02 «Технология разработки и защиты баз данных» является изучение технологии разработки и защиты БД, а также основных БД. Задачей практики является проектирование базы данных для предметной области и разработка клиентского приложения для сформированной базы данных. В спроектированной БД должны быть выделены объекты для моделирования предметной области, и реализованы связи между объектами модели с использованием методики нормализации данных в БД. Клиентское приложение для сформированной БД должно предоставлять функции обработки и хранения данных.

1. Постановка задачи

Создать проект «Книжный фонд библиотеки». Программа должна отображать следующие атрибуты предметной области: сведения об авторе, издательство, год издания, стоимость, тематический раздел, дата выдачи книги, дата возврата книги, сведения о читателе с указанием ФИО, года рождения, адрес, телефон.

1.1 Основные характеристики функциональных задач

К основным характеристикам функциональных задач относятся:

1) целью данной задачи является создание проекта для облегчения заполнении заявки на выдачу книги;

2) решение задачи осуществляется с использованием средств вычислительной техники:

  • процессор: не ниже Pentium/Celeron/AMD — 800 MH z;
  • размер ОЗУ не менее 256 МБ;
  • свободное пространство на жестком диске не менее 100 Мб;
  • видеокарта не менее 128 Мб;
  • операционная система Windows XP/ Vista/ Windows 7;

3) программа используется по мере необходимости;

4) выходная информация представляется в виде отчетов на экране монитора;

7 стр., 3158 слов

Область применения баз данных

... использования информации из баз данных и сложностью информационных процессов, существующих в пределах предметной области в конкретных условиях. Система управления базами данных - это программный механизм, предназначенный для записи, поиска, сортировки, обработки ... серверной системой управления базами данных. Целью реферата является изучение областей применения баз данных. 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.

Привилегии или полномочия пользователей или групп — это набор действий (операций), которые они могут выполнять над объектами БД.

В данном проекте защита информации БД не применялась.