Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
51
Добавлен:
10.02.2015
Размер:
2.04 Mб
Скачать

ВВЕДЕНИЕ 3

1. Информационная система (ИС): 6

2.Типы и структуры данных 13

2.1.Основные типы данных 13

2.1.Методы доступа к данным 14

2.1.1.Методы поиска по дереву 14

2.2.2.Хеширование 16

3. Представление данных с помощью модели "сущность-связь". 17

3.1.Элементы модели 17

3.2.Диаграмма "сущность-связь". 22

4. Даталогические модели 29

4.1.Иерархическая модель данных 29

4.1.1.Структура данных 29

4.1.2.Операции над данными, определенные в иерархической модели: 31

4.1.3. Ограничения целостности 31

4.2. Сетевая модель данных 31

4.2.1. Структура данных 31

4.2.2.Операции над данными 33

4.3. Реляционная модель данных 34

4.3.1. Структура данных 34

4.3.2. Фундаментальные свойства отношений 36

4.3.2.1. Отсутствие кортежей-дубликатов 36

4.3.2.2. Отсутствие упорядоченности кортежей 37

4.3.2.3. Отсутствие упорядоченности атрибутов 37

4.3.2.4. Атомарность значений атрибутов 37

4.3.3.Свойства отношений. 38

4.3.4. Реляционная модель и модель сущность - связь 40

4.3.4.1. Преобразование ER-модели в реляционную модель 40

5. Языки запросов к реляционным базам данных 46

5.1. Реляционная алгебра 47

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

Замкнутость реляционной алгебры и операция переименования 48

Правила записи выражений реляционной алгебры 55

5.2. Реляционное исчисление кортежей 57

5.3. Реляционное исчисление доменов 61

5.3. Ограничения реляционных баз данных 63

5.4. Постреляционные СУБД 64

6. Проектирование информационных систем и баз данных 67

Информационное моделирование процессов предметной области и применение потоковых диаграмм 70

7. Проектирование реляционных баз данных с использованием нормализации 75

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

7.2. Функциональная зависимость 76

7.2.1. Аксиомы функциональных зависимостей 77

7.2.2. Вычисление замыканий 78

7.2.3. Полная функциональная зависимость 79

7.2.4. Транзитивная функциональная зависимость 79

7.2.5.2. Вторая нормальная форма 81

7.2.5.3. Третья нормальная форма 84

7.2.5.4. Нормальная форма Бойса-Кодда 85

7.2.5.5. Четвертая нормальная форма 87

7.2.5.6. Пятая нормальная форма 90

7.2.6. Функциональные зависимости и проектирование базы данных. 91

Введение

Для чего нужны базы данных.

C самого начала развития вычислительной техники образовались два основных направления ее использования.

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

  • Второе направление - это использование средств вычислительной техники в автоматизированных информационных системах.

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

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

Информационные системы имеют следующие особенности:

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

  • данные, которые они используют, имеют сложную структуру

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

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

Режим многопользовательского доступа

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

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

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

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

СОТР_ИМЯ - полное имя сотрудника,

СОТР_НОМЕР - номер его удостоверения,

СОТР_СТАТ - информация о его соответствии занимаемой должности (для простоты, "да" или "нет") ,

СОТР_ЗАРП - размер зарплаты,

СОТР_ОТД_НОМЕР - номер отдела,

СОТР_ОТД_РУК - имя руководителя отдела.

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

Первый файл СОТРУДНИКИ должен содержать поля

  • СОТР_ИМЯ,

  • СОТР_НОМЕР,

  • СОТР_СТАТ,

  • СОТР_ЗАРП,

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

а второй – ОТДЕЛЫ:

  • ОТД_НОМЕР,

  • ОТД_РУК,

  • ОТД_СОТР_ЗАРП (общий размер зарплаты)

  • ОТД_РАЗМЕР (общее число сотрудников в отделе).

Возможные запросы на языке высокого уровня (SQL):

SELECT ОТД_РАЗМЕР

FROM СОТРУДНИКИ, ОТДЕЛЫ

WHERE СОТР_ИМЯ = "ПЕТР ИВАНОВИЧ СИДОРОВ"

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

SELECT СОТР_ИМЯ, СОТР_НОМЕР

FROM СОТРУДНИКИ

WHERE СОТР_СТАТ = "НЕТ",

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

Соседние файлы в папке Bazy_dannykh_1_kurs_2_semestr_2011-2012