Отметим ограничения целостности, которые не указаны в табл. 8–17.
1. Значения всех числовых атрибутов – больше 0 (или null, если атрибут не обязателен).
2. Область значений атрибута Sex отношения EMPLOYEES – символы 'м' и 'ж'.
3. Отношение ROOMS не имеет первичного ключа, но комбинация значений (R_no, Tel) уникальна.
4. В отношении TITLES порядковые номера авторов на обложке одной книги должны идти подряд, начиная с 1.
5. В отношении TITLES сумма процентов гонорара по одной книге равна 100.
Ограничения 4, 5 нельзя реализовать в схеме отношения. В реальных БД подобные ограничения целостности реализуются программно (через внешнее приложение или специальную процедуру контроля данных).
Описание групп пользователей и прав доступа
Опишем для каждой группы пользователей права доступа к каждой таблице и к каждому полю (атрибуту).
1. Администратор БД: имеет доступ ко всем данным (по записи), может изменять структуру базы данных и связи между отношениями. Устанавливает права доступа для всех остальных групп.
|
|
2. Представители администрации компании: имеют доступ по чтению ко всем данным и доступ по записи к отношениям POSTS, ROOMS и EMPLOYEES.
3. Менеджеры: имеет доступ по чтению ко всем данным, кроме отношения POSTS. Имеют доступ по записи к отношениям AUTHORS, CUSTOMERS, BOOKS, EDITORS, TITLES, ORDERS, ITEMS.
4. Редакторы: имеют доступ по чтению к следующим отношениям:
AUTHORS, кроме полей A_passp, A_org, A_pdate, A_INN (паспортные данные и ИНН), BOOKS, кроме полей B_advance, B_fee (затраты и гонорар), EDITORS, TITLES.
5. Сотрудники, принимающие и выполняющие заказы: имеют доступ по записи к отношениям CUSTOMERS, ORDERS, ITEMS и по чтению к полям B_title, B_circul, B_price и B_rest отношения BOOKS (название, тираж, цена, непроданный остаток тиража).