Лекция
Привет, мой друг, тебе интересно узнать все про общий подход к организации представлений ограничениям целостности, тогда с вдохновением прочти до конца. Для того чтобы лучше понимать что такое общий подход к организации представлений ограничениям целостности, контролю доступа , настоятельно рекомендую прочитать все из категории IBM System R — реляционная СУБД.
Мы объединили эти три кажущиеся не очень близкими темы, потому что в Ingres для решения соответствующих проблем применяется единый подход, основанный на модификации операторов SQL. Начнем с представлений. Как и в System R (точнее, в языке SQL), представление базы данных - это некоторый именованный запрос с именованными полями результирующего отношения.
Например, оператор
DEFINE VIEW GROUP310 (STUD_NUMBER = S.STUD_NUMBER, STUD_NAME = S.STUD_NAME, STUD_STATUS = S.STUD_STATUS) WHERE (S.GROUP_NUMBER = 310)
определяет представляемое отношение, включающее номера студенческих билетов и имена студентов из группы 310.
Предположим, что мы хотим теперь найти неуспевающих студентов в отношении GROUP310:
RANGE OF G310 IS GROUP310 RETRIEVE (G310.STUD_NAME) WHERE (G310.STUD_STATUS = "NO")
Тогда после модификации этот запрос будет выглядеть следующим образом:
RETRIEVE (STUD_NUMBER = S.STUD_NUMBER, STUD_NAME = S.STUD_NAME, STUD_STATUS = S.STUD_STATUS) WHERE (S.GROUP_NUMBER = 310 AND S.STUD_STATUS = "NO")
На тех же самых принципах построен контроль доступа к данным и контроль целостности баз данных. Об этом говорит сайт https://intellect.icu . Например, ограничение доступа к отношению СТУДЕНТЫ может быть определено следующим образом:
DEFINE PERMIT RETRIEVE, REPLACE ON S TO PETROV AT TTA5 FROM 9:00 TO 17:50 ON MON TO FRI WHERE (S.GROUP_NUMBER = 310)
Это означает, что Петрову разрешается читать и модифицировать отношение СТУДЕНТЫ с терминала TTA5 во время от 9 до 15:00 в рабочие дни недели, причем только те кортежи, которые удовлетворяют сформулированному условию. При компиляции любого оператора QUEL над отношением СТУДЕНТЫ этот оператор будет модифицироваться таким образом, чтобы он был выполнен при выполнении условий хотя бы одного из ограничений доступа.
Аналогично, если для отношения СТУДЕНТЫ определено ограничение целостности
DEFINE INTEGRITY ON S WHERE (S.STUD_STIP < 150,000)
то к условию любого оператора изменения кортежей отношения СТУДЕНТЫ будет через AND добавляться условия всех ограничений целостности, определенных для этого отношения.
В заключение этой лекции заметим, что конечно, в Ingres поддерживается механизм параллельных транзакций с соответствующей синхронизаций доступа и журнализация изменений баз данных. Однако нам не известны какие-либо особенности применяемых механизмов. На особенностях оптимизации операторов QUEL мы остановимся в лекции, посвященной оптимизациям в языках баз данных.
Понравилась статья про общий подход к организации представлений ограничениям целостности? Откомментируйте её Надеюсь, что теперь ты понял что такое общий подход к организации представлений ограничениям целостности, контролю доступа и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории IBM System R — реляционная СУБД
Из статьи мы узнали кратко, но содержательно про общий подход к организации представлений ограничениям целостности
Комментарии
Оставить комментарий
Базы данных - IBM System R — реляционная СУБД
Термины: Базы данных - IBM System R — реляционная СУБД