- •1 Модели данных
- •2 Иерархическая модель
- •3 Сетевая модель
- •4 Реляционная модель
- •5 Структура реляционных данных
- •Отношение Студент
- •6 Отношения : определение, свойства
- •Бинарные операции
- •7 Реляционная алгебра. ( основные операции)
- •Унарные операции .
- •8 Реляционная алгебра. ( дополнительные операции).
- •9 Реляционное исчисление доменов.
- •10 Реляционное исчисление кортежей.
- •11 Построение sql- запросов.
- •12 Sql. Операторы between, in, like, is null
- •13 Комбинированные запросы.
- •14 Вложенные запросы.
- •15 Связанные запросы.
- •16 Использование оператора exists
- •17 Использование предложения union, except, intersect
- •18 Ввод, удаление, изменение значений полей в sql.
- •19 Использование подзапросов с командами обновления
- •20 Использование функций агрегирования в построении запросов
- •21 Форматирование результатов запросов
- •22 Ограничение foreign key.
- •23 Создание, изменение и удаление таблиц средствами -sql.
- •24 Поддержка основных правил целостности данных.
- •25 Sql server. Характеристика объектов бд.
- •Представления
- •Пользовательские типы данных
- •Ограничения целостности
- •28 Основные типы данных
- •Двоичные данные
- •Специальные типы данных.
- •29 Индексы: типы, назначение, создание
- •30 Представления. Изменение значений с помощью представлений
- •31 Обновляемые представления
- •32 Концепция er-модели
- •33 Типы связей и структурные ограничения в er-модели.
- •34 Проблемы er-моделирования
- •35 Основные положения проектирования схем реляционных баз данных
- •36 Избыточность данных и аномалии обновления.
- •37 Функциональные зависимости
- •38 Нормальные формы
- •39 Многозначные зависимости и 4нф ,5нф
- •40 Обзор процесса нормализации
- •41 Основные этапы проектирования баз данных
- •42 Методология концептуального проектирования
- •43 Методология логического проектирования
- •44 Основные задачи логического этапа проектирования базы данных.
- •45 Проверка логической модели с помощью правил нормализации и в отношении транзакций пользователей.
- •46 Определение требований поддержки целостности данных
- •47 Общий обзор методологии физического проектирования реляционных баз данных
- •48 Управление транзакциями.
- •49 Этапы обработки запросов
- •50 Методы защиты базы данных.
22 Ограничение foreign key.
Ограничение внешнего ключа - это основной механизм для поддержания ссылочной целостности между таблицами реляционной БД. Столбец дочерней таблицы, определенный в качестве внешнего ключа в параметре FOREIGN KEY, применяется для ссылки на столбец родительской таблицы, являющийся в ней первичным ключом. Имя родительской таблицы и столбцы ее первичного ключа указываются в предложении REFERENCES. Данные в столбцах, определенных в качестве внешнего ключа, могут принимать только такие же значения, какие находятся в связанных с ним столбцах первичного ключа родительской таблицы. Совпадение имен столбцов для связи дочерней и родительской таблиц необязательно. Единственным требованием остается соответствие столбцов по типу и размеру данных.
На первичный ключ могут ссылаться не только столбцы других таблиц, но и столбцы, расположенные в той же таблице, что и собственно первичный ключ; это позволяет создавать рекурсивные структуры.
Внешний ключ может быть связан не только с первичным ключом другой таблицы. Он может быть определен и для столбцов с ограничением UNIQUE второй таблицы или любых других столбцов, но таблицы должны находиться в одной базе данных.
Столбцы внешнего ключа могут содержать значение NULL, однако проверка на ограничение FOREIGN KEY игнорируется. Внешний ключ может быть проиндексирован, тогда сервер будет быстрее отыскивать нужные данные. Внешний ключ определяется как при создании, так и при изменении таблиц.
Ограничение ссылочной целостности задает требование, согласно которому для каждой записи в дочерней таблице должна иметься запись в родительской таблице. При этом изменение значения столбца связи в записи родительской таблицы при наличии дочерней записи блокируется, равно как и удаление родительской записи (запрет каскадного изменения и удаления), что гарантируется параметрами ON DELETE NO ACTION и ON UPDATE NO ACTION, принятыми по умолчанию. Для разрешения каскадного воздействия следует использовать параметры ON DELETE CASCADE и ON UPDATE CASCADE.
В начало
23 Создание, изменение и удаление таблиц средствами -sql.
• |
CREATE TABLE создает новую таблицу. |
Синтаксис:
CREATE TABLE таблица (поле_1 тип [(размер)]
[NOT NULL] [индекс_1] [, поле_2 тип [(размер)]
[NOT NULL] [индекс_2] [, ...]] [, CONSTRAINT составнойИндекс [, ...]])
Ниже перечислены аргументы инструкции CREATE TABLE:
Элемент Описание
таблица Имя создаваемой таблицы.
поле_1, поле_2 Имена одного или нескольких полей, создаваемых в новой таблице. Таблица должна содержать хотя бы одно поле.
тип Тип данных поля в новой таблице.
Размер Размер поля в символах (только для текстовых и двоичных полей).
индекс_1, индекс_2 Предложение CONSTRAINT, предназначенное для создания простого индекса. Для получения более подробных сведений смотрите описание предложения CONSTRAINT.
составнойИндекс Предложение CONSTRAINT, предназначенное для создания составного индекса. Для получения более подробных сведений смотрите описание предложения CONSTRAINT.
• |
CREATE INDEX создает новый индекс для существующей таблицы. |
Синтаксис:
CREATE [ UNIQUE ] INDEX индекс
ON таблица (поле [ASC|DESC][, поле [ASC|DESC], ...])
[WITH { PRIMARY | DISALLOW NULL | IGNORE NULL }]
Ниже перечислены аргументы инструкции CREATE INDEX:
Элемент Описание
индекс Имя создаваемого индекса.
таблица Имя существующей таблицы, для которой создается индекс.
поле Имена одного или нескольких полей, включаемых в индекс. Для создания простого индекса (состоящего из одного поля) введите имя поля в круглых скобках сразу после имени таблицы. Для создания составного индекса (состоящего из нескольких полей) перечислите имена всех этих полей. Для расположения элементов индекса в убывающем порядке используйте зарезервированное слово DESC; в противном случае будет принят порядок по возрастанию.
В начало
