Требования предъявляемые к системе бд пример. Требования к базе данных

Требования к функциональным характеристикам

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

Виды услуг(Код вида услуг, Название, Тип, Стоимость).

Клиенты (Код клиента, Фамилия, Имя, Отчество, Признак постоянного клиента).

Услуги (Код услуги, Код вида услуги, Код клиента, Дата приема, Дата возврата).

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

Требования к составу и параметрам технических средств

Необходимый объём свободной оперативной памяти для работы программы не более 15 Mb, свободного места на диске для установки программы до 20 Mb, процессор Р400.

Требования к информационной и программной совместимости

База данных должна быть в формате сервера FireBird 2.5, на компьютере должна быть установлена утилита для работы с базами данных IB Expert (IB Expert работает под управлением операционной системы семейства Windows).

Требования к программной документации

Документация к программе должна быть оформлена согласно существующим ГОСТам и содержать следующие разделы:

1. Анализ предметной области

2. Техническое задание

3. Концептуальная модель данных

4. Логическая модель данных

5. Физическая модель данных

6. Вычисляемые поля, генераторы и триггеры

7. Программа и методика испытаний

8. Описание применения

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

10. Список использованных источников

11. Текст SQL-скрипта

12. Диаграммы

13. Результаты испытаний

Стадии и этапы разработки

a) Анализ задания на проектирование

b) Разработка концептуальной модели данных

c) Разработка логической модели

d) Разработка физической модели

e) Создание вычисляемых полей, генераторов, триггеров

f) Внесение данных в базу и тестирование работы

g) Документирование согласно существующим ГОСТам

Порядок контроля и приёмки

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



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

Концептуальная модель данных

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

Концептуальная модель данных состоит из сущностей со своими атрибутами и n-арных связей и используется как средство построения и представления информационных потребностей предприятия.

Проанализировав описание предметной области, выделим объекты, сведения о которых участвуют в описании. Как правило, они мало меняются с течением времени и не зависят от существования других объектов. Сущности изображаются на диаграмме «объект/отношение» в виде прямоугольников. К сущностям относятся объекты: «Клиенты», «Вид работ», «Услуги».

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

«Клиенты» – код клиента

«Услуги» – код услуги

«Вид работ» – код вида работы

Затем проставляем не ключевые свойства (атрибуты) для объектов.

Определенные сущности и атрибуты представлены в таблицах 1-3:

Таблица 1 Сущность Клиенты

Таблица 2 Сущность Виды работ

Объекты вступают между собой в некоторые смысловые отношения, отображаемые на диаграмме «объект/отношение» в виде овалов (связи). Овалы соединяются отрезками прямых с прямоугольниками, которые соответствуют объектам, участвующим в отношении:

1-М (один-ко-многим) – Услуги-Клиенты (Оказываются), Услуги-Вид работ (Относятся).

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

Степень участия связи «Относятся» между сущностями Услуги и Виды работ неполная и имеет показатели кардинальности 1,1 и N,1 соответственно, так как одни и те же виды работ могут оказываться многократно, а одной записи об услуге соответствует только один вид работ.

Концептуальная диаграмма представлена в приложении В, рисунок 1.

Цель занятия: усвоить знания по содержанию этапов проектирования базы данных, требований к БД.

План

    Требования, предъявляемые к базе данных

    Основные этапы проектирования БД.

    Модель "сущность-связь".

  1. Требования, предъявляемые к базе данных

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

К современным базам данных предъявляются следующие основные требования:

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

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

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

    Совместное использование данных многими пользователями.

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

1) отсутствие неточно введенных данных или двух одинаковых записей об одном и том же факте;

2) защиту от ошибок при обновлении БД;

3) невозможность удаления (или каскадное удаление) связанных данных разных таблиц;

4) неискажение данных при работе в многопользовательском режиме и в распределенных базах данных;

5) сохранность данных при сбоях техники (восстановление данных).

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

    целостности сущностей - любой кортеж любого отношения отличим от любого другого кортежа этого отношения

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

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

1) введением системы паролей;

2) получением разрешений от администратора базы данных (АБД);

4) формирование видов - таблиц, производных от исходных и предназначенных конкретным пользователям.

Три последние процедуры легко выполняются в рамках языка SQL .

    Стандартизация построения и эксплуатации БД (фактически СУБД). Стандартизация обеспечивает преемственность поколений СУБД, упрощает взаимодействие БД одного поколения СУБД с одинаковыми и различными моделями данных. Стандартизация (ANSI/SPARC) осуществлена в значительной степени в части интерфейса пользователя СУБД и языка SQL. Это позволило успешно решить задачу взаимодействия различных реляционных СУБД как с помощью языка SQL, так и с применением приложения Open DataBase Connection (ODBC). При этом может быть осуществлен как локальный, так и удаленный доступ к данным (технология клиент/сервер или сетевой вариант).

    Минимальная избыточность – любой элемент данных должен храниться в единственном экземпляре.

    Многократное использование данных.

    Однократный ввод данных.

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

    Дружелюбный интерфейс пользователя.

Правильно спроектированная БД должна удовлетворять следующим требованиям:

