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

Содержание

1. Понятие базы данных и банка данных. 4

1.1 Основные определения. 4

1.2 Составляющие банка данных. 4

1.3 Цели использования банков данных. 6

1.4 Трехуровневая архитектура базы данных. 7

1.5 Основные функции СУБД. 8

1.5.1 Управление данными во внешней памяти. 8

1.5.2 Управление оперативной памятью. 9

1.5.3 Управление транзакциями 9

1.5.4 Журнализация 9

1.5.5. Поддержка языков БД 9

2. Модели данных. 11

2.1 Ранние модели данных. 11

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

2.1.2 Сетевая модель данных. 13

2.2 Реляционная модель данных. 14

2.4 Объектная модель данных. 14

2.5 Нереляционные СУБД. 15

3. Реляционная модель данных. 16

3.1 Структура и основные понятия реляционной модели данных. 16

3.2 Правила Кодда для реляционных СУБД. 17

3.3 Реляционная алгебра и реляционное исчисление. 18

3.3.1 Реляционная алгебра. 18

3.3.2 Реляционное исчисление. 21

4. Проектирование баз данных. 24

4.1 Проектирование при помощи нормализации. 25

4.1.1 Первая нормальная форма. 27

4.1.2 Вторая нормальная форма. 27

4.1.3 Третья нормальная форма и нормальная форма Бойса-Кодда. 27

4.1.4 Четвертая нормальная форма. 27

4.1.5 Пятая нормальная форма. 28

4.2 Модель «сущность-связь». 28

4.2.1 Появление и развитие метода. Современное состояние. 28

4.2.2 Метод Баркера. 29

4.2.3 Метод IDEF1x. 34

4.2.4 Получение схемы базы данных из модели «сущность-связь». 36

4.3 Денормализация базы данных. 37

5. Язык SQL. 39

5.1 Появление и развитие языка. 39

5.2 Современная структура языка. 39

5.3 Язык определения данных. 39

5.4 Язык манипулирования данными. 41

5.4.1 Запросы INSERT, UPDATE, DELETE. 41

5.4.2 Запрос SELECT. 43

6. Управление транзакциями. 65

6.1 Понятие транзакции. Основные свойства транзакций. 65

7.2 Восстановление. 66

6.3 Параллельность. 67

6.3.1 Проблемы параллельных транзакций и уровни изолированности. 67

6.3.2 Блокировки данных. 68

6.4 Поддержка транзакции в языке SQL и библиотеках ADO.Net. 70

1. Понятие базы данных и банка данных.

1.1 Основные определения.

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

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

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

На сегодняшний день имеется достаточно много различных определений понятия «база данных», от достаточно неформальных, описательных, до более-менее строгих. Так, К. Дж. Дейт в [1] определяет базу данных следующим образом:

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

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

В качестве более формального определения можно привести использующееся в Гражданском кодексе Российской Федерации:

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

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

Наконец, ГОСТ Р ИСО МЭК ТО 10032-2007 «Эталонная модель управления данными» дает следующее определение, более приближенное к деталям работы с данными на вычислительной технике:

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

Из приведенных определений можно выделить основные признаки базы данных, а именно:

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

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

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

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

Банк данных – это система специальным образом организованных данных (баз данных), программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных.

Рассмотрим составляющие банка данных подробнее в следующем разделе.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]