Администрирование базы данных. 4

Содержание 

 

Содержание…………………………………………………………………..2

Введение……………………………………………………………………...3

Глава 1. Администратор базы данных ……………………………………..5

1.1 Понятие и функции администратора базы данных……………………5

1.2 Виды администраторов БД 8

1.3 Обязанности администратора современных систем управления бaзaми данных……………………………………………………………………11

Глава 2. Администрирование базы данных………………………………12

2.1 Управление данными в бaзaх данных 12

2.2 Управление безопасностью в СУБД………………………………….14        Глава 3.  Практическая часть……………………………………………………21

3.1      Создание ER-диаграммы, логической схемы и таблиц БД ……...22

3.2 Создание запросов  к БД 26

3.3   Создание формы и отчета  бaзa данных ……………………………..32

Заключение. 32

Список литературы…………………………………………………………36

 

 

 

 

 

 

 

 

 

 

 

 

                                             Введение

 

       Курсовая  работа является завершающим  этапом изучения дисциплины «Базы  данных».

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

        Цель курсовой работы - закрепление и углубление знаний по предмету «Бaзa Данных», практических навыков работы на персональном компьютере и разработки пользовательских приложений с использованием программных средств интегрированного пакета MS Office, современных компьютерных технологий обработки информации, а также приобретение  практических навыков по формулированию требований к разрабатываемым бaзaм данных и построению их моделей.

В данном курсовом проекте в качестве предметной области рассматривается  компьютерный магазин «Комп+». Наша бaзa данных должна решать следующие задачи: учёт товара, выдача данных о поставщиках и поставляемых ими товарах (фирма-поставщик, его реквизиты, наименование товаров, характеристики, цены), вычислять суммы оплаты.

Данная бaзa данных должна реализовать запросы упорядочения по полям: товары, поставщики, цена; осуществлять поиск сведений о фирме-поставщике какого-то товара; производить подсчет стоимости и количества оставшегося в магазине товара, а также должна выдать отчет об отсутствующих товарах.

Применяемая СУБД: АССЕSS 2007 .

Исходные данные о магазине: магазин  располагается в нескольких помещениях (склад, торговый зал). У фирмы есть поставщики, осуществляющие поставку компьютеров и комплектующих  на склад магазина. Так же в магазине есть свой штат сотрудников: менеджеры и консультанты, осуществляющие продажу товара, бухгалтер, кладовщики, грузчики-водители.

Клиент, приходя в магазин, взаимодействует  с менеджером, который, в свою очередь, осуществляет продажу компьютеров  или комплектующих. Операции с денежными  средствами и отбивку чека осуществляет так же менеджер. При покупке товара, клиент получает чек с указанием  товара и его стоимости, на основании  которого со склада ему отгружают  необходимый товар.

При отсутствии товара на складе работник магазина выбирает отсутствующие товары и на основании этих данных составляет заявку на имя фирмы-поставщика.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                Глава 1. Администратор базы данных

 

1.1 Понятие  и функции администратора базы  данных

 

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

Администрирование бaзaми данных предусматривает выполнение функций, направленных на обеспечение надежного и эффективного функционирования системы баз данных, адекватности содержания базы данных информационным потребностям пользователей, отображения в базе данных актуального состояния предметной области.

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

Проблема исследования «Администрирование базы данных» заключается в возможности  дать исчерпывающие ответы на поставленные вопросы: что представляет собой  администрирование базы данных, в  чем заключаются его основные функции и задачи, его значение для стабильной и эффективной  работы базы данных.

Актуальность исследования «Администрирование базы данных» несомненна. Уровень  администратора баз данных в иерархии организации достаточно высок: чтобы  определять структуру данных и право  доступа к ним, администратор должен знать, как работает предприятие, как используются соответствующие данные.

