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