Файл: Различные способы представления данных в информационных системах).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 24.05.2023

Просмотров: 42

Скачиваний: 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].

По итогам данной главы можно сделать вывод, что представление данных зависит от сферы применения. Представление чаще всего является переформированным видом определенной информации.

Заключение

В рамках данной работы было рассмотрено представление данных. Представление данных является характеристикой, которая выражает правила кодирования элементов и образования конструкций данных на конкретном уровне рассмотрения в вычислительной системе. Было рассмотрено кодирование информации, как переход от одной формы представления информации к другой, более удобной для восприятия, обработки, хранения или передачи в зависимости от цели.

Во второй части работы были рассмотрены представления в зависимости от сферы использования, в частности были рассмотрены представления в памяти ЭВМ, в математике и в базах данных. Для представления как числовой, так и не числовой информации в памяти ЭВМ используется двоичный способ кодирования. В математике любое десятичное число можно представить в любой позиционной системе счисления. Применительно к базам данных представление является виртуальной таблицей, которая представляет собой поименованный запрос, подставленный как подзапрос при использовании представления.


СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Андреева Е. В. Математические основы информатики: математическое пособие / Е. В. Андреева, Л. Л. Босова, И. Н. Фалина. – М.: Бином. Лаборатория знаний, 2011. – 312 с.
  2. Глик Д. Информация. История. Теория. Поток / Д. Глик. — М.: CORPUS, 2013. — 576 с.
  3. Годин В. Базы данных. Проектирование. Учебник / В. Годин. – М.: Юрайт, 2016. – 478 с.
  4. Грэхем Р. Конкретная математика. Математические основы информатики / Р. Грэхем, Д. Э. Кнут, О. Паташник. – М.: Вильямс, 2010. – 784 с.
  5. Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – 304 с.
  6. Илюшечкин В.М. Основы использования и проектирования баз данных / В. М. Илюшечкин. – М.: Юрайт, 2011. – 224 с.
  7. Исаев Г. Проектирование информационных систем / Г. Исаев. – М.: Омега-Л, 2012. – 432 с.
  8. Семакин И. Г. Энциклопедия школьной информатики / И. Г. Семакин, Е. В. Андреева, А. А. Дуванова, Е. А. Еремин, И. А. Калинин. – М.: Бином. Лаборатория знаний, 2011. – 400 с.
  1. Андреева Е. В. Математические основы информатики: математическое пособие / Е. В. Андреева, Л. Л. Босова, И. Н. Фалина. – М.: Бином. Лаборатория знаний, 2011. – С. 246.

  2. Семакин И. Г. Энциклопедия школьной информатики / И. Г. Семакин, Е. В. Андреева, А. А. Дуванова, Е. А. Еремин, И. А. Калинин. – М.: Бином. Лаборатория знаний, 2011. – C. 256.

  3. Грэхем Р. Конкретная математика. Математические основы информатики / Р. Грэхем, Д. Э. Кнут, О. Паташник. – М.: Вильямс, 2010. – С. 425.

  4. Андреева Е. В. Математические основы информатики: математическое пособие / Е. В. Андреева, Л. Л. Босова, И. Н. Фалина. – М.: Бином. Лаборатория знаний, 2011. – С. 174.

  5. Семакин И. Г. Энциклопедия школьной информатики / И. Г. Семакин, Е. В. Андреева, А. А. Дуванова, Е. А. Еремин, И. А. Калинин. – М.: Бином. Лаборатория знаний, 2011. – C. 166.

  6. Грэхем Р. Конкретная математика. Математические основы информатики / Р. Грэхем, Д. Э. Кнут, О. Паташник. – М.: Вильямс, 2010. – С. 124.

  7. Андреева Е. В. Математические основы информатики: математическое пособие / Е. В. Андреева, Л. Л. Босова, И. Н. Фалина. – М.: Бином. Лаборатория знаний, 2011. – С. 215.

  8. Грэхем Р. Конкретная математика. Математические основы информатики / Р. Грэхем, Д. Э. Кнут, О. Паташник. – М.: Вильямс, 2010. – С. 235.

  9. Семакин И. Г. Энциклопедия школьной информатики / И. Г. Семакин, Е. В. Андреева, А. А. Дуванова, Е. А. Еремин, И. А. Калинин. – М.: Бином. Лаборатория знаний, 2011. – C. 162.

  10. Андреева Е. В. Математические основы информатики: математическое пособие / Е. В. Андреева, Л. Л. Босова, И. Н. Фалина. – М.: Бином. Лаборатория знаний, 2011. – С. 300.

  11. Грэхем Р. Конкретная математика. Математические основы информатики / Р. Грэхем, Д. Э. Кнут, О. Паташник. – М.: Вильямс, 2010. – С. 556.

  12. Грэхем Р. Конкретная математика. Математические основы информатики / Р. Грэхем, Д. Э. Кнут, О. Паташник. – М.: Вильямс, 2010. – С. 226.

  13. Семакин И. Г. Энциклопедия школьной информатики / И. Г. Семакин, Е. В. Андреева, А. А. Дуванова, Е. А. Еремин, И. А. Калинин. – М.: Бином. Лаборатория знаний, 2011. – C. 146.

  14. Глик Д. Информация. История. Теория. Поток / Д. Глик. — М.: CORPUS, 2013. — С. 352.

  15. Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 124.

  16. Годин В. Базы данных. Проектирование. Учебник / В. Годин. – М.: Юрайт, 2016. – С. 252.

  17. Исаев Г. Проектирование информационных систем / Г. Исаев. – М.: Омега-Л, 2012. – С. 52.

  18. Глик Д. Информация. История. Теория. Поток / Д. Глик. — М.: CORPUS, 2013. — С. 253.

  19. Годин В. Базы данных. Проектирование. Учебник / В. Годин. – М.: Юрайт, 2016. – С. 235.

  20. Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 125.

  21. Илюшечкин В.М. Основы использования и проектирования баз данных / В. М. Илюшечкин. – М.:Юрайт, 2011. – С. 163.

  22. Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 133.

  23. Илюшечкин В.М. Основы использования и проектирования баз данных / В. М. Илюшечкин. – М.:Юрайт, 2011. – С. 211.

  24. Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 122.

  25. Илюшечкин В.М. Основы использования и проектирования баз данных / В. М. Илюшечкин. – М.:Юрайт, 2011. – С. 251.

  26. Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 125.

  27. Семакин И. Г. Энциклопедия школьной информатики / И. Г. Семакин, Е. В. Андреева, А. А. Дуванова, Е. А. Еремин, И. А. Калинин. – М.: Бином. Лаборатория знаний, 2011. – C. 151.

  28. Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 135.

  29. Илюшечкин В.М. Основы использования и проектирования баз данных / В. М. Илюшечкин. – М.:Юрайт, 2011. – С. 83.

  30. Семакин И. Г. Энциклопедия школьной информатики / И. Г. Семакин, Е. В. Андреева, А. А. Дуванова, Е. А. Еремин, И. А. Калинин. – М.: Бином. Лаборатория знаний, 2011. – C. 149.

  31. Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 94.

  32. Гудсон Д. Практическое руководство по доступу к данным / Д. Гудсон, Р. Стюард. – СПб.: БХВ-Петербург, 2013. – С. 85.