Проблеме администрирования баз  данных внимание уделяется сравнительно недавно - с появлением и развитием  современных баз данных. Однако в  связи с тем, что совершенствование  баз данных и систем управления данных - явление постоянное и непрерывное, проблема остается достаточно актуальной, следовательно, требует дополнительных исследований в данной области компьютерных технологий.

Функционирование базы данных (БД) невозможно без участия специалистов, обеспечивающих создание, функционирование и развитие базы данных. Такая группа специалистов называется администратором  базы данных (АБД). Эта группа специалистов считается составной частью базы данных.

В составе администрации базы данных должны быть системные аналитики, проектировщики структур данных и внешнего по отношению  к банку данных информационного  обеспечения, проектировщики технологических  процессов обработки данных, системные  и прикладные программисты, операторы, специалисты по техническому обслуживанию.

Администраторы базы данных выполняют  большой круг разнообразных функций:

1. Анализ предметной области: описание предметной области, выявление ограничений целостности, определение статуса информации, определение потребностей пользователей, определение статуса пользователей, определение соответствия «данные - пользователь», определение объемно-временных характеристик обработки данных.

2. Проектирование структуры базы данных: определение состава и структуры информационных единиц, составляющих базу данных, задание связей между ними, выбор методов упорядочения данных и методов доступа к информации, описание структуры БД на языке обработки данных (ЯОД).

3. Задание ограничений целостности при описании структуры базы данных и процедур обработки БД: задание ограничений целостности, присущих предметной области, определение ограничений целостности, вызванных структурой базы данных, обеспечение ограничений целостности при параллельной работе пользователей в многопользовательском режиме, разработка процедур обеспечения целостности БД при вводе и корректировке данных.

4. Первоначальная загрузка и ведение базы данных: разработка технологии первоначальной загрузки и ведения (изменения, добавления, удаления записей) БД, проектирование форм ввода, создание программных модулей, подготовка исходных данных, ввод и контроль ввода.

5. Защита данных от несанкционированного доступа:

- обеспечение парольного входа  в систему: регистрация пользователей,  назначение и изменение паролей;

- обеспечение защиты конкретных  данных: определение прав доступа  групп пользователей и отдельных  пользователей, выбор/создание программно-технологических средств защиты данных, определение допустимых операций над данными для отдельных пользователей, шифрование информации с целью защиты данных от несанкционированного использования;

- тестирование средств защиты  данных;

- фиксация попыток несанкционированного  доступа к информации;

- исследование возникающих случаев  нарушения защиты данных и  проведение мероприятий по их  предотвращению.

6. Защита данных от разрушений. Одним из способов защиты от потери данных является резервирование. Используется как при физической порче файла, так и в случае, если в БД внесены нежелательные необратимые изменения.

7. Обеспечение восстановления БД: разработка программно-технологических средств восстановления БД, организация ведения системных журналов.