1. Минимальная избыточность. Непротиворечивость.

2. Целостность данных.

3. Независимость данных.

4. Возможность ведения (добавления и удаления) и актуализации (корректировки, модификации) данных.

5. Безопасность и секретность.

6. Высокая производительность. Минимальные затраты.

7. Соблюдение стандартов.

1. Минимальная избыточность означает то, что данные в БД не должны дублироваться. Избыточность данных, если она существует, влечет две опасности:

-неоправданно большой расход памяти;

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

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

2. Целостность данных означает то, что в БД должны храниться только правильные данные. Разрушение и искажение данных возможно в результате неосторожных действий пользователей, в результате ошибок в программах и сбоев оборудования.

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

Существуют специальные методы и приемы обеспечения целостности.

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

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

5. Безопасность и секретность означает защиту данных от несанкционированного доступа, преднамеренного и непреднамеренного разрушения данных, хищения данных. Система защиты должна иметь:


Средства идентификации пользователей;

Средства ограничения доступа к данным. Каждый пользователь должен работать только с теми данными, которые необходимы для решения его задач, остальные данные должны быть для него "невидимыми";

Средства, обеспечивающие секретность данных.

Подобные средства содержатся в СУБД или разрабатываются системным программистом.

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

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

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

Правильно спроектированная БД должна удовлетворять следующим требованиям:

1. Минимальная избыточность. Непротиворечивость.

2. Целостность данных.

3. Независимость данных.

4. Возможность ведения (добавления и удаления) и актуализации (корректировки, модификации) данных.

5. Безопасность и секретность.

6. Высокая производительность. Минимальные затраты.

7. Соблюдение стандартов.

1. Минимальная избыточность означает то, что данные в БД не должны дублироваться. Избыточность данных, если она существует, влечет две опасности:

Неоправданно большой расход памяти и уменьшение времени отклика системы при обработке излишне больших объемов данных.

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

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

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

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

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

2. Целостность данных означает то, что в БД должны храниться только правильные данные, т.е. соблюдаются логические условия, в соответствии с которыми данные считаются правильными. Разрушение и искажение данных возможны в результате неосторожных действий пользователей, в результате ошибок в программах и сбоев оборудования.

Существуют специальные методы и приемы обеспечения целостности.

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

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

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

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

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

3. Независимость данных означает то, что прикладные программы не должны зависеть от хранимых данных, т.е. от способа хранения данных в физической памяти. Это позволяет добавлять в БД новые данные, изменять структуры хранения данных, создавать на БД новые приложения. Ранее созданные программы при этом не должны "чувствовать" эти изменения.

СУБД обычно обеспечивают это требование.

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

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

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

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

Каждому пользователю предоставляются определенные полномочия (привилегии) для работы с данными. Ему может быть предоставлено право только чтения из БД, право ввода в БД или право обновления и т.п. Все привилегии предоставляются только администратору БД.

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

Средства защиты и обеспечения безопасности данных содержатся в СУБД или разрабатываются системным программистом.

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

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

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

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

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

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

1) целостность базы данных – требование полноты и непротиворечивости данных;

2) многократное использование данных;

3) быстрый поиск и получение информации по запросам пользователей;

4) простота обновления данных;

5) минимизация избыточности данных;

6) защита данных от несанкционированного доступа, искажения и уничтожения.

15. Этапы жизненного цикла базы данных.

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

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

Проверка осуществимости – подготавливаются отчеты по: технологической осуществимости (необходимо техническое и программное обеспечение); операционной осуществимости (наличие средств персонала и экспертов); экономической эффективности (окупится ли запланированная БД).

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

Концептуальное проектирование – создается подробная модель пользовательских представлений данных предметной области. Эти модели интегрируются в концептуальную модель.

Логическое проектирование – преобразование концептуальной модели в логическую модель. Предварительно нужно выбрать тип модели.

Физическое проектирование – создается физическая модель БД посредством расширения логической модели с следующими характеристиками: типы устройства для хранения; требуемый объем памяти; способы доступа к БД и некоторые другие.

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

12. Модель «сущность-связь». Сущность, атрибут, экземпляр сущности, связь, мощность связи, показатель кардинальности, класс принадлежности сущности. Er-диаграммы.

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

Основные понятия ER-диаграммы: сущность, атрибут, связь.

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

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

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

Важной характеристикой связи является тип связи (кардинальность).

Связь типа «многие-ко-многим» (каждый экземпляр сущности А может быть связан с несколькими экземплярами сущности В, а каждый экземпляр сущности В – с несколькими экземплярами сущности А).(М:N)

Связь типа «один-к-одному» (каждый экземпляр сущности А может быть связан не более чем с одним экземпляром сущности В).(1:1)

Связь типа «один-ко-многим» (каждый экземпляр сущности А может быть связан более чем с одним экземпляром сущности В, а каждый экземпляр сущности В – не более чем с одним экземпляром сущности А).

Класс принадлежности сущности: обязательный – если каждый экземпляр сущности А связан с экземпляром сущности В. – необязательный – если не каждый экземпляр сущности А связан с экземпляром сущности В.

Концептуальная модель состоит из ER-модели и набора атрибутов сущностей.