Распределенная СУБД - Управление базой данных

Управление базой данных относится к задаче обеспечения соблюдения правил, чтобы предоставить правильные данные подлинным пользователям и приложениям базы данных. Чтобы правильные данные были доступны пользователям, все данные должны соответствовать ограничениям целостности, определенным в базе данных. Кроме того, данные должны быть защищены от неавторизованных пользователей, чтобы обеспечить безопасность и конфиденциальность базы данных. Управление базой данных - одна из основных задач администратора базы данных (DBA).

Три измерения управления базой данных:

  • Authentication
  • Права доступа
  • Ограничения целостности

Аутентификация

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

Аутентификация может быть принудительной на двух уровнях -

  • Controlling Access to Client Computer- На этом уровне доступ пользователей ограничен при входе на клиентский компьютер, который обеспечивает пользовательский интерфейс для сервера базы данных. Самый распространенный метод - это комбинация имени пользователя и пароля. Однако для данных с высоким уровнем безопасности могут использоваться более сложные методы, такие как биометрическая аутентификация.

  • Controlling Access to the Database Software- На этом уровне программное обеспечение / администратор базы данных назначает пользователю некоторые учетные данные. Пользователь получает доступ к базе данных, используя эти учетные данные. Один из способов - создать учетную запись на сервере базы данных.

Права доступа

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

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

Например, следующие операторы SQL создают роль «Бухгалтер», а затем назначают эту роль пользователю «ABC».

CREATE ROLE ACCOUNTANT; 
GRANT SELECT, INSERT, UPDATE ON EMP_SAL TO ACCOUNTANT; 
GRANT INSERT, UPDATE, DELETE ON TENDER TO ACCOUNTANT; 
GRANT INSERT, SELECT ON EXPENSE TO ACCOUNTANT; 
COMMIT; 
GRANT ACCOUNTANT TO ABC; 
COMMIT;

Контроль семантической целостности

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

Ограничения целостности следующие:

  • Ограничение целостности типа данных
  • Ограничение целостности объекта
  • Ограничение ссылочной целостности

Ограничение целостности типа данных

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

Например, допустим, что в таблице «HOSTEL» есть три поля - номер хостела, название хостела и вместимость. Номер общежития должен начинаться с заглавной буквы «H» и не может быть NULL, а его вместимость не должна превышать 150. Для определения данных можно использовать следующую команду SQL:

CREATE TABLE HOSTEL ( 
   H_NO VARCHAR2(5) NOT NULL, 
   H_NAME VARCHAR2(15), 
   CAPACITY INTEGER, 
   CHECK ( H_NO LIKE 'H%'), 
   CHECK ( CAPACITY <= 150) 
);

Контроль целостности организации

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

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

CREATE TABLE HOSTEL ( 
   H_NO VARCHAR2(5) PRIMARY KEY, 
   H_NAME VARCHAR2(15), 
   CAPACITY INTEGER 
);

Ограничение ссылочной целостности

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

Например, давайте рассмотрим студенческий стол, за которым студент может выбрать проживание в общежитии. Чтобы включить это, первичный ключ таблицы общежития должен быть включен как внешний ключ в таблицу ученика. Следующий оператор SQL включает это -

CREATE TABLE STUDENT (  
   S_ROLL INTEGER PRIMARY KEY, 
   S_NAME VARCHAR2(25) NOT NULL, 
   S_COURSE VARCHAR2(10), 
   S_HOSTEL VARCHAR2(5) REFERENCES HOSTEL 
);