Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
госы 2013.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
4.38 Mб
Скачать

4.3 Объекты базы данных

К числу основных объектов реляционных баз данных относятся: таблицы, представления, синонимы, пользовательские типы данных, индексы, хранимые процедуры, функции, сборки, правила и объекты по умолчанию.

Таблица (Table) является базовой структурой реляционной базы данных. Она представляет собой единицу хранения данных - отношение. Таблица идентифицируется в базе данных своим уникальным именем, которое включает в себя идентификацию пользователя. Таблица может быть пустой или состоять из набора строк.

Представление (View) - это поименованная динамически поддерживаемая СУБД выборка из одной или нескольких таблиц базы данных. Оператор выборки ограничивает видимые пользователем данные. Обычно СУБД гарантирует актуальность представления - его формирование производится каждый раз, когда представление используется. Иногда представления называют виртуальными таблицами.

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

Определенные пользователем типы данных (User-defined data types) представляют собой определенные пользователем типы атрибутов (домены), которые отличаются от поддерживаемых (встроенных) СУБД типов. Они определяются на основе встроенных типов.

Индекс (Index) - это объект базы данных, создаваемый для повышения производительности выборки данных и контроля уникальности первичного ключа (если он задан для таблицы). Полностью индексные таблицы (index-organized tables) исполняют роль таблицы и индекса одновременно.

Хранимая процедура (Stored procedure) - это объект базы данных, представляющий поименованный набор команд SQL и/или операторов специализированных языков обработки программирования базы данных (например, PL/SQL).

Функция (Function) - это объект базы данных, представляющий поименованный набор команд SQL и/или операторов специализированных языков обработки программирования базы данных, который при выполнении возвращает значение - результат вычислений.

Триггер (Trigger) - это объект базы данных, который представляет собой специальную хранимую процедуру. Эта процедура запускается автоматически, когда происходит связанное с триггером событие (например, до вставки строки в таблицу).

4.4 Модель безопасности

На уровне сервера SQL Server можно настроить на использование одного из двух режимов аутентификации. В режиме аутентификации Windows вы назначаете пользователям разрешения и привилегии доступа к ресурсам SQL Server только через учетные записи Windows (или группы Windows). В режиме аутентификации SQL Server и Windows (известен и как смешанный режим защиты) пользователи могут также подключаться к SQL Server с помощью отдельного имени входа SQL Server и получать через него разрешения и привилегии.

В режиме аутентификации Windows для подключения к SQL Server используются существующие учетные записи пользователей и групп Windows. Этот режим позволяет локальным и доменным пользователям Windows получить доступ к базам данных, не используя имя входа и пароль SQL Server. Режим аутентификации Windows удобен для пользователей, поскольку не требует от них запоминать разные пароли для аутентификации в Windows и в SQL Server. Кроме того, режим аутентификации Windows безопаснее. К тому же, пользователи в этом случае подчиняются правилам модели безопасности Windows, поэтому вы можете блокировать учетные записи, вести аудит входа в систему и заставлять пользователей периодически менять свои пароли.

SQL Server в режиме аутентификации Windows аутентифицирует пользователей на основе их учетных записей Windows и членства в группах Windows. АБД может назначать разрешения баз данных любой учетной записи пользователя или группы Windows, По умолчанию локальная учетная запись Администратор и локальная учетная запись локальной группы Администраторы имеют полные права доступа к SQL Server.

При смешанном режиме аутентификации (режим аутентификации SQL Server и Windows) пользователь соединяется с SQL Server, используя имя входа SQL Server или учетную запись Windows. Если у пользователя есть действительное имя входа SQL Server, то запрос на соединение принимается. В противном случае SQL Server проверяет информацию об учетной записи Windows этого пользователя. Если учетная запись Windоws имеет достаточные разрешения для соединения с SQL Server, то запрос на соединение принимается.

В целом модель безопасности SQL Server включает такие сущности, как пользователи, учетные записи, группы и роли, которые могут обращаться к базе данных, серверу или к схеме. Группы и роли известны также как коллекции, поскольку могут включать в себя других участников безопасности.

В модели безопасности SQL Server 2005 участники безопасности существуют на трех уровнях: уровне операционной системы Windows, уровне SQL Server и уровне базы данных.

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

Для простоты управления и лучшей безопасности желательно везде, где только возможно, использовать в SQL Server участников безопасности Windows.

На уровне движка SQL Server участниками безопасности являются имена входа SQL Server и серверные роли. Имена входа SQL Server обычно используются для внешних пользователей компании, например для тех, кто подключается к базе данных через веб-сайт. Кроме того, у каждого экземпляра SQL Server есть встроенное имя входа системного администратора sa и могут также быть имена входа NETWORK SERVICE и SYSTEM (в зависимости от конфигурации экземпляра).

На уровне базы данных участниками безопасности являются пользователи базы данных, роли приложения и роли базы данных.

Пользователи базы данных - это сущности, связанные с именами входа Windows или SQL Server, которым назначен определенный набор разрешений и привилегий к отдельным объектам (например, к таблицам) базы данных. Вы можете создавать собственных пользователей базы данных, но в каждой базе данных SQL Server есть и стандартные (встроенные) пользователи: guest, dbo, INFORMATION_SCHEMA и sys. Guest - это специальный пользователь, которого можно добавить к базе данных, чтобы дать возможность любому обладателю имени входа SQL Server получить доступ к базе данных. Владелец базы данных (или dbo) - это специальный тип пользователя базы данных (обычно создатель базы данных), которому предоставлены все разрешения и привилегии доступа к базе данных, включая право назначать разрешения другим пользователям. Пользователи INFORMATION_SCHEMA и sys предназначены для внутрисистемного использования (для обращения к представлениям метаданных).

Роли приложения позволяют вам создавать защищенные паролем роли для конкретных приложений.

Защищаемые объекты SQL Server - это сущности SQL Server, к которым вы можете назначить разрешения. Есть три защищаемых объекта верхнего уровня: сервер, база данных и схема. Каждый из этих объектов содержит другие защищаемые объекты, которые, в свою очередь, также могут содержать другие защищаемые объекты. Эти вложенные иерархии называются областями действия. Область действия сервера включает такие защищаемые объекты, как экземпляры сервера, базы данных, конечные точки, имена входа и серверные роли. Примерами защищаемых объектов области действия базы данных являются роли приложения, роли базы данных, схемы и пользователи. Защищаемые объекты области действия схемы - функции, процедуры, таблицы и представления.