- •1) Вопрос: Понятие базы данных и системы управления базами данных.
- •13)Вопрос: Основные понятия реляционной модели данных
- •2) Вопрос: Понятие и применение триггеров.
- •Триггеры after
- •Триггеры instead of
- •Использование функции update
- •3) Вопрос: Язык sql. Основные операторы sql.
- •4) Вопрос: Типы данных в sql.
- •5) Вопрос: Запросы. Назначение запросов.
- •6) Вопрос:Понятие целостности данных.
- •7) Вопрос: Унарные операции реляционной алгебры.
- •8) Вопрос:Индексирование записей в реляционных таблицах.
- •9) Вопрос:Принципы концептуального проектирования баз данных.
- •10) Вопрос:Виды и особенности моделей данных
- •11) Вопрос:Основные понятия иерархической модели данных.
- •Основные понятия иерархической структуры:
- •12) Вопрос:Операторы соединения в языке sql (join).
- •14) Вопрос:Основные понятия сетевой модели данных.
- •15) Вопрос:Использование группировки в запросах.
- •Использование групповых операций в запросах
- •16) Вопрос:Использование агрегированных функций в выражениях.
- •Аддитивная
- •Полуаддитивная
- •Неаддитивная
2) Вопрос: Понятие и применение триггеров.
ОТВЕТ:
Триггер — это специальный тип хранимой процедуры, которая выполняется автоматически, когда данные таблиц определенным образом модифицируются (вставляются, обновляются или удаляются).
Триггеры используются для внесения каскадных изменений в связанные таблицы или для выполнения сложных ограничений, которые нельзя реализовать обычным способом.
Триггеры – это универсальный и мощный инструмент, использующийся для применения и реализации бизнес-логики правил, вытекающих из логики приложения, а также для обеспечения и проверки целостности связей и данных.
Триггеры after
Триггеры AFTER вызываются после выполнения команды, которой они назначены, а триггеры INSTEAD OF вызываются вместо команды.
Триггеры AFTER вы можете использовать для команд INSERT, UPDATE и DELETE. Триггеры AFTER можно создавать только для таблиц, но не для представлений. Для каждой из этих трех команд могут быть установлены несколько триггеров. С другой стороны, один триггер может быть применен для любой комбинации этих трех команд.
Триггер AFTER вызывается после того, как выполнены все операции по обработке ограничений низкого уровня, и не будут вызваны в случае нарушения ограничения.
Триггеры instead of
Триггеры INSTEAD OF заменяют команду, для которой они объявлены. Подобно триггерам AFTER, можно определять триггеры INSTEAD OF для команд INSERT, UPDATE или DELETE. Один триггер может быть применен к нескольким командам.
Однако, в отличие от триггеров AFTER, можно создавать триггеры INSTEAD OF как для таблиц, так и для представлений, но для каждого действия над этой таблицей или представлением может быть создан только один триггер INSTEAD OF.
Триггеры INSTEAD OF несовместимы с каскадными изменениями связанных данных. Вы не можете объявить триггер INSTEAD OF DELETE или INSTEAD OF UPDATE для таблицы, внешний ключ которой затрагивается действиями удаления (DELETE) или модификации (UPDATE).
Использование функции update
SQL Server предоставляет специальную функцию, UPDATE, которая может быть использована в триггере для определения, подвергся ли изменению определенный столбец в строке. Функция UPDATE имеет следующий синтаксис:
UPDATE (имя_столбца)
Функция UPDATE будет возвращать TRUE, если значения данных для указанного столбца были изменены командой INSERT или командойUPDATE.
3) Вопрос: Язык sql. Основные операторы sql.
ОТВЕТ:
SQL («язык структурированных запросов») — формальный непроцедурный язык программирования, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД). SQL основывается на исчислении кортежей.
Компоненты SQL
DML (Data Manipulation Language) язык манипулирования данными
DDL (Data Definition Language) язык определения данных
DCL (Data Control Language) язык управления данными
CREATE TABLE ИмяТаблицы (
{ Имя поля таблицы Тип данных [(размер)][(ограничение)…].,…}
{ [, CONSTRAINT ограничения таблицы] }
…);
Условные обозначения:
| - все, что предшествует символу, можно заменить тем, что следует за ним;
{ } - единое целое для применения символа;
[ ] - необязательное выражение;
… - повторяется произвольное число раз;
.,… - повторяется произвольное число раз, но любое вхождение отделяется запятой.
Пример создания простой таблицы без ограничений:
CREATE TABLE Студент (
НомерЗачКнижки INTEGER,
Фамилия CHAR (15),
Имя CHAR (10),
Отчество CHAR (15),
ДатаРождения Date,
Специальность CHAR (15),
Примечание TEXT
);
Определение первичного ключа в таблице:
CREATE TABLE Студент (
НомерЗачКнижки INTEGER PRIMARY KEY NOT NULL,
Фамилия CHAR (15),
Имя CHAR (10),
Отчество CHAR (15),
ДатаРождения Date,
Специальность CHAR (15),
Примечание TEXT
);
Структура таблицы с составным первичным ключом:
CREATE TABLE Студент (
Фамилия CHAR (15),
Имя CHAR (10),
Отчество CHAR (15),
ДатаРождения Date,
Специальность CHAR (15),
Примечание TEXT,
CONSTRAINT PRIMARY KEY (Фамилия, Имя, Отчество) );
Описание примера на языке SQL:
CREATE TABLE Контакты (
КодКонтакта INTEGER PRIMARY KEY NOT NULL,
Имя VARCHAR (10),
Фамилия VARCHAR (15),
Обращение VARCHAR (10),
Адрес VARCHAR (30));
CREATE TABLE Звонки (
КодЗвонка INTEGER PRIMARY KEY NOT NULL,
КодКонтакта INTEGER NOT NULL,
ДатаЗвонка DATE,
Описание TEXT,
CONSTRAINT FK1 FOREIGN KEY (КодКонтакта)
REFERENCES Контакты (КодКонтакта) );
