WWW.DISUS.RU

БЕСПЛАТНАЯ НАУЧНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА - Авторефераты, диссертации, методички

 

Pages:     || 2 | 3 |

«В.И. Кокова БАЗЫ ДАННЫХ Рекомендовано Сибирским региональным учебно-методическим центром высшего профессионального образования для межвузовского использования в качестве учебного пособия для студентов, обучающихся по ...»

-- [ Страница 1 ] --

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ХАКАССКИЙ ТЕХНИЧЕСКИЙ ИНСТИТУТ – ФИЛИАЛ

КРАСНОЯРСКОГО ГОСУДАРСТВЕННОГО

ТЕХНИЧЕСКОГО УНИВЕРСИТЕТА

В.И. Кокова

БАЗЫ ДАННЫХ

Рекомендовано Сибирским региональным

учебно-методическим центром высшего профессионального образования для межвузовского использования в качестве учебного пособия для студентов, обучающихся по направлению 230100 – Информатика и вычислительная техника, а также может быть полезно студентам, обучающимся по специальности 080801 – Прикладная информатика (по областям) Абакан-2006 УДК 004. К Рецензенты:

Кафедра информатики и вычислительной техники Хакасского государственного университета;

А.С. Дулесов, доктор технических наук, заведующий кафедрой прикладной информатики Хакасского государственного университета В.И. Кокова Базы данных: Учеб. пособие. Красноярск: КГТУ, 2006. 164 c.

ISBN 5-7636-0701- Учебное пособие посвящено теоретическим и практическим вопросам проектирования реляционных баз данных.

Рассматриваются основные понятия теории баз данных, языки SQL, FOXPRO и VISUAL FOXPRO. Приведены задания и методические указания к выполнению лабораторных и курсовых работ.

Учебное пособие предназначено для студентов, обучающихся по направлению 230100 – Информатика и вычислительная техника, а также может быть полезно студентам, обучающимся по специальности 080801 – Прикладная информатика (по областям) очной и заочной форм обучения.

УДК 004. КГТУ, В.И. Кокова, Редактор Н.Ф. Смирнова ISBN 5-7636-0701- Содержание Введение

РАЗДЕЛ I. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

ГЛАВА 1. ОСНОВНЫЕ ПОНЯТИЯ

Банк данных

1.1.

База данных

1.2.

Организация данных

1.3.

ГЛАВА 2. КЛАССИФИКАЦИЯ БАЗ ДАННЫХ

Классификация баз данных по принципам обработки 2.1.

данных ………………………………………………………………... 2.2. Классификация баз данных по модели данных

ГЛАВА 3. ОСНОВНЫЕ ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗ

ДАННЫХ

3.1. Два подхода проектирования базы данных

3.2. Выработка концептуальной схемы базы данных................. 3.3. Физическое проектирование

ГЛАВА 4. ИНФОРМАЦИОННО – ЛОГИЧЕСКОЕ И

ДАТАЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ

Основные понятия

4.1.

4.2. Характеристика связей и язык ER-диаграмм

Язык инфологического моделирования

4.3.

Классификация сущностей

4.4.

4.5. Даталогическое моделирование

ГЛАВА 5. РЕЛЯЦИОННАЯ АЛГЕБРА И РЕЛЯЦИОННЫЕ

БАЗЫ ДАННЫХ

5.1. Основные понятия

5.2. Общая интерпретация реляционных операций

5.3. Базовые понятия реляционных баз данных

5.4. Целостность сущности и ссылок

ГЛАВА 6. НОРМАЛИЗАЦИЯ

6.1. Основные понятия

6.2. Функциональные зависимости

6.3. Нормальные формы

ГЛАВА 7. ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ БАЗЫ

ДАННЫХ

7.1. Проектирование реляционной базы данных с помощью теории нормализации

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

ГЛАВА 8. СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ.... Основные понятия

8.1.

8.2. Классификация СУБД

8.3. Критерии выбора СУБД пользователем

ГЛАВА 9. ЯЗЫК SQL

9.1. Оператор SELECT

9.2. Оператор INSERT

9.3. Оператор DELETE

9.4. Оператор UPDATE

ГЛАВА 10. СУБД FOXPRO

10.1. Типы данных

10.2. Арифметические и логические операции

10.3. Структура команды

10.4. Команды установок

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

10.6. Загрузка и закрытие файла базы данных

10.7. Команды добавления и редактирования данных................ 10.8. Просмотр данных

10.9. Перемещение в файле базы данных

10.10. Удаление данных

10.11. Изменение данных

10.12. Фильтрация и последовательный поиск

10.13. Индексирование файлов базы

10.14. Связи между файлами базы

10.15. Команды ввода-вывода

10.16. Команды управления и циклов

10.17. Функции

10.17.1. Строковые функции

10.17.2. Функции работы с датами

10.17.3. Функции преобразования типов

10.18. Работа с переменными

10.19. Организация меню

10.20. Процедуры и функции пользователя

10.21. Примеры программ

ГЛАВА 11. СУБД VISUAL FOXPRO

11.1. Общие сведения

11.2. Краткий обзор меню Visual FoxPro

11.3. Создание базы данных проекта

11.4. Таблицы — основа базы данных

11.4.1. Создание структуры таблицы

11.4.2. Определение полей таблицы

11.4.3. Ввод наименований полей

11.4.4. Типы полей

11.4.5. Режимы просмотра таблицы

11.4.6. Модификация таблицы

11.5. Индексы

11.6. Создание связей между таблицами

Целостность данных

11.7.

Формы

11.8.

11.8.1. Окно конструктора форм

11.8.2. Создание формы в режиме конструктора

11.8.3. Создание формы с помощью мастера

11.8.4. Свойства объектов

Отчеты

11.9.

11.9.1. Создание отчета в режиме мастера

11.9.2. Создание отчета в режиме конструктора

11.9.3. Типы полос окна конструктора отчета

11.9.4. Формирование и размещение вычисляемого поля........ 11.9.5. Задание условий печати

11.9.6.

11.9.7. Группировка данных в отчете

11.9.8. Разметка страницы отчета

Запросы

11.10.

11.10.1. Окно конструктора запросов

11.10.2. Команды, используемые при формировании запросов

11.10.3. Вычисляемые поля запроса

11.10.4. Изменение наименований полей в запросе

11.10.5. Задание условий для выбора записей

Многотабличные запросы

11.10.6.

Меню

11.11.

11.11.1. Конструктор меню

Определение параметров меню

11.11.2.

11.11.3. Генерация и запуск меню

Создание проекта и приложения

11.12.

11.12.1. Построение проекта

11.12.2. Установка основной программы проекта

11.12.3. Использование опции Exclude и очистка проекта от удаленных файлов

11.12.4. Создание приложения

РАЗДЕЛ II. ЛАБОРАТОРНЫЕ РАБОТЫ

ГЛАВА 12. ЛАБОРАТОРНАЯ РАБОТА 1. ПРОЕКТИРОВАНИЕ

РЕЛЯЦИОННОЙ БД С ИСПОЛЬЗОВАНИЕМ

НОРМАЛИЗАЦИИ

12.1. Проектирование базы данных «Библиотека»

12.2. Проектирование базы данных «Телефонный справочник города»

12.3. Варианты заданий к лабораторной работе

ГЛАВА 13. ЛАБОРАТОРНАЯ РАБОТА 2. СОЗДАНИЕ И

МОДИФИКАЦИЯ БАЗЫ ДАННЫХ В VISUAL FOXPRO......

ГЛАВА 14. ЛАБОРАТОРНАЯ РАБОТА 3. ФОРМА КАК

СРЕДСТВО ВВОДА И РЕДАКТИРОВАНИЯ ДАННЫХ.

СОЗДАНИЕ ОТЧЕТОВ И ЗАПРОСОВ

14.1. Форма как средство ввода и редактирования данных..... 14.2. Создание отчетов

14.3. Создание запросов

РАЗДЕЛ III. КУРСОВАЯ РАБОТА

ГЛАВА 15. ОБЩИЕ ПОЛОЖЕНИЯ О КУРСОВОЙ РАБОТЕ

15.1. Содержание основных этапов выполнения курсовой работы

15.2. Структура расчетно-пояснительной записки курсовой работы

15.3. Индивидуальные задания к курсовой работе

Заключение

Литература

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

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

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

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

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

Написание учебного пособия преследовало цели:

• рассмотреть основные базовые понятия теории баз данных;

• на основе примеров и упражнений объяснить основные принципы проектирования баз данных;

• помочь студентам при выполнении лабораторных работ и Без знания основ баз данных трудно работать с конкретными системами управления баз данных (СУБД). Хотя в данном пособии и рассматриваются СУБД FoxPro и Visual FoxPro, но излагаемый материал в равной степени относится к любой современной СУБД.

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

