Лекция_51.ppt
- Количество слайдов: 24
Три нормальные формы отношений Кода (сокращенные названия: 1 НФ, 2 НФ, 3 НФ). Самая совершенная из них третья, некоторое усиление которой и получило название НФБК. В большинстве случаев, , вполне достаточно формы НФБК. Универсальные отношения УРОВЕНЬ и КОНСУЛЬТАНТ (рис. 3. 2 и 3. 3) находятся в первой нормальной форме (1 НФ). Отношение находится во второй нормальной форме (2 НФ), если оно находится в первой нормальной форме и каждый не ключевой атрибут находится в полной функциональной зависимости от составного ключа. Оба рассматриваемых отношения не находятся в 2 НФ. Так, например, в отношении УРОВЕНЬ не ключевые атрибуты Река, Назв. , УГКС, ГМС находятся в функциональной зависимости от части составного ключа, а именно атрибута Кодпост. А в отношении КОНСУЛЬТАНТ не ключевые атрибуты, например, СФам, Кном, зависят от части составного ключа СНом.
Отношение находится в третьей нормальной форме (3 НФ), если оно находится во второй нормальной форме и в нем отсутствуют транзитивные зависимости не ключевых атрибутов от ключа. Отношение находится в нормальной форме Бойса. Кодда (усиленная форма 3 НФ), если оно находится в 3 НФ и в нем отсутствуют зависимости части составного ключа от не ключевого атрибута. Как отношение КОНСУЛЬТАНТ, так и отношение УРОВЕНЬ не находятся в НФБК. Это наглядно видно из сопоставления возможных ключей и детерминантов отношений, представленного в табл. 3. 3
Таблица 3. 3 Возможные ключи и детерминанты отношений КОНСУЛЬТАНТ и УРОВЕНЬ Возможные ключи Детерминанты Отношение КОНСУЛЬТАНТ <СНом, Курс, Семестр> <СНом> <ТНом> <КНом> Отношение УРОВЕНЬ <Код. Пост, Год, Месяц, Дата, Время > <Дата, Время> <Нсваи>
Поскольку эти отношения не находятся в НФБК их необходимо подвергнуть декомпозиции. Декомпозиция отношений. Общий алгоритм декомпозиции заключается в следующем: Пусть отношение R(A, B, C, D, E, . . . ) не приведено к НФБК, так как C является детерминантом (C D), но не является возможным ключом. Тогда для приведения к НФБК создаются два новых отношения R 1(A, B, C, E, . . . ) и R 2(C, D). В R 1 C уже не является детерминантом, так как зависимостная часть R C->D полностью переведена в R 2. Очевидно, что отношение R 2 является проекцией отношения R на атрибуты C и D (см. п. 2. 3). Приведенный тип декомпозиции называется проекцией без потерь при естественном соединении. Например, в отношении КОНСУЛЬТАНТ имеются три детерминанта, не являющиеся возможными ключами: <СНом >, <КНом>, <ТНом>. В этом случае среди функциональных зависимостей кандидатами для осуществления проекции являются СНом -> СФам, СНом -> КНом, КНом -> ТНом, ТНом -> КНом, СНом -> ТНом. Необходимо выбрать, какую из функциональных зависимостей взять для первой проекции.
Здесь следует отметить, что в зависимости от выбора той или иной проекции в качестве первой, второй и т. д. вполне возможно будут получены различные структуры БД. Обычно в качестве первой проекции выбирается крайняя правая зависимость в цепочке функциональных зависимостей. В рассматриваемом примере крайней правой является зависимости КНом <-> ТНом. Схема полученных отношений при выделении этой функциональной зависимости представлена на рис. 3. 7. ССНом СФам Курс Кном Семестр Оценка Рис. 3. 7. Отношения R 1 и R 2. Кном Отношение R 1 ТНом Отношение R 2
Отношение R 2 (рис. 3. 7) находится в НФБК, так как здесь КНом является и детерминантом, и возможным ключом. Отношение R 1 еще не приведено к НФБК, так как здесь СНом является детерминантом, но не является возможным ключом. Для устранения этой зависимости произведем проекцию отношения R 1 на атрибуты СНом, СФам, КНом (рис. 3. 8), в результате чего получим отношения R 3 и R 4. СНом Рис. 3. 8. Отношения R 3 и R 4 СНом Курс Семестр Отношение R 3 Оценка СФам Кном Отношение R 4 Таким образом, в конечном итоге из универсального отношения КОСУЛЬТАНТ получено три отношения R 2, R 3, R 4.
Аналогичную процедуру можно выполнить для универсального отношения УРОВЕНЬ. Здесь в результате декомпозиции получаются три отношения R 2, R 3, R 4, находящиеся в НФБК (рис. 3. 9). Код. Пост Река Название УГМС Пор. Н НСв Отсчет Дата Время Отношение R 4 Отношение R 2 Код. Пост Год Месяц Пор. Н НСв Приводка Отношение R 5 Отношение R 3 Рис. 3. 9. Отношения R 2, R 3, R 4, R 5.
3. 2. 4. Техническое определение отношений В результате декомпозиции отношения Уровень получилось четыре нормализованных отношения R 2, R 3, R 4 и R 5. Следует представить эти отношения в форме для машинной записи. Отношение R 2 представлено в следующем виде: Таблица 3. 4 Атрибуты отношения R 2 (POST) Kod. Post Stan UGMS Reka с(6) С(20) Это отношение называется POST и храниться в файле Post. dbf. При работе в этот файл вносятся начальные данные о постах станции. Если открываются новые посты, то файл пополняется. Отношение R 3 пусть называется SPIS_KG 1. Оно представлено в табл. 3. 5.
Таблица 3. 5 Атрибуты отношения R 3 (SPIS_KG 1) Kod. Post God Mesjc Por. N C(6) N(4) N(2) N(5) и хранится в файле SPIS_KG 1. dbf. В этот файл заносятся начальные данные о водомерных книжках, уже имеющихся на станции. Затем он пополняется по мере поступления с постов новых книжек (один кортеж – данные по одной книжке). В отношении R 4, приведены данные наблюдений за уровнями воды (табл. 3. 6. ) Таблица 3. 6 Атрибуты отношения R 4 (KG 1
Число отношений типа R 4, каждое из которых записано в отдельный файл, будет равно числу водомерных книжек, поступивших на станцию. Наименование файлов с отношением R 4. равно порядковому номеру данной книжки или данного отношения. Поэтому представляется целесообразным вынести постоянный порядковый номер водомерной книжки в название файла. Тогда оно будет выглядеть следующим образом: KG 1< Por. N>. dbf. , а название самого отношения KG 1< Por. N>. Для этого отношения составной ключ состоит из внешнего ключа Por. N и ключа отношения Data, Vremj. Наконец последнее отношение R 5 записывается в файл с именем Priv. dbf (табл. 3. 7). Таблица 3. 7 Атрибуты отношения R 5 (Priv) NSv Priv N(2) N(4)
Контрольные вопросы и задания к главе 3 1. Чем различается проектирование на инфологическом, концептуальном и физическом уровне? 2. Изложите суть инфологического проектирования. Его содержание? 3. В чем заключается обследование предметной области? 4. Опишите содержание инфологической модели данных и ее использования. 5. В чем состоит избыточное и не избыточное дублирование? Дайте характеристику этих понятий. Приведите примеры явной и неявной избыточности. 6. Дайте характеристику основных видов аномалий. 7. Определите понятие универсального отношения. Его назначение. Как формируется универсальное отношение при проектировании? 8. Изложите суть нормализации отношений. 9. В чем состоит концепция функциональных зависимостей? 10. Изложите понятия полной, частичной и транзитивной функциональной зависимости. 11. Приведите примеры функциональных зависимостей различных типов. 12. Изложите понятия возможного ключа и детерминанта. 13. Нормальные формы отношения. Их характеристика. 14. Понятие декомпозиции отношения. Алгоритм декомпозиции.
4. Основные сведения о Visual Fox Pro 7. 0
Часть 2. Обеспечение физического проектирования на основе СУБД Visual Fox Pro 8. 0 4. Основные сведения о Visual Fox Pro 7. 0 Visual Fox Pro представляет собой продукт нового поколения, существенно отличающийся от своих предшественников, так как он функционирует уже в среде Windows. Достоинства и преимуществ Visual Fox Pro: 1) максимально удобный (дружественный) и эффективный интерфейс с пользователем; 2) развитые средства автоматизированного создания, использования и модификации БД без необходимости программирования; 3) развитой язык программирования, насчитывающий около 700 команд и функций; 4) поддержка языка SQL;
5) поддержка разнообразных всплывающих и многоуровенных меню; 6) возможность работы с массивами данных; 7) устойчивость работы в сети; 8) почти полная преемственность с СУБД d. Base 3+ , Fox. Base и Fox. Pro более ранних версий и др. , а также, следовательно, и возможность использования БД, созданных на их основе; 9) исключительно высокие скоростные характеристики; 10) работа в среде Windows и, следовательно, возможность использования всех возможных средств этой среды.
4. 1. Компоненты Visual Fox Pro 7. 0 - Visual Fox Pro 7. 0 состоит из отдельных компонент. Основные компоненты : базы данных (БД), - представления данных, - формы, - отчеты, - запросы, - программы, - меню, - проект и др. Каждый компонент храниться в отдельном файле. Характеристика основных компонент 1. БД- служит для хранения всей информации и сама состоит из следующих компонентов: таблиц (отношений), словаря БД, индексов, триггеров и процедур обработки событий. Каждая Таблица состоит из строк и столбцов, имеет уникальное имя с расширением. dbf и храниться в отдельном файле. Для таблиц,
Индексы. Каждая таблица может иметь связанные с ней индексы, Индексы используются для упорядочивания и быстрого поиска необходимых данных. Значения индексов хранятся в индексном файле, имеющем расширение. idx. Индексный файл используется для управления порядком доступа к записям в конкретном файле и их обработки. Индексы позволяют изменить порядок в котором записи файла будут появляться на экране или распечатываться. Триггеры. Служат для централизованной обработки событий, возникающих при изменениях в БД. Они вызывают для обработки этих событий специальные процедуры, хранимые в БД. Процедуры обработки событий. Являются частью БД и используются при описании таблиц, для проверки вводимых в таблицы данных, определения значений по умолчанию и др.
К основным компонентам Visual Fox Pro относятся также: 2. Представления данных. Это удобное и полезное средство доступа к БД. Позволяет объединить данные нескольких таблиц и отобразить их в более удобном для дальнейшей обработки виде. При этом объединяются необходимые поля таблиц, вычисляются итоговые значения и задаются, при необходимости, новые имена полей. Следует отметить, что редактирование данных, включенных в представление, возможно только при определенных условиях. 3. Формы. Используются для ввода и редактирования данных в таблицах. Предоставляют удобный интерфейс для доступа к файлам данных. 4. Отчеты. Используются для отображения информации, содержащейся в БД, в том или ином виде. Позволяют осуществлять необходимую группировку данных и расчеты на их основе. . Вся информация храниться в базе данных.
5. Запросы. Используются для извлечения информации из одной или нескольких таблиц БД. Для создания запросов может использоваться конструктор запросов (см. ниже) и специализированный язык SQL (Structured Query Lanquage). Результаты запросов могут отображаться в форме, в виде отчетов или диаграмм или сохраняться в указанной таблице. 6. Программы. Предназначены для реализаций различных функций в приложении. Представляют из себя последовательности команд Visual Fox Pro. С их помощью обрабатываются события в форме, создаются объекты, осуществляются вычисления и управление БД. Для удобства программы объединяются в библиотеки. Файлы программ являются текстовыми, формируются с помощью встроенного редактора и имеют расширение. prg. Программный файл содержит множество команд, составляющих программу решения определенной задачи. 7. Меню. Служит для управления работой приложения и его компонентов. 8. Проект. Служит для объединения отдельных элементов приложения и управления ими.
4. 2. Типы файлов и полей СУБД По своей архитектуре реляционная СУБД представляет собой совокупность файлов, размещенных в одном подкаталоге винчестера. Файлы с данными, входящими в БД, и прикладные программы рекомендуется размещать в отдельных подкаталогах. Каждому файлу по обычным правилам, принятым в MS DOS, дается имя, состоящее из собственно имени длиной до восьми символов и, через точку, расширения длиной до трех символов. Большая часть расширений, определяющих в данном случае тип файла, представленны в табл. 4. 1. В Visual Fox Pro используются поля разных типов (см. ниже ) для содержания символьной и числовой информации, значений даты и времени, логических данных и т. д. Текстовая информация отражается в мемо-полях и обычно представляет собой примечание к записям таблицы, размер которого не ограничен.
Записи файлов данных (. dbf) могут содержать поля следующих типов: символьные (character), числовые (numeric), логические (logical), календарные даты (date), примечания (memo). Символьные поля состоят из печатных символов ASCII. Максимальная длина поля - 254 байта. В числовых полях могут помещаться целые и вещественные числа. Максимальная длина поля, включющая десятичную точку и знак числа, 20 байт. Стандартные расширения имен файлов. pjx/. pjt Типы файлов Файл описания проектов . app Сгенерированный файл приложения . exe Исполняемый файл приложения . prg Программный файл . fxp Скомпилированный программный файл . dbc Файл базы данных
Стандартные расширения имен файлов Типы файлов . dct Мемо-файл базы данных . fpt Файл мемо поля таблицы данных . dcx Файл индексов базы данных . dbf Файл таблицы данных . idx Индексный файл . cdx Мультииндексный файл . mem Файл временных переменных . esl Библиотека поддержки Visual Fox. Pro . fll Библиотека API . spr Сгенерированная программа формы . spx Скомпилированная программа формы . scx/. sct Файл описания экранной формы . fmt Форматный файл . mpr Сгенерированная программа меню
. mpx. mnx/mnt. Скомпилированная программа меню Файл описания меню . qpr Программа SQL - запросов . qpx Скомпилированная Программа SQL - запросов . frx/. frt Файл описания отчета . tmp Временный файл . bmp Файл рисунка . txt Текстовый файл . tky Файл макросов клавиатуры . vue Файл представления . err Файл ошибок компиляции . log Файл регистрации программных кодов . htm Файл в формате HTML . dbg Файл конфигурации отладчика . wav Файл звукового сигнала . avi Файл видеоклипа
Длина символьных и числовых полей задается при организации файла. Логические поля содержат значения False и True. Они задаются в виде. F. или. T. , либо в виде. N. или. Y. Длина логического поля составляет 1 байт. Календарные даты задаются в американском (по умолчанию) или британском формате, соответственно: месяц, число, год; число, месяц, год. Длина поля дат 8 байт. Поля примечаний имеют в каждой записи произвольную длину. Они хранятся в файле примечаний, который имеет одинаковое с файлом базы данных имя, но расширение. fpt. В записи файла. dbf имеется только ссылка фиксированной длины на каждое имеющееся в файле. fpt мемо-поле. Содержимым мемо-полей могут быть данные любого вида. Их удобно использовать для такой информации, которая имеет произвольную длину.
Файл временных переменных (. mem) содержит информацию о переменных, определенных и сохраненных в Fox. Pro. Без этого файла переменные, которые были определены во время сеанса, будут потеряны после его завершения. Откомпилированный программный файл (. fxp), как следует из названия, содержит в сжатой форме откомпилированную программу. Поля типа General содержат, как правило, двоичную информацию, отображающую OLE-объект, созданный другими приложениями.


