
- •Определения базы данных, информационной системы, субд.
- •Типы связей между отношениями.
- •Унарные и бинарные операции реляционной алгебры.
- •Левое и правое внешние соединения. Полусоединение.
- •Операции объединения, пересечения и разности.
- •Операция деления двух отношений.
- •Нормализация отношений. Необходимость нормализации.
- •Основные объекты нотации idef 1.X
- •Полный синтаксис и назначение оператора Insert.
- •Создание базы данных средствами ms Access.
- •Поиск, сортировка и фильтрация данных.
- •Создание итоговых запросов средствами ms Access.
- •Создание отчетов с помощью мастера и в конструкторе.
Основные объекты нотации idef 1.X
Основной частью проектирования БД является построение ER-модели («сущность-связь»). Стандарт IDEF 1.X включает в себя след. Компоненты: - сущность Множество реально существующих или абстрактных индивидуальных объектов (процесс), которые обладают одинаковым набором свойств. Отдельный элемент этого множества называется «экземпляром сущности». Каждый экземпляр индивидуален и отличается от других. Каждой сущности присваивается уникальное имя и дополнительно указывается номер сущности. - атрибуты Свойство объекта. Каждая сущность должна обладать определенным набором атрибутов. Атрибуты определены на соответствующих доменах. Домен – определенное именованное множество значений.
домены
Базовые: -
строковый домен (множество символьных
строк, любой длины и структуры) -
числовой домен - логический домен
Типизированные: Это подмножество
базового домена или другого
типизированного домена
Каждому атрибуту назначается имя, которое уникально в рамках всей модели Исходя из семантики предметной области, атрибут, который позволяет однозначно определить конкретный экземпляр из множества экземпляров, называется возможным ключом. Если нельзя из атрибутов выбрать возможный ключ, то сущность дополняется новым атрибутом. В качестве первичного ключа выбирают один из возможных ключей. Первичный ключ может быть простым или составным. Предпочтение отдается простому ключу. Предпочтение отдается возможным ключам, которые не допускают неоднозначного толкования. Внешний ключ – атрибут, который принудительно добавляется в другую сущность для организации связи. Может быть простым или составным. Процесс принудительного добавление внешнего ключа называется его миграцией.
- связи Логическое отношение между сущностями. Каждая связь определяется глаголом. Каждый конец связи определяется мощностью (числом экземпляров сущности) Классификация:
|
Определенная идентифицирующая связь.
Определенная связь устанавливается при организации связи между сущностями «1 ко многим». В зависимости от значения числа экземпляров на конце связи различают:
При определенной идентифицирующей связи экземпляры дочерней сущности не могут быть идентифицированы без первичного ключа родительской сущности, который мигрирует в область ключевых атрибутов дочерней сущности в качестве внешнего ключа. Дочерняя сущность – та сущность, которая обозначена множеством экземпляров на конце связи. Пример: Е1 Преподаватель, Е2 Нагрузка. Сущность Е2 не может быть идентифицирована без первичного ключа сущности Е1.
|
Определенная неидентифицирующая связь.
Бывает обязательная и необязательная. Определенная связь устанавливается при организации связи между сущностями «1 ко многим». В зависимости от значения числа экземпляров на конце связи различают:
Определенная неидентифицирующая связь возникает, если атрибуты дочерней сущности идентифицируется независимо от экземпляра родительской сущности (автомобиль и владелец) Обязательная – дочерний экземпляр не может существовать без экземпляра родительской сущности (недвижимость и владелец) В противном случае связь необязательная неидентифицирующая определенная. Такая связь может быть сетевой рекурсивной. |
Неопределенная связь.
Устанавливается при установлении связи между сущностями «многие ко многим». Может быть сетевой рекурсивной |
Иерархическая и сетевая рекурсивные связи.
И
В отличии от иерархической модели дочерняя запись может являться родительской записью как для более низкого уровня, так и для уровня выше.
|
Связь типа категория.
Связь типа категория представляет собой отношение «род-вид». Отражает связь 1 к 1 между экземплярами сущности. Для каждой связи типа категория указывается «дескриминатор». Атрибут, позволяющий отличить сущности типа категория, участвующие в этой связи. В родительской сущности содержит атрибуты, общие для всех экземпляров сущности «категория». Связь типа категория может быть полной и неполной. Полная, если каждый экземпляр родительской сущности обязательно связан с каким-либо экземпляром сущности «категория».
Сотрудник E1 Id_сотр,
Ф, И, О
Менеджер Id_сотр,
кол-во клиентов, специализация
Секретарь
Курьер
|
Модель уровня сущностей представления данных. +
Модель уровня ключей представления данных. +
Полноатрибутная модель представления данных. =
Уровни логической модели Различают три уровня логической модели, отличающихся по глубине представления информации о данных:
Диаграмма сущность-связь представляет собой модель данных верхнего уровня. Она включает сущности и взаимосвязи, отражающие основные бизнес-правила предметной области. Такая диаграмма не слишком детализирована, в нее включаются основные сущности исвязи между ними, которые удовлетворяют основным требованиям, предъявляемым к ИС. Диаграмма сущность-связь может включатьсвязи "многие-ко-многим" и не включать описание ключей. Как правило, ERD используется для презентаций и обсуждения структуры данных с экспертами предметной области. Модель данных, основанная на ключах, — более подробное представление данных. Она включает описание всех сущностей и первичных ключей и предназначена для представления структуры данных и ключей, которые соответствуют предметной области. Полная атрибутивная модель — наиболее детальное представление структуры данных: представляет данные в третьей нормальной форме и включает все сущности, атрибуты и связи.
|
Полный синтаксис и назначение оператора Select.
Предназначен для выборки данных из таблицы Типы выборок: - примитивные - сложные с вычисляемыми полями - со связанными подзапросами - групповые запросы - групповые запросы со связанными подзапросами Select предикат(All,Distinct) список_выбора From источник_записей Where условие_выбора Group by поля_группировки Having условия_группировки Order by поля_сортировки В список выбора может входить поле, конкретные значения, вычисляемые поля Представление where >< <= >= and or not is like exists between in
|
Запросы с вычисляемыми полями и агрегативными функциями. +
Групповые запросы. =
Групповой запрос – в котором к полям применяются итоговые (агрегативные) функции и все поля, которые в этих функциях не участвуют, являются полями группировки. Группировка организовывает предложением group by, условие на групповые функции накладываются в предложении having.
«А вот на вопрос, когда же запрос групповой, можно ответить так – когда в запросе есть агрегативные функции, которые я в названии темы обозвал «агрегатами». Агрегат – это итоговая функция, применяемая к полю, например:» COUNT() – количество SUM() – сумма AVG() – среднее значение MIN() – минимум»\ MAX() – максимум |
Использование запросов со связанными подзапросами.
Когда задачу выборки нельзя решить с помощью простого запроса select, используются запросы со связанными подзапросами. Пример: Вывести всех читателей, которые ни разу не пользовались абонементом: Select Фамилия from Читатели z1 Where not exist (Select * from Абонемент inner join Читатели z2 on абонемент.код_читатели=читатели.код_читателя where z1.код_читателя=z2.код_читателя) |
Запросы модификации данных.
|
Полный синтаксис и назначение оператора Update.
Запрос обновления Оператор UPDATE применяется для изменения значений в группе записей или в одной записи указанной таблицы. Формат оператора: <оператор_изменения> ::= UPDATE имя_таблицы SET имя_столбца= <выражение>[,...n] [WHERE <условие_отбора>] Параметр имя_таблицы – это либо имя таблицы базы данных, либо имя обновляемого представления. В предложенииSET указываются имена одного и более столбцов, данные в которых необходимо изменить. Предложение WHEREявляется необязательным. Если оно опущено, значения указанных столбцов будут изменены во всех строках таблицы. Если предложение WHERE присутствует, то обновлены будут только те строки, которые удовлетворяют условию отбора. Выражение представляет собой новое значение соответствующего столбца и должно быть совместимо с ним по типу данных. Пример. Для товаров первого сорта установить цену в значение 140 и остаток – в значение 20 единиц. UPDATE Товар SET Товар.Цена=140, Товар.Остаток=20 WHERE Товар.Сорт=" Первый "
|