ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.04.2019

Просмотров: 5792

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Операция деления

Результатом операции деления () является набор кортежей (строк) отношения R1, которые соответствуют комбинации всех кортежей отношения R2. Для этого нужно, чтобы в отношении R2 была часть атрибутов (можно и один), которые есть в отношении R1. В результирующем отношении присутствуют только те атрибуты отношения R1, которых нет в отношении R2.

Запрос SQL

SELECT DISTINCT A1, A4 from R5 WHERE

NOT EXIST (SELECT * from R6 WHERE NOT EXIST

R6.A2 = R5.A2 AND

R6.A3 = R5.A3)

Давайте посмотрим, что получится в результате выполнения этой операции реляционной алгебры и соответствующего ей запроса SQL. Даны два отношения R5 и R6:

R5


R6

A1

A2

A3

A4

A2

A3

2

S3

4

sun

R4

8

3

X8

7

kab

X8

7

3

R4

8

kab



Комбинации всех кортежей отношения R6 соответствуют вторая и третья строки отношения R5. Но после исключения атрибутов (столбцов) А2 и А3 эти строки становятся идентичными. Поэтому в новом отношении присутствует эта строка один раз. Новое отношение:

R

A1

A4

3

kab

  1. Проектирование реляционной базы данных на основе функциональных зависимостей. Функциональные зависимости, декомпозиция отношений, транзитивные зависимости.

 проект реляционной базы данных - это набор взаимосвязанных отношений, в которых определены все атрибуты, заданы первичные ключи отношений и заданы еще некоторые дополнительные свойства отношений, которые относятся к принципам поддержки целостности.

  1. Системный анализ и словесное описание информационных объектов предметной области.

  2. Проектирование инфологической модели предметной области - частично формализованное описание объектов предметной области в терминах некоторой семантической модели, например, в терминах ЕR-модели.

  3. Даталогическое или логическое проектирование БД, то есть описание БД в терминах принятой даталогической модели данных.

  4. Физическое проектирование БД, то есть выбор эффективного размещения БД па внешних носителях для обеспечения наиболее эффективной работы
    приложения.

Проектирование схемы БД может быть выполнено двумя путями:

  • путем декомпозиции (разбиения), когда исходное множество отношений, входящих в схему БД заменяется другим множеством отношений (число их при этом возрастает), являющихся проекциями исходных отношений;

Классическая технология проектирования реляционных баз данных связана с теорией нормализации, основанной на анализе функциональных зависимостей между атрибутами отношений. Понятие функциональной зависимости является фундаментальным в теории нормализации реляционных баз данных.

Функциональная зависимость – зависимость значения одного столбца от другого, но никак не наоборот. Т.е., если в отношении R, содержащем атрибуты А и В, атрибут В функционально зависит от атрибута А, то каждое отдельное значение атрибута А связано только с одним значением атрибута В (причем в качестве А и В могут выступать группы атрибутов).


Пр.: Учебный план (№*, дисциплина, семестр, кол-во часов, форма отчетности, препод.)
Дисциплина, семестр и форма отчетности функционально зависят от №

Смысл нормализации – устранение избыточности, противоречивости и непоследовательности моделей данных.

Нормальная форма — свойство отношения в реляционной модели данных, характеризующее его с точки зрения избыточности, которая потенциально может привести к логически ошибочным результатам выборки или изменения данных. Нормальная форма определяется как совокупность требований, которым должно удовлетворять отношение.

Процесс проектирования с использованием декомпозиции представляет собой процесс последовательной нормализации схем отношений, при этом каждая по следующая итерация соответствует нормальной форме более высокого уровня ц обладает лучшими свойствами по сравнению с предыдущей.

каждая следующая нормальная форма в некотором смысле улучшает свойст­ва предыдущей;

при переходе к следующей нормальной форме свойства предыдущих нор­мальных форм сохраняются.

Отношение находится в первой нормальной форме тогда, когда соблюдается атомарность кортежей, то есть нет перечисления в отдельном кортеже.

Отношение находится во второй нормальной форме тогда и только тогда, когда оно находится в первой нормальной форме, и когда функциональные зависимости выносятся в отдельную таблицу (отношения) – должность и зарплата в отдельной таблице, например.

Отношение находится в третьей нормальной форме тогда и только тогда, когда оно находится во второй нормальной форме и не содержит транзитивных зависимостей.

Транзитивная зависимость. Если для атрибутов А, В и С некоторого отношения существуют функциональные зависимости А→В, В→С, говорят, что атрибут С связан транзитивной зависимостью с атрибутом А через атрибут В (при этом атрибут А не должен функционально зависеть ни от атрибута В, ни от атрибута С).