В первой главе даются основные понятия баз данных (БД) и систем управления базами данных (СУБД).

Вторая глава содержит классификацию БД по разным принципам. В этой же главе описываются технологии обработки данных, модели баз данных.

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

В четвертой главе описывается более современный подход к проектированию баз данных, основанный на использовании информационно-логической модели (ИЛМ). Здесь же дается краткое описание некоторых разновидностей языков ER-диаграмм и языка инфологического моделирования. Кроме того, глава содержит характеристики связей и классификацию сущностей, а также рассказывает о даталогическом моделировании.

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

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

Седьмая глава содержит несколько примеров проектирования реляционных баз данных.

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

В девятой главе рассматривается язык SQL, так как он является стандартным реляционным языком и в настоящее время поддерживается практически всеми современными СУБД.

В десятой главе рассматривается СУБД FoxPro, так как хотя и предложенное Microsoft Visual FoxPro позволяет создавать базы данных, таблицы, отчеты, формы, запросы без написания программ, какие-то фрагменты программ при создании приложений писать все равно приходится.

В одиннадцатой главе рассматривается популярная СУБД Visual FoxPro.

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

В двенадцатой главе дается описание лабораторной работы, посвященной проектированию реляционной базы данных с использованием нормализации. Приведены два примера выполнения работы. Дано пятнадцать вариантов заданий к лабораторной работе.

Далее тринадцатая и четырнадцатая главы содержат задания к лабораторным работам, ориентированным на применение СУБД Visual FoxPro.

Наконец, третий раздел посвящен курсовой работе.

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

Данное учебное пособие должно помочь при выполнении лабораторных работ и курсовой работы по дисциплине «Базы данных». Хотя учебное пособие и предназначено для студентов, обучающихся по направлению 230100 – Информатика и вычислительная техника, а также студентов специальности 080801 – Прикладная информатика (по областям), оно может быть полезно и для массового пользователя реляционных баз данных.

РАЗДЕЛ I. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

ГЛАВА 1. ОСНОВНЫЕ ПОНЯТИЯ

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

Можно считать, что БнД состоит из:

системы управления базами данных (СУБД).

• обеспечивать возможность хранения и модификации больших объемов многоаспектной информации;

• обеспечивать заданный уровень достоверности хранимой • обеспечивать доступ к данным только пользователям с соответствующими полномочиями;

• обеспечивать возможность поиска информации по произвольной группе признаков;

производительности при обработке запросов;

• иметь возможность реорганизации и расширения при изменении границ предметной области;

• обеспечивать выдачу информации пользователю в • обеспечивать простоту и удобство обращения внешних пользователей за информацией;

• обеспечивать возможность одновременного обслуживания большого числа внешних пользователей.

Наличие централизованного управления данными - главная отличительная черта БнД.

Преимущества централизации управления данными:

• сокращение избыточности хранимых данных;

• устранение противоречивости хранимых данных;

