![](/stc/img/evkova.png)
СПОСОБЫ ПРЕДОСТАВЛЕНИЯ ДАННЫХ В ИНФОРМАЦИОННЫХ СИСТЕМАХ
Содержание:
Введение
Актуальность темы объясняется разнообразием способов представления данных в современных информационных системах, которые определяют их форму и структуру. При их рассмотрении интерес представляет анализ систем управления контентом , назначение которых состоит в представлении и управлении корпоративными информационными ресурсами разной природы и содержания. В них используются технологии представления структурированной, частично-структурированной и неструктурированной информации на всех этапах ее жизненного цикла.
Практически в любой сфере деятельности человеку необходимо располагать какими-либо сведениями, документами, фактами, т.е. иметь определенную информацию. Информационный фонд – обязательный атрибут НИОКР, процессов управления и обучения. Высокие темпы научно-технического и культурного прогресса сопровождаются ростом информационных потоков при одновременном сокращении времени на их переработку. Наблюдается устойчивая тенденция сокращения сроков НИОКР. Управление любым современным производством, фирмами, организациями требует от управленческого персонала быстрого принятия оптимальных интегрированных решений. Все это заставляет искать пути повышения доступности информации, обеспечения быстрого поиска и обработки необходимых сведений. Человек издавна пытался ускорить и облегчить поиск нужных сведений, создавая различные справочники, картотеки, каталоги. Масштабность современных задач по сбору, поиску и обработке информации требует адекватных этим задачам высокоэффективных технических средств. Естественно, что основу таких технических средств в настоящее время составляют ЭВМ. ЭВМ стали преобладающим инструментальным средством для решения многочисленных задач, связанных с обработкой информации в научных исследованиях, управлении, отраслях материального производства, в социальной и культурной сферах. Однако вычислительные средства сами по себе составляют лишь техническую основу, инструментальное ядро для решения задач сбора, поиска и обработки информации. Для того чтобы ЭВМ были способны решать эти задачи, они должны быть обеспечены специальными средствами, расширяющими возможности обычных операционных систем и позволяющими приводить самую разнообразную информацию к виду, пригодному для восприятия, обработки, хранения и выдачи. Совокупность средств, предназначенных для сбора, подготовки, хранения, поиска, обработки и выдачи информации, представляет собой автоматизированную информационную систему (АИС) или, в современной терминологии – систему обработки данных (СОД).
СОД включает в себя, языковые средства и правила, используемые для отбора и подготовки информации к вводу в ЭВМ, для отображения картины реального мира в модели данных, для работы пользователя с системой, для предоставления пользователю выдаваемой системой информации; информационный фонд системы; способы и методы организации информационных массивов и всех процессов обработки информации в системе; алгоритмы функционирования системы, т.е. алгоритмы всех процедур по созданию, введению и обработке информационных массивов, алгоритмы формирования ответов на запросы и др.; программное обеспечение системы, в состав которого входят программы, реализующие все алгоритмы функционирования системы; комплекс технических средств, функционирующих в системе; персонал, обслуживающий АИС.
В составе СОД можно выделить ряд подсистем. Основной из них является система обработки и хранения информации (СОХИ), реализующая все функции СОД, связанные с организацией, хранением, обработкой, поиском и выдачей информации. Центральной частью СОХИ является информационный фонд, состоящий из информационных массивов. Информационный массив образуется совокупностью определенным образом организованных единиц информации, описывающих соответствующий класс объектов. Объектом может быть человек, предмет, процесс, явление, документ, понятие. Информационный массив является поставщиком сведений, содержащих информацию об объектах. Структурная организации массива должна адекватно отражать отношения, существующие в реальной предметной области, и обеспечивать информационные потребности определенного круга пользователей и приложений. В процессе функционирования СОД элементы информационного массива и весь массив подвергаются различным обрабатывающим процедурам. Массивы сортируются, перестраиваются, в них осуществляются поисковые процессы. Для отражения текущего состояния реальных объектов массивы должны постоянно актуализироваться: из них удаляется устаревшая информация, добавляется новая, элементы массива корректируются в соответствии с изменениями, происходящими в объектах. Структура массива не должна разрушаться или искажаться в результате выполнения процедур обработки и актуализации. СОД Языковые средства и правила Информационный фонд системы Алгоритмы функционирования системы Способы и методы организации обработки информации в системе Программное обеспечение системы Обслуживающий персонал Комплекс технических средств 6 Информационные массивы размещаются в памяти ЭВМ. От того, насколько правильно выбраны устройства памяти, способы размещения и выборки массивов, зависят показатели качества функционирования СОХИ и всей СОД в целом: скорость реализации запросов, полнота и точность выдачи информации, экономические показатели. Технической базой СОД являются ЭВМ с периферийным оборудованием. Обширность и разнообразие парка современных компьютеров позволяют при создании каждой СОД, в соответствии с ее назначением и сферой применения, делать оптимальный выбор средств вычислительной техники и периферийных устройств, который мог бы обеспечить максимум удобств для пользователей при минимуме стоимости информационного обслуживания. Предметом учебного пособия «Основы организации и обработки данных» являются способы, методы и алгоритмы организации, хранения, поиска и обработки данных в СОД. Изложенный материал является основой курса «Структуры данных и прикладные алгоритмы» для студентов специальностей 075300 «Организация и технология защиты информации» и 075400 «Комплексная защита объектов информатизации», а также может быть использован студентами других специальностей при изучении систем обработки данных.
В данной работе будет способы представления данных в информационных системах.
Объектом курсовой работы является данные в информационных системах.
Предметом исследования является изучение представления данных в системе обработки данных.
Цель данной работы проанализировать способы предоставления данных в информационных системах.
Для достижения поставленной цели в курсовой работе необходимо решить следующую задачу:
1.Выявить роль данных и модели данных;
2.Изучить структуру данных;
3. Рассмотреть типы данных.
При написании курсовой работы применялись современные методы исследования, теоретический и практический анализ литературы по тематике данной работы.
При написании данной работы использовались труды таких авторов, как:
Агафонов А, Бауэр Ф, Винер Н. Я , Дубова Н, Малиновский Б.Н, Мельников В.А, Петренко А.К
Структура работы: работа состоит из введения, трех глав, семи параграфов, заключения, списка литературы, приложения.
Глава 1. Теоретические основы способов предоставления данных в информационных системах
1.1. Данные и модели данных
Восприятие окружающего мира связано с регистрацией различных, часто взаимосвязанных явлений, в результате чего мы получаем информацию о реальном мире. С давних времен человечество пыталось как-то описать эти явления вне зависимости от того, достигалось их полное понимание или нет. Элементы такого описания реального мира будем называть данными. Слово «данные» происходит от латинского «datum», буквально означающего «факт». Тем не менее, данные не всегда соответствуют конкретным или действительным фактам. Иногда они неточны или описывают нечто, не имеющее место в реальной действительности, например идею или сновидение. Поэтому к данным будем относить описания любых явлений (в широком смысле слова), которые представляются ценными для того, чтобы их зафиксировать. Под информацией понимают любые сведения о каком-либо событии, сущности, процессе, явлении и т.п., являющиеся объектом некоторых операций: восприятия, передачи, преобразования, хранения или использования. Иными словами информация – это знание о чем-либо. [1]
На современном этапе считается, что информация присуща всем видам и формам движения материи и связана с неотъемлемыми свойствами или атрибутами материи (отражением, разнообразием, структурой, распределением вещества и энергии в пространстве и времени и т.д.). Для того, чтобы соотнести между собой данные и информацию, представим следующую абстрактную ситуацию. Имеется некоторая система, ин- 7 формация о состоянии которой представляет интерес, и наблюдатель, способный воспринимать состояния системы и в определенной форме фиксировать их в своей памяти (никаких других действий он не выполняет). В этом случае говорят, что в памяти наблюдателя находятся данные, описывающие состояние системы. В качестве такого «наблюдателя» в общем случае выступают СОД. Таким образом, данные можно определить также как информацию, фиксированную в определенной форме, пригодной для последующей обработки, хранения и передачи. Данные соответствуют зарегистрированным фактам об объектах и явлениях реального мира. Чтобы в дальнейшем использовать данные, требуется их смысловое содержание – семантика данных. Поэтому в СОД должны быть предусмотрены правила и средства интерпретации данных. Традиционно фиксация данных осуществляется с помощью конкретного средства общения (например, с помощью языка или изображений) на некотором носителе (например, бумаге, камне и т.п.). Основное и самое мощное средство представления семантики данных – естественный язык. [2]
Чаще всего данные описываются на естественном языке и фиксируются на бумаге. Обычно данные (факты) и их интерпретация (семантика) фиксируются совместно, так как естественный язык достаточно гибок для представления и того и другого. Примером может служить утверждение «Рост Иванова – 173 см». Здесь «173» данное, а его семантика «рост Иванова в сантиметрах». Однако использование естественного языка в СОД вызывает известные трудности, поэтому в них широко используют формализованные языки, позволяющие эффективно организовать обработку данных и, с определенными ограничениями, – представлять семантику данных, удовлетворяющую практическим потребностям. Данные и их интерпретация могут быть разделены. Например, расписание авиарейсов представляет собой таблицу данных, а их интерпретация приводится в начале (шапке) таблицы. Разделение данных и их интерпретации может затруднять работу с данными, что проявляется, в частности, и при пользовании расписанием авиарейсов. Широкое применение СОД привело к разделению данных и интерпретации. Компьютеры имеют дело главным образом с данными как таковыми. Большая часть интерпретирующей информации вообще не фиксируется в явной форме. Например, программа численного анализа, предназначенная для решения дифференциальных уравнений в частных производных, получает в качестве исходных данных некоторые числа и вырабатывает другие числа. Она не содержит информации о том, какие реальные явления описывают эти дифференциальные уравнения. Ответственность за интерпретацию результатов в контексте их применения лежит на пользователе программы. Существуют, по крайней мере, две причины, по которым применение компьютеров привело к отделению данных от интерпретации. [3]
Во-первых, компьютеры не обладают достаточными возможностями для обработки текстов на 8 естественном языке, который остается основным средством кодирования и интерпретации семантики данных. Во-вторых, стоимость компьютерной памяти была первоначально весьма велика, и память использовалась в основном для хранения самих данных, а интерпретация традиционно возлагалась на пользователя. По мере развития вычислительной техники возможность обеспечения автоматической интерпретации возрастает. Программы, в которых заложена интерпретация используемых данных, имеют существенно большую значимость, так как без интерпретации данные не несут для потребителя никакой полезной информации и представляют собой не более чем совокупности битов. Однако в современных СОД, в условиях совместного использования данных, при множестве различных приложений такой подход можно применять только до определенного предела. За этим пределом написание программ, в каждую из которых встроены близкие, хотя и не идентичные механизмы интерпретации, становится весьма неэффективным. В такой ситуации целесообразнее ассоциировать данные и механизмы интерпретации и обеспечить однократность представления интерпретирующей информации. В результате изменяется роль данных. Их уже нельзя рассматривать как совокупность битов, они приобретают определенную семантическую окраску. В таком качестве их можно расценивать уже как семантически значимое представление реального мира, как некоторое абстрактное знание. Интерпретация данных должна позволять наряду со стабильным базисом отображать множественность и эволюцию взглядов на данные. Такая гибкость достигается двумя способами. Во-первых, обеспечиваются разносторонние взгляды на одни и те же данные. Например, различные приложения могут накладывать на данные свои ограничения и конкретную интерпретацию. Так, человек может рассматриваться в приложениях, связанных с кадровыми вопросами – как служащий, в производственных приложениях – как исполнитель работ, при обработке данных выборных кампаний – как избиратель, в медицинских приложениях – как пациент и т.д. Вместе с тем, та часть интерпретации данных, которая осуществляется системой ведения данных, должна оставаться достаточно абстрактной для того, чтобы обеспечить множественность взглядов.[4]
С другой стороны, должна существовать возможность единообразного представления различных данных. Например, администраторы, клерки, торговые агенты, секретари могут рассматриваться как служащие независимо от рода их деятельности. Это также требует значительной абстрактности интерпретации. Двум понятиям – «информация» и «данные» в СОД соответствуют два аспекта рассмотрения вопросов: инфологический и датологический. Инфологический аспект употребляется при рассмотрении вопросов, связанных со смысловым содержанием данных (семантика данных) независимо от способов их представления. Датологический аспект употребляется при рассмотрении вопросов представления данных в памяти СОД. 9 Моделирование данных. Очевидно, что наряду с абстрактностью интерпретации должны обеспечиваться развитые возможности представления соотношения данных. Интеллектуальное средство, позволяющее реализовать интерпретацию данных, находящихся между собой в определенных взаимоотношениях, называется моделью данных. Модель данных – это средство абстракции, которое дает возможность составить целостную картину отображения данных определенной предметной области, т.е. увидеть «лес» (информационное содержание данных), а не «отдельные деревья» (конкретные значения данных). Модели данных широко используются в различных дисциплинах, они помогают понять проблемы и абстрагироваться от деталей. Уровень абстрактности модели может меняться в зависимости от того, как она будет использоваться. [5]
Существует множество моделей, отражающих различные аспекты реального мира: физические, позволяющие понять его физические свойства, математические, представляющие собой абстрактное описание мира с помощью математических знаков, экономические, отображающие тенденции экономики и позволяющие получить прогноз ее развития. Модели данных дают возможность представить частичную семантику данных, что в свою очередь обеспечивает пользователей частичными знаниями о реальном мире. Привлекательной, на первый взгляд, может показаться мысль – найти универсальную модель данных, которая бы полностью отражала реальный мир. Однако возможность создания такой модели весьма проблематична. Система наших знаний о мире – это открытая система. Даже, располагая самыми обширными знаниями в некоторой области, мы фактически никогда не достигнем исчерпывающего ее познания. Важно, чтобы объем знаний и семантика данных, представленные в модели, были адекватны желаемому использованию данных. Приступая к задаче моделирования данных, необходимо, прежде всего, определить элементарные объекты моделирования. Примем в качестве рабочего определения элементарной единицы данных кортеж . Первый элемент кортежа – имя объекта – является, по существу, идентификатором объекта, явления (или идеи). Второй элемент – свойство объекта – дает определенную характеристику объекту, явлению и может принимать некоторое конкретное значение (значение свойства) в определенное время (время). Среди названных четырех характеристик данных наибольшие проблемы вызывает характеристика времени. Для множества данных требуется решить сложную задачу синхронизации времени их представления и изменения. Кроме того, часто представляет интерес не абсолютное, а относительное время наблюдения явления (т. е. последовательность, в которой возникают явления). В этом случае необходимый результат достигается временным упорядочением данных, 10 а не фиксацией абсолютного времени. В разных аспектах использования данных может меняться информационная ценность новых и старых данных. Например, в расчетах заработной платы предприятия используется текущий размер заработной платы служащего и не требуется знания всех предыдущих изменений его заработка. В то же время, для других приложений, связанных, например, с динамикой роста заработной платы на предприятии, сведения об изменениях заработка служащего станут необходимыми. Поэтому характеристика времени во многих моделях данных подменяется, либо некоторыми другими характеристиками, либо упорядочением объектов. Опуская временную характеристику, приходим к следующему представлению элементарной единицы данных. [6]
Она может быть реализована множеством способов, что и привело к созданию множества моделей данных. Простым и естественным способом представления элементарных данных и связей между ними является сетевая структура, в которой вершины соответствуют элементам, а дуги – связям между ними. Другой мощный способ установления связей между данными состоит в распределении их по категориям. Данные одной категории предполагаются подобными. В соответствии с уровнем требований к категоризации данных, модели данных разделяются на два класса: сильно типизированные и слабо типизированные. Сильно типизированные – это модели, в которых предполагается, что все данные должны быть отнесены к какой-либо категории. Если данные нельзя отнести ни к одной из них, то их следует с помощью искусственных приемов привести к той или иной категории. Слабо типизированные модели не связаны никакими предположениями относительно категорий. Категории используются в той степени, в какой это целесообразно в каждом конкретном случае. Отдельные данные могут существовать как сами по себе, так и в связи с другими данными. Сильно типизированные модели накладывают весьма жесткие ограничения на представление данных и на их применение, что затрудняет передачу тонких семантических различий. Например, категория СЛУЖАЩИЙ в сильно типизированной модели данных должна быть гомогенной, т. е. все объекты, принадлежащие этой категории, должны иметь однотипные свойства, структуру и т. д. Между тем, женатые и неженатые, временные и постоянные, находящиеся на сдельной и повременной оплате служащие могут характеризоваться поразному. Вместе с тем, сильно типизированные модели данных обладают и большими достоинствами. Они позволяют построить строгие абстракции свойств данных и исследовать их в терминах категорий. [7]
Иными словами, можно построить теорию, основывающуюся на категориях, которые фактически ин- 11 капсулируют (не требуют специального описания) свойства конкретных данных. Отдельные свойства категорий наследуются принадлежащими к ним данными. Кроме того, устраняется дублирование имен: имена подобных объектов и их свойств могут быть абстрагированы соответственно в имя категории и имя свойства категории. Например, путем присвоения самой категории имени СЛУЖАЩИЙ, а свойству этой категории – имени ВОЗРАСТ, устраняется повторение имен в каждой тройке < СЛУЖАЩИЙ, ВОЗРАСТ, ЗНАЧЕНИЕ [8]>. Еще одно преимущество сильно типизированных моделей состоит в возможности устранять очевидную противоречивость данных, поскольку семантически близкие данные будут рассматриваться в рамках одной категории. Это не всегда имеет место в слабо типизированных моделях данных. Гибкость последних позволяет отводить факту различные места в общей структуре фактов. В слабо типизированных моделях обнаружить противоречивость далеких по представлению фактов очень трудно. В отличие от сильно типизированных моделей слабо типизированные модели данных обеспечивают интеграцию данных и категорий. Предельные возможности в этом плане обеспечиваются исчислением предикатов, в котором акцент делается на обеспечении универсальности средств описания, вне связи с искусственными ограничениями на типизацию и категоризацию данных. Во многих моделях данных исчисление предикатов используется для представления знаний, не реализуемого базовыми средствами модели. Вместе с тем, исчисление предикатов не обеспечивает хорошего наглядного представления данных, поскольку предполагает работу с линейными текстами (или с конструкциями формального языка типа ПРОЛОГ), и поэтому не может служить универсальным средством моделирования. Основные причины, по которым в сильно типизированных моделях поддерживаются столь серьезные ограничения, связаны с тем, что число представляемых объектов обычно весьма велико, а возможности интеллекта человека ограничены. Для облегчения понимания данных и работы с ними необходимо разбить множество объектов на подмножества. Элементы каждого подмножества должны подчиняться общим закономерностям.
При небольшом числе объектов или высоком уровне интеллекта пользователей ограничения могут быть ослаблены, а значения представлены в естественной для них форме. Определение модели данных. Большинство моделей данных, используемых в СОД, относится к сильно типизированным. Поэтому в данном курсе основное внимание будет уделено именно этим моделях. В модели данных конкретной предметной области совокупность именованных категорий (например, ЛИЧНОСТЬ, АВТОМОБИЛЬ), их свойств (ФИО, МАРКА АВТОМОБИЛЯ) и связей между ними (ВЛАДЕЕТ, ВОДИТ) называется схемой. Рассмотрим простую модель данных – т.н. «плоский файл», в которой категории называются типами сущностей, а свойства категорий – атрибутами. 12 Пусть эта модель применяется для представления данных о служащих. Тогда в схеме будет специфицирован тип сущности СЛУЖАЩИЙ (ФИО, Возраст, Адрес), где СЛУЖАЩИЙ – имя типа сущности, ФИО, Возраст, Адрес – имена атрибутов. Конкретные данные будут иметь форму, например, Иванов И.И._29_ Таганрог, ул. Греческая, 82 ! Модель данных определяет правила, в соответствии с которыми структурируются данные. Однако структурные спецификации не обеспечивают возможности полной интерпретации семантики данных и способа их использования. Должны быть также специфицированы операции над данными. Так, например, список объектов в зависимости от допустимых операций может приобрести свойства стека или очереди. Обычно операции соотносятся со структурами данных.[9] Совокупность данных, структура которых соответствует конкретной схеме, называется базой данных (БД). Этот термин применяется, как к определенной реализации указанной совокупности данных, так и к ряду связанных между собой реализаций. Дело в том, что операции, предусмотренные моделью данных, преобразуют одну БД в другую. Эти БД имеют одну и ту же структуру и соответствуют одной и той же схеме. Последовательность БД, получаемую в результате преобразований, обычно и называют БД. Разнообразие моделей данных соответствует разнообразию областей применения и контингента пользователей. Тем не менее, существует ряд общих понятий и определений, относящихся ко всем моделям. Свойства, которые отображает модель реального мира в основном делятся на два класса: статические и динамические. К статическим относятся свойства, инвариантные во времени. Они всегда справедливы и неизменны.
Динамические свойства соответствуют эволюционной природе мира. Любая модель данных должна некоторым образом представлять эти два класса свойств. Исходя из этого, модель данных М можно определить как множество правил порождения G и множество операций О. Множество правил порождения выражает статические свойства модели данных и соотносится с языком описания данных (ЯОД). Множество операций выражает динамические свойства модели данных и соотносится с языком манипулирования данными (ЯМД). Средствами ЯОД определяются допустимые структуры данных объектов и связей, а также допустимые реализации данных. Определение структур данных реализуется посредством спецификаций, которые должны удовлетворять правилам порождения. Например, спецификация типа сущности СЛУ- 13 ЖАЩИЙ производится в терминах атрибутов и типов значений каждого атрибута. [10]
Селекция допустимых реализаций объектов или связей задается путем указания для каждой категории ограничений целостности. Так, можно указать, что каждый номер по реестру социального страхования может быть присвоен не более чем одному служащему или что никакой служащий не может зарабатывать больше, чем его руководитель. В некоторых моделях данных правила порождения G разделяют на две части: правила порождения структур GS и правила порождения ограничений GС. Соответственно этому схема S будет также состоять из двух частей: спецификации структуры SS и спецификации явных ограничений SС. Примером явного ограничения целостности служит указание на то, что атрибут Номер служащего типа сущности СЛУЖАЩИЙ есть идентификатор (ключ). Это означает, что в каждый момент времени множество реализаций типа сущности СЛУЖАЩИЙ не может содержать две или более реализаций с одинаковым значением атрибута Номер служащего. Наряду с явными ограничениями в модели данных могут поддерживаться также внутренние ограничения, отражаемые в структурной части SS. Эти ограничения налагаются на объекты и связи по определению. Например, связи между объектами могут быть ограничены только древовидной структурой (т. е. более общие – сетевые структуры недопустимы). Правила G обеспечивают порождение множества схем S, каждая из которых определяет конкретную структуру данных и специфицирует ограничения целостности. Если под БД понимать реализацию совокупности данных, удовлетворяющую схеме, то можно сказать, что схеме соответствует множество D различных БД. Множество операций О, которые соотносятся с ЯМД, определяют допустимые действия над реализацией Di БД для преобразования ее в другую реализацию Dj. Не все операции приводят к изменению реализации БД. Поэтому для отслеживания динамики БД вводят некоторые дополнительные объекты – индикаторы текущих и другие управляющие элементы. [11]
Эти объекты в строгом смысле не относятся к объектам БД, но они связаны с реализацией БД и могут изменяться в результате выполнения операций. Совместно с конкретной реализацией D БД они определяют состояние БД – DBS. Рассмотрим, например, последовательную выборку из плоского файла с использованием команды «дать следующую (запись)». Текущее состояние БД определяется реализацией D, а также значением индикатора текущей. Выполнение операции «дать следующую» не приведет к изменению реализации D БД, но состояние БД изменится, так как изменится значение индикатора текущей. Управление БД осуществляется системой управления БД (СУБД), которая поддерживает средства определения схем БД и обеспечивает выполнение операций над данными БД. Естественно, СУБД должна поддерживать модель данных. Иногда СУБД вообще создаются под определенную модель данных. В 14 других СУБД эволюционное изменение модели данных привело к независимым реализациям ее отдельных версий.
1.2. Структура данных
Абстракции. Одним из основных способов структуризации данных является использование абстракций. Абстракция предполагает, что несущественные детали должны быть опущены, а внимание должно быть сконцентрировано на основных общих свойствах множества объектов. В моделировании данных абстракция используется для образования категорий данных. Кроме того, абстракция позволяет на основе одних категорий построить другие, более общие. Элементарная форма абстракции – обобщение знаков в типы. Знак – это конкретное значение или конкретный экземпляр объекта. Тип определяется как класс подобных знаков. Общее понятие СТОЛ – абстракция множества представлений о конкретных столах. Абстракция может быть многоуровневой, т.е. абстракция одного уровня может рассматриваться как объект абстракции другого уровня, и т.д. Таким образом, абстракция может использоваться для формирования нового типа из других типов. [12]
Например, тип МЕБЕЛЬ определяется как абстракция типов СТОЛ, КРЕСЛО, КРОВАТЬ. Абстракция может порождать сложные типы. Например, тип ДОМАШНЕЕ ХОЗЯЙСТВО включает объекты ПОСУДА, МЕБЕЛЬ, КОВРЫ и т.д. Тип МЕБЕЛЬ в свою очередь включает объекты СТОЛ, КРЕСЛО, КРОВАТЬ и т.д. К объектам БД применяются два типа абстракции: обобщение и агрегация. Обобщение позволяет соотнести множество знаков или множество типов с одним общим типом. Различают обобщение «знак – тип», называемое классификацией, и обобщение «тип – тип», которое, собственно, и носит название обобщения. Представление множества конкретных служащих общим типом СЛУЖАЩИЙ это классификация. Представление типов СЛУЖАЩИЙ и СТУДЕНТ общим типом ЛИЧНОСТЬ это обобщение. Процессом, обратным процессу классификации, является экземпляризация (порождение реализации), а обратным процессу обобщения – специализация. Таким образом, данные конкретного служащего есть экземпляр (реализация) типа СЛУЖАЩИЙ, а тип СЛУЖАЩИЙ есть специализация типа ЛИЧНОСТЬ. Если явно не указано иное, термин «обобщение» применяется как для обозначения собственно обобщения, так и для обозначения классификации. Обобщение акцентирует сходство объектов, абстрагируясь от их различия. Рис. 2.1 иллюстрирует фрагмент иерархии обобщения типа ЛИЧНОСТЬ для университетской БД. Стрелки показывают направление обобщения.[13]
Обобщенный тип обладает всеми свойствами, общими для базовых знаков или типов. Или, иначе, – все свойства обобщенного типа могут быть унаследованы базовыми типами. Однако, можно явно запретить наследование определенных свойств. Кроме того, можно указать, что некоторые свойства характеризуют тип в целом, и они не будут наследоваться. Свойство иметь заработную плату наследуется от типа СЛУЖАЩИЙ каждым конкретным экземпляром служащего. Свойство иметь фамилию, адрес и возраст наследуется каждым подтипом типа ЛИЧНОСТЬ (СЛУЖАЩИЙ и СТУДЕНТ). В то же время, средняя заработная плата есть специфическое свойство типа СЛУЖАЩИЙ и оно не наследуется. Обобщение на уровне типов предполагает ряд обобщений на уровне знаков, относящихся к подтипам. Например, тот факт, что ЛИЧНОСТЬ есть обобщение типа СЛУЖАЩИЙ, подразумевает, что каждый конкретный служащий может рассматриваться как личность. Агрегация есть абстракция, посредством которой объект конструируется из других, базовых объектов. Например, личность может характеризоваться своей фамилией, адресом, возрастом. Агрегация может использоваться как на уровне знаков, так и на уровне типов. Тип СЛУЖАЩИЙ может быть сконструирован из типов свойств ФАМИЛИЯ, ВОЗРАСТ, АДРЕС (рис. 2.2). Свойства-типы по своей природе являются дефиниционными (от англ. definition – определение) и называются интенсиональными. Конкретная реализация типа СЛУЖАЩИЙ, относящаяся, например, к Иванову, конструируется из знаков «Иванов» (фамилия), «29» (возраст), «Таганрог, ул. Греческая, 82» (адрес). Свойства-знаки по своей природе являются фактическими и называются экстенсиональными. Различие между интенсиональными и экстенсиональными свойствами в моделировании данных имеет важное значение и далее будет рассматриваться более детально.[14]
Агрегация на уровне типов предполагает множество агрегаций на уровне знаков. Некоторый тип может выступать и как обобщение, и как агрегат одновременно. Например, тип ЛИЧНОСТЬ есть обобщение двух типов служащий и студент. В то же время тип ЛИЧНОСТЬ является одновременно агрегатом свойств ФИО, ВОЗРАСТ, АДРЕС (см. рис. 2.1). Агрегация позволяет раскрыть структуру объектов. Допускается многократное применение агрегации. Процесс обратный агрегации носит название пошаговой детализации и широко применяется в программировании. Обобщение и агрегация соотносятся с понятиями ЕСТЬ_ЧАСТЬ и ЕСТЬ _ НЕК, используемыми в проблематике искусственного интеллекта. Понятие ЕСТЬ _ ЧАСТЬ выражает тот факт, что тип объекта есть агрегат других типов (например, ФАМИЛИЯ ЕСТЬ_ЧАСТЬ СЛУЖАЩИЙ). Понятие ЕСТЬ_НЕК выражает факт обобщения одним типом объекта другого типа объекта (например, СЛУЖАЩИЙ ЕСТЬ_НЕК ЛИЧНОСТЬ). Оба эти понятия определяют связи между типами, подразумевающие и связи между знаками. Однако на уровне знаков эти понятия, как правило, не употребляются. Абстракции неформально давно применяются в управлении данными: агрегация – при конструировании файла для группирования полей в запись, обобщение – для представления множества записей общим типом объекта – файлом, а также для выборки из файла подмножества записей. Агрегация и обобщение могут применяться взаимодополняющим образом и выражать структурные и классификационные аспекты типизации. Структуру типа можно представить как агрегат базовых типов, а сам агрегат может служить объектом обобщения (классификации). Классификация типов может быть выражена иерархией обобщения, а структура – иерархией агрегации. Рис. 2.3 иллюстрирует абстракцию личности.[15]
Применяя подход «снизу вверх», абстракцию можно представить как процесс синтеза сложных объектов из простых. Вначале классификация знаков позволяет сформировать типы, затем путем обобщения и агрегации синтезируются новые обобщенные и агрегированные объекты. С другой стороны, аналитический подход «сверху вниз» дает возможность, начав со сложных объектов, путем их декомпозиции с применением специализации и порождения реализации, прийти к уровню знаков. Обычно подход «сверху вниз» применяют с целью понять сложные явления, а подход «снизу вверх» для конструирования сложных объектов. Оба подхода могут применяться одновременно. Множества: домены и атрибуты. Множество это собрание правильно идентифицированных объектов, удовлетворяющих условию принадлежности. Условие принадлежности может быть например сформулировано следующим образом: «все четные, целые, положительные» (т, е. {2, 4, 6, ...}) или «все десятичные цифры» (т. е. {0, 1, 2, ...9}). Множество бывает конечным или бесконечным. Так, первое из приведенных множеств является бесконечным, а второе конечным. Само множество может быть элементом других множеств (например, {{0}, {1, 3, 5, 7}, {2, 4, 6, 8}}). Пустое множество, обозначаемое { } или ∅, всегда является элементом множества множеств. В классической теории множеств не подразумевается упорядоченности элементов множества, а дубликаты не имеют смысла; кроме того, условие принадлежности не зависит от представления элементов множества. Поэтому, например, множества {1, 2, 3} и {3, 2, 3, 1, 3} считаются эквивалентными. Эквивалентными считаются множества {а / а = 0, 1} и {b / b – есть двоичная цифра};
они оба определяют множество двоичных цифр {0, 1}. В моделировании данных теория множеств применяется неформальным образом и ряд теоретических результатов классической теории не используется. Как уже отмечалось, понятие классического множества не связано с какой-либо упорядоченностью его элементов. Упорядоченность классического множества может быть задана с помощью двухместных кортежей. Например, упорядоченный вариант множества {а, b, с} это множество, состоящее из двухместных кортежей: {< 1, а >, < 2, b >, < 3, с >}. Двухместные кортежи определяются через вложение множеств. Так, множество множеств {{1}, {1, а}} определяет кортеж < 1, а >. Такое представление порядка носит достаточно произвольный характер и при нечетко зафиксированных соглашениях может привести к неоднозначности толкования. Проблема еще более усложняется при n-местных кортежах. В этом случае требуется ввести точные предположения относительно способа спецификации вложений.[16]
Существует несколько причин, по которым в информационных системах необходимо манипулировать n-местными упорядоченными кортежами. Вопервых, данные должны быть в конечном итоге заложены в память ЭВМ, которая по своей природе есть упорядоченное множество ячеек. Следовательно, данные должны быть отображены в упорядоченное множество слов, байтов и т. п. Другая, еще более важная причина, состоит в том, что порядок часто используется для представления более глубоких семантических свойств, например, времени. Хотя в компьютерной системе время как часть реального мира может быть представлено так называемыми временными штемпелями, большинство моделей данных не предусматривает явного управления временем, что объясняется известными сложностями реализации. В этом случае последовательность возникновения явлений или выполнения операций представляется с помощью упорядочения.
1.3. Типы данных
Данным приписываются несколько классификационных признаков. Важнейшим из них является тип данных. Тип данных определяет:
· набор их допустимых значений;
· правила их обработки (преобразования);
· порядок их размещения в ОЗУ и ВЗУ при хранении;
· порядок доступа к ним (т.е. обращение и извлечение при необходимости с места хранения).[17]
Допустимый набор типов данных и их особенности определяются программной системой или языком программирования, на котором система написана. При этом возможности языков по разнообразию допустимых типов данных, а также построению новых типов различаются весьма сильно. Ясно, что чем более широкой и гибкой оказывается типизация данных в программной системе или языке, тем больше возможностей предоставляется пользователю в решении задачи оптимального представления, хранения и применения данных. Типизация данных влияет и на компактность самой исполняемой программы. Например, в языке BASIC отсутствует тип данных «записи»; в результате для создания и использования базы данных пришлось бы организовывать параллельную обработку нескольких массивов.[18]
Следующим признаком является деление данных на элементарные (одиночные, простые) и структурированные (сложные).
К элементарным данным относятся символы, числа (целые и вещественные) и логические данные. Общей и обязательной особенностью одиночных данных является то, каждое из них имеет одно значение и собственное имя. Значение - это содержимое тех ячеек памяти, где данное располагается. Имя (его называют также идентификатор) - это обозначение данного в тексте программы. Правила построения идентификаторов элементарных данных определяются языком программирования написанной программы.
Элементарные данные являются «кирпичиками», путем объединения которых строятся сложные данные. Вариантов объединения существует много - это приводит к появлению множества типов структур данных.
Информационный массив, объединяющий данные и связи (отношения) между ними называется структурированными данными.
Перечень объединяемых одиночных данных, их характеристики, а также особенности связей между ними образуют структуру данных.
Примерами структурированных данных является страница из классного журнала с фамилиями учеников, датами занятий и отметками, телефонный справочник, организационная структура учреждения и т.п.[19]
Перечень допустимых структур данных, как уже было сказано, определяется языком программирования или прикладной программой. Он может быть фиксированным (нерасширяемым), как в языке BASIC или прикладных программах без встроенных возможностей программирования. В развитых языках программирования (PASCAL, С и др.) и ряде прикладных систем наряду с зарезервированными типами структур данных допускается создание новых типов, причем, элементами структуры могут быть сложные данные, например, массив записей.
Сложные данные, как и элементарные, имеют значения и идентификаторы. Значения размещаются в ячейках ОЗУ по определенным схемам (см. п.6.3.3.). Правила построения идентификаторов устанавливаются языком программирования или программной системой. Исключение составляют правила формирования имен файлов - они задаются операционной системой и должны соблюдаться всеми работающими в ней программами и языками. Например, в MS-DOS в качестве имен файлов допустимы комбинации из латинских букв, цифр и некоторых спецсимволов общей длиной не более 8 знаков; в Windows 95 (98), имеющую 32-х разрядную файловую систему, разрешены имена длиной до 255 знаков без ограничений применяемого набора символов.[20]
По возможности изменения значений данных (как простых, так и структурированных) в ходе общей обработки их подразделяют на переменные и постоянные (константы). Из названия очевидно, что переменные могут изменять свое значение по ходу исполнения программы, а константы - нет. На уровне операционной системы различие между переменными и постоянными величинами отсутствует, поэтому у них одинаковый порядок размещения в ОЗУ и доступа к ним. Разделение может производиться в языке программирования и, соответственно, в созданной с его помощью прикладной программе; такое разделение служит дополнительной мерой синтаксического контроля корректности программы.
В зависимости от того, на каком этапе обработки данные используются, они подразделяются на исходные (входные), промежуточные и выходные. К исходным относятся данные, необходимые для исполнения программы и вводимые в нее до или в процессе работы. Исходные данные могут быть предварительно записаны на некотором носителе и вводиться с него, поступать по линиям связи от каких-то датчиков или с других компьютеров, вводиться пользователем программы посредством устройств ввода. Промежуточные данные формируются в ходе исполнения программы и, чаще всего, пользователю недоступны; они не отображаются на устройствах вывода, но существуют в ОЗУ или на ВЗУ. Идентификаторы промежуточным данным присваивает разработчик программы или задает сама программа по заложенным в нее правилам. Выходные данные являются результатом работы программы - ради них и производится обработка входных. Выходные данные, предназначенные для человека, представляются в требуемой для него форме (тексты, рисунки, звуки); при хранении выходных данных на носителях или передаче по сетям сохраняется двоичный компьютерный формат их представления. Таким образом, работу программы можно рассматривать как действия по преобразованию входных данных в выходные через необходимые для этого промежуточные. С точки зрения самой программы все эти виды равноправны, т.е. обрабатываются только в соответствии с их типом, а не функциональным назначением или этапом.
Представление данных при их хранении и обработке требует решения трех основных задач:
· определить способы представления элементарных (простых) данных;
· определить способы объединения данных в структуры;
· установить способы размещения информации на материальном носителе.[21]
Выделяют три уровня представления данных - концептуальный, логический и физический. На концептуальном уровне определяется общая структура информационного массива - она называется моделью данных. Известны и используются несколько моделей данных: иерархическая, сетевая, реляционная, объектно-ориентированная. В соответствии с выбранной моделью данных строится информационная система, в которой данные будут храниться, а также программы, ведущие их обработку (манипулирование данными). Логический уровень определяет способы представления элементарных данных, их перечень при объединении в структуру, а также характер связей между ними в рамках выбранной модели данных. Физический уровень определяет форматы размещения созданной логической структуры данных на внешних носителях информации (магнитных или оптических дисках, бумаге, в памяти компьютера). Представление данных является важным фактором, обеспечивающим компактный (т.е. экономный с точки зрения расходования носителя) способ записи информации при хранении и быстрый доступ к нужным данным при их использовании. [22]
Глава 2. Виды способов предоставления данных в информационных системах |
2.1. Элементарные и линейные данные и их хранение |
Элементарные данные и их хранение Элементарные данные (числа, символы, логические данные, указатели) имеют определенное машинное представление и занимают вполне определенные единицы памяти ЭВМ. Это позволяет рассчитывать объем памяти, необходимый для размещения информационных массивов. Числовые данные присутствуют во всех языках программирования. К ним относятся целые, вещественные и комплексные числа. Для представления чисел наиболее часто используется позиционная система счисления с каким-либо основанием. В ЭВМ наиболее употребительными являются системы счисления с двоичным, восьмеричным и шестнадцатеричным основанием. При любом основании числа в ЭВМ представляются в виде двоичных кодов (двоичных слов) фиксированной длины. Разряды двоичного числа (0, 1) называются битами. Двоичные слова в современных ЭВМ обычно разбиваются на фиксированные части по 8 бит, называемые байтами. В ЭВМ приняты две формы представления чисел: с фиксированной точкой (запятой) и с плавающей точкой (запятой). [23]
Эти формы называют также соответственно естественной и полулогарифмической. Положение точки фиксируется: для целых чисел – после младшего разряда, для дробных чисел – перед старшим цифровым разрядом. Для представления знака числа выделяется знаковый разряд (обычно крайний слева). Плюс в этом разряде кодируется нулем, а минус – единицей. Для выполнения арифметических операций над числами обеих полярностей в ЭВМ используются прямой, обратный и дополнительный коды. В современных ЭВМ преимущественно используется дополнительный код. Знак 44 числа в дополнительном коде кодируется двумя крайними слева битами. Плюс кодируется как 00, минус – как 11. Примеры представления целых и дробных двоичных чисел с фиксированной точкой при использовании дополнительного кода приведены на рис. 4.1, а, б соответственно. При обработке чисел с фиксированной точкой диапазон их представления жестко определяется разрядной сеткой машины. Для целых чисел: 1} x } 2n. Для дробных чисел: 2-(n+1) } x } 2-1. При выходе чисел за пределы указанных диапазонов возникает необходимость дополнительного их масштабирования (см. приложение 1).
В СОД широкого назначения обычно используется обработка чисел с плавающей точкой, не требующая масштабирования. Представление числа с плавающей точкой в общем случае имеет вид x = sp q, где sp – характеристика числа х; p – порядок; s – основание характеристики; q – мантисса числа х. Мантисса (дробь со знаком) и порядок (целое число со знаком) представляются в системе счисления с основанием, равным s в соответствующей двоично-кодированной форме. Знак числа совпадает со знаком мантиссы. Порядок p, который может быть положительным или отрицательным целым числом, – определяет положение точки в числе х. Пример представления двоичных чисел с плавающей точкой при использовании дополнительного кода приведен в таблице 2 (см.приложение 2)[24]
При фиксированном числе разрядов мантиссы любая величина представляется с наибольшей возможной точностью нормализованным числом. Число x = sp называется нормализованным, если мантисса q удовлетворяет условию 1 ! V q V 1 ~s, Т.е. старший разряд нормализованной мантиссы в s-ричной системе всегда отличен от нуля. В процессе вычислений могут получаться ненормализованные числа. В этом случае ЭВМ, если это предписано программой, автоматически их нормализует. При обработке чисел с плавающей точкой диапазон их представления зависит от основания системы счисления и числа разрядов, выделенных для представления порядка. Точность вычислений определяется числом разрядов мантиссы. Для хранения целых чисел в десятичной форме каждая десятичная цифра кодируется четырехразрядным двоичным числом. На один байт приходится по две десятичные цифры. Такая форма представления называется упакованной десятичной формой. Под знак числа отводится крайний левый полубайт. Форма представления чисел может быть различной для разных типов ЭВМ. [25]
К символьным данным относятся буквы латинского и кириллического алфавита, знаки препинания, десятичные цифры, знаки операций, специальные, управляющие и другие символы. Различные типы ЭВМ работают с различными наборами символов и используют различные символьные коды. Наибольшее распространение получило представление символьной информации с помощью байтов. Один байт позволяет кодировать 256 различных символов. В программах символьной обработки как тип данных чаще используется не отдельный символ, а строка символов , образуемая из отдельных байт-символов с помощью операции конкатенации (сцепления). Над строками возможны определенные операции: конкатенации, отыскания и замены подстроки, проверки тождественности строк и определения длины строки. 46 Символы, образующие строку, запоминаются в последовательно расположенных байтах памяти. Размер строки может быть фиксированным и переменным. Память для представления строки переменной длины выделяется исходя из максимального размера строки, объявленного в программе. Логические данные принимают только два значения: «истинно» и «ложно». Представление логических данных различно для разных языков программирования. Над логическими данными выполняются операции булевой алгебры. В машинной памяти логические данные также представляются поразному, в зависимости от типа транслятора и типа ЭВМ. Для хранения одного логического данного достаточно отвести один бит, значение которого равно 1, если «истинно», и равно 0, если «ложно». Однако в большинстве ЭВМ структуризация памяти обычно не предусматривает доступа к одному биту. В этом случае для одного логического данного используется один байт или машинное слово – как элементарная машинная единица информации. Указатель (связка, ссылка) – это элемент данных фиксированного размера. Он используется для реализации связанного представления данных в машинной памяти. [26]
Указатель может быть абсолютным или относительным адресом данного. Относительный указатель содержит значение смещения в области памяти относительно некоторого базового адреса в этой области памяти. Поскольку указатель выступает в качестве адреса данного, то он и хранится в памяти ЭВМ как адрес в виде машинного слова или полуслова. Линейные структуры данных и их хранение Массив. Массив – это линейная структура данных фиксированного размера, реализуемая с использованием последовательного представления данных. Не следует путать два различных понятия: массива как типа структуры данных и информационного массива как совокупности данных, обрабатываемых в СОД. Каждый элемент массива идентифицируется одним или несколькими индексами. Индекс − это целое число, значение которого определяет позицию соответствующего элемента в массиве и используется для осуществления доступа к этому элементу. Отдельные элементы массива могут изменяться, но общее число элементов массива всегда остается неизменным, т.е. для массивов нет операций удаления и добавления. Различают одномерные и многомерные массивы. Одномерный массив называется вектором. Вектор А = {a1, a2, . . . , an} − это последовательность элементов (записей), размещенных в смежных ячейках памяти. Единственный индекс обозначает номер позиции элемента в последовательности. Адрес L0 первого байта, выделенного для первого элемента вектора, называется адресом базы вектора. Вектор в целом определяется адресом базы, размером элементов и их числом или размером элементов и диапазоном изменения индекса (см. приложение 3)
2.2. Последовательное и связанное представление данных
По способу представления данных в памяти СОД различают структуры хранения с последовательным и связанным представлением данных. При последовательном представлении данные в памяти размещаются в соседних последовательно расположенных ячейках. При этом физический порядок следования записей полностью соответствует логическому порядку. Совокупность записей, размещенных в последовательно расположенных ячейках памяти, называется последовательным списком. Для хранения информационного массива в виде последовательного списка в памяти выделяется блок свободных ячеек под максимальный размер массива. Так, массив записей, имеющий логический порядок Запись В Запись А Запись F Запись C . . . . . . . . Запись N разместится в памяти ЭВМ так, как показано на рис. 3.4. При появлении новых записей они будут размещаться в конце блока на свободном участке памяти. Если число новых записей окажется больше чем 37 свободный объем памяти под их размещение, то разместить их не удастся, если меньше – память окажется недоиспользованной. В процессе ведения информационного массива записи добавляются и удаляются. Новые записи пристраиваются в конец списка, удаленные записи образуют свободные участки памяти. [27]
Глава 3. Практические основы способов предоставления данных в информационных системах |
3.1. Предоставление данных в системе обработки данных |
Многие приложения СОД требуют непрерывного обновления и корректировки записей, что приводит к большим потерям времени на частую перезапись и – к неэффективному использованию памяти. В таких приложениях последовательное представление неприемлемо и заменяется связанным представлением. При связанном представлении в каждой записи предусматривается дополнительное поле, в котором размещается указатель (ссылка). Физический порядок следования записей в этом случае может не соответствовать логическому порядку. В памяти записи располагаются в любых свободных ячейках и связываются между собой указателями, показывающими место расположения записи, логически следующей за данной записью. Указатель можно интерпретировать как адрес ячейки памяти, в которой хранится следующая запись. Структуры хранения, основанные на связанном представлении данных, называют связанными списками. Если каждая запись содержит лишь один указатель, то список односвязный, при большем числе указателей – список многосвязный. Пусть структура данных имеет следующую логическую последовательность записей: Запись А Запись В Запись С Запись F Записи размещены в ячейках с адресами 01, 05, 03, 10. В поле указателя каждой записи размещается адрес связи (АС), определяющий адрес ячейки с логически следующей записью. Структура хранения такого массива представлена на рис. 3.7. Порядок чтения записей указан стрелками. Связанное представление обеспечивает гибкость структуры хранения.[28] Ведение списка не требует перезаписи элементов массива, а производится с помощью такой замены указателей, чтобы логический порядок следования записей не нарушался. Однако для размещения указателей требуется дополнительный объем памяти. Головная ячейка.
Рассмотрим процедуру изменения указателей в процессе ведения односвязного списка. При выполнении операции удаления исключаемая запись удаляется из массива вместе со всеми своими полями, в том числе и полем указателя. Для того чтобы цепочка указателей не разрывалась, перед исключением записи в логически предшествующей записи производится замена старого указателя на тот, который был в исключаемой записи. Например, из рассмотренного списка (см. рис. 3.7) исключим запись С, хранящуюся в ячейке с адресом 03 и имеющую адрес связи АС10. Для этого значение указателя предшествующей записи (запись В) изменим на АС10. Теперь доступ к записи С стал невозможен и эта запись оказалась исключенной из списка. Процедуру удаления записи С иллюстрирует рис. 3.8. Существует и другой способ удаления записей, при котором исключаемая запись помечается специальным символом исключения. Такая запись логически удаляется, а физически остается. При этом остается и доступ к полю указателя, цепочка записей не разрывается и замены указателей не требуется.[29]
Для включения в односвязный список новой записи из списка свободных ячеек берется первая ячейка, в ее информационное поле заносится новая запись, а в поле указателя заносится адрес хранения логически следующей записи. Адрес ячейки с новой записью становится указателем логически предшествующей записи. Для размещения новых записей используются любые свободные ячейки, поэтому список может расти неограниченно в пределах всего пространства памяти. На рис. 3.9 показана процедура включения в связанный список новой записи D, которая должна логически следовать за записью С. Запись D размещается в ячейке с адресом 15. После замены указателей устанавливается порядок следования ячеек памяти 01, 05, 03, 15, 10, обеспечивающий требуемую логическую последовательность записей: А, В, С, D, F Односвязный список может быть организован в виде замкнутого кольца. При этом указателем последней записи будет адрес первой записи. Такой список еще называют циклическим. Просмотр циклического списка можно начинать с любой ячейки. Условием окончания просмотра может быть либо совпадение числа просмотренных записей с общим числом записей в списке, либо совпадение указателя с адресом первой прочитанной ячейки.
3.2. Уровни предоставления данных
Уровни представления данных. СОД хранят и обрабатывают информацию об объектах реального мира. Некоторую совокупность информации, описывающую конкретный объект, называют логической записью или просто записью. Совокупность записей, охватывающих множество объектов определенного класса, называют информационным массивом. Служба Служащий Фирма а С1 С2 С5 С3 С1 Ф3 Ф1 Ф2 б 30 В реальном мире между объектами существуют определенные отношения и взаимосвязи, имеющие различную степень сложности. В процессе разработки в СОД эти отношения выявляются и отображаются путем структуризации записей и информационных массивов. Организация информационного массива, обеспечивающая определенные связи и отношения между данными, называется структурой данных. Любые манипуляции над данными в процессе их обработки на ЭВМ не должны разрушать структуру данных, поэтому ее необходимо все время поддерживать. Существует 3 уровня представления данных: логический уровень, уровень хранения и физический уровень.[30]
На логическом уровне работают с логическими структурами данных, отражающими реальные отношения между объектами и их характеристиками. При разработке логических структур данных учитывается также информационная потребность пользователей системы и характер задач, для решения которых предназначена СОД. Единицей информации на этом уровне является логическая запись. Каждый объект, описываемый соответствующей логической записью, характеризуется определенными признаками, являющимися атрибутами записи. На логическом уровне устанавливается перечень признаков, полностью характеризующий описываемый класс объектов. Совокупность признаков и их взаимосвязь определяют внутреннюю структуру логической записи. Логическая структура данных должна исчерпывающе характеризовать объекты, сведения о которых обрабатываются СОД, адекватно отражать реальные отношения между объектами и их характеристиками, обеспечивать удовлетворение информационных потребностей пользователей системы и решение задач приложений. На логическом уровне представления данных не учитывается техническое и математическое обеспечение системы (тип ЭВМ, типы памяти, язык программирования, операционная система). На уровне хранения оперируют со структурами хранения − представлениями логической структуры данных в памяти ЭВМ. Структура хранения должна полностью отображать логическую структуру данных и поддерживать Уровни представления данных Логический уровень Уровень хранения Физический уровень 31 ее в процессе функционирования СОД. Единицей информации на этом уровне также является логическая запись. При разработке или выборе структуры хранения должны учитываться особенности организации памяти ЭВМ. При этом устанавливается тип и формат данных, определяется способ поддержания логической структуры.[31] Известны различные способы представления данных в оперативной памяти и на внешних носителях, причем одна и та же логическая структура данных может быть реализована в памяти ЭВМ различными структурами хранения. Каждая структура хранения предоставляет определенный способ доступа к данным и определенные возможности манипулирования данными. Структура хранения характеризуется объемом памяти, необходимым для размещения данных. От выбора структуры хранения непосредственно зависит эффективность обработки данных. Правильно выбранная структура хранения обеспечивает минимальный расход машинной памяти, быстрый поиск нужных данных, возможность добавления новых и удаления устаревших записей без разрушения логической структуры, а также возможность корректировки записей. Поддержание структуры хранения осуществляется программными средствами. Для реализации структуры хранения требуются определенные языки программирования, возможности которых следует учитывать при разработке или выборе структуры хранения. На физическом уровне представления данных оперируют с физическими структурами данных. На этом уровне решается задача реализации структуры хранения непосредственно в конкретной памяти конкретной ЭВМ. [32]
Единицей информации на этом уровне является физическая запись, представляющая собой участок носителя, на котором размещается одна или несколько логических записей. При разработке структур памяти анализируются параметры конкретных технических средств: тип и объем памяти, способ адресации, методы и время доступа. На этом же уровне решаются задачи по организации обмена данными между оперативной и внешней памятью ЭВМ. При разработке структур данных всех уровней должен обеспечиваться принцип независимости данных. Физическая независимость данных означает, что изменения в физическом расположении данных и в техническом обеспечении системы не должны отражаться на логических структурах и прикладных программах, т.е. не должны вызывать их изменений. Логическая независимость данных означает, что изменения в структурах хранения не должны вызывать изменений в логических структурах данных и в прикладных программах. Кроме того, изменения, вносимые в логические структуры данных в связи с появлением новых пользователей и новых запросов, не должны отражаться на прикладных программах других пользователей системы.
Соблюдение принципа независимости данных позволяет использовать особые виды данных: виртуальные и прозрачные. Виртуальные данные существуют только на логическом уровне. Для программиста это как бы реально существующие данные, которыми он оперирует в программах. Каждый раз при обращении к этим данным операционная система определенным образом их генерирует на основании других данных, физически существующих в системе. Объявление некоторых данных виртуальными позволяет экономить машинную память. Структуры хранения логическая независимость изменения Логические структуры данных Прикладные программы логическая независимость изменения Прикладные программы Логические структуры данных 33 Прозрачные данные представляются несуществующими на логическом уровне. Это позволяет скрыть от программиста или от пользователя многие сложные механизмы, используемые при преобразовании логических структур данных в физические, и упростить прикладные программы. Структура данных. СОД имеют многоуровневую структуру данных, которая образуется из отдельных элементов, связанных определенными отношениями. Элементы каждого уровня имеют определенное название. Формирование элементов более высокого уровня осуществляется из элементов нижнего уровня в соответствии с определенными правилами.[33]
Первый , самый нижний уровень составляют элементарные данные: числа, символы, логические данные, знаки. Элементарные данные читаются программистом целиком, доступ к их частям невозможен. Эти данные не являются непосредственным объектом информационного поиска, но в ряде случаев к ним должен быть обеспечен доступ. Так, например, в процессе поиска может возникнуть необходимость сравнения отдельных символов в строках. Элементарные данные каждого типа имеют определенную форму представления в оперативной памяти ЭВМ, для их хранения выделяется строго определенный объем памяти. Знание форматов хранения элементарных данных позволяет рассчитать объем памяти, необходимый для размещения массивов данных и программ.[34]
Элементом второго уровня является поле записи. Это последовательность элементарных данных, имеющая определенный смысл, но не имеющая смысловой завершенности. Данные, образующие отдельное поле записи, описывают соответствующий признак объекта. Каждый признак объекта имеет наименование и значение. Так, для студентов, записи о которых хранятся в СОД, в качестве признаков могут использоваться: номер студенческого билета, ФИО, средний балл успеваемости. Каждый конкретный студент характеризуется определенными значениями этих при Элементарные данные Группа данных Логическая запись Информационный массив Поле записи 34 знаков, например, наименование признака средний балл, значение признака − 4,7. Отдельные студенты отличаются значениями одноименных признаков. Число признаков, характеризующих объект, определяет количество полей в записи. В каждом поле помещается значение соответствующего признака. Поля записи именуются, причем имя поля может совпадать с наименованием признака.[35]
Заключение
Подводя итоги данной курсовой работы, можем сделать следующий вывод, первоначальные информационные системы, основанные на базах данных, имели строго централизованную архитектуру. Данные были сосредоточены физически и логически на одном компьютере. Централизованная организация базы данных позволяет облегчить обеспечение ее безопасности, целостности и непротиворечивости данных. Вместе с тем рост объема базы данных и числа пользователей, получающих к ней доступ, территориальное развитие организации (и связанная с ней необходимость распределенной обработки данных) приводят к возникновению ряда проблем, свойственных централизованной архитектур - большой объем обмена данными (высокий трафик); - снижение надежности обмена данными; - снижение общей производительности; - рост затрат на разработку БД. Возможным решением перечисленных проблем является организация децентрализованного хранения данных. При децентрализации достигается: - параллельная обработка данных и распределение нагрузки; - повышение эффективности обработки данных при выполнении удаленных запросов; - уменьшение затрат на обработку данных; - упрощение процедуры управления ИС. Целью распределенной обработки данных является выполнение обработки наиболее приспособленным для этого процессором. Распределение не подразумевает параллелизма, но возможность "распараллелить" распределенную обработку существует.
Распределенная, или разделенная, или совместно выполняемая программа: выполнение программы двумя и более машинами, объединенными в сеть. Пользователю безразлично местоположение различных ресурсов, необходимых для успешного выполнения программы, которую он выполняет со своего рабочего места; Таким образом, распределенная база данных — это набор отношений, хранящихся в разных узлах компьютерной сети и логически связанных таким образом, чтобы составлять единую совокупность данных. Распределенная система: это система, функционирующая на нескольких компьютерах и предоставляющая пользователю логически единообразный доступ ко всем файлам сети. Организация распределенной базы данных дает массу преимуществ: снижается время отклика системы, повышается надежность хранения данных, уменьшается стоимость аппаратной части за счет снижения объемов данных, хранящихся на одном сервере. Эффективность такой информационной системы напрямую зависит от интенсивности трафика: чем он ниже, тем быстрее окупаются средства, вложенные в её построение.
Ключом к успешной реализации этих систем является правильная организация распределения и хранения информации. Идеальным способом снижения трафика в каналах связи является использование технологии «клиент-сервер», получившей в последние годы широкое распространение. Использование технологии «клиент-сервер» позволило создавать надежные (в смысле целостности данных) многопользовательские информационные системы с централизованной базой данных, независимые от аппаратной (а часто и программной) части сервера баз данных и поддерживающие графический интерфейс пользователя на клиентских станциях, связанных локальной сетью. Причем издержки на разработку приложений существенно сокращались. Не удивительно, поэтому, что эта технология завоевала большую популярность среди разработчиков прикладного программного обеспечения, а приложения на ее основе - широкое распространение на рынке информационных систем. Несмотря на объективные сложности и предубеждения пользователей, ситуация меняется - все большее количество фирм-разработчиков пытается не взирая на трудности перейти на использование этой прогрессивной технологии. Появляются инструментальные средства и технологии создания информационных систем, в том числе и в трехуровневой модели.
Список используемой литературы
1. Трофимова И.П. Системы обработки и хранения информации: Учебн. пособие для вузов. М.: Высш. школа, 1989. 191с.
2. Цикритзис Д., Лоховски Ф. Модели данных / Пер. с англ. М.: Финансы и статистика, 1985. 344с.
3. Бауэр Ф.Л., Гооз Г. Информатика. Вводный курс: В 2-х ч. Ч.1. Пер. с нем. – М.: Мир, 1990. – 336 с. 4. Миловзоров В.П.. Элементы информационных систем. М.: Высш. школа, 1989. 439с.
5. Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. 154с.
6. Дракин В.И., Попов Э.В., Преображенский А.Б. Общение конечных пользователей с системами обработки данных. М.: Радио и связь, 1988. 288с.
7. Лорин Г. Сортировка и системы сортировки. М.: Прогресс, 1983.
8. Тиори Т., Фрай Дж. Проектирование структур баз данных / Пер. с англ. М.: Мир, 1985. 320с.
9. Майоров С.А., Новиков Г.И. Принципы организации цифровых машин. – Л.: Машиностроение (Ленингр. отд-е), 1974. – 432 с.
10. Кузнецов О.П., Адельсон-Вельский Г.М. Дискретная математика для инженера. – М.: Энергоатомиздат, 1988. – 480 с.
11. Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. 768с.
12. Информатика: Рекомендовано Министерством образования РФ в качестве учебника для студентов экономических специальностей ВУЗов / Н. В. Макарова, Л. А. Матвеев, В. Л. Бройдо и другие; Под редакцией В. Н. Макаровой – 3-е изд.; перераб. – М.: Финансы и статистика, 2005. – 768 с.
13. Леонтьев В.П. «ПК: универсальный справочник пользователя». М 2014.239с.
14. Варфоломеев В.И., «Программные средства офисного назначения. Практикум», М., МГУК, 2011.196с.
15. Информатика. Базовый курс / Под ред. С.В. Симоновича, СПб., 2000.
16. Компьютерные технологии обработки информации./Под. ред. С.В. Назарова. – М.: Финансы и статистика, 2008. 258с.
17.Брюхомицкий Ю.А. Введение в информационные системы. Таганрог: Изд-во ТРТУ, 2011. 151 с.
Электронный ресурс
1. http://window.edu.ru/resource/840/28840/files/tsure066
Приложения
Приложение 1.
Примеры предоставления целых (а) и дробных (б) двоичных чисел с фиксированной точкой, а, б.
Знак числа
2n 2n-1.......................................................................................2I20
0 |
0 |
4-й байт |
3-й байт |
2-й байт |
1-й байт |
a
Знак числа
2-1 2-2...................................................................................2-n 2-(n+1)
0 |
0 |
1-й байт |
2-й байт |
3-й байт |
4-й байт |
Приложение 2
Пример предоставления двочных чисел с плавающей точкой
Знак числа Модуль порядка Модуль мнтиссы
Приложение 3
Представление вектора в памяти ЭВМ
Lo
a1 |
a2 . . . |
a3 |
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-45 ↑
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-51 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-65 ↑
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-55 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-67 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-72 ↑
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-78 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-67 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-79 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-69 ↑
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-97 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-145 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-147 ↑
-
Тиори Т., Фрай Дж. Проектирование структур баз данных / Пер. с англ. М.: Мир, 1985. C-15 ↑
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-71 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-165 ↑
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-96 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-171 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-174 ↑
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-112 ↑
-
Тиори Т., Фрай Дж. Проектирование структур баз данных / Пер. с англ. М.: Мир, 1985. C-25 ↑
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-154 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-189 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-186 ↑
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-172 ↑
-
Тиори Т., Фрай Дж. Проектирование структур баз данных / Пер. с англ. М.: Мир, 1985. C-22 ↑
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-45 ↑
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-207 ↑
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-208 ↑
-
Тиори Т., Фрай Дж. Проектирование структур баз данных / Пер. с англ. М.: Мир, 1985. C-37 ↑
-
Тиори Т., Фрай Дж. Проектирование структур баз данных / Пер. с англ. М.: Мир, 1985. C-36 ↑
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-176 ↑
-
Сигорский В.П. Математический аппарат инженера. Изд-во «Техника», 1975. C-247 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-201 ↑
-
Галанский Б.Л., Поляков В.И.. Информационные системы. Томск: Изд-во Томского университета, 1989. C-202 ↑
- Разработка регламента выполнения процесса «Управление информационными ресурсами» (Теоретические основы разработки регламента выполнения процесса "Управление информационными сетями")
- Организационное поведение на разных стадиях жизненного цикла организации (Понятие жизненного цикла организации)
- Роль кадровой службы в формировании и реализации кадровой стратегии (Понятие кадровая стратегия и основные типы кадровой стратегии в организации)
- Влияние молодёжной̆ субкультуры на школьников
- Дидактическая игра как метод обучения(Теоретические аспекты применения дидактических игр в обучении)
- Понятие и виды ценных бумаг (Правовая природа ценной бумаги)
- Структура отношений межбанковского кредитования в России
- Счета и двойная запись (Теоретические основы понятия счетов и двойной записи)
- Повышение производительности труда в компании, совершенствование мотивации работников
- Мотивация и её теории (Теоретические аспекты понятия мотивации)
- Коммерческая деятельность розничного торгового предприятия и ее совершенствование (Коммерческая деятельность розничного торгового предприятия и ее совершенствование)
- Организационные структуры(ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ФОРМИРОВАНИЯ СТРУКТУРЫ ПРЕДПРИЯТИЯ)