Пример: Учебный план (семестр*, Дисциплина*, форма отчетности*, кол-во часов, ФИО препод., должность)
ФИО препод. зависит от первичного ключа, а должность зависит от ФИО преподавателя → должность преподавателя связана транзитивной зависимостью с первичным ключом через ФИО преподавателя.

  1. Проектирование с использованием метода «сущность – связь».

Метод сущность-связь или метод «ER-диаграмм»: ER – аббревиатура от слов Essence(сущность)иRelation(связь). Основными понятиями метода сущность-связь являются:

- сущность,

- атрибут сущности,

- ключ сущности,

- связь между сущностями,

- степень связи,

- класс принадлежности экземпляров сущности,

- диаграммы ER-экземпляров,

- диаграммы ER-типа.

 

Сущность представляет собой объект, информация о котором хранится в БД. С помощью сущности моделируется класс однотипных объектов. Экземпляры сущности отличаются друг от друга и однозначно идентифицируются. Сущность имеет имя, уникальное в пределах моделируемой системы. Например, ПРЕПОДАВАТЕЛЬ, ПРЕДМЕТ, СТУДЕНТ, ГРУППА.


Атрибут – это свойство сущности. Например, для сущности СТУДЕНТ атрибутами являются Фамилия, Номер_зачетной_книжки.

Ключ сущности – неизбыточный набор атрибутов, используемый для идентификации конкретного экземпляра сущности. Например, Номер_зачетной_книжки для сущности СТУДЕНТ. Ключевые атрибуты изображаются на диаграмме подчеркиванием.

Связь двух и более сущностей – предполагает зависимость между атрибутами этих сущностей. Название связи обычно представляется глаголом. Например, ПРЕПОДАВАТЕЛЬ ВЕДЕТ ПРЕДМЕТ, СТУДЕНТ ПОСЕЩАЕТ ЗАНЯТИЯ. Связи показывают, каким образом сущности относятся или взаимодействуют между собой. Связь может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь).

Связи делятся на три типа множественности: один-к-одному (1:1), один-ко-многим(1:М), многие-ко-многим (М:М).

Тип связи много-ко-многим является временным типом связи, который допустим на ранний этапах создания промежуточной сущности.

 

Рис. Пример связи многие ко многим.

 

 

Между двумя сущностями может быть задано сколько угодно связей с разными смысловыми нагрузками. Например, между сущностями СТУДЕНТ и ПРЕПОДАВАТЕЛЬ можно установить две смысловые связи: «дипломное проектирование» и «лекции».


 

Каждая связь может иметь одну из двух модальностей: может и должен. Модальность может означает, что экземпляр одной сущности может быть связан с одним или несколькими экземплярами другой сущности, а может быть и не связан ни с одним экземпляром. Модальность должен означает, экземпляр одной сущности обязан быть связан не менее чем с одним экземпляром другой сущности. Связь может иметь разную модальность с разных концов. Необязательность связи (может) обозначается пустым кружочком на конце связи, а обязательность (должен) - перпендикулярной линий, перечеркивающей связь.

 


 

Диаграммы "Сущность-Связь"

Прямоугольник – сущность

Ромб – связь

Кружок – атрибут.

  1. Создание и модификация данных, Поиск, сортировка, индексирование базы данных

Создание и модификация базы данных

Для создания базы данных необходимо:

1. Открыть СУБД MS Access .

2. В появившемся диалоговом окне Miсrosoft Access включаем режим «Новая база данных» и нажать кнопку OK

3. В поле Папкадиалогового окна Файл новой базы данных выбираем папку, в которой будет сохранен создаваемый файл базы данных.

4. Задаем Имя файла новой базы данных и нажимаем кнопку Создать

5.Перейти на вкладку Таблицы и нажать кнопку Создать

6. Выбираем режим Конструктор и нажимаем кнопку ОК

7. В столбце Имя полядиалогового окна конструктора таблиц вводим имена полей таблицы

8. Выполняем команду: Вид - режим таблицы.

9. В появившемся диалоговом окне нажимаем кнопку Да для сохранения структуры базы данных)

В поле Имя таблицы диалогового окна Сохранение введем имя таблицы (по умолчанию Таблица 1)


При появлении диалогового окна - предупреждения нажимаем кнопкуДа для создания ключевого поля.

10. После перехода в Режим таблицы вводим записи в созданную таблицу

Для модификации структуры базы данных выполняем следующие действия:

1. Выполняем команду Вид - Конструктор.

2. В панели Конструктора таблиц вводим имена новых полей, тип данных, формат поля:

Поиск, сортировка.

Обработка данных средствами МS Ассеss включает в себя следующие направления:

сортировка — выстраивание данных в нужном порядке;

поиск данных — извлечение записей данных из списка в со­ответствии с некоторыми требованиями (критериями).