• многоаспектное использование данных (принцип однократного ввода данных для разных пользователей и • обеспечение возможности санкционированного доступа к Интеграция данных приводит к тому, что данные, используемые различными пользователями, могут пересекаться различным образом. Следовательно, важно наличие в этих условиях механизма защиты данных от несанкционированного доступа к ним.

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

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

База данных – это некоторый набор перманентных (постоянных) данных, используемых прикладными системами какого-либо предприятия[1].

Обычно данные (факты, явления, события, идеи или предметы) и их интерпретация (семантика) фиксируются совместно, так как естественный язык достаточно гибок для представления того и другого. Под словом «перманентные» подразумеваются данные, которые отличаются от других, более изменчивых данных, таких как промежуточные результаты и вообще все временные по своей сути данные. Данные в базе остаются «перманентными» поскольку после того, как они были приняты средствами СУБД для помещения в базу, удалить их из нее впоследствии можно лишь с помощью соответствующего явного запроса к базе данных, но не как результат какого-либо побочного эффекта от выполнения некоторой программы[1].

Под словом «предприятие» подразумевается любая коммерческая, научная, техническая или любая другая организация.

Например, банк, промышленная компания, завод, больница, аптека, университет, институт и т.д.

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

• данные о продукции;

• данные о сотрудниках;

• данные о состоянии счетов;

• данные о студентах;

• данные о пациентах;

• данные о препаратах.

Итак, будем рассматривать базу данных (БД) как определенный набор связанных данных, а систему управления базами данных (СУБД) — как программное обеспечение, управляющее доступом к этой базе данных.

характеризуется на двух уровнях — логическом и физическом.

Физическая организация данных определяет способ размещения данных непосредственно на машинном носителе. В современных прикладных программных средствах этот уровень организации обеспечивается автоматически без вмешательства пользователя.

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

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

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

Реализация заданной модели данных – это физическое воплощение на реальной машине компонентов абстрактной машины, которые в совокупности составляют эту модель[1].

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

СУБД обеспечивает независимость прикладных программ от данных, чтобы не выполнять трудоемких ручных операций по внесению соответствующих изменений в прикладные программы.

ГЛАВА 2. КЛАССИФИКАЦИЯ БАЗ ДАННЫХ

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

• централизованные БД;

• централизованные БД с распределенным доступом;

• распределенные БД.

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

Централизованные БД с распределенным доступом являются наиболее распространенными в настоящее время. Если компьютер работает в сети, то доступ к базе данных может осуществляться удаленно с других компьютеров сети.

Существуют две технологии (архитектуры) обработки удаленных данных:

• файл-серверная архитектура;

• архитектура клиент-сервер.

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

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

Сервер баз данных представляет собой программу, выполняющуюся, как правило, на мощном компьютере.

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

Такой подход обеспечивает решение трех важных задач:

• уменьшение нагрузки на сеть;

• уменьшение требований к компьютерам-клиентам;

• повышение надежности и сохранение логической целостности базы данных.

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

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

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

Распределенные БД не получили большого распространения.

2.2. Классификация баз данных по модели данных По модели данных БД классифицируются следующим образом:

• файловая модель;

• иерархическая модель;

• сетевая модель;

• реляционная модель.

Файловая модель представляет собой совокупность не связанных между собой файлов (независимых) из однотипных записей с линейной (одноуровневой) структурой.

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

В иерархической модели отношения между данными бывают типа «родители – потомки». У каждого объекта может быть только один родитель, хотя потомков может быть несколько. У корневого объекта нет родителя. Такие отношения принято изображать в виде дерева, где ребро между объектами отображает наличие некоторого отношения, причем название отношения пишется на ребре.

Например, между объектами «клиенты» и «заказы» может быть отношение, которое называют «делает».

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

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

Модель базы данных, основанная на работе с двумерными таблицами впервые была предложена математиком Коддом в 1970 г.

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

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

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

Реляционная модель — это модель, основанная на следующих принципах:

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

Английский термин relation (отношение), по сути, представляет собой принятое математическое название для таблицы. Поэтому на практике термины отношение и таблица в большинстве случаев можно считать синонимами.

Связи между двумя логически связанными таблицами в реляционной модели устанавливаются по равенству значений одинаковых атрибутов таблиц-отношений. Иногда вместо слова связи используют слово отношение. Например, вместо связи между отношениями, говорят отношения между таблицами. Таблицаотношение является универсальным объектом реляционных моделей. Это обеспечивает возможность унификации обработки данных в различных СУБД, поддерживающих реляционную модель.

В настоящее время наиболее популярны именно реляционные модели, поэтому реляционным моделям посвящена отдельная глава

ГЛАВА 3. ОСНОВНЫЕ ЭТАПЫ ПРОЕКТИРОВАНИЯ БАЗ

ДАННЫХ

3.1. Два подхода проектирования базы данных Создание базы данных необходимо начинать с ее проектирования. Нельзя начинать техническую разработку, не имея тщательно проработанного проекта. При проектировании базы данных могут использоваться два подхода. В первом подходе сначала определяются основные задачи, для решения которых строится база, и потребности задач в данных. При втором подходе изучается предметная область, производится анализ ее данных, устанавливаются типовые объекты предметной области. Наиболее рационально сочетание обоих подходов.

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

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

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

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

Объединяя частные представления о содержимом базы данных, полученные в результате опроса пользователей, и свои представления о данных, которые могут потребоваться в будущих приложениях, создается обобщенное неформальное описание создаваемой базы данных. Это описание, выполненное с использованием естественного языка, математических формул, таблиц, графиков и других средств, понятных всем людям, работающих над проектированием базы данных, называют инфологической моделью данных или информационно – логической моделью данных (ИЛМ). Таким образом, разработка ИЛМ базируется на описании предметной области, полученном в результате ее обследования. Осуществляется определение состава и структуры данных предметной области, которые должны находиться в базе данных и обеспечивать выполнение необходимых запросов, задач и приложений пользователя.

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

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

На этом заканчивается логическое проектирование базы данных информационной системы.

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

На стадии физического проектирования строятся компьютеро-ориентированные модели: даталогическая модель данных и физическая модель данных. Эти модели должны быть описаны на языке описания данных конкретной СУБД, поэтому необходимо выбрать СУБД. На этом этапе конструируются таблицы базы данных, создаются связи между таблицами, то есть разработка продолжается средствами СУБД.

Описание, создаваемое по инфологической модели данных, называют даталогической моделью данных.

Нужные данные отыскиваются СУБД на внешних запоминающих устройствах по физической модели данных.

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

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

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

Критерии выбора технических средств определяются требованиями к информационной системе в целом. Разработчики информационных систем (ИС) дают как минимальный, так и оптимальный вариант, а также вариант, ориентированный на развитие.

ГЛАВА 4. ИНФОРМАЦИОННО – ЛОГИЧЕСКОЕ И

ДАТАЛОГИЧЕСКОЕ МОДЕЛИРОВАНИЕ

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

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

Основными конструктивными элементами инфологических моделей являются сущности, связи между ними и их свойства (атрибуты).

Сущность – любой различимый объект (объект, который можно отличить от другого), информацию о котором необходимо хранить в базе данных. Сущность - это реальный или представляемый объект, информация о котором должна сохраняться и быть доступна. Сущностями могут быть люди, места, самолеты, рейсы, вкус, цвет и т.д. Необходимо различать такие понятия, как тип сущности и экземпляр сущности. Понятие тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе. Например, типом сущности может быть ГОРОД, а экземпляром – Москва, Абакан, Саяногорск и т.д.

Атрибут – поименованная характеристика сущности.

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

Его наименование должно быть уникальным для конкретного типа сущности, но может быть одинаковым для различного типа сущностей (например, ЦВЕТ может быть определен для многих сущностей: АВТОМОБИЛЬ, ИЗДЕЛИЕ, ТКАНЬ и т.д.). Атрибуты используются для определения того, какая информация должна быть собрана о сущности. Примерами атрибутов для сущности АВТОМОБИЛЬ являются ТИП, МАРКА, НОМЕРНОЙ ЗНАК, ЦВЕТ и т.д. Здесь также существует различие между типом и экземпляром. Тип атрибута ЦВЕТ имеет много экземпляров или значений: красный, синий, белый и т.д., однако каждому экземпляру сущности присваивается только одно значение атрибута.

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

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

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

Например, для сущности Расписание ключом является атрибут Номер_рейса или набор атрибутов: Пункт_отправления, Время_вылета и Пункт_назначения (при условии, что из пункта в пункт вылетает в каждый момент времени только один самолет).

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

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

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

4.2. Характеристика связей и язык ER-диаграмм информационно-логических или инфологических моделей (ИЛМ).

При построении инфологических моделей можно использовать язык ER-диаграмм (от англ. Entity-Relationship, т.е. сущность-связь). В них сущности изображаются помеченными прямоугольниками, содержащими имя сущности. При этом имя сущности - это имя типа, а не некоторого конкретного экземпляра этого типа.

Ассоциации изображаются помеченными ромбами или шестиугольниками, атрибуты – помеченными овалами, а связи между ними – ненаправленными ребрами, над которыми может проставляться степень связи (1 или буква, заменяющая слово «много») и необходимое пояснение. Другими словами, в ERдиаграммах связь - это линия, соединяющая геометрические фигуры, изображающие сущности, атрибуты, ассоциации и другие информационные объекты. В тексте же этот термин используется для указания на взаимозависимость сущностей. Если эта взаимозависимость имеет атрибуты, то она называется ассоциацией.

Возможно и другое изображение связей. В месте «стыковки»

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

Обязательный конец связи изображается сплошной линией, а необязательный - прерывистой линией.

В ER-диаграммах характеристики изображаются в виде трапеции, а обозначение – в виде параллелограмма.

На рис. 4.1 изображены элементы расширенного языка ERдиаграмм.

Рис. 4.1. Элементы расширенного языка ER-диаграмм Между двумя сущностями, например, А и В возможны четыре вида связей.

Первый тип – связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени каждому представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности В. Студент может не получать стипендию, получать обычную или одну из повышенных стипендий. На рис. 4.2 изображены фрагменты ERдиаграмм, иллюстрирующие связь ОДИН-К-ОДНОМУ.

Рис. 4.2. Фрагменты ER-диаграмм, иллюстрирующие связь ОДИНК-ОДНОМУ Другими словами, связь ОДИН-К-ОДНОМУ означает, что каждая запись в одной таблице соответствует только одной записи в другой таблице. В качестве примера можно рассмотреть связь между списком служащих предприятия и таблицей, содержащей их служебные характеристики.

Второй тип – связь ОДИН-КО-МНОГИМ (1:М): одному представителю сущности А соответствуют 0, 1 или несколько представителей сущности В. Квартира может пустовать, в ней может жить один или несколько жильцов. На рис. 4.3 изображены фрагменты ER-диаграмм, иллюстрирующие связь ОДИН-КОМНОГИМ.

Рис. 4.3. Фрагменты ER-диаграмм, иллюстрирующие связь ОДИНКО-МНОГИМ Это наиболее часто встречающийся тип связи. В качестве примеров могут быть рассмотрены связи между покупателем и купленными им товарами, между предприятием и работающими на нем сотрудниками.

Так как между двумя сущностями возможны связи в обоих направлениях, то существует еще два типа связи: МНОГО-КОДНОМУ (М:1) и МНОГО-КО-МНОГИМ (М:N).

Третий тип - связь МНОГО-К-ОДНОМУ можно сравнить со связью ОДИН-КО-МНОГИМ, рассматриваемое с другой точки зрения. Например, между клиентами и сделанными ими заказами существует связь ОДИН-КО-МНОГИМ. С другой стороны, если в качестве исходной точки рассматривать заказы, то между сделанными заказами и клиентами получается связь МНОГО-КОДНОМУ.

Четвертый тип - связь МНОГО-КО-МНОГИМ (M:N): в качестве примера можно рассмотреть магазин оптовой торговли.

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

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

На рис. 4.4 изображен фрагмент ER-диаграммы, иллюстрирующий связь МНОГО-КО-МНОГИМ.

Рис. 4.4. Фрагмент ER-диаграммы, иллюстрирующий связь На рис. 4.5 приведен пример построения инфологической модели базы данных «Питание», где должна храниться информация о блюдах, их ежедневном потреблении, продуктах, из которых приготавливаются эти блюда, и поставщиках этих продуктов.

Рис. 4.5. Инфологическая модель базы данных «Питание»

На рис. 4.6 изображен пример связи между сущностями БИЛЕТ и ПАССАЖИР с использованием трехточечного входа.

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

БИЛЕТ ПАССАЖИР

Рис. 4.6. Пример связи между сущностями БИЛЕТ и ПАССАЖИР Имена атрибутов могут заноситься в прямоугольник, изображающий сущность, под именем сущности.

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

На рис. 4.7 изображен пример инфологической модели, построенной вышеописанным способом.

Рис. 4.7. Инфологическая модель базы данных «Питание»

4.3. Язык инфологического моделирования Язык ER-диаграмм обычно используется для построения небольших моделей и иллюстрации отдельных фрагментов больших. Чаще же применяется менее наглядный, но более содержательный язык инфологического моделирования (ЯИМ), в котором сущности и ассоциации представляются предложениями вида:

СУЩНОСТЬ (атрибут 1, атрибут 2,..., атрибут n) АССОЦИАЦИЯ [СУЩНОСТЬ S1, СУЩНОСТЬ S2,...], где S1, S2 – степень связи, а атрибуты, входящие в ключ, должны быть отмечены с помощью подчеркивания.

Например, отдел записей актов гражданского состояния (ЗАГС) имеет дело с теми людьми, которые обратились с просьбой о регистрации брака. Данный пример может быть описан на ЯИМ следующим образом:

Брак (Номер_свидетельства, Фамилия_мужа, Имя_мужа, Отчество_мужа, Дата_рождения_мужа, Фамилия_жены, Дата_регистрации, Место_регистрации,...) Рассмотрим случай, когда какой-либо организации потребовались данные о наличии в ней семейных пар, а для хранения сведений о сотрудниках уже имеется сущность Сотрудники (Табельный_номер, Фамилия, Имя,...).

Использование в рассмотренном примере сущности «Брак»

нецелесообразно, так как в сущности «Сотрудники» уже есть фамилии, имена, отчества супругов. Поэтому создадим ассоциацию (Табельный_номер_мужа,Табельный_номер_жены,...), связывающую между собой определенные экземпляры сущности «Сотрудники».

Для описания характеристики используется новое предложение ЯИМ, имеющее в общем случае вид:

ХАРАКТЕРИСТИКА (атрибут 1, атрибут 2,...)

ХАРАКТЕРИЗУЕМЫХ

СУЩНОСТЕЙ}.

