
- •1. Компоненты клиент-сервер.
- •2. Службы sql Server 2000
- •3. Типы баз данных sql Server 2000
- •4. Объекты бд sql Server 2000
- •5. Разграничение доступа к информации. Основные понятия и общие правила разграничения доступа
- •6. Архитектура систем безопасности sql Server 2000
- •7. Учетные записи и группы
- •8. Типы ролей
- •9. Управление правами доступа к объектам
- •10. Физическая архитектура бд. Страницы и группы страниц
- •11. Файлы и группы файлов
- •12. Основы transact sql
- •13. Синтаксические элементы языка t-s и исполнение операторов t-s. Примеры
- •14. Создание и управление бд sql Server. Просмотр результатов работы. Примеры
- •15. Создание таблиц и управление ими. Просмотр результатов работы. Примеры
- •16. Типы целостности данных в бд sql Server
- •17. Ограничения, обеспечивающие целостность данных в бд и способы их задания
- •18. Выборка данных из бд sql Server.Примеры
- •19. Модификация данных в базе данных sql Server. Просмотр результатов работы. Примеры
- •20. Основные сведения о представлениях. Создание, модификация и удаление представлений
- •21. Выборка данных с помощью усложненных методик работы с запросами.
- •22. Шестиуровневая модель системы безопасности.
- •23. Структура индексов. Создание и администрирование индексов. Пример.
- •24. Системные таблицы и получение метаданных.
- •25. Ограничение Primary Key и Unique. Сходства и различия. Способы создания. Просмотр результатов работы. Примеры
- •26. Ограничения Foreign Key и Chek. Примеры их создания. Просмотр результатов работы
24. Системные таблицы и получение метаданных.
Системные таблицы не должны изменяться непосредственно ни одним пользователем. Например, не пытайтесь изменять системные таблицы с помощью инструкций DELETE, UPDATE или INSERT либо с помощью пользовательских триггеров.
Обращение к документированным столбцам системных таблиц разрешено. Однако многие столбцы системных таблиц не документированы. В приложениях непосредственные запросы к недокументированным столбцам применять не следует. Вместо этого для получения данных, хранящихся в системных таблицах, в приложениях можно использовать один из следующих компонентов:
системные хранимые процедуры;
инструкции и функции языка Transact-SQL;
Управляющие объекты SQL Server (SMO)
объекты RMO;
функции каталога Database API.
Эти компоненты составляют опубликованные функции API для получения системных данных с SQL Server. Корпорация Майкрософт поддерживает совместимость этих компонентов от выпуска к выпуску. Формат системных таблиц зависит от внутренней архитектуры SQL Server и может изменяться от выпуска к выпуску. Поэтому приложениям, получающим непосредственный доступ к недокументированным столбцам системных таблиц, могут потребоваться изменения, прежде чем они смогут получить доступ к более поздней версии SQL Server.
В подразделах данного раздела описаны системные таблицы SQL Server.
Системные таблицы не должны изменяться непосредственно ни однимпользователем. Для получения данных, хранящихся в системных таблицах, в приложениях можно использовать один из следующих компонентов:
системные хранимые процедуры;
инструкции и функции языка Transact-SQL;
Управляющие объекты SQL Server (SMO)
объекты RMO;
функции каталога Database API.
Эти компоненты составляют опубликованные функции API для получения системных данных с SQL Server. Формат системных таблиц зависит от внутренней архитектуры SQL Server и может изменяться от выпуска к выпуску. Поэтому приложениям, получающим непосредственный доступ к недокументированным столбцам системных таблиц, могут потребоваться изменения, прежде чем они смогут получить доступ к более поздней версии SQL Server.
Пример:
SELECT TABLE_CATALOG,
TABLE_SCHEMA,
TABLE_NAME,
COLUMN_NAME,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH
FROM pubs.INFORMATION_SCHEMA.columns
WHERE table_name = 'authors'
Эта процедура возвратит инфу обо всех столбцах таблицы authors.
25. Ограничение Primary Key и Unique. Сходства и различия. Способы создания. Просмотр результатов работы. Примеры
Когда к существующему столбцу (или столбцам) таблицы добавляется ограничение PRIMARY KEY, происходит проверка данных, для удовлетворения условии:
- отсутствие пустых значений;
- Отсутствие повторяющихся значений.
Следующий оператор CREATE TABLE создает таблицу Table1 и определяет в качестве ее первичного ключа столбец Coll:
Create Table Table1
(
Col1 INT PRIMARY KEY,
Col2 VARCHAR(30)
)
Чтобы модифицировать ограничение PRIMARY KEY с помощью TransactSQL, сначала следует удалить существующее определение ограничения PRIMARY KEY, а затем создать новое определение. Еще один способ - добавить ограничение PRIMARY KEY к существующей таблице с помощью оператора ALTER TABLE:
Alter Table Table1
Add ConstraInt table_pk Primary Key (Col1)
Ограничение UNIQUE может быть создано как часть определения таблицы при ее создании. Ограничение UNIQUE может быть добавлено к уже существующей таблице при условии, что столбец или комбинация столбцов, на которых оно основывается, содержат только уникальные значения. Таблица может содержать несколько ограничений UNIQUE.
Если ограничение UNIQUE уже существует, оно может быть изменено или удалено.
CREATE TABLE Customers
(Snum integer UNIQUE NOT NULL,
Sname char (10) UNIQUE NOT NULL,
city char (10),
comm decimal);
PRIMARY KEY по сути альтернатива — UNIQUE. Только UNIQUE легко допускает ввод неопределенных значений и допускается добавления множества ограничений.