Файл: Различные способы представления данных в информационных системах (Понятие представления данных).pdf
Добавлен: 30.04.2023
Просмотров: 45
Скачиваний: 2
СОДЕРЖАНИЕ
1. Общие понятия представления данных
1.1. Понятие представления данных
1.2. Обработка информации с изменением формы: систематизация, сортировка, поиск и кодирование
2. Представление данных в различных средах
2.1. Представление данных в памяти ЭВМ
2.2. Представление данных в математике
Во всех позиционных системах счисления арифметические операции выполняются по одним и тем же правилам, согласно действующим таблицам сложения и умножения. Для всех систем счисления справедливы одни и те же законы арифметики; коммутативный, ассоциативный, дистрибутивный, а также правила сложения, вычитания, умножения и деления столбиком.
В Р-ичной системе счисления таблица сложения представляет собой результаты сложения каждой цифры алфавита Р-ичной системы с любой другой цифрой этой же системы. Если результат сложения двух цифр в Р-ичной системе больше Р – 1, то к следующему разряду добавляется 1[19].
Вычитание из большего числа меньшего в Р-ичной системе счисления можно производить столбиком аналогично вычитанию в десятичной системе. Для выполнения этой операции используется та же таблица сложения, что и в операции сложения Р-ичной системы счисления. Если вычитаемое число больше уменьшаемого, то из старшего разряда вычитается 1.
Для выполнения умножения двух многозначных чисел в Р-ичной системе надо иметь таблицы умножении и сложения в этой системе. Действия производятся по правилам умножения столбиком, при этом используется соответствующие таблицы умножения и сложения. Возможен также и подход с переводом каждого сомножителя в десятичную систему счисления, вычисление требуемого действия в этой системе и перевод результата в Р-ичную систему. Аналогичным способом можно поступать и при выполнении операций сложения и вычитания[20].
При делении столбиком в Р-ичной системе счисления приходится в качестве промежуточных вычислений выполнять действия умножения и вычитания, следовательно, использовать таблицы умножения и сложения. Тем не менее, результат деления не всегда является конечной Р-ичной дробью (или целым числом). Тогда при осуществлении операции деления обычно выделяют непериодическую часть дроби и ее период[21].
Для получения значения числа Р-ичной системы счисления в десятичной необходимо число и его коэффициенты при степенях Р записать в виде десятичных чисел и провести вычисления в десятичной системе. Данный способ можно сформулировать в виде следующего алгоритма.
- Каждая цифра Р-ичного числа переводится в десятичную систему счисления.
- Полученные числа нумеруются справа налево, начиная с нуля.
- Число Р переводится в десятичную систему.
- Десятичное число, соответствующее каждой Р-ичной цифре умножается на Pk, где k – номер этого числа.
- Результаты складываются в десятичной системе[22].
Для того, чтобы перевести число из двоичной системы счисления в десятичную, надо в десятичной системе счисления сложить все степени двоек, которые соответствуют единицам в записи исходного двоичного числа. Нумерация степеней ведется справа налево, начиная с нулевой[23] [1, 4, 8].
2.3. Представление в базах данных
Представление является виртуальной (логической) таблицей, которая представляет собой поименованный запрос (синоним к запросу), подставленный как подзапрос при использовании представления.
В отличие от обычных таблиц реляционных баз данных, представление не является самостоятельной частью набора данных, хранящегося в базе. Содержимое представления динамически вычисляется на основании данных, находящихся в реальных таблицах. Изменение данных в реальной таблице базы данных немедленно отражается в содержимом всех представлений, построенных на основании этой таблицы[24].
Типичным способом создания представлений для СУБД, поддерживающих язык запросов SQL, является связывание представления с определённым SQL-запросом. Соответственно, содержимое представления — это результат выполнения этого запроса, а возможности построения представления ограничиваются только степенью сложности диалекта SQL, поддерживаемого конкретной СУБД. Так, для типичных СУБД, таких как PostgreSQL, Interbase, Firebird, Microsoft SQL Server, Oracle, представление может содержать:
- подмножество записей из таблицы БД, отвечающее определённым условиям (например, при наличии одной таблицы «Люди» можно создать два представления «Мужчины» и «Женщины», в каждом из которых будут записи только о людях соответствующего пола);
- подмножество столбцов таблицы БД, требуемое программой (например, из реальной таблицы «Сотрудники» представление может содержать по каждому сотруднику только ФИО и табельный номер);
- результат обработки данных таблицы определёнными операциями (например, представление может содержать все данные реальной таблицы, но с приведением строк в верхний регистр и обрезанными начальными и концевыми пробелами);
- результат объединения (join) нескольких таблиц (например, при наличии таблиц «Люди», «Адреса», «Улицы», «Фирмы и организации» возможно построение представления, которое будет выглядеть как таблица, для каждого человека содержащее его личные данные, адрес места жительства, название организации, где он работает, и адрес этой организации);
- результат слияния нескольких таблиц с одинаковыми именами и типами полей, когда в представлении попадают все записи каждой из сливаемых таблиц (возможно, с исключением дублирования);
- результат группировки записей в таблице (например, при наличии таблицы «расходы» с записями по каждому платежу можно построить представление, содержащее средства, израсходованные на каждую отдельную статью расходов);
- практически любую комбинацию вышеперечисленных возможностей[25].
Представления используются в запросах к БД тем же образом, как и обычные таблицы. В случае SQL-СУБД имя представления может находиться в SQL-запросе на месте имени таблицы (в предложении FROM). Запрос из представления обрабатывается СУБД точно так же, как запрос, в котором на месте имени представления находится подзапрос, определяющий это представление. При этом СУБД с развитыми возможностями оптимизации запросов перед выполнением запроса из представления могут проводить совместную оптимизацию запроса верхнего уровня и запроса, определяющего представление, с целью минимизации затрат на выборку данных[26].
Использование представлений не даёт каких-то совершенно новых возможностей в работе с БД, но может быть очень удобно.
Представления скрывают от прикладной программы сложность запросов и саму структуру таблиц БД. Когда прикладной программе требуется таблица с определённым набором данных, она делает простейший запрос из подготовленного представления. При этом даже если для получения этих данных требуется чрезвычайно сложный запрос, сама программа этого запроса не содержит[27].
Использование представлений позволяет отделить прикладную схему представления данных от схемы хранения. С точки зрения прикладной программы структура данных соответствует тем представлениям, из которых программа эти данные извлекает. В действительности данные могут храниться совершенно иным образом, достаточно лишь создать представления, отвечающие потребностям программы. Разделение позволяет независимо модифицировать прикладную программу и схему хранения данных: как при изменении структуры физических таблиц, так и при изменении программы достаточно изменить представления соответствующим образом. Изменение программы не затрагивает физические таблицы, а изменение физической структуры таблиц не требует корректировки программы[28].
С помощью представлений обеспечивается ещё один уровень защиты данных. Пользователю могут предоставляться права только на представление, благодаря чему он не будет иметь доступа к данным, находящимся в тех же таблицах, но не предназначенных для него.
Поскольку SQL-запрос, выбирающий данные представления, зафиксирован на момент его создания, СУБД получает возможность применить к этому запросу оптимизацию или предварительную компиляцию, что положительно сказывается на скорости обращения к представлению, по сравнению с прямым выполнением того же запроса из прикладной программы[29].
Некоторые СУБД имеют расширенные представления для данных, доступных только для чтения. Так, СУБД Oracle реализует концепцию «материализованных представлений» — представлений, содержащих предварительно выбранные невиртуальные наборы данных, совместно используемых в распределённых БД. Эти данные извлекаются из различных удалённых источников (с разных серверов распределённой СУБД). Целостность данных в материализованных представлениях поддерживается за счёт периодических синхронизаций или с использованием триггеров. Аналогичный механизм предусмотрен в Microsoft SQL Server версии 2000[30].
По самой сути представления могут быть доступны только для чтения. Тем не менее, в некоторых СУБД (например, в Oracle) представления могут быть редактируемыми, как и обычные физические таблицы. Редактирование может допускаться для представлений, выбранных из единственной физической таблицы таким образом, чтобы каждой записи в представлении соответствовала строго одна запись в таблице-источнике, а в числе полей представления был первичный ключ физической таблицы. При выполнении команд редактирования, добавления или удаления для такого представления сервер СУБД преобразует эти команды в соответствующие команды для физической таблицы-источника. Разумеется, если в представлении используется группировка записей или преобразование значений в полях, редактирование такого представления невозможно даже теоретически. Но и такие представления могут, тем не менее, редактироваться, посредством написания соответствующих триггеров (хотя осмысленность подобных операций целиком останется на совести программиста). Впрочем, редактируемые представления, как и возможность создания триггеров для представлений, поддерживают лишь немногие СУБД[31] [3, 5, 8].
По итогам данной главы можно сделать вывод, что представление данных зависит от сферы применения. Представление чаще всего является переформированным видом определенной информации.
Заключение
В рамках данной работы было рассмотрено представление данных. Было рассмотрено представление данных согласно ГОСТу 20886-85, по которому оно является характеристикой, которая выражает правила кодирования элементов и образования конструкций данных на конкретном уровне рассмотрения в вычислительной системе. Были рассмотрены обработки информации, к которым относятся:
- систематизация;
- сортировка;
- поиск;
- кодирование.
Также было рассмотрено кодирование информации, как переход от одной формы представления информации к другой, более удобной для восприятия, обработки, хранения или передачи в зависимости от цели.
Во второй части работы были рассмотрены представления в зависимости от сферы использования, в частности были рассмотрены представления в памяти ЭВМ, в математике и в базах данных. Для представления как числовой, так и не числовой информации в памяти ЭВМ используется двоичный способ кодирования. В математике любое десятичное число можно представить в любой позиционной системе счисления. Применительно к базам данных представление является виртуальной таблицей, которая представляет собой поименованный запрос, подставленный как подзапрос при использовании представления.
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
- Андреева Е. В. Математические основы информатики: математическое пособие / Е. В. Андреева, Л. Л. Босова, И. Н. Фалина. – М.: Бином. Лаборатория знаний, 2011. – 312 с.
- Глик Д. Информация. История. Теория. Поток / Д. Глик. — М.: CORPUS, 2013. — 576 с.
- Годин В. Базы данных. Проектирование. Учебник / В. Годин. – М.: Юрайт, 2016. – 478 с.
- Грэхем Р. Конкретная математика. Математические основы информатики / Р. Грэхем, Д. Э. Кнут, О. Паташник. – М.: Вильямс, 2010. – 784 с.
- Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – 304 с.
- Илюшечкин В.М. Основы использования и проектирования баз данных / В. М. Илюшечкин. – М.: Юрайт, 2011. – 224 с.
- Исаев Г. Проектирование информационных систем / Г. Исаев. – М.: Омега-Л, 2012. – 432 с.
- Семакин И. Г. Энциклопедия школьной информатики / И. Г. Семакин, Е. В. Андреева, А. А. Дуванова, Е. А. Еремин, И. А. Калинин. – М.: Бином. Лаборатория знаний, 2011. – 400 с.
-
Андреева Е. В. Математические основы информатики: математическое пособие / Е. В. Андреева, Л. Л. Босова, И. Н. Фалина. – М.: Бином. Лаборатория знаний, 2011. – С. 246. ↑
-
Грэхем Р. Конкретная математика. Математические основы информатики / Р. Грэхем, Д. Э. Кнут, О. Паташник. – М.: Вильямс, 2010. – С. 642. ↑
-
Семакин И. Г. Энциклопедия школьной информатики / И. Г. Семакин, Е. В. Андреева, А. А. Дуванова, Е. А. Еремин, И. А. Калинин. – М.: Бином. Лаборатория знаний, 2011. – C. 253. ↑
-
Грэхем Р. Конкретная математика. Математические основы информатики / Р. Грэхем, Д. Э. Кнут, О. Паташник. – М.: Вильямс, 2010. – С. 353. ↑
-
Андреева Е. В. Математические основы информатики: математическое пособие / Е. В. Андреева, Л. Л. Босова, И. Н. Фалина. – М.: Бином. Лаборатория знаний, 2011. – С. 152. ↑
-
Грэхем Р. Конкретная математика. Математические основы информатики / Р. Грэхем, Д. Э. Кнут, О. Паташник. – М.: Вильямс, 2010. – С. 235. ↑
-
Глик Д. Информация. История. Теория. Поток / Д. Глик. — М.: CORPUS, 2013. — С. 352. ↑
-
Годин В. Базы данных. Проектирование. Учебник / В. Годин. – М.: Юрайт, 2016. – С. 252. ↑
-
Исаев Г. Проектирование информационных систем / Г. Исаев. – М.: Омега-Л, 2012. – С. 52. ↑
-
Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 124. ↑
-
Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 125. ↑
-
Годин В. Базы данных. Проектирование. Учебник / В. Годин. – М.: Юрайт, 2016. – С. 235. ↑
-
Глик Д. Информация. История. Теория. Поток / Д. Глик. — М.: CORPUS, 2013. — С. 253. ↑
-
Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 253. ↑
-
Годин В. Базы данных. Проектирование. Учебник / В. Годин. – М.: Юрайт, 2016. – С. 342. ↑
-
Исаев Г. Проектирование информационных систем / Г. Исаев. – М.: Омега-Л, 2012. – С. 235. ↑
-
Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 125. ↑
-
Грэхем Р. Конкретная математика. Математические основы информатики / Р. Грэхем, Д. Э. Кнут, О. Паташник. – М.: Вильямс, 2010. – С. 235. ↑
-
Семакин И. Г. Энциклопедия школьной информатики / И. Г. Семакин, Е. В. Андреева, А. А. Дуванова, Е. А. Еремин, И. А. Калинин. – М.: Бином. Лаборатория знаний, 2011. – C. 162. ↑
-
Андреева Е. В. Математические основы информатики: математическое пособие / Е. В. Андреева, Л. Л. Босова, И. Н. Фалина. – М.: Бином. Лаборатория знаний, 2011. – С. 300. ↑
-
Грэхем Р. Конкретная математика. Математические основы информатики / Р. Грэхем, Д. Э. Кнут, О. Паташник. – М.: Вильямс, 2010. – С. 556. ↑
-
Грэхем Р. Конкретная математика. Математические основы информатики / Р. Грэхем, Д. Э. Кнут, О. Паташник. – М.: Вильямс, 2010. – С. 226. ↑
-
Семакин И. Г. Энциклопедия школьной информатики / И. Г. Семакин, Е. В. Андреева, А. А. Дуванова, Е. А. Еремин, И. А. Калинин. – М.: Бином. Лаборатория знаний, 2011. – C. 146. ↑
-
Илюшечкин В.М. Основы использования и проектирования баз данных / В. М. Илюшечкин. – М.:Юрайт, 2011. – С. 163. ↑
-
Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 133. ↑
-
Илюшечкин В.М. Основы использования и проектирования баз данных / В. М. Илюшечкин. – М.:Юрайт, 2011. – С. 211. ↑
-
Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 122. ↑
-
Илюшечкин В.М. Основы использования и проектирования баз данных / В. М. Илюшечкин. – М.:Юрайт, 2011. – С. 153. ↑
-
Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 125. ↑
-
Семакин И. Г. Энциклопедия школьной информатики / И. Г. Семакин, Е. В. Андреева, А. А. Дуванова, Е. А. Еремин, И. А. Калинин. – М.: Бином. Лаборатория знаний, 2011. – C. 151. ↑
-
Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 135. ↑