Описание обозначения внешне отличается от описания характеристики только тем, что обозначаемые сущности заключается не в фигурные скобки, а в квадратные:

...)[СПИСОК ОБОЗНАЧАЕМЫХ СУЩНОСТЕЙ].

К. Дж. Дейт определяет три основные класса сущностей:

стержневые, ассоциативные и характеристические, а также подкласс ассоциативных сущностей – обозначения.

Стержневая сущность (стержень) – это независимая сущность.

В рассмотренных ранее примерах стержни – это «Студент», «Квартира», «Врач» и другие, названия которых помещены в прямоугольники.

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

Характеристическая сущность (характеристика) – это связь вида МНОГО-К-ОДНОМУ или ОДИН-К-ОДНОМУ между двумя сущностями (частный случай ассоциации). Единственная цель характеристики в рамках рассматриваемой предметной области состоит в описании или уточнении некоторой другой сущности.

Обозначающая сущность или обозначение – это связь вида МНОГО-К-ОДНОМУ или ОДИН-К-ОДНОМУ между двумя сущностями и отличается от характеристики тем, что не зависит от обозначаемой сущности.

Рассмотрим пример, связанный с зачислением сотрудников в различные отделы предприятия.

При отсутствии жестких правил (сотрудник может одновременно зачисляться в несколько отделов или не зачисляться ни в один отдел) необходимо создать описание с ассоциацией «Зачисление»:

Отделы (Номер отдела, Название отдела,...) Служащие (Табельный номер, Фамилия,...) Зачисление [Отделы M, Служащие N] Дата зачисления).

Однако, при условии, что каждый из сотрудников должен быть обязательно зачислен в один из отделов, можно создать описание с обозначением «Служащие»:

Отделы (Номер отдела, Название отдела,...) Служащие (Табельный номер, Фамилия,..., Номер отдела, Дата зачисления)[Отделы] В данном примере служащие имеют независимое существование (если удаляется отдел, то из этого не следует, что также должны быть удалены служащие этого отдела). Поэтому они не могут быть характеристиками отделов и названы обозначениями.

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

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

Инфологическая модель должна быть отображена в компьютеро-ориентированную даталогическую модель. В процессе развития теории и практического использования баз данных, а также средств вычислительной техники создавались СУБД, поддерживающие различные даталогические модели.

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

Сетевые модели также создавались для малоресурсных ЭВМ.

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

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

Сегодня наиболее распространены реляционные модели.

Инфологическая модель адекватно преобразуется в даталогическую модель.

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

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

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

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

рассматривалось в предыдущем пункте, как базовую таблицу с внешним ключом, идентифицирующим обозначаемую сущность.

Специфицировать связанные с каждым таким внешним ключом ограничения.

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

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

7. Если в процессе нормализации было произведено разделение каких-либо таблиц, то следует модифицировать инфологическую модель базы данных и повторить перечисленные шаги.

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

ГЛАВА 5. РЕЛЯЦИОННАЯ АЛГЕБРА И РЕЛЯЦИОННЫЕ

БАЗЫ ДАННЫХ

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

структурной части, манипуляционной части и целостной части.

В структурной части модели фиксируется, что единственной структурой данных, используемой в реляционных БД, является нормализованное n-арное отношение.

В манипуляционной части модели утверждаются два фундаментальных механизма манипулирования реляционными БД реляционная алгебра и реляционное исчисление.

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

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

В состав теоретико-множественных операций входят операции:

• объединения отношений;

• пересечения отношений;

• взятия разности отношений;

• прямого произведения отношений.

Специальные реляционные операции включают:

• ограничение отношения;

• проекцию отношения;

• соединение отношений;

• деление отношений.

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

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

5.2. Общая интерпретация реляционных операций Почти все операции предложенного выше набора обладают очевидной и простой интерпретацией:

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

2. Операция пересечения двух отношений производит отношение, включающее все кортежи, входящие в оба отношенияоперанда.

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

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

5. Результатом ограничения отношения по некоторому условию является отношение, включающее кортежи отношенияоперанда, удовлетворяющее этому условию.

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

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

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

9. Операция переименования производит отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены.

10. Операция присваивания позволяет сохранить результат вычисления реляционного выражения в существующем отношении БД.

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

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

Реляционная база данных - это набор отношений, имена которых совпадают с именами схем отношений в схеме БД. Однако пользователи могут воспринимать такую базу данных как совокупность таблиц.

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

На рис. 5.1 показан пример отношения СОТРУДНИКИ, содержащего информацию о сотрудниках некоторого предприятия.

Рис. 5.1. Пример отношения СОТРУДНИКИ Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных, а также данных типа дата.

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

Наиболее правильной интуитивной трактовкой понятия домена является понимание домена как допустимого потенциального множества значений данного типа. Например, домен «Имена» в приведенном примере определен на базовом типе строк символов, но в число его значений могут входить только те строки, которые могут изображать имя.

Следует отметить также семантическую нагрузку понятия домена: данные считаются сравнимыми только в том случае, когда они относятся к одному домену. В нашем примере значения доменов «Номера пропусков» и «Номера отделов» относятся к типу целых чисел, но не являются сравнимыми.

Заметим, что в большинстве реляционных СУБД понятие домена не используется.

Схема отношения - это именованное множество пар {имя атрибута, имя домена (или типа, если понятие домена не поддерживается)}.

Степень отношения – это число его атрибутов. Отношение степени один называют унарным, степени два – бинарным, а степени n – n-арным. Степень или «арность» схемы отношения мощность этого множества.

Степень отношения СОТРУДНИКИ равна четырем, то есть оно является 4х-арным. Если все атрибуты одного отношения определены на разных доменах, лучше использовать для именования атрибутов имена соответствующих доменов. Это является всего лишь удобным способом именования и не устраняет различия между понятиями домена и атрибута.

Схема БД (в структурном смысле) - это набор именованных схем отношений.

Кортеж, соответствующий данной схеме отношения, - это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. «Значение» является допустимым значением домена данного атрибута (или типа данных, если понятие домена не поддерживается). Иначе говоря, кортеж - это набор именованных значений заданного типа.

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

Тело состоит из меняющегося во времени множества кортежей, где каждый кортеж состоит в свою очередь из множества пар {имя атрибута, значение}.

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

Кардинальное число или мощность отношения – это число его кортежей. Кардинальное число отношения изменяется во времени в отличие от его степени.

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

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

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

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

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

То есть для массового пользователя реляционных БД можно использовать неформальные эквиваленты этих понятий:

• отношение – таблица;

• кортеж – строка (или запись);

атрибут – столбец (или поле).

При этом принимается, что «запись» означает «экземпляр записи», а «поле» означает «имя и тип поля».

Этой терминологии придерживаются в большинстве реляционных СУБД, в том числе и в Visual FoxPro, который будет рассмотрен в главе 11.

Как видно, основные структурные понятия реляционной модели данных (если не считать понятия домена) имеют очень простую интуитивную интерпретацию, хотя в теории реляционных БД все они определяются абсолютно формально и точно.

5.4. Целостность сущности и ссылок Согласно К. Дж. Дейту в целостной части реляционной модели данных фиксируются два базовых требования целостности, которые должны поддерживаться в любой реляционной СУБД.

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

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

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

При правильном проектировании соответствующей БД в ней появятся два отношения: ОТДЕЛЫ ( ОТД_НОМЕР, ОТД_КОЛ ) (первичный ключ - ОТД_НОМЕР) и СОТРУДНИКИ ( СОТР_НОМЕР, СОТР_ИМЯ, СОТР_ЗАРП, СОТР_ОТД_НОМ ) (первичный ключ - СОТР_НОМЕР).

Как видно, атрибут СОТР_ОТД_НОМ появляется в отношении СОТРУДНИКИ не потому, что номер отдела является собственным свойством сотрудника, а лишь для того, чтобы иметь возможность восстановить при необходимости полную сущность ОТДЕЛ. Значение атрибута СОТР_ОТД_НОМ в любом кортеже отношения СОТРУДНИКИ должно соответствовать значению атрибута ОТД_НОМЕР в некотором кортеже отношения ОТДЕЛЫ.

Атрибут такого рода называется внешним ключом, поскольку его значения однозначно характеризуют сущности, представленные кортежами некоторого другого отношения (т.е. задают значения их первичного ключа). Говорят, что отношение, в котором определен внешний ключ, ссылается на соответствующее отношение, в котором такой же атрибут является первичным ключом.

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

Ограничения целостности сущности и по ссылкам должны поддерживаться СУБД. Для соблюдения целостности сущности достаточно гарантировать отсутствие в любом отношении кортежей с одним и тем же значением первичного ключа.

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

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