Средства сортировки, фильтрации, поиска и замены данных реализованы в МS Ассеss как автоматически создаваемые запросы. Данные операции производятся с таблицами или запросами, открытыми в режиме таблицы. Сортировку и поиск данных можно выполнить, используя соответствующие команды:

§ для сортировки записей следует применять команду Сортировкав меню Записи(далее необходимо выбрать в сортировки — По возрастаниюлибо По убыванию);

§ для отмены сортировки воспользоваться командой Удалить фильтрв меню Записи.

При фильтрации отбор данных происходит из таблицы или запроса с учетом некоторого критерия отбора..

Различают фильтры трех видов.

фильтр по выделенному фрагменту. Критерием отбора в данном фильтре является значение или части значения по­ля таблицы. Это наиболее быстрый способ отбора данных. Недостаток данного вида фильтрации — отбор записей по значению только одного поля.

Обычный фильтр — это отбор записей по значению не­скольких полей. Для задания критерия отбора заполняется специальная форма (бланк).

установить критерии отбора, используя логические операции И, ИЛИ, НЕ, а также различные выражения; следует помнить, что если в одной из вкладок окна бланка критериев отбора заполнены критерии для нескольких полей, то критерии объединяются с помощью логической операции И;воспользоваться командой Применить фильтр в Меню Фильтр(либо кнопкой на панели инструмент» Фильтр).

За упорядочивание строк, выгружаемых в SQL-запросе, отвечает предложение ORDER BY. Оно располагается в самом конце запроса:

1

2

3

SELECT <Перечень столбцов>

FROM <Перечень таблиц>

ORDER BY <Условие сортировки>

В условии сортировки указываются столбцы, по которым будут упорядочены полученные строки таблицы:

1

ORDER BY col1, col2

Расширенный фильтр представляет собой отбор записей в соответствии с критерием отбора для различных полей таблицы, включающий сортировки по данным полям Расширенный фильтр аналогичен расширенному фильтру в MS Ехcel.

Индексирование данных

МS Ассеss автоматически индексирует таблицу по значению Ключа. Однако может потребоваться создание дополнительных индексов по значениям других полей. Индексы позволяют ускорить поиск данных в тех полях таблицы, по которым она проиндексирована.


Каждая таблица МS Ассеss может иметь до 32-х индексов, 5 из них могут быть составным (в составной индекс может входить до 10-ти полей). Не следует создавать индексы для каждого поля таблицы и всех их комбинаций, т. к. это может существенно замедлить процесс заполнения таблицы (при изменении или добавлении записи автоматически обновляются все индексы).

Чтобы проиндексировать таблицу, необходимо:

1. Открыть таблицу в режиме конструктора.

2. Выделить необходимое поле в бланке структуры таблицы .

3. В нижней части окна конструктора установить значение "Да" для свойства Индексированное поле(на вкладке Об­щиев разделе Свойства)и выбрать из списка способ ин­дексирования

 

Рис.25. Задание составного индекса

Для задания составного индекса открыть окно Индексы(нажать кнопку на панели инструментов Конструктор таблиц),а затем в поле Индексввести имя индекса и после­довательно задать имена полей, входящих в составной индекс ( рис.25). При необходимости можно определить порядок сортировки для каждого поля составного индекса

Физическая организация базы данных. Хешированные, индексированные файлы;

Защита баз данных. Целостность и сохранность баз данных.

13. Физическая организация баз данных

Под физической организацией БД понимается совокупность методов и средств размещения данных во внешней памяти и созданная на их основе внутренняя (физическая) модель данных. Внутренняя модель является средством отображения логической модели данных в физическую среду хранения. В отличие от логических моделей физическая модель данных связана со способами организации данных на носителях, методами доступа к данным. Она указывает, каким образом записи размещаются в базе данных, как они упорядочиваются, как организуются связи, каким путем можно локализовать записи и осуществить их выборку.

Внутренняя модель разрабатывается средствами СУБД.

Очевидно, что любая логическая модель может быть отображена множеством внутренних моделей данных подобно тому, как один и тот же алгоритм может быть представлен множеством эквивалентных программ, составленных на одном или разных языках программирования. Одна из внутренних моделей будет оптимальной. В качестве критериев оптимальности используются минимальное время ответа системы, минимальный объем памяти, минимальные затраты на ведение баз данных и др.

Основными средствами физического моделирования в БнД являются структура хранения данных, поисковые структуры и язык описания данных.

В простейшем случае структуру хранения данных можно представить в виде структуры записи файла базы данных, включающей поля записи, порядок их размещения, типы и длины полей. Если структура хранения данных в основном предназначена для указания способа размещения записей и полей, то поисковые структуры определяют способ быстрого нахождения этих записей. Поэтому различают два принципа физической организации БД: организация на основе структуры хранения данных и организация, сочетающая структуру хранения данных с одной или несколькими поисковыми структурами.