
- •1. Информационные системы. Итерационная процедура построения информационных систем. Концепция баз данных.
- •2. Языки, используемые в банке данных: язык описания данных, язык манипулирования данными, язык запросов.
- •3. Понятие и определение базы данных. Понятие архитектуры базы данных. Основные понятия и определения
- •Архитектура базы данных.
- •4. Классификация модели данных. Характеристика моделей.
- •5. Нормализация отношений.I, II,III, IV нормальные формы. Критерии.
- •6. Функциональная, транзитивная зависимости атрибутов.
- •8. Пользователи бд. Основные функции группы администратора бд
- •9. Инструментальные средства инфологического моделирования. Er- диаграмма предметной области. Переход к физической модели.
- •10. Инструментальные средства логического и физического моделирования. Понятие схемы данных, целостности.
5. Нормализация отношений.I, II,III, IV нормальные формы. Критерии.
Процесс проектирования представляет собой процесс нормализации схем отношений, причем каждая следующая нормальная форма обладает свойствами лучшими, чем предыдущая.
Каждой нормальной форме соответствует некоторый определенный набор ограничений, и отношение находится в некоторой нормальной форме, если удовлетворяет свойственному ей набору ограничений. Примером набора ограничений является ограничение первой нормальной формы - значения всех атрибутов отношения атомарны. Поскольку требование первой нормальной формы является базовым требованием классической реляционной модели данных, мы будем считать, что исходный набор отношений уже соответствует этому требованию. В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм:
Основные свойства нормальных форм:
• каждая следующая нормальная форма в некотором смысле лучше предыдущей;
• при переходе к следующей нормальной форме свойства предыдущих нормальных свойств сохраняются.
Первая нормальная форма (1NF)
Основные критерии:
Все строки должны быть различными.
Все элементы внутри ячеек должны быть атомарными (не списками). Другими словами, элемент является атомарным, если его нельзя разделить на части, которые могут использовать в таблице независимо друг от друга.
Методы приведения к 1NF:
Устраните повторяющиеся группы в отдельных таблицах.
Создайте отдельную таблицу для каждого набора связанных данных.
Идентифицируйте каждый набор связанных данных с помощью первичного ключа
Вторая нормальная форма (2NF)
Основные критерии:
Таблица должна находиться в первой нормальной форме.
Любое её поле, не входящее в состав первичного ключа, функционально полно зависит от первичного ключа.
Методы приведения к 2NF:
Создайте отдельные таблицы для наборов значений, относящихся к нескольким записям.
Свяжите эти таблицы с помощью внешнего ключа
Третья нормальная форма (3NF)
Основные критерии:
Таблица находится во второй нормальной форме.
Любой её не ключевой атрибут функционально зависит только от первичного ключа.
Методы приведения к 3NF
Удаление полей не зависящих от ключа
Нормальная форма Бойса-Кодда (BCNF) Эта форма почти то же самое, что и третья. С одним небольшим дополнительным условием: в таблице должен быть только один первичный ключ и не должно быть других потенциальных вариантов
Четвертая нормальная форма (4NF)
В это форме дополнительное правило должно исключать многозначные зависимости. Другими словами все строки таблицы должны быть независимыми друг от друга. В том смысле, что наличие какой-то строки X, не должно означать, что строка Y тоже где-то есть в этой таблице.
6. Функциональная, транзитивная зависимости атрибутов.
Функциональная зависимость, по сути, является связью типа «многие одному» между множествами атрибутов (столбцов) рассматриваемого отношения. Т.е., если в отношении R, содержащем атрибуты А и В, атрибут В функционально зависит от атрибута А, то каждое отдельное значение атрибута А связано только с одним значением атрибута В (причем в качестве А и В могут выступать группы атрибутов). Наличие функциональной зависимости в отношении определяется природой вещей, информация о которых представлена картежами отношений. Функциональная зависимость определяет взаимнооднозначное соответствие между атрибутами А и В: A <-> В. Говорят, что атрибут В функционально зависим от атрибута А реляционной таблицы, если значение А однозначно определяет значение В. Любые две строки, имеющие одинаковое значение атрибута А, будут также иметь одинаковые значения атрибута В. Также говорят, что А функционально определяет В. Эта зависимость выражается как А -> В.
Если В функционально зависит от А, то состояние таблицы определяет функцию В от А. Это не обязательно функция в том смысле, что существует некоторая формула или выражение, позволяющие вычислить значение В на основании значения А. Вместо этого, функциональная зависимость определяется строками таблицы. Чтобы найти значение атрибута В для некоторого значения а атрибута А, необходимо выполнить следующие действия.
1. Найти строку таблицы, в которой значение атрибута А равно а.
2. Возвратить значение атрибута В этой строки.
Если состояние таблицы изменится, то функция, определяющая значение В на основании А, также может измениться.
Транзитивная зависимость. Если для атрибутов А, В и С некоторого отношения существуют функциональные зависимости А→В, В→С, говорят, что атрибут С связан транзитивной зависимостью с атрибутом А через атрибут В (при этом атрибут А не должен функционально зависеть ни от атрибута В, ни от атрибута С). Транзитивная зависимость — это зависимость между неключевыми атрибутами. Транзитивные зависимости изымаются также с помощью декомпозиции отношения на другие два или больше отношений, которые не содержат транзитивных отношений и объединение которых даст начальное отношение.
7. SQL-язык запросов. Использование основных предложений языка для формирования запросов.
SQL является всего информационно-логическим языком, предназначенным для описания, изменения и извлечения данных, хранимых в реляционных базах данных. SQL основной способом работы пользователя с базой данных и позволяет:
создание в базе данных новой таблицы;
добавление в таблицу новых записей;
изменение записей;
удаление записей;
выборка записей из одной или нескольких таблиц;
изменение структур таблиц.
SQL обеспечил возможность описания и управления новыми хранимыми объектами и стал приобретать черты, свойственные языкам программирования. При всех своих изменениях SQL остаётся единственным механизмом связи между прикладным программным обеспечением и базой данных. В то же время современные СУБД, а также информационные системы, использующие СУБД, предоставляют пользователю развитые средства визуального построения запросов.
Каждое предложение SQL — это либо запрос данных из базы, либо обращение к базе данных, которое приводит к изменению данных в базе. В соответствии с тем, какие изменения происходят в базе данных, различают следующие типы запросов:
запросы на создание или изменение в базе данных новых или существующих объектов;
запросы на получение данных;
запросы на добавление новых данных;
запросы на удаление данных;
обращения к СУБД.
Запросы первого типа в свою очередь делятся на запросы, предназначенные для создания в базе данных новых таблиц, и на запросы, предназначенные для изменения уже существующих таблиц. Запросы второго типа оперируют со строками, и их можно разделить на запросы следующего вида:
вставка новой строки;
изменение значений полей строки или набора строк;
удаление строки или набора строк.
Самый главный вид запроса — это запрос, возвращающий некоторый набор строк, с которым можно осуществить одну из трёх операций:
просмотреть полученный набор;
изменить все записи набора;
удалить все записи набора.
Язык SQL представляет собой совокупность
операторов,
инструкций,
и вычисляемых функций.
Операторы SQL делятся на:
операторы определения данных:
CREATE создает объект БД (саму базу, таблицу, представление, пользователя и т. д.),
ALTER изменяет объект,
DROP удаляет объект;
операторы манипуляции данными (Data Manipulation Language, DML):
SELECT считывает данные, удовлетворяющие заданным условиям,
INSERT добавляет новые данные,
UPDATE изменяет существующие данные,
DELETE удаляет данные;
операторы определения доступа к данным (Data Control Language, DCL):
GRANT предоставляет пользователю разрешения на определенные операции с объектом,
REVOKE отзывает ранее выданные разрешения,
DENY задает запрет, имеющий приоритет над разрешением;
операторы управления транзакциями (Transaction Control Language, TCL):
COMMIT применяет транзакцию,
ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции,
SAVEPOINT делит транзакцию на более мелкие участки.