В развитых реляционных СУБД обычно можно выбрать способ поддержания целостности по ссылкам для каждой отдельной ситуации определения внешнего ключа.

ГЛАВА 6. НОРМАЛИЗАЦИЯ

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

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

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

Цели нормализации:

• упорядочить данные в структуру таблиц, которые не имеют повторяющихся записей;

• гарантировать, что элементы данных в различных таблицах связаны правильными ключами.

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

• первая нормальная форма (1NF);

• вторая нормальная форма (2NF);

• третья нормальная форма (3NF);

• нормальная форма Бойса-Кодда (BCNF) (правильнее было бы считать эту нормальную форму третьей, однако по историческим причинам третья ступень оказалась занятой к моменту изобретения BCNF, из-за чего она и получила нестандартное название);

• четвертая нормальная форма (4NF);

• пятая нормальная форма, или нормальная форма проекциисоединения (5NF).

Основные свойства нормальных форм:

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

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

Теория нормализации основана на точных и строгих математических расчетах. Ее можно понять, изучив несколько общих правил, основанных на здравом смысле.

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

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

Любая таблица, удовлетворяющая этому условию, называется нормализованной. Фактически, ненормализованные таблицы, т.е.

таблицы, содержащие повторяющиеся группы, не допускаются в реляционной БД.

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

Всякая нормализованная таблица автоматически считается таблицей, находящейся в первой нормальной форме. Таким образом, «нормализованная» и «находящаяся в 1NF» означают одно и то же. Однако на практике термин «нормализованная» часто нормализованная», который означает, что в проекте не нарушаются никакие принципы нормализации.

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

6.2. Функциональные зависимости Пусть R является отношением, а X и Y – произвольными подмножествами множества атрибутов отношения R. Тогда Y функционально зависимо от X, что в символическом виде записывается как X Y.

Функциональная зависимость. В отношении R атрибут Y функционально зависит от атрибута X (X и Y могут быть составными атрибутами) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y, что в символическом виде можно записать как {R.X} {R.Y}. Читается это как «X функционально определяет Y» или как «X стрелка Y».

Левую и правую части символической записи иногда называют детерминантом и зависимой частью соответственно. Если детерминант или зависимая часть содержит только один атрибут, они называются одноэлементными и фигурные скобки в символической записи можно опустить. Иначе говоря, если два кортежа совпадают по значению X, они также совпадают и по значению Y.

Проще говоря, поле Y таблицы функционально зависит от поля X той же таблицы в том и только в том случае, когда в любой заданный момент времени для каждого из различных значений поля X обязательно существует только одно из различных значений поля Полная функциональная зависимость. Функциональная зависимость {R.X} {R.Y} называется полной, если атрибут Y не зависит функционально от любого точного подмножества X (точным подмножеством множества X называется любое его подмножество, не совпадающее с X).

Иначе говоря, поле Y находится в полной функциональной зависимости от составного поля X, если оно функционально зависит от X и не зависит функционально от любого подмножества поля X.

Транзитивная (производная) функциональная зависимость.

Функциональная зависимость R.X R.Y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости R.X R.Z и R.Z R.Y Иными словами, транзитивная зависимость определяется следующим образом: если атрибут Z зависит от атрибута X и атрибут Y зависит от атрибута Z, то, следовательно, атрибут Y зависит от атрибута X.

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

Взаимно независимые атрибуты. Два или более атрибута взаимно независимы, если ни один из этих атрибутов не является функционально зависимым от других.

Детерминант. Детерминант - любой атрибут, от которого полностью функционально зависит некоторый другой атрибут.

Многозначная зависимость. В отношении R (X, Y, Z) существует многозначная зависимость R.X R.Y (читается как «X многозначно определяет Y» или «X двойная стрелка Y») в том и только в том случае, если множество значений Y, соответствующее паре значений X и Z, зависит только от X, но не зависит от Z.

Другими словами, в отношении R (X, Y, Z) существует многозначная зависимость R.X R.Y в том и только в том случае, когда существует многозначная зависимость R.X R.Z.

Таким образом, многозначные зависимости всегда образуют связанные пары, поэтому обычно их представляют вместе в символическом виде: X Y Z.

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

Для иллюстрации многозначных зависимостей рассмотрим табл. 6.1.

Базы данных Иванова И.А. К. Дж. Дейт. Введение в Базы данных Иванова И.А. В.В.Евдокимов.

Базы данных Петров В.П. К. Дж. Дейт. Введение в Базы данных Петров В.П. В.В.Евдокимов.

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

Теорема Фейгина. Отношение R (X, Y, Z) можно спроецировать без потерь в отношения R1 (X, Y) и R2 (X, Z) в том и только в том случае, когда существует многозначная зависимость R.X R.Y (это равнозначно существованию двух многозначных зависимостей R.X R.Y и R.X R.Z ).

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

Зависимость соединения. Отношение R (X, Y,..., Z) удовлетворяет зависимости соединения * (X, Y,..., Z) (читается «звездочка X, Y,..., Z») в том и только в том случае, когда R восстанавливается без потерь путем соединения своих проекций на X, Y,..., Z.

Зависимость соединения является обобщением как многозначной зависимости, так и функциональной зависимости.

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

В теории реляционных баз данных обычно выделяют шесть нормальных форм.

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

Отношение не должно содержать повторяющиеся группы данных.

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

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

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

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

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

Нормальная форма Бойса-Кодда. Отношение R находится в нормальной форме Бойса-Кодда (BCNF) в том и только в том случае, если каждый детерминант является возможным ключом.

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

Четвертая нормальная форма. Отношение R находится в четвертой нормальной форме (4NF) в том и только в том случае, если в случае существования многозначной зависимости A B все остальные атрибуты R также функционально зависят от атрибута A.

Пятая нормальная форма. Отношение R находится в пятой нормальной форме (нормальной форме проекции-соединения PJ/NF) в том и только в том случае, когда любая зависимость соединения в R следует из существования некоторого возможного ключа в R.

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

Пятая нормальная форма - это последняя нормальная форма, которую можно получить путем декомпозиции. Ее условия достаточно нетривиальны, и на практике 5NF встречается чрезвычайно редко.

Нормализация – это процесс последовательной замены таблицы ее полными декомпозициями до тех пор, пока все они не будут находиться в 5NF. На практике же достаточно привести таблицы к нормальной форме Бойса-Кодда.

Эта процедура основывается на том, что единственными функциональными зависимостями в любой таблице должны быть зависимости вида K F, где K – первичный ключ, а F – некоторое другое поле. Заметим, что это следует из определения первичного ключа таблицы, в соответствии с которым K F всегда имеет место для всех полей данной таблицы. «Один факт в одном месте»

говорит о том, что не имеют силы никакие другие функциональные зависимости.

Цель нормализации состоит именно в том, чтобы избавиться от всех функциональных зависимостей, которые имеют иной вид, чем K F.

Например, таблица имеет составной первичный ключ (К1,К2) и включает также поле F, которое функционально зависит от части этого ключа, например, от К2, но не от полного ключа. В этом случае рекомендуется сформировать другую таблицу, содержащую К2 и F (первичный ключ – К2), и удалить F из первоначальной таблицы.

Допустим, таблица имеет первичный (возможный) ключ К, не являющееся возможным ключом поле F1, которое функционально зависит от К, и другое неключевое поле F2, которое функционально зависит от F1. В этом случае рекомендуется сформировать другую таблицу, содержащую F1 и F2, с первичным ключом F1, а F удалить из первоначальной таблицы:

Заменить T(K,F1,F2), первичный ключ К Для любой заданной таблицы, повторяя применение двух рассмотренных правил, почти во всех практических ситуациях можно получить в конечном счете множество таблиц, которые находятся в «окончательной» нормальной форме и, таким образом, не содержат каких-либо функциональных зависимостей вида, отличного от K F.

ГЛАВА 7. ПРОЕКТИРОВАНИЕ РЕЛЯЦИОННОЙ БАЗЫ

ДАННЫХ

7.1. Проектирование реляционной базы данных с помощью Рассмотрим проектирование реляционной базы данных на конкретных примерах.

Имеется отношение СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ с информацией о номере сотрудника, его зарплате, номере отдела, номере проекта и о заданиях, выполняемых сотрудниками.

Допустим, что заработная плата сотрудника на самом деле является характеристикой не сотрудника, а отдела, в котором он работает (это не очень естественное предположение, но достаточное для примера).

СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ (СОТР_НОМЕР,

СОТР_ЗАРП, ОТД_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН) Определим первичный ключ (в нашем случае это составной атрибут):

СОТР_НОМЕР, ПРО_НОМЕР Выявим все функциональные зависимости:

