Методы, модели, средства хранения и обработки данных
Покупка
Основная коллекция
Издательство:
Вузовский учебник
Год издания: 2022
Кол-во страниц: 168
Дополнительно
Вид издания:
Учебник
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-9558-0490-3
ISBN-онлайн: 978-5-16-104262-5
Артикул: 287000.08.01
К покупке доступен более свежий выпуск
Перейти
В учебнике рассмотрены следующие вопросы: теория, методология и практика работы с данными, базами данных, базами знаний и хранилищами данных; модели представления данных в памяти компьютера — модель «сущность — связь»; дореляционные модели представления данных, реляционные базы данных; проектирование реляционных баз данных; направления развития баз данных; физическая организация систем управления базами данных.
Сформулированы концептуальные основы понятия «знание», изложены понятия и определения знаний, баз знаний, модели представления знаний. Здесь же даны принципы построения систем, ориентированных на анализ данных, — хранилища данных, модели данных, используемые при построении хранилищ данных. Рассмотрены основные вопросы защиты данных, обеспечения их безопасности и секретности, а также системы хранения и обработки больших данных.
Учебник предназначен для бакалавров и магистрантов всех специальностей, а также для аспирантов и слушателей ИПК.
Тематика:
ББК:
УДК:
- 004: Информационные технологии. Вычислительная техника...
- 681: Точная механика. Автоматика. Приборостроение
ОКСО:
- ВО - Бакалавриат
- 01.03.02: Прикладная математика и информатика
- 01.03.04: Прикладная математика
- 02.03.01: Математика и компьютерные науки
- 02.03.02: Фундаментальная информатика и информационные технологии
- 02.03.03: Механика и математическое моделирование
- 03.03.02: Прикладная математика и информатика
- 09.03.01: Информатика и вычислительная техника
- 09.03.03: Прикладная информатика
- 09.03.04: Программная инженерия
- ВО - Магистратура
- 01.04.02: Прикладная математика и информатика
- 01.04.04: Прикладная математика
- 02.04.01: Математика и компьютерные науки
- 02.04.02: Фундаментальная информатика и информационные технологии
- 02.04.03: Математическое обеспечение и администрирование информационных систем
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
МЕТОДЫ, МОДЕЛИ, СРЕДСТВА ХРАНЕНИЯ И ОБРАБОТКИ ДАННЫХ Москва ВУЗОВСКИЙ УЧЕБНИК ИНФРА-М 2022 Э.Г. ДАДЯН, Ю.А. ЗЕЛЕНКОВ Финансовый университет при Правительстве Российской Федерации УЧЕБНИК
Дадян Э.Г., Зеленков Ю.А. Методы, модели, средства хранения и обработки данных: учебник / Э.Г. Дадян, Ю.А. Зеленков. — Москва : Вузовский учебник: ИНФРА-М, 2022. — 168 с. ISBN 978-5-9558-0490-3 (Вузовский учебник) ISBN 978-5-16-011812-3 (ИНФРА-М, print) ISBN 978-5-16-104262-5 (ИНФРА-М, online) В учебнике рассмотрены следующие вопросы: теория, методология и практика работы с данными, базами данных, базами знаний и хранилищами данных; модели представления данных в памяти компьютера — модель «сущность — связь»; дореляционные модели представления данных, реляционные базы данных; проектирование реляционных баз данных; направления развития баз данных; физическая организация систем управления базами данных. Сформулированы концептуальные основы понятия «знание», изложены понятия и определения знаний, баз знаний, модели представления знаний. Здесь же даны принципы построения систем, ориентированных на анализ данных, — хранилища данных, модели данных, используемые при построении хранилищ данных. Рассмотрены основные вопросы защиты данных, обеспечения их безопасности и секретности, а также системы хранения и обработки больших данных. Учебник предназначен для бакалавров и магистрантов всех специальностей, а также для аспирантов и слушателей ИПК. Д14 © Вузовский учебник, 2016 УДК 681.3(075.8) ББК 65.39 Д14 Подписано в печать 10.08.2022. Формат 60 90/16. Бумага офсетная. Печать цифровая Гарнитура Newton. Усл. печ. л. 13,5. ППТ20. Заказ № 00000 ТК 287000-1834412-040716 ООО «Издательский Дом «Вузовский учебник» 127247, Москва, ул. С. Ковалевской, д. 1, стр. 52 www.vuzbook.ru ООО «Научно-издательский центр ИНФРА-М» 127214, Москва, ул. Полярная, д. 31В, стр. 1 Тел.: (495) 280-15-96, 280-33-86. Факс: (495) 280-36-29 E-mail: books@infra-m.ru http://www.infra-m.ru Отпечатано в типографии ООО «Научно-издательский центр ИНФРА-М» 127214, Москва, ул. Полярная, д. 31В, стр. 1 Тел.: (495) 280-15-96, 280-33-86. Факс: (495) 280-36-29 ФЗ № 436-ФЗ Издание не подлежит маркировке в соответствии с п. 1 ч. 2 ст. 1 ISBN 978-5-9558-0490-3 (Вузовский учебник) ISBN 978-5-16-011812-3 (ИНФРА-М, print) ISBN 978-5-16-104262-5 (ИНФРА-М, online) Издание осуществлено при финансовой поддержке Федерального агентства по печати и массовым коммуникациям в рамках Федеральной целевой программы «Культура России (2012–2018 годы)» УДК 681.3(075.8) ББК 65.39
ВВЕДЕНИЕ Компьютеры были созданы для решения вычислительных задач, однако со временем они все чаще стали использоваться для построения систем обработки документов, точнее содержащейся в них информации. Такие системы обычно называют информационными. В качестве примера можно привести систему учета отработанного времени работниками предприятия и расчета заработной платы, систему учета продукции на складе, систему учета книг в библиотеке и т.д. Все перечисленные системы имеют следующие особенности: • для обеспечения их работы нужны сравнительно низкие вычислительные мощности; • данные, которые они используют, имеют сложную структуру; • необходимы средства сохранения данных между последовательными запусками системы. При изложении материала учебника используются такие термины, как «информация», «данные», «знания», «информационная система» и др. Существует достаточно много толкований терминов «данные», «информация» и «знание», причем есть мнения, что в силу широты этих понятий создание универсальных и строгих определений невозможно. В науке об управлении знаниями обычно рассматривается иерархия «данные — информация — знания». Т. Дэвенпорт и Л. Прусак [2] определили данные как объективные факты каких-то событий. Позже это определение было уточнено К. Чу [1], который указал, что объективными, существующими независимо от субъекта событиями порождаются сигналы — сенсорные феномены, которые воспринимаются людьми. Человек обычно обращает внимание на небольшое количество сигналов, которые он трансформирует в данные, причем отбор и трансформация сигналов зависят как от их физической природы и, соответственно, способности наблюдателя их адекватно воспринимать, так и от предыдущего опыта наблюдателя (например, от его ожиданий что данный сигнал может обозначать). Данные, таким образом, — это уже субъективный набор фактов и сообщений. В контексте организации данные обычно сохраняются как структурированные записи о различных транзакциях — атомарных событиях, которые могут быть либо выполнены целиком, либо не выполнены вовсе. Любая транзакция может быть описана с помощью данных, но они ничего не говорят, например, о причинах, целях и качестве ее выполнения.
Субъект может интерпретировать данные в соответствии со своими целями, в этом процессе придания данным значения они трансформируются в информацию, которая, следовательно, имеет еще более субъективный характер. Информация всегда обрабатывается в определенном контексте и оказывает влияние на поведение или решения субъекта. Можно сказать, что ценность информации зависит от степени снижения неопределенности конкретной ситуации, в которой находится субъект. При этом вследствие ограниченной рациональности субъекта информация всегда остается неполной. В организации информация распространяется через различные сети, которые могут иметь как техническую природу (например, электронная почта), так и чисто социальную (неформальное общение), возможны также их различные комбинации. Согласно определению Т. Дэвенпорта и Л. Прусака, знание — это смесь накопленного опыта, ценностей, контекстуальной информации и экспертных сведений, которые позволяют оценивать и усваивать новый опыт и новую информацию [2]. Знание полностью субъективно, поскольку его носителем является отдельный индивидуум. Знание может существовать также и на уровне организации, причем не только в виде документов, но и в виде рутин, норм и процедур. Именно знания позволяют трансформировать данные в информацию: оценивать ее актуальность с учетом конкретного контекста, выделять ключевые компоненты, удалять явные ошибки, создавать более компактное представление, а также принимать решения на ее основе, распознавать и идентифицировать события, анализировать ситуацию и адаптироваться к ней, планировать и контролировать действия. Знания в отличие от информации предполагают наличие мнения и убеждений и подразумевают действие [12, 13]. Информационная система — ИС (Information System — IS) — система, предназначенная для реализации и ведения информационной модели какой-либо области человеческой деятельности. Данная система должна обеспечивать следующие средства для протекания информационных процессов: • сбор информации; • хранение и защита; • передача для использования; • преобразование и обработка; • анализ. Цель применения информационных систем — снижение трудоемкости использования информационных ресурсов. Под информационными ресурсами понимается совокупность информационных массивов, представляющих ценность для организации (предприятия). К ним относятся файлы и базы данных, документы, тексты, графики, знания, аудио- и видеоинформация и др.
Процесс обработки данных невозможен без использования технических средств, которые включают компьютер, устройства вводавывода, оргтехнику, линии связи, оборудование сетей и др. Информационная система требует создания в памяти ЭВМ динамически обновляемой модели внешнего мира с использованием единого хранилища — базы данных (БД). Базы данных можно определить как хранилища неинтерпретированных данных, информационных ресурсов (интерпретированных данных) и информационных систем. Для дальнейшего обсуждения необходимо ввести понятие предметной области. Предметная область — часть реального мира, подлежащая изучению с целью организации управления и в конечном счете автоматизации. Предметная область представляется множеством фрагментов, например, предприятие — цехами, дирекцией, бухгалтерией и т.д. Каждый фрагмент предметной области характеризуется множеством объектов и процессов, использующих объекты, а также множеством пользователей, характеризуемых различными взглядами на предметную область. Словосочетание «динамически обновляемая» означает, что соответствие БД текущему состоянию предметной области обеспечивается не периодически, а в режиме реального времени. При этом одни и те же данные могут быть по-разному представлены в соответствии с потребностями различных групп пользователей. Отличительной чертой следует считать то, что данные хранятся совместно с их описанием, а в прикладных программах описание данных не содержится. Независимые от программ пользователя данные обычно называются метаданными. В ряде современных систем метаданные, содержащие также информацию о пользователях, форматы отображения, статистику обращения к данным и другие сведения, хранятся в словаре БД. Таким образом, система управления базой данных (СУБД) — важнейший компонент информационной системы. Для создания и управления информационной системой СУБД необходима в той же степени, как для разработки программы на алгоритмическом языке необходим транслятор. Основные функции СУБД: • управление данными во внешней памяти (на дисках); • управление данными в оперативной памяти; • журнализация изменений и восстановление БД после сбоев; • поддержание языков БД (язык определения данных, язык манипулирования данными). Обычно современная СУБД содержит следующие компоненты (см. рис. 1):
Рис. 1. Компоненты СУБД • ядро, которое отвечает за управление данными во внешней и оперативной памяти и журнализацию; • процессор языка базы данных, обеспечивающий оптимизацию запросов на извлечение и изменение данных и создание, как правило, машинно-независимого исполняемого внутреннего кода; • подсистема поддержки времени исполнения, которая интерпретирует программы манипуляции данными, создающие пользовательский интерфейс с СУБД; • сервисные программы (внешние утилиты), обеспечивающие ряд дополнительных возможностей по обслуживанию информационной системы. Задача данного учебника – систематизировать и представить методически в доступной для первоначального изучения и освоения форме материал, в объеме и по содержанию отвечающий требованиям программ курсов дисциплин, названия которых коррелируют с названием этого учебника. Основной своей целью авторы видели обеспечение простоты изложения такой сложной дисциплины, как современная наука о данных, поэтому при выборе формы подачи материала всегда выбирался вариант, обеспечивающий максимальную доступность, возможно, даже иногда в ущерб строгости. Учебник состоит из одиннадцати взаимосвязанных глав, в которых последовательно рассмотрены следующие вопросы: 1. Представление данных в памяти компьютера: типы и структуры данных, основные типы данных, обобщенные структуры или модели данных, методы доступа к данным, методы поиска по дереву, хеширование, модель «сущность — связь».
2. Модели представления данных: назначение модели, элементы модели, диаграмма «сущность — связь», целостность данных; обзор нотаций, используемых при построении диаграммы «сущность — связь»; нотация Чена, нотация Мартина, нотация IDEF1X, нотация Баркера. 3. Дореляционные модели представления данных: иерархическая модель данных, структура данных; операции над данными, определенные в иерархической модели; ограничения целостности, сетевая модель данных, операции над данными, ограничения целостности. 4. Реляционные базы данных: основные понятия реляционных БД, операции реляционной алгебры, теория нормальных форм, ограничения целостнсти. 5. Язык SQL: типы данных SQL, создание схемы БД, управление правами доступа, выборка и модификация данных, вопросы практического програмирования. 6. Проектирование реляционных баз данных: этапы проектирования данных, инструментальные средства проектирования информационных систем, функциональное моделирование, концептуальное моделирование, правила порождения реляционных отношений из модели «сущность — связь», проектирование реляционной БД на основе декомпозиции универсального отношения. 7. Физическая организация СУБД: архитектура «клиент — сервер», основные понятия, модели взаимодействия «клиент — сервер», мониторы транзакций, обработка распределенных данных, структура сервера БД. 8. База знаний: основные понятия и определения, интеллект, интеллектуальные задачи, знания, свойства знаний, граница между данными и знаниями, модели представления знаний — логическая модель, продукционная модель (или модель, основанная на правилах), фреймовая модель, модель семантической сети. 9. Принципы построения систем, ориентированных на анализ данных: хранилища данных, модели данных, используемые при построении хранилищ данных, многомерная модель, реляционная модель, комбинированная модель. 10. Защита данных: общие вопросы защиты данных, основные методы и приемы зашиты данных, идентификация пользователя, управление доступом, защита данных при статической обработке, физическая защита, практика защиты данных. 11. Системы хранения и обработки больших данных: характеристики больших данных, NoSQL системы, модель распределенных вычислений MapReduce, разработка и выполнение распределенных программ. Главы 1–3, 5, 7, 11 написаны Ю.А. Зеленковым, главы 4, 9, 8 — Э.Г. Дадяном, введение, главу 8 и заключение — обоими авторами совместно.
1 ПРЕДСТАВЛЕНИЕ ДАННЫХ В ПАМЯТИ КОМПЬЮТЕРА 1.1 Типы и структуры данных 1.1.1 Основные типы данных Данные, хранящиеся в памяти ЭВМ, представляют собой совокупность нулей и единиц (битов). Биты объединяются в последовательности: байты, слова и т.д. Каждому участку оперативной памяти, который может вместить один байт или слово, присваивается порядковый номер (адрес). Какой смысл заключен в данных, какими символами они выражены — буквенными или цифровыми, что означает то или иное число — все это определяется программой обработки. Данные, необходимые для решения практических задач, подразделяются на несколько типов, причем понятие «тип» связывается не только с представлением данных в адресном пространстве, но и со способом их обработки. Любые данные могут быть отнесены к одному из двух типов: основному (простому), форма представления которого определяется архитектурой ЭВМ, или сложному, конструируемому пользователем для решения конкретных задач. Данные простого типа — это символы, числа и т.п., элементы, дальнейшее дробление которых не имеет смысла. Из элементарных данных формируются структуры (сложные типы) данных. Некоторые структуры: • Массив (функция с конечной областью определения) — простая совокупность элементов данных одного типа, средство оперирования группой данных одного типа. Отдельный элемент массива задается индексом. Массив может быть одномерным, двумерным и т.д. Разновидностями одномерных массивов переменной длины являются структуры типа кольцо, стек, очередь и двусторонняя очередь. • Запись (декартово произведение) — совокупность элементов данных разного типа. В простейшем случае запись содержит постоянное количество элементов, которые называют полями. Совокупность записей одинаковой структуры называется файлом. (Файлом называют также набор данных во внешней памяти, например, на жестком диске.) Для того чтобы иметь возможность извлекать из файла отдельные записи, каждой записи присваивают уникальное имя или номер, которое служит ее идентификатором и располагается в отдельном поле. Этот идентификатор называют ключом.
Такие структуры данных, как массив или запись занимают в памяти ЭВМ постоянный объем, поэтому их называют статическими структурами. К статическим структурам относится также множество. Имеется ряд структур, которые могут изменять свою длину — так называемые динамические структуры. К ним относятся дерево, список, ссылка. Важной структурой, для размещения элементов которой требуется нелинейное адресное пространство, является дерево. Существует большое количество структур данных, которые могут быть представлены как деревья. Это, например, классификационные, иерархические, рекурсивные и другие структуры. Более подробно о деревьях рассказано в параграфе 1.2.1. Схематически классификация типов данных представлена на рис. 1.1. ... Данные Элементарные (простые) Составные (структуры) Динамические Список Дерево Множество Запись Массив Целое Символ Статистические Рис. 1.1. Классификация типов данных 1.1.2 Обобщенные структуры или модели данных Выше мы рассмотрели несколько типов структур, являющихся совокупностями элементов данных: массив, дерево, запись. Более сложный тип данных может включать эти структуры в качестве элементов. Например, элементами записи может быть массив, стек, дерево и т.д. Существует большое разнообразие сложных типов данных, но исследования, проведенные на большом практическом материале, показали, что среди них можно выделить несколько наиболее общих. Обобщенные структуры называют также моделями данных, т.к. они отражают представление пользователя о данных реального мира. Любая модель данных должна содержать три компоненты: • структура данных — описывает точку зрения пользователя на представление данных;
• набор допустимых операций, выполняемых на структуре данных. Модель данных предполагает, как минимум, наличие языка определения данных (DDL — Data Definition Language), описывающего структуру их хранения, и языка манипулирования данными (DML — Data Manipulation Language), включающего операции извлечения и модификации данных; • ограничения целостности — механизм поддержания соответствия данных предметной области на основе формально описанных правил. В процессе исторического развития в СУБД использовались следующие модели данных: • иерархическая (параграф 3.1); • сетевая (параграф 3.2); • реляционная (раздел 4). 1.2 Методы доступа к данным Вопросы представления данных тесно связаны с операциями, при помощи которых эти данные обрабатываются. К числу таких операций относятся: выборка, изменение, включение и исключение данных. В основе перечисленных операций лежит операция доступа, которую нельзя рассматривать независимо от способа представления данных. В задачах поиска предполагается, что все данные хранятся в памяти с определенной идентификацией, и, говоря о доступе, имеют в виду, прежде всего, доступ к данным (называемым ключами), однозначно идентифицирующим связанные с ними записи. Пусть нам необходимо организовать доступ к файлу, содержащему набор записей одинаковой структуры, каждая из которых имеет уникальное значение ключевого поля. Самый простой способ поиска — последовательно просматривать каждую запись в файле до тех пор, пока не будет найдена та, значение ключа которой удовлетворяет критерию поиска. Очевидно, этот способ весьма неэффективен, поскольку записи в файле не упорядочены по значению ключевого поля. Сортировка записей в файле также неприменима, поскольку требует еще больших затрат времени и должна выполняться после каждого добавления записи. Поэтому поступают следующим образом — ключи вместе с указателями на соответствующие записи в файле копируют в другую структуру, которая позволяет быстро выполнять операции сортировки и поиска. При доступе к данным вначале в этой структуре находят соответствующее значение ключа, а затем по хранящемуся вместе с ним указателю получают запись из файла. Существуют два класса методов, реализующих доступ к данным по ключу:
К покупке доступен более свежий выпуск
Перейти