Please enable JavaScript.
Coggle requires JavaScript to display documents.
Коллективный доступ к данным. Принципы поддержки целостности. (Каждый…
Коллективный доступ к данным. Принципы поддержки целостности.
Специальное идентификационное имя или
номер.
ID разрешения - это имя пользователя
Каждый пользователь в SQL базе данных имеет набор привилегий.
SQL привилегии определенные ANSI - это привилегии объекта.
Привилегии, которые можно
назначить пользователю:
● SELECT - Пользователь с этой привилегией может выполнять запросы в таблице.
● INSERT - Пользователь с этой привилегией может выполнять команду INSERT в
таблице.
● UPDATE - Пользователь с этой привилегией может выполнять команду UPDATE на таблице. Вы можете ограничить эту привилегию для определенных столбцов таблицы.
● REFERENCES - Пользователь с этой привилегией может определить внешний ключ, который использует один или более столбцов этой таблицы, как родительский ключ. Вы можете ограничить эту привилегию для определенных столбцов.
● DELETE - Пользователь с этой привилегией может выполнять команду DELETE в
таблице.
Если Вы - создатель таблицы, Вы имеете все права на нее, а значит, Вы можете
предоставить некоторые права на Вашу таблицу кому-нибудь еще.
GRANT (список прав)
ON (имя таблицы или перечень названий столбцов из одной таблицы)
TO (список пользователей через запятую)
[WITH GRANT OPTION] -право передавать привилегии по наследству
Синтаксис команды REVOKE - похож на GRANT, но имеет обратный смысл.
REVOKE (список прав)
ON (имя таблицы или перечень названий столбцов из одной таблицы)
FROM (список пользователей через запятую)
Принципы поддержки целостности в реляционной модели данных
В общем случае это понятие, прежде всего, связано с тем, что база данных
отражает в информационном виде некоторый объект реального мира или совокупность взаимосвязанных объектов реального мира.
В реляционной модели объекты реального мира
представлены в виде совокупности взаимосвязанных отношений.
ВНЕШНИЙ КЛЮЧ И РОДИТЕЛЬСКИЙ КЛЮЧ
Когда одно поле в таблице ссылается на другое, оно называется - внешним ключом.
Поле, на которое оно ссылается, называется - родительским ключом.
ОГРАНИЧЕНИЕ FOREIGN KEY
Синтаксис ограничения таблицы FOREIGN KEY:
FOREIGN KEY (<список
столбцов>) REFERENCES
<таблица> [ (<список
столбцов>) ]
Второй список столбцов - это список столбцов, которые будут составлять родительский ключ.
Списки двух столбцов должны быть совместимы, т.е.:
− Они должны иметь одинаковое число столбцов.
− В данной последовательности столбцы списка внешнего ключа, должны иметь одинаковые типы данных и размеры с соответствующими столбцами родительского
ключа.
Первый список столбцов - это список из одного или более столбцов таблицы, которые отделены запятыми, и будут созданы или изменены этой командой.
<таблица> - содержащая родительский ключ. Она может быть таблицей, которая создается или изменяется текущей командой.
Ограничение FOREIGN KEY используется в команде CREATE TABLE или ALTER TABLE, содержащей поле которое вы хотите объявить внешним ключом.
Архитектуры реализации корпоративных баз данных.
При построении корпоративных информационных сетей, как правило, используются две базовые архитектуры:
● Клиент-сервер
● Интернет/Интранет.
Основными экономическими преимуществами данной архитектуры являются:
● повышение уровня эффективности использования оборудования (сохранение
инвестиций)
● прикладные программные средства доступны с любого рабочего места, имеющего
соответствующие права доступа
● высокая способность к интеграции существующих гетерогенных информационных
ресурсов корпораций
● минимальный состав программно-технических средств на клиентском рабочем месте (теоретически необходима лишь программа просмотра - браузер и общесистемное
ПО)
● относительно низкие затраты на внедрение и эксплуатацию;
● минимальные затраты на настройку и сопровождение клиентских рабочих мест, что позволяет реализовывать системы с тысячами пользователей (причем многие из которых могут работать за удаленными терминалами)
По запросу клиента WEB узел осуществляет следующие операции:
● Принимает конкретную информацию от пользователя (результат заполнения активной формы, или статистическую информацию запрошенную CGI скриптом)
● Осуществляет заполнение базы данных
● Отсылает байт коды JAVA апплетов
● Принимает сообщения от пользователя и регламентирует доступ к ресурсам Web узла на основе анализа принятой информации (проверка паролей и т.п.)
● Отсылает двоичный код запрошенного ресурса (изображения, аудио-, видеофайла, архива и т.п.)
● Принимает информацию от пользователя и в зависимости от нее динамически формирует HTML страницы, либо VRML документы, обращаясь, при необходимости, к базам данных и существующим на WEB узле HTML страницам и VRML документам
● Отправляет ASCII коды HTML страниц (или VRML документов), включающие при необходимости элементы javaScript
После того, как клиент получил ответ WEB сервера, он осуществляет следующие операции:
● Интерпретируя байт коды JAVA апплетов, позволяет загружать и выполнять активные
приложения;
● Ведет диалог с пользователем, заполняющим формы, и создает новые запросы к WEB
серверу;
● Интерпретирует команды JavaScript, модифицирует образ HTML страницы и т.п.;
● С помощью утилит воспроизводит коды аудио и видео файлов, поддерживает мультимедийные средства;
● Визуализирует HTML страницу либо VRML документ в окне браузера;
● Обеспечивает моделирование виртуальной реальности просматривая VRML документы.
С целью решения перечисленных проблем были приняты, помимо интеграции с Web- навигатором, два других важнейших постулата.
Была специфицирована виртуальная Java-машина (JVM), на которой должны выполняться (интерпретироваться) Java-программы. Определены архитектура, представление элементов данных и система команд Java-машины. Исходные Java-тексты транслируются в коды этой машины.
Определено, что при редактировании внешних связей Java-программы и при работе Web-навигатора прозрачным для пользователя образом может осуществляться поиск
необходимых объектов не только на локальной машине, но и на других компьютерах, доступных по сети (в частности, на WWW-сервере).
Основными сложностями при реализации корпоративных систем на базе данной
архитектуры являются:
● относительное высокое время компиляции апплетов на клиентских местах (временно)
● вопросы безопасной работы в сети
● отсутствие многих популярных приложений и средств разработки реализованных в виде JAVA аплетов
Общие понятия и определения целостности
Поддержка целостности в реляционной модели данных в ее классическом понимании
включает в себя 3 аспекта.
Во-первых, это поддержка структурной целостности, которая трактуется как то, что реляционная СУБД должна допускать работу только с однородными структурами данных типа «реляционное отношение».
Во-вторых, это поддержка языковой целостности, которая состоит в том, что реляционная СУБД должна обеспечивать языки описания и манипулирования данными не ниже стандарта SQL.
В-третьих, это поддержка ссылочной целостности (Declarative Referential Integrity, DRI), означает обеспечение одного из заданных принципов взаимосвязи между экземплярами кортежей взаимосвязанных отношений:
● кортежи подчиненного отношения уничтожаются при удалении кортежа основного
отношения, связанного с ними.
● кортежи основного отношения модифицируются при удалении кортежа основного отношения, связанного с ними, при этом на месте ключа родительского отношения ставится неопределенное Null значение.
Выделяются следующие виды декларативных ограничений целостности:
● Ограничения целостности, задаваемые на уровне доменов, при поддержке доменной структуры. Эти ограничения удобны, если в базе данных присутствуют несколько столбцов разных отношений, которые принимают значения из одного и того же множества допустимых значений.
● Ограничения целостности, задаваемые на уровне отношения. Некоторые семантические правила невозможно преобразовать в выражения, которые будут применимы только к одному столбцу.
● Ограничения целостности атрибута: значение по умолчанию, задание обязательности или
необязательности значений (Null), задание условий на значения атрибутов.
● Ограничения целостности, задаваемые на уровне связи между отношениями: задание обязательности связи, принципов каскадного удаления и каскадного изменения данных, задание поддержки ограничений по мощности связи.