Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Знакомство с SQL Server2000_1.doc
Скачиваний:
5
Добавлен:
16.12.2018
Размер:
334.85 Кб
Скачать

Логические компоненты базы данных

К логическим компонентам БД относятся объекты, режимы сопоставления, идентификаторы пользователей, учетные имена, роли и группы.

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

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

Объект Описание

Таблица

Тип данных

Представление

Хранимая

Функция

Индекс

Двухмерный объект, состоящий из строк и столбцов, который используется для хранения данных в реляционной базе данных. В каждой таблице хранится информация об одном из типов объектов, моделируемых базой данных.

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

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

SQL Server предоставляет хранимые процедуры для управления SQL Server и вывода сведений о БД и пользователях. Они называются системными хранимыми процедурами Фрагмент кода, действующий как единая логическая сущность. Функцию можно вызвать по имени, при этом разрешается задать ряд необязательных входных параметров. Она возвращает сведения о состоянии и необязательные выходные значения. Функции поддерживаются многими языками программирования, в том числе С, Visual Basic и Transact-SQL. В Transact-SQL имеется ряд встроенных функций, которые изменить невозможно, а также поддерживаются функции, которые создают и корректируют пользователи Объект реляционной БД, обеспечивающий быстрый доступ к строкам таблицы на основе значений ключа, а так же уникальность строк в таблице. SQL Server поддерживает как кластерные, так и некластерные индексы. Первичный ключ таблицы индексируется автоматически. При полнотекстовом поиске сведения о ключевых словах и их расположении в данном столбце хранятся в полнотекстовом индексе (см. след стр.)

Объект Описание

Ограничение Свойство, назначаемое столбцу таблицы, которое позволяет предотвратить занесение недопустимых данных в столбец. Например, ограничения UNIQUE или PRIMARY_KEY предотвращают занесение значений, дублирующих существующие. Ограничение CHECK предотвращает занесение значения, не соответствующего критерию поиска, a NOT NULL — пустого значения Правило Объект БД, связанный со столбцами или с пользовательскими типами данных, который задает значения данных, приемлемые в данном столбце. Лучше использовать ограничения CHECK, которые предоставляют ту же самую функциональность и соответствуют стандарту SQL-92 Умолчание Значение, автоматически присваиваемое системой данным, параметру, режиму сопоставления или имени, если оно не задано пользователем.

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

Режимы сопоставления

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

Различные объекты одной и той же базы данных SQL Server 2000 могут использовать разные режимы сопоставления. В SQL Server 2000 разрешается задавать отдельные режимы сопоставления вплоть до уровня столбцов, а каждому столбцу таблицы — присваивать различные режимы сопоставления. Более ранние версии SQL Server поддерживают только один режим сопоставления для каждого экземпляра SQL Server. У всех баз данных и их объектов, которые создаются в экземпляре SQL Server 7.0 или более ранней версии, режим сопоставления одинаков.

SQL Server 2000 поддерживает несколько режимов сопоставления, которые определяют правила использования символов для языка (например, македонского или польского) или для алфавита (например, Latin I_General —для латинского алфавита, который составляет основу письменности народов Западной Европы).

Каждый режим сопоставления SQL Server определяет три свойства:

  • порядок сортировки данных Unicode-типов (nchar, nvarchar и ntext);

  • порядок сортировки данных не-Unicode (char, varchar и text);

  • кодовую страницу для хранения символьных данных в формате, отличном от Unicode.

Для типов данных Unicode (nchar, nvarchar и ntext) невозможно задать эквивалент кодовой страницы. Двухбайтовые комбинации, используемые для кодировки символов Unicode, определены стандартом Unicode и не могут быть изменены.

Режимы сопоставления SQL Server 2000 задаются на любом уровне. При установке для экземпляра SQL Server 2000 можно задать режимы сопоставления по умолчанию. Во время создания базы данных стоит задать для нее режимы сопоставления по умолчанию; если этого не сделать, то режимами сопоставления по умолчанию для базы данных станут те, что определены для экземпляра. При определении каждого символьного столбца, переменной или параметра разрешается задать режимы сопоставления по умолчанию. Если это не сделано, при создании объекта будут взяты режимы сопоставления по умолчанию для базы данных.

Идентификаторы пользователей, учетные имена, роли и группы

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

Механизм безопасности

Описание

Идентификаторы

пользователей

Учетные имена

Роли

Группы

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

Пользователь не сможет подключиться к SQL Server, не указав сначала допустимый идентификатор. Идентификаторы задаются членами фиксированной серверной роли sysadmin Позволяют идентифицировать пользователей в базе данных. Все права доступа и собственности на объекты БД контролируются на основе учетного имени. Пользовательские учетные имена уникальны для 6a:ibi данных, например учетное имя xyz в БД продаж отличается от учетного имени xyz в складской БД, хотя у обоих учетных имен один и тот же идентификатор. Учетные имена определяется членами фиксированной роли базы данных db_owner. Роль напоминает группу пользователей домена Windows 2000.

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

Права доступа применяются автоматически, как только пользователь становится членом роли. Роль похожа на группу в системе безопасности Windows. В SQL Server 2000 и SQL Server 7.0 группы отсутствуют. Однако предусмотрено управление безопасностью SQL Server на уровне целей группы Windows NT или Windows 2000