Учебник. А. Ю. Босова Москва бином. Лаборатория знаний 2016 11 класс Базовый уровень Учебник
Скачать 4.61 Mb.
|
Глава 3. информационное моделирование При значительном количестве данных в БД, построенных по иерархической модели, поиск нужных данных может занять мно- го времени. Например, поиск файла, содержащего определённый фрагмент текста, на всех жёстких дисках персонального компью- тера может длиться несколько минут. В Интернете подобный поиск будет длиться максимум несколько секунд, при этом будут обработаны значительно большие объёмы данных. Постарайтесь вспомнить, за счёт чего так быстро происходит по иск в Интернете. Как это связано с индексацией данных? Исполь зуются ли аналогичные возможности в современных операционных системах? Иерархическую модель данных удобно использовать для пред- метной области, объекты которой также имеют между собой иерархическую зависимость. Для предметной области, в которой объекты связаны между собой более сложной зависимостью, чем иерархия, может быть использована сетевая модель данных. Сетевая структура данных предусматривает, что у каждого объекта может быть как несколько объектов-потомков, так и не- сколько родительских объектов. Пример связей между объектами при использовании сетевой модели данных изображен на рисун- ке 3.25. Для обработки данных в сетевой модели данных используются команды: • найти указанный объект среди однотипных объектов, напри- мер объект с данными об ученике Кучеренко М.; рис. 3.25. Сетевая структура данных 169 база данных как модель предметной области §12 • перейти от родительского объекта к первому потомку, исполь- зуя определённую связь; • перейти от объекта-потомка к родительскому объекту, исполь- зуя определённую связь; • вставить новый объект в указанном месте; • удалить текущий объект; • изменить объект; • включить объект в определённую связь; • разорвать связь и др. Использование сетевой модели данных осложняется при зна- чительном увеличении количества объектов предметной области и усложнении связей между ними. Основой структуры реляционной модели данных является таб- лица, каждая строка которой содержит набор значений свойств одного из объектов предметной области, а каждый столбец — на- бор значений определённого свойства объектов предметной обла- сти. Таблица реляционной БД состоит из элементов определённых множеств, что позволяет для обработки данных этой таблицы использовать операции над множествами. Эдгар Франк Кодд (1923–2003) — британский учё ный, внёсший существенный вклад во многие об ласти информатики. Кодд является создателем реляционной модели данных и основоположником теории реляционных БД. Математик по образова нию, он ввёл в теорию БД математический под ход, основывающийся на теории множеств. Целостность 1) в реляционной модели данных обеспечивается соблюдением двух принципов: 1) обязательная возможность идентификации объекта (экзем- пляра сущности) за счёт уникальности набора значений его свойств, указанных в строке реляционной таблицы; 2) обязательная корректность связей между таблицами. В соответствии с моделью данных, лежащей в основе БД, различают иерархические, сетевые и реляционные БД. Последние мы рассмотрим более подробно. 1) Более подробно этот вопрос будет раскрыт в следующем параграфе. 170 Глава 3. информационное моделирование 12.4. реляционные базы данных Итак, основным объектом реляционной БД является таблица. Каждая такая таблица, называемая реляционной таблицей или отношением, обладает следующими свойствами: • все столбцы в таблице однородные, т. е. все элементы в одном столбце имеют одинаковый тип и максимально допустимый размер; • каждый столбец имеет уникальное имя; • одинаковые строки в таблице отсутствуют; • порядок следования строк и столбцов в таблице не имеет зна- чения. Основными структурными элементами реляционной таблицы являются поле и запись (рис. 3.26). рис. 3.26. Основные структурные элементы реляционной таблицы Поле (столбец реляционной таблицы) — элементарная единица логической организации данных, которая соответствует конкрет- ному атрибуту сущности. Запись (строка реляционной таблицы) — совокупность логиче- ски связанных полей, соответствующая конкретному экземпляру сущности. Например, информация о крупнейших озёрах мира в виде реляционной таблицы представлена на рисунке 3.27. Для наглядности представления связей между таблицами пе- реходят к представлению структур таблиц, указывая только име- на полей: НАЗВАНИЕ ТАБЛИЦЫ ИМЯ ПОЛЯ 1 ИМЯ ПОЛЯ 2 171 база данных как модель предметной области §12 рис. 3.27. Таблица реляционной БД Например, структура таблицы, представленной на рисунке 3.27, будет иметь вид: КРУПНЕЙШИЕ ОЗЕРА НАЗВАНИЕ МАТЕРИК МАКСИМАЛЬНАЯ ГЛУБИНА ПЛОЩАДЬ Первичный ключ (идентификатор) реляционной таблицы — это поле или совокупность полей, которые однозначно определяют каждую строку (запись) в таблице. Основные свойства первичного ключа: 1) однозначная идентификация записи (запись должна однознач- но определяться значением ключа); 2) отсутствие избыточности (удаление любого поля первичного ключа приведёт к нарушению свойства однозначной иденти- фикации записи). 172 Глава 3. информационное моделирование Ключ, состоящий из одного поля, называется простым клю- чом (ключевым полем). Ключ называется составным, если он включает в себя несколько полей. В таблице БД, представленной на рисунке 3.27, в качест- ве ключевого можно использовать поле НАЗВАНИЕ: значения в этом поле являются уникальными для каждой записи, потому что крупных озёр с одинаковыми названиями не существует. Для хранения данных о сущностях некоторой предметной области может использоваться несколько связанных между со- бой таблиц. Связь между таблицами устанавливается с помощью ключевых полей. Можно связать две реляционные таблицы, если ключ одной связываемой таблицы ввести в состав ключа другой таблицы (возможно совпадение ключей). Ключевое поле одной связыва- емой таблицы можно ввести в структуру другой таблицы, при этом оно уже не будет ключевым; такое поле называется внеш- ним ключом. Между таблицами А и В установлена связь «один к одному», если каждая запись в таблице А может иметь не более одной связан ной с ней записи в таблице В, и наоборот — каждая запись в таблице В может иметь не более одной связанной с ней записи в таблице А. Связь между таблицами имеет тип «один к одному», если она уста новлена по совпадающим первичным ключам. Таблицы УЧЕНИК и УЧЕБНЫЙ ГОД связаны по типу «один к одному» (рис. 3.28). В этом случае имеет место совпадение ключей. рис. 3.28. Пример связей «один к одному» и «один ко многим» между таблицами 173 база данных как модель предметной области §12 Между таблицами А и В установлена связь «один ко многим», если каждая запись в таблице А может быть связана с несколькими за писями таблицы В, но каждая запись в таблице В не может быть связана более чем с одной записью таблицы А. Между таблицами ПООЩРЕНИЕ и УЧЕБНЫЙ ГОД связь «один ко многим». В этом случае ключевое поле одной связывае- мой таблицы (ПООЩРЕНИЕ) введено в структуру другой таблицы (УЧЕБНЫЙ ГОД) так, что там оно уже не является ключевым и рассматривается как внешний ключ. В рамках этой связи табли- ца, содержащая первичный ключ, считается главной, а таблица, содержащая внешний ключ, считается подчинённой. Между таблицами А и В установлена связь «многие ко многим», если каждой записи таблицы А может соответствовать несколько записей в таблице В, и наоборот — каждой записи таблицы В мо жет соответствовать несколько записей в таблице А. Такая связь всегда реализуется с помощью третьей связующей таблицы С. Связь «многие ко многим» представляет собой ком- бинацию двух связей типа «один ко многим»: между таблицами А и С и между таблицами В и С. Например, связь между таблицами ЧИТАТЕЛЬ и КНИГА базы данных БИБЛИОТЕКА может быть реализована с помощью таблицы АБОНЕМЕНТ 1) (рис. 3.29). рис. 3.29. Пример связей «один ко многим» и «многие ко многим» между таблицами 1) Самостоятельно уточните значение слова «абонемент» в дополнительных источниках информации. 174 Глава 3. информационное моделирование СамОе ГлаВнОе База данных (БД) — совокупность данных, организованных по определённым правилам, отражающая состояние объектов и их отношений в некоторой предметной области, предназначен- ная для хранения во внешней памяти компьютера и постоянного применения. Информационная система — это совокупность содержащейся в базах данных информации и обеспечивающих её обработку ин- формационных технологий и технических средств. Модель данных — это совокупность структур данных и опера- ций их обработки. Выделяют три основных типа моделей данных: иерархическую, сетевую и реляционную. Основным объектом реляционной БД является таблица, обла- дающая следующими свойствами: все столбцы в таблице одно- родные, т. е. все элементы в одном столбце имеют одинаковый тип и максимально допустимый размер; каждый столбец имеет уникальное имя; одинаковые строки в таблице отсутствуют; по- рядок следования строк и столбцов в таблице не имеет значения. Основными структурными элементами реляционной таблицы являются поле и запись. Первичный ключ (ключевое поле, идентификатор) реляцион- ной таблицы — это поле или совокупность полей, которые од- нозначно определяют каждую строку (запись) в таблице. Ключ, состоящий из одного поля, называется простым ключом. Ключ называется составным, если он включает в себя несколько полей. Для хранения данных о сущностях некоторой предметной области может использоваться несколько связанных между со- бой таблиц. Связь между таблицами устанавливается с помощью ключевых полей. Между таблицами А и В установлена связь «один к одному», если каждая запись в таблице А может иметь не более одной связанной с ней записи в таблице В, и наоборот — каждая за- пись в таблице В может иметь не более одной связанной с ней записи в таблице А. Между таблицами А и В установлена связь «один ко мно- гим», если каждая запись в таблице А может быть связана с несколькими записями таблицы В, но каждая запись в таблице В не может быть связана более чем с одной записью таблицы А. Между таблицами А и В установлена связь «многие ко мно- гим», если каждой записи таблицы А может соответствовать не- сколько записей в таблице В, и наоборот — каждой записи таб- 175 база данных как модель предметной области §12 лицы В может соответствовать несколько записей в таблице А. Такая связь всегда реализуется с помощью третьей связующей таблицы C. Связь «многие ко многим» представляет собой ком- бинацию двух связей типа «один ко многим»: между таблицами А и С и между таблицами В и С. Можно связать две реляционные таблицы, если ключ одной связываемой таблицы ввести в состав ключа другой таблицы (воз- можно совпадение ключей). Ключевое поле одной связываемой таблицы можно ввести в структуру другой таблицы, при этом оно уже не будет ключевым; такое поле называется внешним ключом. Вопросы и задания 1. Для чего нужно упорядоченное хранение данных? 2. Что такое информационная система? Каково основное назна- чение информационных систем? 3. Имеете ли вы опыт использования каких-либо информаци- онных систем? 4. Что такое база данных? Как связаны информационная си- стема и база данных? 5. Что такое предметная область? Как представляются объекты предметной области и их свойства в информационной моде- ли предметной области? 6. Что такое сущность? Что такое экземпляр сущности? Приве- дите примеры. 7. Что называют моделью «сущность–связь»? 8. Постройте модель «сущность–связь» для предметной области «Концертный зал». 9. Назовите типы связей между сущностями предметной обла- сти. 10. Определите тип связей между сущностями: 1) КЛИЕНТ и ЗАКАЗ в интернет-магазине; 2) МАШИНА и ЧАСТИ МАШИНЫ; 3) УЧИТЕЛЬ и УЧЕНИК в школе; 4) КОМНАТА и ГОСТЬ в отеле; 5) ГРАЖДАНИН и ПАСПОРТ. 11. Что такое модель данных? Для чего она создаётся? 12. Опишите иерархическую модель данных. 13. Опишите сетевую модель данных. 14. Опишите реляционную модель данных. 176 Глава 3. информационное моделирование 15. Опишите таблицу реляционной БД. 16. Что такое ключевое поле? Каковы требования к ключевому полю? 17. Какого типа связи могут быть установлены между таблица- ми реляционной БД? Охарактеризуйте каждый тип связи. 18. Во фрагменте БД представлены сведения об участниках вы- ставки: таблица 1 таблица 2 Страна Участник Участник Жанр Великобритания Стив Глазунов Натюрморт Германия Мейер Селби Пейзаж США Кинкейд Сафронов Портрет Россия Сафронов Мейер Пейзаж Канада Селби Кинкейд Пейзаж Германия Рихард Дейв Портрет Великобритания Дейв Рихард Натюрморт Германия Гюнтер Гюнтер Пейзаж Россия Глазунов Зив Натюрморт Германия Зив Стив Портрет 1) Охарактеризуйте связь между представленными таблица- ми БД. 2) Художники из скольких стран представили на выставке пейзажи? 3) Представьте всю имеющуюся информацию о выставке в одной таблице. 4) Представьте всю имеющуюся информацию о выставке в форме графа. 177 база данных как модель предметной области §12 19. Во фрагменте БД представлены сведения о родственных от- ношениях: таблица 1 таблица 2 ID Фамилия И. О. Пол ID Родителя ID Ребёнка 2272 Диковец А. Б. Ж 2227 2272 2228 Диковец Б. Ф. М 2227 2299 2299 Диковец И. Б. М 2228 2272 2378 Диковец П. И. М 2228 2299 2356 Диковец Т. И. Ж 2272 2240 2331 Тесла А. П. М 2272 1202 1217 Тесла П. А. М 2272 1217 1202 Ландау М. А. Ж 2299 2356 2227 Решко Д. А. Ж 2299 2378 2240 Решко В. А. Ж 2322 2356 2322 Друк Г. Р. Ж 2322 2378 Представьте имеющуюся информацию в форме графа и от- ветьте на следующие вопросы. 1) Сколько внуков у Решко Д. А.? 2) Информация о скольких супружеских парах представлена в таблицах? 3) Какой идентификационный номер (ID) у дяди Реш- ко В. А.? 178 Глава 3. информационное моделирование § 13 Системы управления базами данных 13.1. этапы разработки базы данных Процесс разработки БД состоит из нескольких этапов. 1. Постановка задачи. На этом этапе определяется цель созда- ния БД, уточняется предметная область, перечисляются виды работ, которые предполагается осуществлять в этой БД (от- бор, изменение данных, печать отчёта и т. д.), определяются потенциальные пользователи. К постановке задачи привлека- ются не только специалисты по БД, но и специалисты из той предметной области, для которой она создаётся. Чем полнее будут представления специалиста-предметника о принципах создания БД, тем конструктивнее будет его взаимодействие со специалистом в области информационных технологий и тем качественнее будет конечный результат. 2. Проектирование БД. На этом этапе определяется, из каких сущностей (информационных объектов) должна состоять БД, какими атрибутами будет описываться каждая сущность. За- тем определяется структура реляционных таблиц с указанием свойств полей и связей между таблицами, а именно: 1) составляется общий список полей, отражающий атрибуты таблиц БД; 2) поля общего списка распределяются по базовым таблицам; 3) в соответствии со свойствами данных определяются свой- ства каждого поля; 4) в каждой таблице выделяется ключевое поле; 5) определяются связи между таблицами. 3. Создание БД с использованием одного из языков программи- рования или специального программного обеспечения — си- стем управления базами данных (СУБД). Первый способ при- меняется для создания уникальных БД и требует высокой квалификации от программиста. Для работы с СУБД доста- точно базовых пользовательских навыков и понимания основ разработки БД, которые мы рассмотрели в предыдущем па- раграфе. Далее мы будем говорить только об этом способе. Создание БД в СУБД предполагает: 1) запуск СУБД и создание нового файла БД; 2) создание таблиц и установление связей между ними; 179 Системы управления базами данных §13 3) тестирование БД и её коррекцию; 4) разработку различных элементов управления данными (экранных форм для ввода, редактирования и просмотра данных в таблицах; запросов для сортировки, поиска и отбора данных; отчётов для вывода данных на печать), а также установку средств защиты БД, например разграниче- ние прав доступа для различных пользователей с помощью паролей; 5) заполнение таблиц данными (как правило, непосредствен- но разработчик БД вводит в неё только тестовые данные, необходимые для проверки правильности структур таблиц, связей между таблицами и т. д.; в готовую БД информацию может вводить кто-то из пользователей БД). 4. Эксплуатация созданной БД,в том числе: • сортировка, фильтрация и поиск записей в таблицах; • отбор данных из таблиц в соответствии с заданными кри- териями отбора; • выполнение обработки данных (удаление, добавление, изме- нение данных, выполнение вычислений); • подготовка отчётов. В ходе эксплуатации БД, как правило, данные регулярно об- новляются, могут изменяться связи между сущностями и т. п. При проектировании БД, больших по объёму и ориентированных на разные группы пользователей, выделяют концептуальный, внеш ний и внутренний уровни представления данных. Модель «сущность–связь» следует рассматривать как концепту альный уровень представления данных. Внешний (пользовательский) уровень предусматривает пред ставление данных в виде, требуемом конкретному пользовате лю БД. Внутренний (физический) уровень представления данных опре деляет особенности хранения данных, методов доступа к ним и т. д. В каждой школе нашей страны используется БД «Электронный журнал». Схему уровней пред ставления данных для этой БД вы видите на рисунке 3.30. |