СОТР_НОМЕР СОТР_ЗАРП

СОТР_НОМЕР ОТД_НОМЕР

ОТД_НОМЕР СОТР_ЗАРП

СОТР_НОМЕР, ПРО_НОМЕР СОТР_ЗАДАН

Атрибуты СОТР_ЗАРП и ОТД_НОМЕР функционально зависят от части первичного ключа, атрибута СОТР_НОМЕР. В результате невозможно вставить в отношение СОТРУДНИКИОТДЕЛЫ-ПРОЕКТЫ кортеж, описывающий сотрудника, который еще не выполняет никакого проекта, так как первичный ключ не может содержать неопределенное значение. При удалении кортежа разрушается связь данного сотрудника с данным проектом и утрачивается информация о том, что он работает в некотором отделе. При переводе сотрудника в другой отдел придется изменять все кортежи, описывающие этого сотрудника, или получится несогласованный результат. Такие явления называются аномалиями схемы отношения. Они устраняются путем нормализации.

Можно произвести следующую декомпозицию отношения

СОТРУДНИКИ-ОТДЕЛЫ и СОТРУДНИКИ-ПРОЕКТЫ:

СОТРУДНИКИ-ОТДЕЛЫ СОТР_ЗАРП,

ОТД_НОМЕР) Определим первичный ключ:

СОТР_НОМЕР Выявим все функциональные зависимости:

СОТР_НОМЕР СОТР_ЗАРП

СОТР_НОМЕР ОТД_НОМЕР

ОТД_НОМЕР СОТР_ЗАРП

СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН) Определим первичный ключ (он составной):

СОТР_НОМЕР, ПРО_НОМЕР Выявим все функциональные зависимости:

СОТР_НОМЕР, ПРО_НОМЕР CОТР_ЗАДАН

Каждое из этих двух отношений находится в 2NF, и в них устранены отмеченные выше аномалии.

Рассмотрим еще раз отношение СОТРУДНИКИ-ОТДЕЛЫ, находящееся в 2NF. Заметим, что функциональная зависимость СОТР_НОМЕР СОТР_ЗАРП является транзитивной; она является следствием функциональных зависимостей СОТР_НОМЕР ОТД_НОМЕР и ОТД_НОМЕР СОТР_ЗАРП.

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

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

Чтобы согласованным образом изменить заработную плату отдела, требуется предварительно найти все кортежи, описывающие сотрудников этого отдела. Другими словами, в отношении СОТРУДИКИ-ОТДЕЛЫ по-прежнему существуют аномалии. Их можно устранить путем дальнейшей нормализации.

Произведем декомпозицию отношения СОТРУДНИКИОТДЕЛЫ в два отношения СОТРУДНИКИ и ОТДЕЛЫ:

СОТРУДНИКИ (СОТР_НОМЕР, ОТД_НОМЕР) Определим первичный ключ:

СОТР_НОМЕР Выявим все функциональные зависимости:

СОТР_НОМЕР ОТД_НОМЕР

ОТДЕЛЫ (ОТД_НОМЕР, СОТР_ЗАРП) Определим первичный ключ:

ОТД_НОМЕР Выявим все функциональные зависимости:

ОТД_НОМЕР СОТР_ЗАРП

Каждое из этих двух отношений находится в 3NF и свободно от отмеченных аномалий.

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

Рассмотрим следующий пример: имеется отношение СОТРУДНИКИ-ПРОЕКТЫ с информацией о номере сотрудника, его фамилии, номере проекта и о заданиях, выполняемых сотрудниками. Предположим, что личность сотрудника полностью определяется как его номером, так и фамилией (это не очень жизненное предположение, так как возможны однофамильцы, но достаточное для примера).

СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР,

СОТР_ФАМИЛИЯ, ПРО_НОМЕР, СОТР_ЗАДАН) Определим возможные ключи:

СОТР_НОМЕР, ПРО_НОМЕР СОТР_ ФАМИЛИЯ, ПРО_НОМЕР Выявим все функциональные зависимости:

СОТР_НОМЕР CОТР_ ФАМИЛИЯ

СОТР_НОМЕР ПРО_НОМЕР

СОТР_ ФАМИЛИЯ CОТР_НОМЕР

СОТР_ ФАМИЛИЯ ПРО_НОМЕР

СОТР_НОМЕР, ПРО_НОМЕР CОТР_ЗАДАН

СОТР_ ФАМИЛИЯ, ПРО_НОМЕР CОТР_ЗАДАН

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

Можно произвести декомпозицию СОТРУДНИКИПРОЕКТЫ в два отношения СОТРУДНИКИ и СОТРУДНИКИПРОЕКТЫ:

СОТРУДНИКИ (СОТР_НОМЕР, СОТР_ ФАМИЛИЯ) Определим возможные ключи:

СОТР_НОМЕР

СОТР_ ФАМИЛИЯ

Выявим все функциональные зависимости:

СОТР_НОМЕР CОТР_ ФАМИЛИЯ

СОТР_ ФАМИЛИЯ СОТР_НОМЕР

СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, ПРО_НОМЕР, СОТР_ЗАДАН) Определим возможный ключ:

СОТР_НОМЕР, ПРО_НОМЕР Выявим все функциональные зависимости:

СОТР_НОМЕР, ПРО_НОМЕР CОТР_ЗАДАН

Возможна альтернативная декомпозиция, если выбрать за основу СОТР_ ФАМИЛИЯ. В обоих случаях получаемые отношения СОТРУДНИКИ и СОТРУДНИКИ-ПРОЕКТЫ находятся в BCNF и им не свойственны отмеченные аномалии.

Рассмотрим следующий пример: отношение ПРОЕКТЫ содержит номера проектов, для каждого проекта список сотрудников, которые могут выполнять проект, и список заданий, предусмотренных проектом. Сотрудники могут участвовать в нескольких проектах, и разные проекты могут включать одинаковые задания.

ПРОЕКТЫ (ПРО_НОМЕР, ПРО_СОТР, ПРО_ЗАДАН) Каждый кортеж отношения связывает некоторый проект с сотрудником, участвующим в этом проекте, и заданием, который сотрудник выполняет в рамках данного проекта (предположим, что любой сотрудник, участвующий в проекте, выполняет все задания, предусмотренные этим проектом). Получается, что единственным возможным ключом отношения является составной атрибут ПРО_НОМЕР, ПРО_СОТР, ПРО_ЗАДАН, и нет никаких других детерминантов. Следовательно, отношение ПРОЕКТЫ находится в BCNF. Но при этом оно обладает следующим недостатком: если, например, некоторый сотрудник присоединяется к данному проекту, необходимо вставить в отношение ПРОЕКТЫ столько кортежей, сколько заданий в нем предусмотрено, так как любой сотрудник, участвующий в проекте, выполняет все задания, предусмотренные этим проектом.

В отношении ПРОЕКТЫ существуют следующие две многозначные зависимости:

ПРО_НОМЕР ПРО_СОТР

ПРО_НОМЕР ПРО_ЗАДАН

Дальнейшая нормализация отношений, подобных отношению ПРОЕКТЫ, основывается на теореме Фейгина.

В данном примере можно произвести декомпозицию отношения ПРОЕКТЫ в два отношения ПРОЕКТЫ-СОТРУДНИКИ и ПРОЕКТЫ-ЗАДАНИЯ:

ПРОЕКТЫ-СОТРУДНИКИ (ПРО_НОМЕР, ПРО_СОТР) ПРОЕКТЫ-ЗАДАНИЯ (ПРО_НОМЕР, ПРО_ЗАДАН) Оба эти отношения находятся в 4NF и свободны от отмеченных аномалий.

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

Рассмотрим, например, отношение

СОТРУДНИКИ-ОТДЕЛЫ-ПРОЕКТЫ (СОТР_НОМЕР,

ОТД_НОМЕР, ПРО_НОМЕР) Предположим, что один и тот же сотрудник может работать в нескольких отделах и работать в каждом отделе над несколькими проектами.

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

Введем следующие имена составных атрибутов:

СО = {СОТР_НОМЕР, ОТД_НОМЕР} СП = {СОТР_НОМЕР, ПРО_НОМЕР} ОП = {ОТД_НОМЕР, ПРО_НОМЕР} Предположим, что в отношении СОТРУДНИКИ-ОТДЕЛЫПРОЕКТЫ существует зависимость соединения:

* (СО, СП, ОП) Произведем декомпозицию исходного отношения в три новых отношения:

СОТРУДНИКИ-ОТДЕЛЫ (СОТР_НОМЕР, ОТД_НОМЕР) СОТРУДНИКИ-ПРОЕКТЫ (СОТР_НОМЕР, ПРО_НОМЕР) ОТДЕЛЫ-ПРОЕКТЫ (ОТД_НОМЕР, ПРО_НОМЕР) Данные отношения находятся в 5NF, так как в каждой ее полной декомпозиции все проекции содержат возможный ключ.