8. Анализ обращений пользователей к БД: сбор статистики обращений пользователей к БД, ее хранение и анализ (кто из пользователей, к какой информации, как часто обращался, какие выполнял операции, время выполнения запросов, анализ причин безуспешных (в т.ч. и аварийных) обращений к БД.

9. Анализ эффективности функционирования базы данных и развитие системы: анализ показателей функционирования системы (время обработки, объем памяти, стоимостные показатели), реорганизация и реструктуризация баз данных, изменение состава баз данных, развитие программных и технических средств.

10. Работа с пользователями: сбор информации об изменениях в предметной области, об оценке пользователями работы базы данных, определение регламента работы пользователей с базой данных, обучение и консультирование пользователей.

11. Подготовка и поддержание системных программных средств: сбор и анализ информации о СУБД и других прикладных программ, приобретение программных средств, их установка, проверка работоспособности, поддержание системных библиотек, развитие программных средств.

12. Организационно-методическая работа: выбор или создание методики проектирования БД, определение целей и направлений развития системы, планирование этапов развития базы данных, разработка и выпуск организационно-методических материалов.

 

                         1.2 Виды администраторов БД

Существует несколько видов  администраторов БД, а их обязанности  вполне могут отличаться от компании к компании. Вот характеристики некоторых  типов АБД и занимаемых ими  положений:

 

    • Оперативные (operational) АБД:
    • манипулируют дисковым пространством
    • наблюдают за текущей производительностью системы
    • реагируют на возникающие неисправности БД
    • обновляют системное ПО и ПО базы данных
    • контролируют структурные изменения БД
    • запускают процедуры резервного копирования данных
    • выполняют восстановление данных
    • создают и управляют тестовыми конфигурациями БД

 

    • Тактические (tactical) АБД:
    • реализуют схемы размещения информации
    • утверждают процедуры резервного копирования и восстановления данных;
    • разрабатывают и внедряют структурные элементы БД: таблицы, столбцы, размеры объектов, индексацию и т.п.;
    • сценарии(scripts) изменения схемы БД;
    • конфигурационные параметры БД
    • утверждают план действий в случае аварийной ситуации

 

    • Стратегические (strategic) АБД:
    • выбирают поставщика БД
    • устанавливают корпоративные стандарты данных
    • внедряют методы обмена данных в рамках предприятия
    • определяют корпоративную стратегию резервирования и восстановления данных
    • устанавливают корпоративный подход к ликвидации последствий аварии и обеспечению доступности данных

 

    • Старшие (senior) АБД:
    • досконально знают свой персонал
    • пользуются высоким спросом
    • могут написать скрипт
    • тратят уйму времени на подготовку младших АБД
    • очень ценятся руководством и получают бешеные деньги

 

    • Младшие (junior) АБД:
    • мечтают стать старшим АБД
    • не слишком сильны в написании скриптов
    • имеют большую склонность к использованию средств управления БД
    • тоже неплохо получают

 

    • Прикладные (application) АБД:
    • в курсе информационных нужд компании
    • помогают в разработке прикладных задач
    • отвечают за разработку схемы и ее изменения
    • вместе с системным АБД обеспечивают должный уровень резервирования/ восстановления данных
    • занимаются построением тестовых БД

 

    • Системные (system) АБД:
    • отвечают за все необходимое для резервирования и восстановления данных
    • контролируют производительность системы в целом
    • осуществляют поиск и устранение неисправностей
    • в курсе нынешних и будущих потребностей БД в плане емкости
    • в курсе текущего состояния и нужд БД

 

    • Наемные (contract) АБД:
    • приглашаются под конкретную задачу или в качестве консультантов
    • передают персоналу необходимые знания
    • фиксируют свои действия!
    • должны прекрасно разбираться в соответствующей области
    • хороши в качестве временного персонала, для оценки проекта или системы

 

    • Администраторы-руководители:
    • проводят еженедельные совещания
    • определяют перечень первоочередных задач
    • устанавливают и оглашают официальный курс и стратегию
    • утверждают и корректируют должностные инструкции и список обязанностей
    • следят за наличием соответствующей документации

 

       1.3 Обязанности администратора современных систем               управления бaзaми данных

 

В любой базе данных должен быть хотя бы один человек, выполняющий административные обязанности; если бaзa данных большая, эти обязанности могут быть распределены между несколькими администраторами.

В обязанности администратора могут входить:

    • инсталляция и обновление версий сервера и прикладных инструментов
    • распределение дисковой памяти и планирование будущих требований системы к памяти
    • создание первичных структур памяти в базе данных (табличных пространств) по мере проектирования приложений разработчиками приложений
    • создание первичных объектов (таблиц, представлений, индексов) по мере проектирования приложений разработчиками
    • модификация структуры базы данных в соответствии с потребностями приложений
    • зачисление пользователей и поддержание защиты системы
    • соблюдение лицензионного соглашения
    • управление и отслеживание доступа пользователей к базе данных
    • отслеживание и оптимизация производительности базы данных
    • планирование резервного копирования и восстановления
    • поддержание архивных данных на устройствах хранения информации
    • осуществление резервного копирования и восстановления
    • обращение в корпорацию за техническим сопровождением

В некоторых случаях бaзa данных должна также иметь одного или нескольких сотрудников службы безопасности. Сотрудник службы безопасности главным образом отвечает за регистрацию новых пользователей, управление и отслеживание доступа пользователей к базе данных, и защиту базы данных.

 

В обязанности разработчика приложений входит:

    • проектирование и разработка приложений базы данных
    • проектирование структуры базы данных в соответствии с требованиями приложений
    • оценка требований памяти для приложения
    • формулирование модификаций структуры базы данных для приложения
    • передача вышеупомянутой информации администратору базы данных
    • настройка приложения в процессе его разработки
    • установка мер по защите приложения в процессе его разработки

 

             Глава 2. Администрирование базы данных

 

             2.1 Управление данными в бaзaх данных

 

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

Управление буферами оперативной  памяти. СУБД обычно работают с БД значительного размера: этот размер обычно существенно превышает доступный объем оперативной памяти. Понятно, если при обращении к любому элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоростью устройства внешней памяти. Единственным же способом реального увеличения этой скорости является буферизация данных в оперативной памяти. И даже если операционная система производит общесистемную буферизацию (как в случае ОС UNIX), этого недостаточно для целей СУБД, которая располагает гораздо большей информацией о полезности буферизации той или иной части БД. Поэтому в развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственной дисциплиной замены буферов. При управлении буферами основной памяти приходится разрабатывать и применять согласованные алгоритмы буферизации, журнализации и синхронизации. Заметим, что существует отдельное направление СУБД, которые ориентированы на постоянное присутствие в оперативной памяти всей БД. Это направление основывается на предположении, что в предвидимом будущем объем оперативной памяти компьютеров сможет быть настолько велик, что позволит не беспокоиться о буферизации.

Управление транзакциями. Транзакция - это последовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется, и СУБД фиксирует (COMMIT) изменения БД, произведенные ею, во внешней памяти, либо ни одно из этих изменений никак не отражается в состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД.

Поддержание механизма транзакций - обязательное условие даже однопользовательских СУБД. То свойство, что каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения, делает очень удобным использование понятия транзакции как единицы активности пользователя по отношению к БД. При соответствующем управлении параллельно выполняющимися транзакциями со стороны СУБД каждый пользователь может в принципе ощущать себя единственным пользователем СУБД (на самом деле, это несколько идеализированное представление, поскольку пользователи многопользовательских СУБД порой могут ощутить присутствие своих коллег).

Журнализация. Одно из основных требований к СУБД - надежное хранение данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мягкие сбои, которые можно трактовать как внезапную остановку работы компьютера (например, аварийное выключение питания), и жесткие сбои, характеризуемые потерей информации на носителях внешней памяти. Примерами программных сбоев могут быть аварийное завершение работы СУБД (из-за ошибки в программе или некоторого аппаратного сбоя) или аварийное завершение пользовательской программы, в результате чего некоторая транзакция остается незавершенной.

В любом случае для восстановления БД нужно располагать некоторой дополнительной информацией. Другими словами, поддержание надежного хранения данных в БД требует избыточности хранения данных, причем та их часть, которая используется для восстановления, должна храниться особо надежно. Наиболее распространенный метод поддержания такой избыточной информации - ведение журнала изменений БД.

Журнал - это особая часть БД, недоступная  пользователям СУБД и поддерживаемая особо тщательно (иногда поддерживаются две копии журнала, располагаемые  на разных физических дисках), в которую  поступают записи обо всех изменениях основной части БД. В разных СУБД изменения БД журнализуются на разных уровнях: иногда запись в журнале  соответствует некоторой логической операции изменения БД (например, операции удаления строки из таблицы реляционной  БД), а порой запись соответствует  минимальной внутренней операции модификации  страницы внешней памяти. В некоторых  системах одновременно используются оба  подхода.

Во всех случаях придерживаются стратегии «упреждающей» записи в журнал (так называемого протокола Write Ahead Log - WAL). Грубо говоря, эта стратегия  заключается в том, что запись об изменении любого объекта БД должна попасть во внешнюю память журнала  раньше, чем измененный объект попадет  во внешнюю память основной части  БД. Известно, если в СУБД корректно  соблюдается протокол WAL, то с помощью  журнала можно решить все проблемы восстановления БД после любого сбоя.

 

                   

 

 

                  2.2 Управление безопасностью в СУБД

 

Информационная безопасность – это защищенность информации от случайных и преднамеренных воздействий естественного или искусственного характера, чреватых нанесением ущерба владельцам или пользователям информации.

Защита баз данных охватывает и оборудование, и программное обеспечение, и персонал, и, собственно, данные.

Таким образом, защита баз данных предусматривает  предотвращение любых преднамеренных и непреднамеренных угроз с использованием компьютерных и некомпьютерных средств  контроля. Следует также защищать: современные информационные системы; глобальную связанность (выход в Internet); разнородность (различные платформы); технологию «клиент-сервер».

Разрабатывая систему информационной безопасности, надо помнить, что только защищая все составные части системы, можно достичь желаемого результата.

Рассмотрим основные программно-технические  меры, применение которых позволит решить некоторые из вышеперечисленных  проблем: аутентификация и идентичность; управление доступом; поддержка целостности; протоколирование и аудит; защита коммуникаций между клиентом и сервером; отражение  угроз, специфичных для СУБД.

Аутентификация  и идентичность. Проверка подлинности пользователя приложений базы данных чаще всего осуществляется либо через соответствующие механизмы операционной системы, либо через определенный SQL-оператор: пользователь идентифицируется своим именем, а средством аутентификации служит пароль. Авторизация -предоставление прав, позволяющих владельцу иметь законный доступ к объектам базы данных. Аутентификация - механизм определения того, является ли пользователь тем, за кого он себя выдает. Эта процедура позволяет организовать контролируемый доступ к информационной системе (пользователь - идентификатор - пароль). Пароль - наиболее распространенный метод аутентификации, но он не дает абсолютной гарантии, что пользователь является именно тем, за кого себя выдает. При использовании такого подхода создаются значительные сложности для повторных проверок и исключает подобные проверки перед каждой транзакцией.

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

Управление доступом базируется на реализации следующего минимального набора действий: произвольное управление доступом; обеспечение безопасности повторного использования объектов; использование  меток безопасности; принудительное управление доступом.

Произвольное  управление доступом - метод ограничения доступа к объектам, основанный на учете личности субъекта или групп, в которую субъект входит. Группа - это именованная совокупность пользователей; объединение субъектов в группы облегчает процесс администрирования данных, и строится на основе формальной структуры организации. Эта технология обеспечивает владельцу объекта (представления, сервера базы данных, процедуры, таблицы) передачу по своему усмотрению привилегий другому лицу. Этим лицом в данной ситуации может выступать субъект-пользователь, группа пользователей и такой возможный носитель привилегий как роль.

 

Привилегии распределяются в зависимости  от статуса пользователей (администратор  сервера базы данных и бaзa данных, прочие пользователи). Особенно важным следует считать поддержание уровня защиты привилегий администратора сервера базы данных, т.к. компрометация его пароля может привести к серьезным проблемам для всей хранящейся информации.

Главное достоинство применения произвольного  управления доступом - гибкость, однако такие сопутствующие характеристики как рассредоточенность управления и сложность централизованного  контроля создают немало проблем  для обеспечения безопасности данных.

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

Также применяют подход, позволяющий осуществить разделение данных по уровням секретности и категориям доступа, называемый метками безопасности.

Администрирование базы данных. 4