Курсовая работа: Проектирование базы данных интернет-магазина в СУБД MS ACCESS
Целостность – это актуальность и непротиворечивость информации, ее защищенность от разрушения и несанкционированного изменения. Целостность является одним из аспектов информационной безопасности наряду с доступностью – возможностью с приемлемыми затратами получить требуемую информационную услугу, и конфиденциальностью – защитой от несанкционированного прочтения.
Ограничение целостности – это набор специальных предложений, описывающих допустимые значения отдельных информационных единиц и связей между ними. Большинство ограничений целостности вызваны спецификой предметной области. Нарушение ограничений целостности может происходить по нескольким причинам: ошибки, преднамеренное нарушение, вирусы, сбои. Поэтому необходимо контролировать ограничения целостности.
Помимо упомянутых нами на стадии описания предметной области ограничений целостности, во время разработки базы данных интернет-магазина нами также были выявлены многие другие ограничения. Большинство из них контролируются непосредственно в таблицах. Поскольку ввод всех данных в таблице осуществляется через разработанные нами вспомогательные формы, также существует достаточно большое количество ограничений, которые контролируются средствами конструктора форм, а также при помощи встроенного в среду MS ACCESS визуального объектно-ориентированного языка Visual Basic. Далее будут перечислены все ограничения целостности, которые будут контролироваться в данном курсовом проекте, а также выбранные способы реализации контроля целостности для каждого из ограничений.
Ограничения, контролируемые в таблицах:
1. Текстовое поле «E-mail» в таблице «Покупатель» не может содержать пробелов или кириллических символов
Аналогичным образом ограничение на данное поле контролируется в таблицах «Сотрудник» и «Поставщик»
2. Текстовое поле «ФИО» в таблице «Покупатель» не может содержать цифр
Аналогичным образом ограничение на данное поле контролируется в таблице «Сотрудник»
3. Значения поля «Дата_рождения» в таблице «Покупатель» не может превышать текущую дату и должно быть определенного вида, что контролируется маской ввода
4. Поле «Дата_регистрации» в таблице «Покупатель», как правило, содержит дату добавления записи в таблицу, не должно превышать текущую дату и должно быть определенного вида, который контролируется маской ввода
5. Поле «Пол» в таблице «Покупатель» содержит фиксированный набор значений, контролируемых списком подстановки
6. Поле «Образование» в таблице «Покупатель» содержит фиксированный набор значений, контролируемый списком подстановки
7. Поле «Логин» в таблице «Покупатель/телефон» содержит фиксированный набор значений, источником которых является таблица «покупатель»
Аналогичным образом ограничение на данное поле контролируется в таблицах «заказ», «кредитная карта» и «товар/оценка»
8. Поле «Телефон» в таблице «Покупатель/телефон» может содержать только цифры и должно быть определенного вида, который контролируется маской ввода
Аналогичным образом ограничение на данное поле контролируется в таблицах «поставщик», «сотрудник» и «точка выдачи». Ограничение подобного рода установлено и на поле «факс» в таблицах «сотрудник» и «точка выдачи»
9. Поле «id_товара» в таблице «Товар/оценка» содержит фиксированный набор значений, источником которых является таблица «товар»
Аналогичным образом ограничение на данное поле контролируется в таблице «Заказ товар»
10. Поле «Оценка» в таблице «Товар/оценка» содержит фиксированный набор значений и позволяет оценить клиенту выбранный товар в диапазоне от 1 до 10
11. Текстовое поле «Время_работы» в таблице «Точка выдачи» может содержать только цифры и должно быть определенного диапазонного вида, который контролируется маской ввода
12.Поле «Название_точки» в таблице «Точка выдачи/телефон» содержит фиксированный набор значений, источником которых является таблица «Точка выдачи»
Аналогичным образом ограничение на данное поле контролируется в таблице «заказ»
13. Поле «Должность» в таблице «Сотрудник» содержит фиксированный набор значений, контролируемый списком подстановки
14. Поле «Номер_кред_карты» в таблице «Кредитная карта» должно содержать только цифры и быть определенного вида, который контролируется маской ввода
15. Поле «Имя_владельца» в таблице «Кредитная карта» должно содержать только латинские буквы
16. Поле «Проверочный_код» в таблице «Кредитная карта» должно быть определенного вида, который контролируется маской ввода
17. Поле «Срок_истечения» в таблице «Кредитная карта» должно быть определенного вида, который контролируется маской ввода. При этом для использования кредитной карты срок её истечения должен превышать текущую дату или быть равным ей
18. Поле «№_заказа» в таблице «Заказ» содержит фиксированный набор значений, источником которых является таблица «Заказ товар»
Аналогичным образом ограничение на данное поле контролируется в таблице «доставка»