Пятая нормальная форма - это последняя нормальная форма, которую можно получить путем декомпозиции.

7.2. Проектирование реляционной базы данных без построения информационно-логической модели Рассмотрим пример проектирования реляционной базы данных без построения ИЛМ, основанный на здравом смысле.

Руководство корпорации определило требования, которым должна отвечать БД, чтобы успешно удовлетворять нуждам компании.

БД должна содержать как минимум следующую информацию:

• фамилию и. о., должность, специальность, номер в расчетной ведомости служащего;

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

Условие нахождения базы данных в первой нормальной форме:

• таблица не должна иметь повторяющихся записей;

• в таблице должны отсутствовать повторяющиеся группы Полученное отношение показано в табл. 7.1.

Номер Фамилия Код Должность Номер Кол-во Дата ведомо Вторая нормальная форма требует удаления функциональных зависимостей. Если какое-то поле однозначно определяется значением ключевого поля той же записи, то говорят о функциональной зависимости.

Выявим все группы функциональных зависимостей. Затем создадим отдельные таблицы данных для каждой группы.

Например, поле Номер в расчетной ведомости однозначно определяет поля: Фамилия И.О., Код специальности, Должность.

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

Еще два зависимых поля: Номер проекта и Дата окончания.

Поле Номер проекта однозначно определяет поле Дата окончания.

Следовательно, поле Дата окончания функционально зависит от ключевого поля Номер проекта, которое должно иметь уникальные значения. Полученное отношение показано в табл. 7.3.

Поле Количество часов функционально зависит от двух полей: Номер в расчетной ведомости и Номер проекта. Значения этих полей могут повторяться, то есть не являются уникальными.

Полученное отношение показано в табл. 7.4.

Третья нормальная форма требует удаления транзитивных (производных) зависимостей.

Транзитивная зависимость определяется следующим образом: если атрибут Z зависит от атрибута X и атрибут Y зависит от атрибута Z, то, следовательно, атрибут Y зависит от атрибута X.

О таблице говорят, что она находится в третьей нормальной форме, если:

• она удовлетворяет условиям второй нормальной формы;

• ни одно из неключевых полей не идентифицируется с помощью другого неключевого поля.

Предположим, что каждый Код специальности имеет только одну связанную с ним Должность (это предположение не совсем жизненное, но достаточное для примера). Поле Должность условно зависит от поля Номер в расчетной ведомости. Если поле Должность зависит от поля Номер в расчетной ведомости и поле Код специальности зависит от поля Должность, то, следовательно, поле Код специальности зависит от поля Номер в расчетной ведомости.

Удалим поле Должность из табл. 7.2 и создадим новую табл.

7.5, содержащую два поля: Код специальности и Должность, и табл. 7.6, содержащую поля: Номер в расчетной ведомости, Фамилия И.О. и Код специальности.

Спроектирована реляционная база данных, состоящая из четырех таблиц: табл. 7.3, 7.4, 7.5, 7.6.

После определения структуры таблиц, связей между ними и совпадающих полей, которые будут использованы для связывания отдельных таблиц, можно создавать реляционную базу данных в какой-либо СУБД.

Например, на рис. 7.1 показана схема данных, созданная в Visual FoxPro.

Рис. 7.1. Окно конструктора базы данных в Visual FoxPro

ГЛАВА 8. СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

В начале 60-х годов были созданы специальные программные комплексы, называемые системы управления базами данных (СУБД).

Системы управления базами данных – это прикладные информационные системы для управления и обработки структурированной информации.

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

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

Основная задача СУБД – предоставить пользователю базы данных возможность работать с ней, не вникая в детали на уровне аппаратного обеспечения.

СУБД обеспечивает независимость прикладных программ от данных, чтобы не выполнять трудоемких ручных операций по внесению соответствующих изменений в прикладные программы.

Термин СУБД также часто используется в отношении конкретных программных продуктов конкретных изготовителей, например, СУБД Visual FoxPro или СУБД Microsoft Access[1].



Pages:     || 2 | 3 |


Похожие работы:

«Министерство здравоохранения Украины Донецкий национальный медицинский университет им. М. Горького Учебное пособие по патологической физиологии к практическим занятиям и самостоятельной работе для студентов медицинских и стоматологического факультетов по разделу Общая нозология Донецк – 2012 Министерство здравоохранения Украины Донецкий национальный медицинский университет им. М. Горького Учебное пособие по патологической физиологии кпрактическим занятиям и самостоятельной работе студентов...»

«Национальный технический университет Украины Киевский политехнический институт Методические указания к выполнению курсовой работы по дисциплине НАВИГАЦИОННЫЕ СИСТЕМЫ для студентов специальности 7.05100303 Приборы и системы ориентации и навигации составитель доц. Мелешко В.В. Киев 2011 1. ЦЕЛЬ И ЗАДАЧИ КУРСОВОЙ РАБОТЫ Цель курсовой работы (КР) - закрепить и углубить знания, полученные на лекциях, практических и лабораторных занятиях, укрепить навыки самостоятельного изучения отдельных вопросов,...»

«МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ РФ ГОУ Воронежский государственный университет Факультет романо-германской филологии Л.И. Гришаева Теория языка Учебное пособие для поступающих в магистратуру по специальности 032700 Филология Воронеж 2011 1 УДК 80/81 ББК 81 Г82 Рецензенты: д-р филол. наук, проф. В.Б. Кашкин (Воронеж, ВГУ), д-р филол. наук, проф. Н.А. Фененко (Воронеж, ВГУ) Гришаева Л.И. Г82 Теория языка: Учебное пособие для поступающих в магистратуру по специальности 032700 Филология / Л.И....»

«БИБЛИОГРАФИЧЕСКИЙ УКАЗАТЕЛЬ КНИГ, ПОСТУПИВШИХ В БИБЛИОТЕКУ (январь 2013 г.) БИОЛОГИЯ 1. 57(075) Б 63 Биология : руководство к практ. занятиям: учеб. пособие для студ. стоматологич. фак. / В. В. Маркина [и др.] ; под ред. В. В. Маркиной. - М. : ГЭОТАР- Медиа, 2010. - 448 с. : ил. Экземпляры: всего:30 - чз6(3), мед.аб(27) 2. 57(031) Б 63 Биология : справочник / Н. В. Чебышев [и др.]. - 2-е изд., испр. и доп. - М. : ГЭОТАР, 2011. - 608 с. : ил. Экземпляры: всего:10 - чз6(3), мед.аб(7) ОБЩАЯ...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РЕСПУБЛИКИ БЕЛАРУСЬ БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ А.А.Афоненко, В.К.Кононенко, И.С.Манак ТЕОРИЯ ПОЛУПРОВОДНИКОВЫХ ЛАЗЕРОВ Учебное пособие по спецкурсу для студентов специальностей Радиофизика и Физическая электроника Минск 1995 УДК 621.373.862 Рецензенты: член-кор. АНБ, доктор физ.-мат. наук, профессор В.П.Грибковский, кафедра лазерной физики и спектроскопии Гродненского госуниверситета им. Я.Купалы (зав. кафедрой профессор С.С.Ануфрик) Рассмотрено и...»

«Проект Tempus IV 159328-TEMPUS-1-2009-1-FR-TEMPUS-SMHES Система обучения в течение жизни для преподавателей медицинских вузов Программы продолженного обучения преподавателей медицинских вузов. Примеры программ обучения преподавателей Методические рекомендации Серия Методические пособия и информационные материалы (Выпуск 3) Рекомендовано Учебно-методическим объединением по медицинскому и фармацевтическому образованию вузов России в качестве информационно-методических материалов, предназначенных...»

«Приложение к приказу департамента социальной защиты населения от _29.02.2012№_52 Положение об учетной политике для целей бюджетного учета. I. Общие принципы и правила ведения бюджетного учета Бюджетный учет осуществляется в соответствии с: 1.1. - Бюджетным кодексом РФ (Федеральный закон от 31.07.1998 № 145-ФЗ); - Налоговым кодексом РФ (Федеральный закон от 31.07.1998 № 146-ФЗ); - Федеральным законом О бухгалтерском учете от 21.11.1996 № 129-ФЗ; - Единым планом счетов бухгалтерского учета...»

«Учебное пособие класс Профильный уровень Допущено департаментом образования администрации Магаданской области Магадан Издательство Охотник 2013 ББК Кр. 63.3 (2р-4м) Я72 Н 907 Редакционная коллегия: О. В. Акулич, И. В. Горностаева, В. Г. Зеляк, Ю. В. Прусс, С. П. Пустовойт, Н. А. Фёдорова, Н. С. Цепляева. Материалы подготовили: Введение, Заключение, § 1, 2 – Н. С. Цепляева; § 3, 4 – Н. С. Цепляева, Л. Н. Хаховская (СВКНИИ ДВО РАН); § 5 – Г. А. Пустовойт; § 6 – Н. С. Цепляева, А. Д. Дубов, В. В....»

