- •Раздел 6. Обработка данных средствами электронных таблиц
- •Раздел 6. Обработка данных средствами электронных таблиц (эт)
- •6.1. Табличные процессоры и их характеристики
- •Раздел 7. Технологии хранения и поиска информации в базах данных
- •Раздел 7. Технологии хранения и поиска информации в базах данных (бд)
- •Изучить три темы:
- •Ответить на вопросы рубежного теста № 7
- •Учебный план Таблица 8.6
- •Раздел 8. Сетевые технологии обработки информации
- •Раздел 8. Сетевые технологии обработки информации
- •Ответить на вопросы рубежного теста № 8.
Раздел 7. Технологии хранения и поиска информации в базах данных
Раздел 7. Технологии хранения и поиска информации в базах данных (бд)
В процессе работы с разделом Вам предстоит:
Изучить три темы:
Основные понятия. Модели данных.
Структурные элементы реляционных БД. Нормализация отношений и типы связей в БД;
Создание базы данных.
Ответить на вопросы рубежного теста № 7
Выполнить практические задания (упражнения). Работа выполняется в соответствии с методическими указаниями, приведенными в учебнике Информатика. Базовый курс: Учебник для вузов. 3-е изд. Стандарт третьего поколения. Авторы: Симонович С.СПб. : Питер, 2011, 640 с., Гриф МО Учебное пособие.
Практическое занятие 4. СУБД Access. Смотри Методические указания, п.3.гл. 13. Упражнения на стр. 384-391.
Материал для самостоятельной подготовки:
Информатика. Базовый курс: Учебник для вузов. 3-е изд. Стандарт третьего поколения. Авторы: Симонович С.СПб.: Питер, 2011, 640 с., Гриф МО Учебное пособие. Глава 13.
7.1. Основные понятия. Модели данных
Изучаемые вопросы:
Базы данных и системы управления базами данных;
Модели данных.
7.1.1. Основные понятия теории баз данных
При создании баз данных стремятся упорядочить информацию по различным признакам, чтобы иметь возможность быстро находить любые сведения. Сделать это возможно, только если данные структурированы. Структурирование - это введение соглашений о способах представления данных. Неструктурированными называют данные, записанные, например, в текстовом файле.
Например, структурированная запись о работниках некоторого предприятия может иметь вид табл. 8.1.
Таблица 8.1
№ личного дела |
Фамилия |
Имя |
Отчество |
Дата рождения |
281 |
Алексеева |
Нина |
Николаевна |
08.03.69 |
295 |
Петров |
Василий |
Иванович |
23.02.75 |
326 |
Яковлев |
Андрей |
Борисович |
14.04.76 |
Итак, база данных (БД) - это поименованная совокупность структурированных данных, относящихся к определенной предметной области.
Система управления базами данных (СУБД) - это комплекс программных и языковых средств, необходимых для создания баз данных, поддержания их в актуальном состоянии и организации поиска в них необходимой информации.
7.1.2. Модели данных
В СУБД происходит процесс логического представления данных, с которыми имеет дело пользователь, в язык ЭВМ и обратно. Общая логическая структура БД называется моделью данных. Различают три основные модели данных: иерархическую, сетевую и реляционную.
Иерархическая модель данных
Иерархическая структура представляет совокупность элементов, образующих граф (дерево) (см. рис. 8.1.).
К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь. Узел - это совокупность атрибутов данных, описывающих некоторые объекты. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчиненную никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчиненные) узлы находятся на втором, третьем и т. д. уровнях. Количество деревьев в базе данных определяется числом корневых записей.
К каждой записи базы данных существует только один (иерархический) путь от корневой записи. Например, как видно из рис. 8.2, для записи С4 путь проходит через записи А и В3.
Первые системы управления базами данных использовали иерархическую модель данных (например, СУБД Фокус). Преимущество такой модели – ее наглядность. Недостатки – далеко не всякий объект можно представить в виде графа. Поэтому сегодня иерархические модели данных используются редко.
Сетевая модель данных
В сетевой структуре при тех же основных понятиях (уровень, узел, связь) каждый элемент может быть связан с любым другим элементом (рис. 8.2).
Сетевые модели позволяют описывать любые предметные области, однако такую подробную модель может быть трудно описать математически. Поэтому сегодня сетевые БД применяются, прежде всего, в банковских структурах (например, db Vista, AdaBas).
Реляционная модель данных
Понятие реляционных моделей (англ. Relation – отношение) связано с разработками известного американского специалиста в области баз данных Е. Кодда.
Эти модели характеризуются простотой структуры данных, удобном для пользователя табличным представлением и возможностью использования формального аппарата алгебры отношений и реляционного исчисления для обработки данных.
Реляционная модель ориентирована на организацию данных в виде двумерных таблиц. Каждая реляционная таблица представляет собой двумерный массив и обладает следующими свойствами:
каждый элемент таблицы – один элемент данных;
все столбцы в таблице однородные, т. е. все элементы в столбце имеют одинаковый тип (числовой, символьный и т. д.) и длину;
каждый столбец имеет уникальное имя.
Примером реляционной БД может служить БД «Студент» (табл. 8.1).
7.2. Структурные элементы реляционных БД. Нормализация отношений и типы связей в БД
Изучаемые вопросы:
Структурные элементы реляционной базы данных;
Нормализация отношений в БД;
Типы связей в базах данных.
7.2.1. Структурные элементы баз данных
Понятие базы данных тесно связано с такими понятиями структурных элементов, как поле, запись, отношение, файл.
Поле – элементарная единица логической организации данных. В двумерной таблице поле – одни из столбцов таблицы. При создании БД нужно предварительно описать все поля. Для описания поля используются следующие характеристики:
имя (например, фамилия, Имя, Отчество, Дата рождения – т.е. название столбца таблицы);
тип (например, текстовый, числовой, календарный – в памяти компьютера разный тип информации кодируется различным образом. Для поля Фамилия задается текстовый тип информации, для поля Дата рождения – календарный);
длина (например, 15 символов, причем длина будет определятся максимально возможным количеством символов в данном поле и служит для предварительного задания ширины столбца. Так для поля Фамилия достаточно задать длину 15 символов, поскольку большинство фамилий не содержат более 15 букв, а для столбца Пол достаточно одного символа, так как. туда будет вводиться признак пола – одна буква “м” или “ж”);
точность – необходимо задавать ее только для числовых данных (например, два десятичных знака для отображения дробной части числа 15,28).
Запись (рис. 8.3) – совокупность логически связанных полей. Экземпляр записи – отдельная реализация записи, содержит конкретные значения ее полей т. е. одна строка двумерной таблицы. (В табл. 8.1. один экземпляр записи характеризует студента Сергеева, второй – Петрову).
Отношение (таблица) – совокупность экземпляров записей одной структуры (табл. 8.1 – это отношение).
Файл – одна или несколько связанных между собой таблиц.
Описание логической структуры записи файла содержит последовательность расположение полей записи и их основные характеристики, как это показано в табл. 8.2.
Таблица 8.2
Имя файла |
|||||
Поле |
Признак ключа |
Формат поля |
|||
Имя (обозначение) |
Полное наименование |
Тип |
Длина |
Точность (для чисел) |
|
Имя 1 |
|
|
|
|
|
… |
|
|
|
|
|
Имя n |
|
|
|
|
|
Как видно из табл. 8.2, кроме уже известных характеристик, в структуре записи файла указываются поля, значение которых являются ключами. Ключ – это такое поле, по которому можно однозначно найти любую запись в базе данных. В табл. 8.1 таким ключом может быть только поле “№ личного дела” (если, например, выбрать в качестве ключа поле Фамилия, то однозначность поиска нужной записи о студенте не будет обеспечена, так как в любой достаточно большой БД обязательно окажется несколько студентов с фамилиями Иванов, Смирнов и т. д.).
В табл. 8.3. приведен пример описания логической структуры файла таблицы СТУДЕНТ, содержимое которого приводится в табл. 8.1.
Таблица 8.3
Имя файла |
||||
Поле |
Формат поля |
|||
Обозначение в БД |
Полное наименование |
Тип |
Длина |
Точность (для чисел) |
Номер |
№ личного дела |
Числ. |
5 |
|
Фамилия |
Фамилия студента |
Симв. |
15 |
|
Имя |
Имя студента |
Симв. |
10 |
|
Отчество |
Отчество студента |
Симв. |
15 |
|
Дата |
Дата рождения |
Дата |
8 |
|
Как уже отмечалось, таблицы БД в реляционных моделях называются отношениями, стоки записями, а столбцы – атрибутами отношений (полями). Поле, каждое значение которого однозначно определяет соответствующую запись, называется простым ключом (ключевым полем). Если записи можно однозначно определить только значениями нескольких полей, то такая таблица базы данных имеет составной ключ. В примере, показанном в табл. 8.1, простым ключевым полем таблицы является “№ личного дела”. Чтобы связать две реляционные таблицы, необходимо ключ первой таблицы ввести в состав ключа второй таблицы (возможно совпадение ключей).
На рис. 8.4 показан пример реляционной модели, построенной на основе отношений (таблиц): СТУДЕНТ, СЕССИЯ, СТИПЕНДИЯ.
Таблицы, входящие в состав модели рис. 8.4, могут включать, например, следующие поля:
СТУДЕНТ (Номер, Фамилия, Имя, Отчество, Пол, Дата рождения, Группа);
СЕССИЯ (Номер, Оценка1, Оценка2, Оценка3, Оценка4, Результат);
СТИПЕНДИЯ (Результат, Процент).
Выделенные поля в описанных таблицах являются ключевыми. Поле Номер – это номер личного дела студента. Поле Результат – средний балл студента за сессию.
Таблицы СТУДЕНТ и СЕССИЯ имеют совпадающие ключи (Номер), что дает возможность легко организовать связь между ними. Таблица СЕССИЯ имеет первичный ключ Номер и содержит внешний ключ Результат, который обеспечивает ее связь с таблицей Стипендия.
7.2.2. Нормализация отношений
Одни и те же данные могут группироваться в таблицы (отношения) различными способами. Возможная организация различных наборов отношений должна быть рациональной, т.е. исключающей дублирование данных и упрощающей процедуры их обработки и обновления.
Нормализация отношений - формальный аппарат ограничений на формирование отношений (таблиц), который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение (ввод, корректировку) базы данных. Е. Коддом выделены три нормальные формы отношений и предложен механизм, позволяющий любое отношение преобразовать к третьей (самой совершенной) нормальной форме.
7.2.3. Типы связей в БД
Все информационные объекты предметной области должны быть связаны между собой. Различаются связи нескольких типов, для которых введены следующие обозначения:
один к одному (1:1);
один ко многим (1:М) или (1:∞);
многие ко многим (М:М) или (∞:∞).
Связь один к одному (1:1) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта В и наоборот.
При связи один ко многим (1:М) одному экземпляру информационного объект А соответствует 0,1 или больше экземпляров объекта В, но каждый экземпляр объекта В связан не более чем с одним экземпляром объекта А.
Связь многие со многими (М:М) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует 0,1 или более экземпляров объекта В и наоборот.
7.3. Создание базы данных
Изучаемые вопросы:
Этапы проектирования базы данных;
Разработка информационно-логической модели;
Разработка логической структуры таблиц БД.
7.3.1. Этапы проектирования баз данных
Как правило, выделяют следующие этапы в проектировании баз данных:
Обследование предметной области и выявление объектов, сведения о которых должны храниться в базе данных (перечень атрибутов).
Выбор системы управления базами данных.
Конструирование схемы базы данных (разработка информационно-логической модели БД).
Создание схем базы данных для машинных носителей.
Заполнение таблиц данными (не менее 10 записей).
Реализация запросов. Составление программ реализации запросов. Проверка запросов на контрольном примере.
Составление инструкции по технологии ведения базы данных.
Пример
Пусть требуется разработать базу данных, в которой бы хранились данные о результатах сдачи экзаменов каждым студентом одного факультета за весь период обучения.
Назовем такую базу данных "Студент".
Отбор атрибутов, сведения о которых должны храниться в БД
В соответствии с заданием, в БД должны храниться следующие сведения о студентах:
номер зачетной книжки;
фамилия, имя, отчество;
дата рождения;
пол;
шифр специальности;
название специальности;
курс;
номер семестра;
название дисциплины;
название кафедры;
число учебных часов по дисциплине;
оценка;
дата сдачи экзамена.
