![](/stc/img/evkova.png)
Операции, производимые с данными (Понятие и виды данных)
Содержание:
ВВЕДЕНИЕ
На протяжении тысячелетий человечество накапливало знания, навыки работы, сведения об окружающем нас мире, т.е. собирало информацию. Вначале информация передавалась из поколения в поколение в виде преданий и устных рассказов. Возникновение и развитие книжного дела позволило передавать и хранить информацию в более надежном письменном виде. Открытия в области электричества привели к появлению телеграфа, телефона, радио, телевидения — средств, позволяющих оперативно передавать и накапливать информацию. Развитие прогресса обусловило резкий рост информации, в связи, с чем вопрос о её сохранении и переработке становился год от года актуальнее. С появлением вычислительной техники значительно упростились способы хранения, а главное, обработки информации.
Развитие вычислительной техники на базе микропроцессоров приводит к совершенствованию компьютеров и программного обеспечения. Появляются программы, способные обработать большие потоки информации. С помощью таких программ создаются информационные системы. Целью любой информационной системы является обработка данных об объектах и явлениях реального мира и предоставление необходимой человеку информации о них.
Базы данных являются неотъемлемой составляющей современных информационных систем. Поэтому изучение операций с данными и создание баз данных необходимо рассматривать во взаимосвязи с информационными системами. Необходимо понимать их основные функции, общую структуру, классификацию, а также роль и место баз данных в информационных системах.
Цель курсовой работы состоит в изучении операций, проводимых с данными.
Для достижения поставленной цели в работе решаются следующие задачи:
- рассмотреть понятие и виды данных;
- исследовать классификацию операций с данными;
- раскрыть понятие информационной системы и ее роль в создании баз данных;
- рассмотреть функции и классификацию систем управления базами данных.
Объектом исследования являются операции, производимые с данными
Предметом исследования является понятие и виды операций, производимых с данными.
В процессе выполнения работы использованы следующие методы: наблюдение, анализ, синтез.
Работа состоит из введения, двух глав, заключения, списка использованных источников.
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ
1.1 Понятие и виды данных
Данные - диалектическая составляющая часть информации. Она представляет собой зарегистрированные сигналы. При этом физический метод регистрации может быть любым: механическое перемещение физических тел, изменение электрических, магнитных, оптических характеристик, химического состава и (или) характера химических связей, изменение состояния системы и многое другое[1].
Понятие типа данных является одним из фундаментальных понятий программирования. Тип данных определяет:
1) Множество допустимых значений, которые может принимать переменная или константа указанного типа;
2) Множество допустимых операций, применяемых к данным определенного типа;
3) Способ изображения данных в памяти компьютера[2].
В ходе информационного процесса данные преобразуются из одного вида в другой с помощью методов обработки. Обработка данных включает в себя множество различных операций. По мере развития научно-технического прогресса и общего усложнения связей в человеческом обществе трудозатраты на обработку данных неуклонно растут. Прежде всего, это связано с постоянным усложнением условий управления производством и обществом. Второй фактор, также вызывает общее увеличение объемов, обрабатываемых данных, тоже связан с научно-техническим прогрессом, а именно с быстрыми темпами появления и внедрения новых носителей информации, средств хранения и доставки данных.
В структуре возможных операций с данными можно выделить следующие основные:
1. Сбор данных - накопление данных с целью обеспечения достаточной полноты информации для принятия решения;
2. Формализация данных - приведение данных, поступающих из разных источников, к одинаковой форме, чтобы сделать их сопоставимыми между собой, то есть повысить их уровень доступности;
3. Фильтрация данных - отсеивание «лишних» данных, в которых нет необходимости для принятия решений; при этом должен уменьшаться уровень «шума», а достоверность и адекватность данных должны возрастать;
4. Сортировка данных - упорядочение данных по заданному признаку с целью удобства использования; повышает доступность информации;
5. Группировка данных - объединение данных по заданному признаку с целью повышения удобства использования; повышает доступность информации;
6. Архивация данных - организация хранения данных в удобной и легкодоступной форме; служит для снижения экономических затрат на хранение данных и повышает общую надежность информационного процесса в целом;
7. Защита данных - комплекс мер, направленных на предотвращение утраты, воспроизведения и модификации данных;
8. Транспортировка данных - прием и передача (доставка и поставка) данных между удаленными участниками информационного процесса; при этом источник данных в информатике принято называть сервером, а потребителя - клиентом;
9. Преобразование данных - перевод данных из одной формы в другую или из одной структуры в другую. Преобразование данных часто связано с изменением типа носителя, например, книги можно хранить в обычной бумажной форме, но можно использовать для этого и электронную форму, и микрофотопленку[3].
Необходимость в многократном преобразовании данных возникает также при их транспортировке, особенно если она осуществляется средствами, не предназначенными для транспортировки данного вида данных. В качестве примера можно вспомнить, что для транспортировки цифровых потоков данных по каналам телефонных сетей (которые изначально были ориентированы только на передачу аналоговых сигналов в узком диапазоне частот) необходимо преобразование цифровых данных в некое подобие звуковых сигналов, чем и занимаются специальные устройства - телефонные модемы.
Приведенный здесь список типовых операций с данными далеко не полон. Миллионы людей во всем мире занимаются созданием, обработкой, преобразованием транспортировкой данных, и на каждом рабочем месте выполняются свои специфические операции, необходимые для управления социальными, экономическими, промышленными, научными и культурными процессами. Полный список возможных операций составить невозможно, да и не нужно. Сейчас важен другой вывод: работа с информацией может иметь огромную трудоемкость, и ее надо автоматизировать[4].
Основные структуры данных:
Работа с большими наборами данных автоматизируется проще, когда данные упорядочены, то есть образуют заданную структуру. Существует три основных типа структур данных: линейная, иерархическая и табличная.
Линейные структуры - это хорошо знакомые нам списки. Список - это простейшая структура данных, которая отличается тем, что адрес каждого элемента данных однозначно определяется его номером. Проставляя на отдельных страницах книги, мы создаем структуру списка, поскольку все студенты группы зарегистрированы в нем под своими уникальными номерами. Мы называем номера уникальными потому, что в одной группе не могут быть зарегистрированы два студента с одним и тем же номером.
Линейные структуры данных (списки) - это упорядоченные структуры, в которых адрес элемента однозначно определяется его номером.
Табличные структуры отличаются от учетных тем, что элементы данных определяются адресу ячейки, который состоит не из одного параметра, как в списках, а из нескольких. Для таблицы умножения, например, адрес ячейки определяется номерами строки и столбца. Нужный центр находится на их пересечении, а элемент выбирается из ячейки.
Табличные структуры данных (матрицы) - это упорядоченные структуры, в которых адрес элемента определяется номером строки и номером столбца, на пересечении которых находится ячейка, содержащая искомый элемент.
Нерегулярные данные, которые трудно представить в виде списка или таблицы, часто представляют в виде иерархических структур. С подобными структурами мы очень хорошо знакомы с повседневной жизни: иерархическую структуру имеет система почтовых адресов. Подобные структуры также широко применяются в научных систематизациях и всевозможных классификациях.
В иерархической структуре адрес элемента определяется путем доступа (маршрутом), ведущим от вершины структуры к данному элементу.
Если типы данных в языке Pascal классифицировать по строению и свойствам соответствующих данных, то можно выделить следующие типы: простые, структурированные, ссылочные, процедурные и объектные. Данные простых типов не содержат в себе составляющие элементы данные других типов. Зато данные структурированных типов - это объединение определенного количества элементов данных[5].
С другой стороны, по способу образования различают стандартные типы данных и типы данных пользователя. Тип данных пользователя создается программистом и действует в рамках определенной программы или модуля, а стандартный тип данных является элементом языка программирования.
Еще один способ классификации дает возможность выделить порядковые типы данных. Множество допустимых значений порядкового типа представляет собой упорядоченную последовательность, каждый элемент которой имеет свой порядковый номер.
Таким образом, данные - диалектическая составляющая часть информации. Она представляет собой зарегистрированные сигналы. В структуре возможных операций с данными можно выделить следующие основные: сбор данных, формализация данных, фильтрация данных, сортировка данных, группировка данных, архивация данных, защита данных, транспортировка данных, преобразование данных. Основными структурами данных являются: линейная, иерархическая и табличная.
1.2 Классификация типов операций с данными
При сохранении значений определенного типа данных используется определенный объем оперативной памяти, который можно определить встроенной функцией sizeof. Аргументом этой функции может быть идентификатор типа данных, переменная или типизированная константа[6].
Операции описывают действия, которые необходимо выполнить над определенными значениями, которые, в свою очередь, могут быть значениями констант, переменных, функций или выражений. Значение, к которому применяется операция, называется ее операндом. Операция обозначается специальной лексемой - символом операции. Примерами символов операции могут быть лексемы +, and и т.д.
В зависимости от типов операндов операции делятся на арифметические, логические, строчные и тому подобные. Например, арифметические операции применяются к значениям числовых типов данных, а логические операции - к логическим значениям.
В зависимости от количества операндов операции в языке Pascal делятся на унарные и бинарные. Унарные операции применяются к одному операнду. Символ унарных операций записывается перед операндом, например, а. Бинарные операции применяются к двум операндам, символы таких операций записываются между операндами, например, х + у.
Рассмотрим подробнее основные операции с данными:
- Целочисленные типы[7]:
Целочисленные типы - это типы данных, множество допустимых значений которых является множеством целых чисел. Идентификаторы целочисленных типов в языке Pascal, множества допустимых значений этих типов и объемы памяти, необходимые для сохранения соответствующих данных, приведены в таблице 1.1.
Таблица 1.1
Целочисленные типы[8]
Идентификатор типа |
Количество байтов оперативной памяти |
Диапазон значений |
byte |
1 |
0 .. 255 (28 - 1) |
shortint |
1 |
- 128 .. 127 |
integer |
2 |
- 32 768 .. 32 767 (215- 1) |
word |
2 |
0 .. 65 535 |
longint |
4 |
- 2 147 483 648 .. 2 147 483 647 (231- 1) |
Над всеми целочисленными типами значений одинаковый набор операций. Все эти операции, кроме одной, являются бинарными. Символ «-» является символом как бинарной операции вычитания, так и унарной операции «минус»: - 32768 - (2 - 3). Арифметические операции над данными целочисленных типов перечислены в табл. 1.2 вместе с примерами их применения. Значение целочисленных типов записывают в десятичной или шестнадцатеричной системе счисления. Целое число не может содержать десятичной точки.
Таблица 1.2
Арифметические операции над целочисленными значениями[9]
Знак операции |
Содержание операции |
Примеры применения и результаты |
+ |
Сложение |
1 + 2 = 3; 1 + 32 767 = 32 768 (переполнения ячейки); -32 768 + (-32 768) = 0 |
- |
Вычитание |
1 - 2 = - 1; -32 768 -1 = 32 767; 32 768 - (-32 768) = 0 |
- (унарный) |
Смена знака числа |
-(1) = -1; -(-32 768) = -32 768 (переполнения ячейки) |
* |
Умножение |
2 * 2 = 4; 256 * 128 = -32 768 (переполнения ячейки); 256 * 256 = 0; 32 767 * 32 767 = 1 |
div |
Определение целой части от деления |
7 div 3 = 2; -7 div 3 = -2; 7 div -3 = -2; -7 div -3 = 2 |
mod |
Определение остатка от деления |
7 mod 3 = 1; -7 mod 3 = -1; 7 mod -3 = 1; -7 mod -3 = -1 |
/ |
Деление |
7/3 = 2.333 333 3 (действительное), 6/З = 2.0 (действительное) |
Поясним содержание операций div и mod. Операция целочисленного деления div отвергает дробную часть доли. Итак, результатом операции a div b является число [а / b], то есть наибольшее целое число, не превышает, а / b. Операция mod (деление по модулю) определяет остаток от деления двух чисел. Таким образом, при любых значениях, а и b выполняется равенство a div b + a mod b = а.
Значение типов shortint, integer и longint являются знаковыми, а типов byte и word - беззнаковымы. При добавлении, вычитании и умножении знаковых целых чисел возможен перенос единицы из старшего цифрового разряда в знаковый разряд. Такая ситуация называется переполнением. Именно это происходит при добавлении, например, 1 и 32 767. Поскольку все значимые разряды числа 32767 равны 1, то число 32768 = 32767 + 1 имеет единицу в знаковом разряде, а в остальных разрядах - нуль. Это означает, что число становится отрицательным и интерпретируется как -32 768. При вычитании единицы от -32768 единица в знаковом разряде обращается в нуль, а, следовательно, результатом является положительное значение 32 767. Единица, которая переносится из знакового разряда влево за разрядную сетку ячейки, теряется. Поэтому, например, при удвоении значения -32768 получаем 0.
Переполнение ячейки оперативной памяти во время выполнения арифметических операций над целыми значениями нельзя считать ошибкой. Следствием этого является «зацикленность» целочисленных типов в том смысле, что добавление единицы к наибольшему числу дает наименьшее число. При переполнении ячейки оперативной памяти получается результата пределах множества значений целочисленного типа, но не обязательно правильный.
Заметим также, что во время выполнения операции деления делитель не может равняться нулю. В противном случае произойдет аварийное завершение программы с выводом сообщения: Error 200: Division by zero (Деление на ноль). Применение операции деления к целым числам даёт результат действительного типа.
Рассмотрим операции сравнения целых чисел (операции отношения). Эти операции отражаются лексемами =, <>>, <> =, <= («равно», «не равно», «больше», «меньше», «не менее», «не более»). Операции отношений определяют, является истинным значение выражения сравнения. Таким образом, результат операции сравнения будет носить логический тип. Например, сравнение 1 = 2 дает результат false, а сравнение 1 <> 2 и 1> = 1 - результат true и тому подобное.
2. Действительные типы.
Множество допустимых значений любого действительного типа является конечным подмножеством множества рациональных чисел и содержит, в частности, все целые числа типа integer. Для записи действительных чисел в оперативной памяти используется форма с плавающей запятой. Действительное число в форме с плавающей запятой имеет мантиссу и порядок. Количество цифр в мантиссе характеризует точность числа. Чем больше цифр в мантиссе, тем выше точность. Порядок определяет настоящее местонахождение десятичной точки в числе.
В языке Pascal обозначено пять действительных типов (таблица 1.3): действительный (real), действительный с одинарной точностью (single), действительный с двойной точностью (double), действительный с повышенной точностью (extended), целый в формате вещественного типа ( соmр).
Таблица 1.3
Действительные типы данных[10]
Название |
Количество байтов оперативной памяти |
Меньшее по модулю число |
Большее по модулю число |
single |
4 |
1,5 • 10-45 |
3,4• 1038 |
real |
6 |
2,9• 10-39 |
1,7• 1038 |
double |
8 |
5 • 10-324 |
1,7• 10308 |
extended |
10 |
3,4• 10-4932 |
1,1• 104932 |
comp |
8 |
-263 + 1 ≈ - 9,2• 1018 |
263 - 1 ≈ - 9,2• 1018 |
Действия над данными типов single, double, extended и comp выполняются только при наличии математического сопроцессора. Его применение значительно повышает точность расчетов и ускоряет их выполнение. Pascal позволяет эмулировать работу математического сопроцессора программным способом с помощью директив компилятора {$ N +, E-}.
Тип comp (от compound - составной) содержит 64-битные целые числа, но в настоящем формате. В выражениях этот тип совместим с действительными и целыми типами, но применять к данным типа comp можно только определенные для действительных типов данных операции.
Запись действительного числа содержит обязательную целую часть, по которой указываются дробная часть и порядок. Целая часть - это непустая последовательность цифр, дробная - непустая последовательность цифр с точкой в начале, а порядок - это две или четыре цифры со знаком «+» или «-». Цифры в порядке записаны после буквы «Е» или «e». Перед значением отрицательного действительного числа записывается знак «-», например -1.2345678900Е-01. Действительное число, в котором перед десятичной точкой записано цифру от 1 до 9, называется нормализованным.
Для действительных типов обозначено четыре арифметические операции: сложение (+), вычитание (-), умножение (*), деления (/). Также над данными действительных типов можно выполнять те же операции сравнения, что и над данными целых типов. В общем случае действительные числа можно сравнивать лишь приближенно, а применение операции сравнения (=) в равных с математической точки зрения выражений может дать результат false.
3. Булев тип.
Множество допустимых значений булевого, или логического, типа содержит две константы: false (ложь) и true (истина). Название этого типа данных происходит от фамилии выдающегося английского математика Джорджа Буля, основателя математической логики. Идентификатором логического типа является слово boolean.
К булевым значениям применяются операции «и», «или», «не», называемые соответственно логическим умножением (конъюнкцией), логичным добавлением (дизъюнкцией) и отрицанием, обозначаются лексемами and, or и not. Еще одна операция называется «исключительное или» или «сложение по модулю 2» и обозначается лексемой xor. Результаты применения этих операций в булевых значений приведены в таблице 1.4.
Таблица 1.4
Булевы операции
A |
B |
A and B |
A or B |
A xor B |
not A |
false |
false |
false |
false |
false |
true |
false |
true |
false |
true |
true |
true |
true |
false |
false |
true |
true |
false |
true |
true |
true |
true |
false |
false |
Следует отметить, что булевы операции not, and, or и or могут быть применены не только к логическим значениям, но и к целым числам. При этом булева операция применяется к отдельным разрядам или парам разрядов в двоичной записи операндов по следующим правилам:
1 and 1 = 1; 1 and 0 = 0 0 and 1 = 0 0 and 0 = 0
1 or 1 = 1; 1 or 0 = 1; 0 or 1 = 1; 0 or 0 = 0
1 xor 1 = 0 1 xor 0 = 1; 0 xor 1 = 1; 0 xor 0 = 0.
Для примера рассмотрим вычисление выражения 6 and 3. В двоичной системе числа 6 и С имеют вид 110 и 011 соответственно. К каждой паре разрядов этих операндов применяется операция and: 1102 and 0112 = 0102. двоичный результат 010 равна десятичному числу 2.
4.Символьный тип
Множество допустимых значений символьного (буквенного) типа - это множество символов кодовой таблицы ASCII, а, следовательно, для данных этого типа есть отдельные символы. Каждому символу соответствует целое число (код) в диапазоне от 0 до 255. Хранение одного символа требует один байт оперативной памяти. Напомним, что символы с кодами от 0 до 127 соответствуют стандарту ASCII. Они идентичны на всех ИВМ-совместимых компьютерах. Символы с кодами от 128 до 255 могут варьироваться в зависимости от типа компьютера и установок системного программного обеспечения. Символьный тип сказывается идентификатором char.
Значение символьного типа данных записываются в одинарных кавычках. Например, "А", "Г, '+' и тому подобное. Любое символьное значение можно задать также с помощью стандартной функции chr (i), где i - выражение целого типа со значением от 0 до 255, то есть код символа. Функция возвращает значение символа по его коду. Например, chr (48) - это символ '0', код которого равен 48, chr (49) - это символ '1', chr (65) - это символ A, a chr (97) - символ 'а' . Также значение символа можно получить по его ASCII-кодом. Для этого перед значением ASCII-кода записывается префикс #, например: # 48, # 65, # 97. Символы с кодами от 0 до 31 принадлежат к управляющих символов. Если эти коды использовать в процедурах ввода-вывода, то можно управлять расположением данных на экране, сопровождать звуковыми сигналами определенные действия и т.д. Управляющие символы можно получить записью в программе комбинации символа «^» и латинской буквы (таблица 1.5).
Таблица 1.5
Некоторые управляющие символы таблицы ASCII кодов[11]
Код |
Название символа |
Способ ввода |
Запись в программе |
7 |
Звуковой сигнал |
Ctrl+G |
^G |
9 |
Горизонтальная табуляция |
Ctrl+I |
^I |
10 |
Перевод строки |
Ctrl+J |
^J |
11 |
Вертикальная табуляция |
Ctrl+L |
^L |
13 |
Возврат каретки |
Ctrl+M |
^M |
Для преобразования маленьких букв на большие используют функцию Upcase, синтаксис вызова которой таков:
Upcase (<символ>)
Здесь <символ> - маленькая латинская буква. Функция Upcase не разделывают кириллицу.
Для значений символьного типа отмечено операции сравнения. Символы считают равными, если равны их ASCII-коды. Один символ считают больше другого, если его ASCII-код больше. В частности,
'0' < '1' <... < '9' < 'А' < 'В' <... < 'Z' < 'а' < 'b' <... < 'z'.
Кроме операций сравнения для данных символьного типа отмечено операцию конкатенации (объединения), в результате выполнения которой образуется строка. Эту операцию обозначают символом «+». Например: '1' + '2' = '12'.
5. Перечислительный тип
Перечислительный тип обозначается пользователем. Такой тип задается перечнем всех элементов множества допустимых значений. Каждое значение именуется определенным идентификатором и отмечается в списке, который берётся в круглые скобки. Идентификатор перечислений типа надо объявить в программе в разделе type. Синтаксис объявления перечислений типа такой:
type <идентификатор типа> = (<идентификатор_1>, <идентификатор_2>, ..., <идентификатор_n>)
Здесь <идентификатор типа> - это идентификатор перечислений типа; <Идентификатор_1> ..... <идентификатор_n> - допустимые значения перечислений типа. К примеру:
type WorkWeek = (Mon, Tue, Wed, Thu, Fri, Sat, Sun)
Color = (red, green, blue)
WinterMonth = (December, January, February)
Элементы перечислительного типа упорядочены по номеру элемента в объявлении типа. При этом первый идентификатор в списке получает порядковый номер 0, второй идентификатор - номер 1 и т.д. Максимальное количество идентификаторов в объявлении перечислений типа составляет 65 536. Поэтому перечисляемый тип можно рассматривать как подмножество целочисленного типа word. Для перечисляемых типов существуют операции сравнения =, <> <>, <=,> =, которые сравнивают порядковые номера своих операндов.
При использовании перечисляемых типов следует учитывать, что Pascal не поддерживает операций ввода и вывода значений перечислительного типа.
6. Интервальный тип
Интервальный тип, как и перечислительный тип, определяется пользователем. Этот тип задается диапазоном значений базового типа, роль которого может выполнять любой другой порядковый тип. В объявлении интервального типа указывают минимальное и максимальное значения диапазона, разделяя их лексемой «..». Пример синтаксиса объявления интервального типа:
type <идентификатор типа> = <Минимальное значение> .. <Максимальное значение>;
Ниже приведен пример такого объявления:
type digit = 0 .. 9; Latin = 'A' .. 'Z'; WorkWeek = Mon..Fri;
При объявлении интервального типа следует соблюдать следующие правила:
1. Два символа «..» рассматриваются как лексема, поэтому пробелов между ними быть не может;
2. Обе константы, которые определяют границы диапазона, должны принадлежать одному и тому же базовому типу;
3. Значение левой границы диапазона должно быть меньше значения правой границы.
Порядковые типы:
Как уже было отмечено выше, множество допустимых значений строчного типа данных является упорядоченной последовательностью, каждый элемент которой имеет свой номер. К порядковым типам данных относятся целочисленные типы, символьный, логический, перечисляемый и интервальный тип. Действительные типы данных не являются порядковыми, поскольку множество допустимых значений любого действительного типа, кроме типа single, слишком большой для того, чтобы ее элементы можно было пронумеровать значениями определенного целочисленного типа. Для обработки данных порядковых типов определены следующие стандартные функции:
- Функция ord возвращает порядковый номер своего аргумента;
- Функция pred возвращает значение, предшествующего указанному;
- Функция succ возвращает значение, следующего после значения аргумента;
- Функции succ.
Рассмотрим особенности применения этих функций к данным символьного, булевого и интервального типа:
Если х является символом, то функция ord (x) возвращает его ASCII-код, например: ord ('O') = 48, ord ('A') = 65, ord ('a') = 97. Как уже упоминалось выше, для символьного типа данная также функция chr, что вычисляет символ по его коду. Функции chr и ord являются обратимыми, то есть chr (ord (x)) = x для любого символа х, a ord (chr (n)) = n для любого целого числа n от 0 до 255.
Для значений булевого типа в языке Pascal обозначено соотношение ord (false) = 0 и ord (true) = 1 Такому порядку булевых значений соответствует результат их сравнения: false <true.
Если функцию ord применить к значению интервального типа, то она вернет порядковый номер к соответствующему элементу базового типа.
Все порядковые типы «зацикливаемы» так, что следующим за элементом с наибольшим номером является элемент с наименьшим номером, а предыдущим перед элементом с наименьшим номером есть элемент с наибольшим номером.
Если функцию pred применить к первому допустимому значению порядкового типа, она вернет значение к последнему порядковому номеру. Например, если значение переменной х типа byte равно нулю, то pred (x) = 255. Аналогично, если функцию succ применить к последнему допустимому значению, она вернет значение к наименьшему порядковому номеру. Например, если значение переменной х типа word равно 65535, то succ (x) = 0.
Таким образом, операции описывают действия, которые необходимо выполнить над определенными значениями, которые, в свою очередь, могут быть значениями констант, переменных, функций или выражений. Существует несколько видов операций, производимых с данными: целочисленные типы, действительные типы, булев тип, символьный тип, перечислительный тип, интервальный тип, порядковые типы.
ГЛАВА 2. ОПЕРАЦИИ С ДАННЫМИ КАК ОСНОВА ИНФОРМАЦИОННОЙ СИСТЕМЫ
2.1 Данные как основа информационной системы
Базы данных являются неотъемлемой составляющей современных информационных систем. Поэтому создание баз данных необходимо рассмотрения сущности информационных систем. Необходимо сознательно понимать их основные функции, общую структуру, классификацию, а также роль и место баз данных в информационных системах, а уже затем переходить непосредственно к изучению баз данных.
Информационная система (ИС) - это система, в которой могут накапливаться огромные объемы данных, и которая обеспечивает автоматический поиск, обработку и выдачу не обходной информации[12]. Основой современных ИС является компьютеры. Информационные системы состоят из технического, программного, информационного обеспечения, а также нормативно-правового обеспечения, регламентирующего порядок ее функционирования и права и обязанности рабочих, которые с ней работают или обслуживают.
Техническое обеспечение может содержать не только компьютеры, но и локальные сети, каналы связи, по которым информация принимается и передается на большие расстояния, а также устройства сбора и отображения информации, например, проекторы, специальные табло и тому подобное.
Программное обеспечение - это совокупность программ, позволяющих осуществить на компьютере автоматизированную обработку информации[13]. Оно может держать также применение - программы, которые разрабатываются, как правило, для определенной категории должностных лиц с целью автоматизированного решения необходимых задач. Пример применения - программа, которая рассчитывает при прибылях супермаркет за сутки по видам реализуемых товаров.
Информационное обеспечение - это совокупность накопленных данных, которые могут быть структурированы и неструктурированными. Неструктурированные данные - это обычные документы: приказы, статьи, постановления, рефераты и др. Структурированные имеют определенную форму, тип данных, размер и т.д. Чаще всего они оформляются в виде двух измеримых таблиц и называются реляционными базами данных[14].
Информационные системы в настоящее время применяются в разных сферах человеческой деятельности, например, бухгалтерский учет и аудит, библиотечное дело, банковские и финансовые учреждения, системы продажи и резервирования железнодорожных билетов, налоговая служба, системы управления услугами и товарами. Структура и функции ИС в значительной степени определяются той предметной областью, в которой она применяется. Но главная функция информационной системы независимо от предметной области остается неизменной и заключается в повышении эффективности интеллектуального труда человека. Она увольняется от выполнения рутинных операций. Обеспечивает высокая скорость доступа к данным и получения их из источников, расположенных на больших расстояниях.
Информационные системы классифицируются не только по предметному признаку, но и по многим другим, основными из которых является назначение и способ, доступа к данным.
Офисные системы предназначены в основном для обеспечения жизнедеятельности фирм, компаний, учебных заведений, государственных учреждений и др. В них накапливаются данные о материальных ценностях, человеческих ресурсах, движении товаров и тому подобное. С их помощью осуществляется автоматизация делопроизводства, документооборот.
Информационно-справочные системы осуществляют поиск и выдачу данных по определенным критериям. Системы обработки транзакций интенсивно используются в банковских учреждениях, системах резервирования и продажи авиабилетов и т. В них совокупность операций рассматривается как одна единственная операция. Если хотя бы одна операция по этой сумме не выполнена или выполнена некорректно, осуществляется восстановление базы данных на начало транзакции.
Системы поддержки принятия решений предоставляются в удобной форме, например, в виде гистограммы, необходимые данные, анализ которых позволяет принять обоснованное решение по управлению определенным объектом.
Способы доступа к данным информационной системы можно разделить на автономные, групповые, корпоративные и информационные системы в Интернете.
Групповые информационные системы функционируют в основном в локальных сетях. В них могут используются как клиентские базы данных, так и серверные базы данных[15].
Корпоративные ИС используются в больших организациях, подразделения которых могут быть расположенными на больших расстояниях. Они могут объединять несколько локальных сетей, причем сервером базы данных может быть любой сервер локальной сети.
Информационные системы в Интернете существенно отличаются от предыдущих. Информация размещается на веб страницах, разрабатываются с помощью специальных как, например, языка HTML. Вебсайт может содержать графическую, текстовую, аудио и видеоинформацию, а также ссылки на другие страницы. Доступ к Интернет-ресурсам осуществляется с помощью веб-браузера, который фактически является программой-клиентом, а программа, которая предоставляет ресурсы, является веб-сервером.
2.2 Модели данных и индексирование
Есть разные способы или модели организации данных. Модель данных определяет, каким образом осуществляется объединение данных в структуре различной сложности. В дальнейшем будем придерживаться такого определения: база данных - это организованная совокупность данных определенной предметной области, которые отражают состояние объекта и связи между ними. Предметной областью может быть, например, школа, поликлиника, фирма, строительный супермаркет и тому подобное. На разных этапах развития баз данных использовались различные модели данных, например, сетевая, иерархическая. Сейчас основной моделью является реляционная. Перспективной считается также объектно-ориентированная модель данных. В дальнейшем будут рассматриваться только реляционные базы данных.
Реляционная модель данных была предложена в 1970 году Е.Ф. Коддом. Ее основой является математическое по понятия отношение (по-английски - relation), которое изображается в виде двумерной таблицы.
Обычно схема изображается так: указывается большими буквами имя таблицы, а в скобках - перечень имен столбцов. Количество атрибутов отношения называется его степенью, а количество кортежей - кардинальность или мощность. Степени отношения предъявляются следующие требования[16]:
- В таблице не могут содержаться одинаковые строки;
- Все столбцы таблицы должны иметь разные названия;
- В каждом столбце могут содержаться только одинаковые типы данных;
- В каждой ячейке таблицы должны содержаться только простые данные.
Таблица должна содержать столбец или несколько столбцов, которые однозначно идентифицируют будкой строку. Такой столбец называют ключом отношения. Если ключ содержит один столбец, его называют простым, иначе - составным. Таблица может содержать несколько ключей, но используется только один из них, который называют первичным.
Итак, основой реляционной базы данных являются отношения (таблица). Базы данных, которые содержат только одну таблицу, называют простыми. Большинство баз данных содержат десятки и сотни взаимосвязанных таблиц. Связи между таблицами осуществляется с помощью ключевых полей[17].
Таблицы баз данных хранятся на внешних устройствах в том виде, в котором они создавались и исполнялись данными. Каждая следующая строка вводится в таблицу непосредственно по предварительно введенным. В этих таблицах часто приходится находить строки по значению ключевого поля или другого, а также по значениям совокупности нескольких полей. К примеру, в таблице ТОВАРЫ необходимо найти строку, в котором значение поля ЦЕНА равен 300, или найти строки, в которых значится, что товары поступили после 10.01.2009 и имеют цену, большую 500.
Таблица 2.1
Пример таблицы данных
Название |
Дата выпуска |
Цена |
Количество |
Костюм мужской |
20.01.2009 |
600 |
5 |
Пальто женское |
22.01.2009 |
730 |
3 |
Рубашка мужская |
15.01.2009 |
70 |
10 |
Туфли женские |
10.01.2009 |
300 |
12 |
Поиск таких строк можно выполнить разными методами, например, методом прямого перебора всех строк. Однако этот метод требует много времени на его реализацию. Значительно быстрее является бинарный метод поиска, но он требует упорядочения строк по значению определенного поля. Процесс упорядочения данных в таблице является длительным. Он требует много машинного времени, а сохранение дополнительных таблиц связано со значительными затратами памяти.
Для решения этой проблемы используются индексные таблицы или просто индексы, процесс создания которых называется индексированием. Индекс чаще всего содержит один столбец, в котором записывается указатель на определенную строку таблицы с данными. Порядок размещения указателей в индексной таблице определяется значением определенного поля таблицы данных. Например, индексная таблица для таблицы ТОВАРЫ по значению поля ЦЕНА может иметь такое содержание:
2 |
1 |
4 |
3 |
В данном случае цифра 2 указывает на то, что первой строчкой таблицы ТОВАРЫ является другая строчка. Цифра 1 FoxBase+ позволяет для одной таблицы создавать до семи индексных файлов.
2.3 Функции и классификация систем управления данными
С точки зрения пользователя любая система управления базами данных выполняет следующие основные функции[18]:
1) Создание и модификация структуры БД
2) Ввода данных;
3) Манипулирования данными (редактирование, удаление данных и др.);
4) Отбор необходимых данных и их обработка; разработка и получение различных исходных документов.
Для выполнения этих и других функций СУБД использует язык описания данных (МОД) и язык манипулирования данными (ММД). МОД - это высокоуровневый, а непроцедурная речь декларативного типа, предназначенная для описания логической структуры данных. ММД - это язык, который обеспечивает выполнение основных операций над да ними.
Таким образом, в процессе индексирования не выполняется упорядочение реально существующих таблиц и не создаются новые таблицы данных, а создаются в другом порядке, в котором указатели определяют в каком порядке должны размещаться строки основной таблицы по значению определенного ее поля.
Индексные таблицы можно создавать как в порядке увеличения значений полей, так и в порядке их уменьшения. Если в таблице изменяются, удаляются или добавляются новые строки, то сортировать эту таблицу не нужно. Необходимо только обновить ее индексы.
Создание индексных таблиц не требует больших объёмов памяти для их хранения, так как они, как правило, содержат только один столбец. Время их создания значительно меньше времени упорядочения строк в реальных таблицах данных.
Следует, однако заметить, что индексирование не всегда дает положительный эффект. Оно не целесообразно для малых таблиц. Индексирования целесообразно выполнять для тех таблиц, которые содержат большое количество строк. Индексировать нужно по тем полям, которые будут использоваться для доступа к строкам таблицы данных. Не следует индексировать поля, которые регулярно обновляются, так как это приведет к частому обновлению индексных таблиц и затрат машинного времени. Первичный ключ всегда необходимо индексировать. В СУБД MS Access индексирования первичного ключа выполняется автоматически[19].
Заметим также, что в некоторых СУБД создаются индексные файлы, которые хранятся отдельно от основных таблиц. Для каждой таблицы могут создаваться несколько индексных файлов. На физическом уровне СУБД выполняет много других функций, в том числе управление данными во внешней памяти, обеспечения целостности и безопасности данных, ведение журнала изменений в БД и другие.
Сейчас есть сотни различных СУБД. Выбрать необходимый из них не просто. Для этого нужно ориентироваться в их структуре и возможностях.
Серверы баз данных - это мощные программы, которые устанавливаются на компьютерах-серверах. Обычно, данные от них приглашаются клиентскими программами. Если эти данные приглашаются операторами языка SQL, то такие серверы называются SQL-серверами. Серверами баз данных являются, например, такие программы: InterBase, MS SQL, NetWare SQL и другие.
Клиенты - это программы, которые устанавливаются на комьютерах-клиентах и осуществляющих связь с серверами БД. Клиентом могут быть разные по назначению стандартные программы, например, полнофункциональные СУБД, программы электронной почты, текстовые процессоры, электронные процессоры и другие. Клиентом также может быть и специально разработанное использование. Целесообразно, чтобы клиентские и серверные программы были разработаны одной фирмой, так как в таком случае Распределение функций между ними осуществляется рационально.
Для разработки пользовательских приложений используются различные программные средства, напри мер, Delphi, Visual Basic, Pover Builder и другие.
По модели используемых данных различают реляционные, сетевые, иерархические, СУБД. Некоторые СУБД поддерживают работу одновременно с несколькими моделями данных.
По количеству пользователей базы данных различают на персональные и многопользовательские СУБД. Персональные системы используются для создания и поддержки персональных баз данных. Многопользовательские сочетают в себе сервер базы данных и клиентскую части.
При поддержке компьютерной сети различают сетевые и несетевые системы управления базами данных. Сетевые непосредственно направленные на работу в компьютерной сети. Несетевые тоже могут использоваться в компьютерных сетях, однако обмен данными между компьютерами осуществляется посредством операционных систем.
ЗАКЛЮЧЕНИЕ
Таким образом, данные - диалектическая составляющая часть информации. Она представляет собой зарегистрированные сигналы.
В структуре возможных операций с данными можно выделить следующие основные: сбор данных, формализация данных, фильтрация данных, сортировка данных, группировка данных, архивация данных, защита данных, транспортировка данных, преобразование данных.
Структуры данных служат материалами, из которых строятся программы. Как правило, данные имеют форму чисел, букв, текстов, символов и более сложных структур типа последовательностей, списков и деревьев.
Для точного описания абстрактных структур данных и алгоритмов программ используются такие системы формальных обозначений, называемые языками программирования, в которых смысл всякого предложения определится точно и однозначно. Среди средств, представляемых почти всеми языками программирования, имеется возможность ссылаться на элемент данных, пользуясь присвоенным ему именем. Выбор правильного представления данных служит ключом к удачному программированию и может в большей степени сказываться на производительности программы, чем детали используемого алгоритма. Вряд ли когда-нибудь появится общая теория выбора структур данных.
Под структурой данных в общем случае понимают множество элементов данных и множество связей между ними. Такое определение охватывает все возможные подходы к структуризации данных, но в каждой конкретной задаче используются те или иные его аспекты. Поэтому вводится дополнительная классификация структур данных, направления которой соответствуют различным аспектам их рассмотрения. Прежде чем приступать к изучению конкретных структур данных, дадим их общую классификацию по нескольким признакам.
Физическая структура данных отражает способ физического представления данных в памяти машины и называется еще структурой хранения, внутренней структурой или структурой памяти.
Основными структурами данных являются: линейная, иерархическая и табличная. Операции описывают действия, которые необходимо выполнить над определенными значениями, которые, в свою очередь, могут быть значениями констант, переменных, функций или выражений.
Существует несколько видов операций, производимых с данными: целочисленные типы, действительные типы, булев тип, символьный тип, перечислительный тип, интервальный тип, порядковые типы.
База данных должна иметь определенные свойства: восстанавливаемость, безопасность, целостность, эффективность. Основой реляционной базы данных являются отношения (таблица). Базы данных, которые содержат только одну таблицу, называют простыми. Большинство баз данных содержат десятки и сотни взаимосвязанных таблиц. Связи между таблицами осуществляется с помощью ключевых полей.
При поддержке компьютерной сети различают сетевые и несетевые системы управления базами данных. Сетевые непосредственно направленные на работу в компьютерной сети. Несетевые тоже могут использоваться в компьютерных сетях, однако обмен данными между компьютерами осуществляется посредством мы операционных систем.
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
- Безручко В. Т. Информатика курс лекций: Учебное пособие. / В.Т.Безручко - М.: ИД. "Форум" : ИНФРА - М. 2013-432.с
- Дейт К. Введение в системы баз данных. / К. Дейт - Спб.: Питер, 1998. – 312 с.
- Дрибас В. П. Реляционные модели баз данных. / В. П. Дрибас - Спб.: Питер,1992. – 214 с.
- Жалдак М.И., Рамский Ю.С. Информатика/ М. И. Жалдак, Ю. С. Рамский М.: ИД. "Форум" : ИНФРА - М. 1991. – 580 с.
- Мартин Дж. Организация баз данных. / Дж. Мартин - 2000. – 452 с.
- Мартишин С.А. Проектирование и реализация баз данных в СУБД MySQL c использованием MySQL Workbench: Учебное пособие. / С.А.Мартишин, В.А.Симонов, М.В. Храпченко - М.: ИД. "Форум" : ИНФРА - М. 2012-160с.
- Могилёв В. А., Пак Н. И., Хеннер Е. К. Информатика: Учеб. Пособие для студентов пед. вузов / А. В. Могилёв, Н. И. Пак, Е. К. Хеннер. — М.: ИД. "Форум" : ИНФРА - М. 1999. — 816 с.
- Наумова А.Н. Системы управления базами данных и базами знаний. / А.Н. Наумова. - М.: ИД. "Форум" : ИНФРА - М.1991. – 250 с.
- Пушкарь М. Информатика: Компьютерная техника. Компьютерные технологии. Пособие. / М. Пушкарь М.: Альфа-М : ИНФРА - М.2001. – 815 с.
- Савчук Т.А. Организация баз данных и знаний / Т. А. Савчук – Спб.: Питер, 2000. – 550 с.
- Симонович С. В. Информатика. Базовый курс / С. В. Симонович — Спб.: Питер, 2012-640с.
- Тиори И., Фрай Дж. Проектирование структур баз данных. / И. Тиори, Дж. Фрай - .: ИД. "Форум" : ИНФРА - М.1995. – 180 с.
- Ульман Дж. Основы систем баз данных. / Дж. Ульман - .: ИД. "Форум": ИНФРА - М.2003. – 440 с.
- Федотова Е.Л. Информационные технологии и системы: Учебное пособие. / Е.Л. Федотова - М.: ИД. "Форум" : ИНФРА - М. 2013.- 352с.
- Чери С., Готлоб Г., Танке Л. Логическое программирование и базы данных. / С. Чери, Г. Готлоб, Л. Танке - 1992. – 375 с.
-
Федотова Е.Л. Информационные технологии и системы: Учебное пособие. / Е.Л. Федотова - М.: ИД. "Форум" : ИНФРА - М. 2013.- С.52 ↑
-
Жалдак М.И., Рамський Ю.С. Информатика. "Высшая школа" / М. И. Жалдак, Ю. С. Рамский -1991. – С.302 ↑
-
Пушкарь М. Информатика: Компьютерная техника. Компьютерные технологии. Пособие. / М. Пушкарь - 2001. – С.696 ↑
-
Федотова Е.Л. Информационные технологии и системы: Учебное пособие. / Е.Л. Федотова - М.: ИД. "Форум" : ИНФРА - М. 2013.- С.55 ↑
-
Федотова Е.Л. Информационные технологии и системы: Учебное пособие. / Е.Л. Федотова - М.: ИД. "Форум" : ИНФРА - М. 2013.- С.58 ↑
-
Симонович С.В. Информатика базовый курс: Учебник для вузов. 3-е изд. Стандарт 3-го поколения. / С.В Симонович. -Спб.: Питер, 2012-С.140 ↑
-
Могилёв В. А., Пак Н. И., Хеннер Е. К. Информатика: Учеб. Пособие для студентов пед. вузов / А. В. Могилёв, Н. И. Пак, Е. К. Хеннер. — М., 1999. — С. 816 ↑
-
Симонович С. В. Информатика. Базовый курс / С. В. Симонович — 2012. — С.140 ↑
-
Симонович С. В. Информатика. Базовый курс / С. В. Симонович — 2012. — С.142 ↑
-
Симонович С. В. Информатика. Базовый курс / С. В. Симонович — 2012. — С.144 ↑
-
Симонович С. В. Информатика. Базовый курс / С. В. Симонович — 2012. — С.146 ↑
-
Савчук Т.А. Организация баз данных и знаний / Т. А. Савчук – 2000. – С.43 ↑
-
Дейт К. Введение в системы баз данных. / К. Дейт - 1998. – С.86 ↑
-
Дрибас В. П. Реляционные модели баз данных. / В. П. Дрибас - 1992. – С.211 ↑
-
Мартин Дж. Организация баз данных. / Дж. Мартин - 2000. – С.213 ↑
-
Чери С., Готлоб Г., Танке Л. Логическое программирование и базы данных. / С. Чери, Г. Готлоб, Л. Танке - 1992. – С.112 ↑
-
Тиори И., Фрай Дж. Проектирование структур баз данных. / И. Тиори, Дж. Фрай - 1995. – С.138 ↑
-
Ульман Дж. Основы систем баз данных. / Дж. Ульман - 2003. – С.54 ↑
-
А. Н. Наумова. Системы управления базами данных и базами знаний. / Наумова А. Н. - 1991. – С.33 ↑
- Анализ и оценка средств реализации структурных методов анализа и проектирования экономической информационной системы (Модель SADT)
- Разработка и реализация конфигурации «Аэропорт» на платформе 1С:Предприятие
- Разработка и реализация конфигурации «Аэропорт» на платформе 1С:Предприятие
- Автоматизация продажи авиабилетов
- Планирование рекламной кампании на примере интернет-магазина "ART-WALL.RU"
- Корпоративная культура в организации (Функции и основные свойства корпоративной культуры)
- Анализ методов кодирования данных
- Интеграционные процессы управления инновационным проектом
- Общение как взаимодействие (Понятие общения в психологии)
- Особенности коммуникаций в организации (Теоретические основы коммуникаций в организации)
- Невербальные проявления эмоциональных состояний человека
- Технология «клиент-сервер»