«Этика и психология семейных отношений (психолого-педагогические аспекты): учебное пособие, 2010, 246 страниц, Ирина Евгеньевна Авдонина, 5912560198, 9785912560194, Ажур, 2010. Издание предназначено студентам, преподавателям, аспирантам и всем, интересующимся данной проблематикой Опубликовано: 6th January 2013 Этика и психология семейных отношений (психолого-педагогические аспекты): учебное пособие СКАЧАТЬ http://bit.ly/1lymvse,,,,. Спектральная картина это следует подчеркнуть эллиптический...»

«Санкт-Петербургский государственный инженерноэкономический университет КАФЕДРА БУХГАЛТЕРСКОГО УЧЕТА И АУДИТА ОТЧЕТ о работе кафедры бухгалтерского учета и аудита за 2005/2006 учебный год www.accounting.engec.ru СПб 2006 СОДЕРЖАНИЕ 1. УЧЕБНО-МЕТОДИЧЕСКАЯ РАБОТА 2. УЧЕБНАЯ РАБОТА 3. РАБОТА СО СТУДЕНТАМИ 4. НАУЧНАЯ РАБОТА 5. РАБОТА В РАМКАХ МЕЖДУНАРОДНОГО СОТРУДНИЧЕСТВА СПБГИЭУ 6. ПОВЫШЕНИЕ КВАЛИФИКАЦИИ 7. ЮБИЛЕЙ КАФЕДРЫ Отчет о работе кафедры бухгалтерского учета и аудита за 2005/2006 учебный год...»

«С.И. КОРЯГИН И.В. ПИМЕНОВ, В.К. ХУДЯКОВ СПОСОБЫ ОБРАБОТКИ МАТЕРИАЛОВ Калининград 2000 3 С.И. КОРЯГИН И.В. ПИМЕНОВ, В.К. ХУДЯКОВ СПОСОБЫ ОБРАБОТКИ МАТЕРИАЛОВ Рекомендовано Министерством образования Российской Федерации в качестве учебного пособия для студентов высших учебных заведений технических специальностей Калининград 2000 4 УДК 678.5.046.364 Корягин С.И., Пименов И.В., Худяков В.К. Способы обработки материалов: Учебное пособие / Калинингр. ун-т – Калининград, 2000. – 448 с. – ISBN...»

«Ростовский филиал Федерального государственного бюджетного образовательного учреждения высшего профессионального образования Российская академия правосудия (г. Ростов-на-Дону) РЕШЕНИЕ УЧЕНОГО СОВЕТА 2013 г..В.Ершов Протокол 2013 г. ОТЧЕТ о самообследовании \ основной образовательной программы по направлению подготовки 030900 Юриспруденция (квалификация (степень) магистр) Ростов-на-Дону 2013 Содержание 1 Общие сведения о направлении подготовки, факультете и выпускающих кафедрах 2 Сведения по...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования ТОМСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ (ТГПУ) УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ДИСЦИПЛИНЫ ДПП.Ф.02 ИСТОРИЯ ЯЗЫКА 1 Оглавление 1. Рабочая программа учебной дисциплины 3 2. Зачетные и экзаменационные материалы 13 3. Список основной, дополнительной литературы, интернет-ресурсов 15 2 МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ...»

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ ШУЙСКИЙ ГОСУДАРСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ УНИВЕРСИТЕТ Кафедра теоретических основ физического воспитания ПЕДАГОГИЧЕСКИЕ ОСНОВЫ ДЕЯТЕЛЬНОСТИ ШКОЛЬНОГО КОЛЛЕКТИВА ФИЗИЧЕСКОЙ КУЛЬТУРЫ УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС по учебной дисциплине национально-регионального компонента специальности 050720.65 Физическая культура Составитель: канд.пед.наук, профессор ШГПУЗамогильнов А.И. ШГПУ, 2009...»

«министерство образования и науки рФ Гоу вПо Пятигорский государственный лингвистический университет УНИВЕРСИТЕТСКИЕ ЧТЕНИЯ – 2011 13-14 января 2011 г. ЧастЬ XIV секции 3-4 симпозиума 3 Пятигорск 2011 ББК 74.58.46 Печатается по решению У 59 редакционно-издательского совета ГОУ ВПО ПГЛУ Университетские чтения – 2011. Материалы научно-методических чтений ПГЛУ. – Часть XIV. – Пятигорск: ПГЛУ, 2011. – 187 с. В настоящий сборник включены материалы Университетских чтений – 2011, которые проходили в...»

«МИНИСТЕРСТВО ЗДРАВООХРАНЕНИЯ И СОЦИАЛЬНОГО РАЗВИТИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ПИСЬМО от 20 сентября 2010 г. N 7666-17 О МЕТОДИЧЕСКИХ РЕКОМЕНДАЦИЯХ О ПОРЯДКЕ УВЕДОМЛЕНИЯ ПРЕДСТАВИТЕЛЯ НАНИМАТЕЛЯ (РАБОТОДАТЕЛЯ) О ФАКТАХ ОБРАЩЕНИЯ В ЦЕЛЯХ СКЛОНЕНИЯ ГОСУДАРСТВЕННОГО ИЛИ МУНИЦИПАЛЬНОГО СЛУЖАЩЕГО К СОВЕРШЕНИЮ КОРРУПЦИОННЫХ ПРАВОНАРУШЕНИЙ, ВКЛЮЧАЮЩИХ ПЕРЕЧЕНЬ СВЕДЕНИЙ, СОДЕРЖАЩИХСЯ В УВЕДОМЛЕНИЯХ, ВОПРОСЫ ОРГАНИЗАЦИИ ПРОВЕРКИ ЭТИХ СВЕДЕНИЙ И ПОРЯДКА РЕГИСТРАЦИИ УВЕДОМЛЕНИЙ В соответствии с письмом Аппарата...»

«С. Бйішев атындаы Атбе университетіні кітапханасы Апаратты бюллетень №6 Жаа кітаптар тізімі Атбе 2012 рметті оырмандар! Сіздерді кітапханаа желтосан айында келіп тскен жаа дебиеттермен таныстырамыз. Библиографиялы сипаттама № Блім Авторы. Атауы. Жылы. Оу Абонезалы мент Экономика 1 346 1 Нурпеисова А.К., Жандыкеева Г.Е., Тлеубекова А.Д. Н86 Ксіпорын экономикасы жне ксіпкерлік ыыты негізгі аспектілері. –Алматы: LEM, 2012.-336 б. Ксіпорын экономикасы жне ксіпкерлік ыыты негізгі аспектілері оу ралы...»

«Москва 2014 г. 1 Содержание Модульное содержание образовательной программы Цели и задачи образовательной программы 1 модуль Информационная справка о школе 2 модуль Условия обеспечения образовательного процесса 3 модуль Аналитическое обоснование, приоритетные направления 4 модуль Учебный план на 2014- 2015 учебный год 5 модуль Программное и учебно-методическое обеспечение учебного процесса 6 модуль Информатизация образовательного пространства школы 7 модуль Система промежуточной и итоговой...»

«1 УТВЕРЖДАЮ Принят педагогическим советом Директор (подпись) _ _20 г. А.Н.ИПАТОВ 20_г. Протокол №_ М. П. Отчет о результатах самообследования Областного государственного бюджетного профессионального образовательного учреждения Костромской машиностроительный техникум (полное наименование учреждения профессионального образования в соответствии с Уставом) Кострома, 2014 2 Содержание: I.Аналитическая часть 1 Общие сведения об образовательном учреждении; 2 Регламентация и организация деятельности...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ ИРКУТСКОЙ ОБЛАСТИ Усть-Илимский филиал Областного государственного бюджетного образовательного учреждения среднего профессионального образования Иркутской области ИРКУТСКИЙ ЭНЕРГЕТИЧЕСКИЙ КОЛЛЕДЖ МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ПОСТРОЕНИЮ, ИЗЛОЖЕНИЮ И ОФОРМЛЕНИЮ КУРСОВЫХ И ДИПЛОМНЫХ ПРОЕКТОВ (РАБОТ), ОТЧЕТОВ ПО ПРАКТИКЕ И РЕФЕРАТОВ Усть-Илимск 2012 СОДЕРЖАНИЕ 1. ОБЛАСТЬ ПРИМЕНЕНИЯ 2. ТРЕБОВАНИЯ К ПОСТРОЕНИЮ РАБОТЫ 2.1. Структурные элементы работы 2.2. Титульный лист 2.3....»










 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.