- •В чем суть теории нормализации реляционной модели данных.
- •Почему схемы реляционных баз данных могут быть плохими. Примеры
- •Сложные домены и первая нормальная форма. Примеры
- •Функциональная зависимость. Основные определения. Примеры
- •Ключи отношения с точки зрения функциональной зависимости. Примеры
- •Свойства функциональных зависимостей. Примеры.
- •Логическое следование функциональных зависимостей. Примеры
- •Замыкание, полнота, эквивалентность и минимальное покрытие функциональных зависимостей. Примеры
- •Неполная (частичная) функциональная зависимость и вторая нормальная форма. Примеры
- •Транзитивная зависимость и третья нормальная форма. Примеры.
- •Усиленная третья нормальная форма и нормальная форма Бойса-Кодда. Примеры
- •Четвертая нормальная форма. Примеры.
- •Связь зависимостей по соединению и многозначных зависимостей.
- •Формальная постановка задачи проектирования реляционной схемы
- •Декомпозиция схемы реляционного отношения
- •Эквивалентность схем отношений по зависимостям
- •Эквивалентность схем отношений по данням
- •Эквивалентность нормальных форм.
- •Этапы жизненного цикла разработки бд
- •Методология проектирования бд
- •Этап определения стратегии автоматизации по
- •Этап системного анализа по
- •Этап концептуального моделирования по
- •Этап логического и физического проектирования
- •28) Язык er-моделирования. Сущности. Примеры
- •29) Язык er-моделирования. Атрибуты. Примеры
- •30) Язык er-моделирования. Связи. Примеры
- •31) Язык er-моделирования. Допустимые и недопустимые связи. Примеры.
- •32) Язык er-моделирования. Подтипы и супертипы. Примеры.
- •33) Язык er-моделирования. Разрешение связей многие-ко-многим. Примеры
- •39) Язык er-моделирования. Представление уникальных идентификаторов столбцами-заменителями
39) Язык er-моделирования. Представление уникальных идентификаторов столбцами-заменителями
Язык ER-моделирования - это язык определения информационной модели ПО. Базируется на концепции, согласно которой информационная модель ПО может быть описана в терминах: сущность, атрибут, связь. Используется на этапе анализа и прежде всего – концептуального моделирования. Язык является существенно графическим.
Используется в том случае, когда имеется длинная цепочка вхождения окончаний связей в первичные ключи.
В каждую создаваемую таблицу вводится дополнительный столбец, которому придается статус первичного ключа.
Всем уникальным ИД придаются ограничения целостности UNIQUE, NOT NULL.
CREATE TABLE ROUTE ( RoID NUMBER(3)PRIMARY KEY, RoNO NUMBER(5)UNIQUE NOT NULL); CREATE TABLE ROUTE_FLIGHT ( FlID NUMBER(3) PRIMARY KEY, FlDate DATE NOT NULL, FlTime TIME NOT NULL, RoID NUMBER (3) REFERENCES ROUTE, CONSTRAINT unq UNIQUE (FlDate, FlTime, RoID)); CREATE TABLE BOARDING_PASS ( BPID NUMBER(3)PRIMARY KEY, BPDate DATE NOT NULL, BPTime TIME NOT NULL, FlID NUMBER(3) REFERENCES ROUTE_FLIGHT, CONSTRAINT unq2 UNIQUE (BPDate, BPTime, FlID));
40) Защита данных. Определение пользователей и ролей.
Создание пользователей
Любой пользователь для получения доступа к базе данных должен быть зарегистрирован в системе под определенным именем и определенным паролем.
Регистрация необходима для того, чтобы знать с кем имеет дело система в текущий момент работы.
Пользователь - это не только конкретное лицо, но и любой источник, который в состоянии обратиться к базе данных (программа, операционная система, Интернет-приложение и т.д.)
Создание ролей
Роль - это совокупность привилегий (прав) которые могут предоставляться группам пользователей или другим ролям.
Роли введены для того, чтобы можно было описывать ситуацию, когда группы пользователей имеют одинаковые функциональные обязанности, а значит они могут иметь одинаковые полномочия по работе с БД
Можно присвоить привилегии ролям, а затем «приписывать» пользователей к тем или иным ролям. Когда пользователь отнесен к роли, он получает привилегии этой роли
Предоставление и отмена ролей пользователям или ролям
Роль может предоставляться ВСЕМ, конкретному пользователю или другой роли. Приписываемый роли пользователь или другая роль может получить право на ее администрирование.
41) Защита данных. Предоставление привилегий на объекты БД
Указывается КТО имеет право выполнять определенные ОПЕРАЦИИ над ОБЪЕКТАМИ БД
А также возможность передачи полученных прав другим
Отмена привилегий на объекты БД
Команда имеет структуру, аналогичную REVOKE.
Многократно предоставленные привилегии должны быть отменены всеми.
Каскадный эффект при отмене привилегий.
Условия предоставления привилегий
Иногда оказывается полезным специфицировать условия, при выполнении которых пользователям предоставляются указываемые права доступа. Примеры: временные характеристики, например, специфицируемые права доступа действуют только между 16 и 17 часами первого понедельника каждого месяца;
локализация компьютеров в локальной сети, например, специфицируемые права доступа действуют только для компьютеров, установленных в плановом отделе.
В большинстве СУБД нет явных возможностей по описанию таких дополнительных условий по ограничению прав доступа. Все они должны быть реализованы в конкретной прикладной системе, если в этом имеется необходимость
42) Целостность БД. Целостность связей между таблицами
Целостность связей между отношениями определяется внешним ключом, с помощью которого производится ссылка на первичный ключ или уникальный ключ другой таблицы
Внешний ключ может содержать NULL значение. Это означает, что связь с другой таблицей является факультативной .
Внешний ключ определяет ссылочное ограничение целостности, которое предполагает, с помощью внешнего ключа нельзя ссылаться на отсутствующее значение того первичного (уникального) ключа, на который делается ссылка.
43) Целостность БД. Динамические ограничения целостности.
Динамические ограничения целостности – это ограничения, которые устанавливают зависимость между различными частями базы данных в различные моменты времени.
Другими словами – это ограничения, связанные с переходом базы данных из одного состояние в другое.
Выделяют такие динамические ограничения:
ситуационно-ориентированные;
операционно-ориентированные.
Ситуационно-ориентированные динамические ограничения целостности
Ситуационно-ориентированные ограничения задаются в виде требований, которым должны удовлетворять последовательные состояния базы данных, то есть они фиксируют допустимые переходы базы данных из одного состояния в другое.
Операционно-ориентированные динамические ограничения целостности
Операционно-ориентированые ограничения целостности задаются в виде допустимых последовательностей операций. Допустимость операции или последовательности операций может зависеть от текущего состояния базы данных.
Пример операционно-ориентированного ограничения целостности
Пример: Вставка в базу данных информации о том, что х является супругом y допустима только в том случае, если текущее семейное положение x и y не есть женат/замужем
MARRIAGE(Husb, Wife), PERSON(Name, MarSt)
44) Целостность БД. Транзакции как механизм поддержания целостности
Тразакция – это последовательность предложений SQL, которые рассматриваются как единое целое.
Либо все предложения в транзакции выполняются успешно, либо ни одно из них не будет выполнено.
Это свойство поддерживается даже при выполнении транзакции произойдет программный или аппаратный сбой.
Транзакция преобразует базу данных из одного целостного состояния в другое, но в процессе выполнения транзакции целостность может нарушаться.
Транзакция гарантирует, что промежуточное противоречивое состояние базы данных будет невидимым для других пользователей.
Общая схема транзакции