Выпускная работа по «Основам информационных технологий» Магистранта (аспиранта соискателя) кафедры педагогики - vnekl.netnado.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Выпускная работа по «Основам информационных технологий» Магистранта... 1 187.51kb.
Выпускная работа по «Основам информационных технологий» 1 316.68kb.
Выпускная работа по «Основам информационных технологий» 1 246.2kb.
Выпускная работа по курсу «Основы информационных технологий» 1 249.78kb.
1. современные информационные технологии: состояние и перспективы 1 59.72kb.
Лексико фонетическая зарядка 1 120.71kb.
Операции Сберегательного банка России 1 34.91kb.
Рассмотрено 1 74.72kb.
Республиканский учебно-методический центр по образованию 1 56.34kb.
Литература, 10 класс Ф. И. О. преподавателя Тарасенко Людмила Ивановна... 1 81.1kb.
«Окончательная отделка и вто, контроль качества швейных изделий. 1 52.49kb.
В ней также заложены возможности предусмотренного стандартом формирования... 2 408.97kb.
"Обозначение мягкости согласных на письме" 1 53.8kb.
Выпускная работа по «Основам информационных технологий» Магистранта (аспиранта соискателя) - страница №1/1



БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

На правах рукописи

УДК 56.24.(01)

Галько Виктория



Проектирование базы данных

Выпускная работа по


«Основам информационных технологий»

Магистранта (аспиранта. соискателя) кафедры педагогики

Специальность: 13.00.01 – общая педагогика, история педагогики и образования

Научные руководители:


доктор экономических наук Сергеев И.И., старший преподаватель Громко Н.И.

Минск, 2012

Оглавление


Оглавление 3

введение 4

Глава 1
КЛАССФИКАЦИЯ БАЗЫ ДАННЫХ 6

Глава 2
ОСНОВНЫЕ ТИПЫ ДАННЫХ 9

1.1 Структуры баз данных 9

1.2 Обобщенные структуры или модели данных 11

1.3Физическая организация баз данных 13

1.4 Организация данных во внешней памяти 13

Глава 3
МЕТОДЫ ДОСТУПА К ДАННЫМ 17

1.2 Методы поиска по дереву 18

Заключение 22

библиографический список 23




введение


Появление компьютеров изменило весь мир. Сейчас этот продукт уже ни для кого не является эксклюзивным, более, можно сказать, что даже входит в список «техники первой необходимости». Естественно и вполне логично задаться вопросом: «Почему?»

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

1. для обеспечения их работы нужны сравнительно низкие вычислительные мощности

2. данные, которые они используют, имеют сложную структуру, необходимы средства сохранения данных между последовательными запусками системы.

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

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

Базой данных является представленная в объективной форме совокупность самостоятельных материалов (статей, расчетов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (Гражданский кодекс РФ, ст. 1260).

База данных(БД) – это информационная модель, позволяющая упорядоченно хранить данные о группе объектов, обладающих одинаковым набором свойств и т.д. Одним из основных понятий является Система управления Базами Данных. Программное обеспечение, предназначенное для работы с базами данных, называется система управления базами данных (СУБД). СУБД используются для упорядоченного хранения и обработки больших объемов информации.

Было выделено несколько важных признаков Базы Данных: хранение и обработка в вычислительной системе, структурность (системность) организации.

Таким образом, всем студентам СПбГУЭФ как экономистам в дальнейшем постоянно придётся работать с такими системами, поэтому возникла необходимость более подробного их изучения.



Глава 1
КЛАССФИКАЦИЯ БАЗЫ ДАННЫХ


Существует огромное количество разновидностей баз данных, отличающихся по различным критериям (например, в «Энциклопедии технологий баз данных» М.Р. Когаловского определяются свыше 50 видов БД).

По модели данных:

  • Иерархические

  • Сетевые

  • Реляционные

  • Многомерные

  • Объектные

  • Объектно-ориентированные

  • Объектно-реляционные

По технологии хранения:

  • БД во вторичной памяти (традиционные)

  • БД в оперативной памяти (in-memory databases)

  • БД в третичной памяти (tertiary databases)

По содержимому:

  • Географические

  • Исторические

  • Научные

  • Мультимедийные

и т.д.

По степени распределённости:

  • Централизованные (сосредоточенные)

  • Распределённые

Отдельное место в теории и практике занимают пространственные (spatial), временные, или темпоральные (temporal) и пространственно-временные (spatial-temporal) БД.

Следует также упомянуть об Очень Большой Базе Данных.

Очень большая база данных (Very Large Database, VLDB) — это база данных, которая содержит чрезвычайно большое количество записей или занимает чрезвычайно большой объём на устройстве физического хранения. Термин подразумевает максимально возможные объёмы БД, которые определяются последними достижениями в технологиях физического хранения данных и в технологиях программного оперирования данными.

Конкретное определение понятия «чрезвычайно большой объём» меняется во времени; в настоящее время считается, что это объём, измеряемый по меньшей мере терабайтами.

Сверхбольшие базы и склады данных требуют особых подходов к логическому и системно-техническому проектированию, обычно выполняемому в рамках самостоятельного проекта, суть которого в том, чтобы найти такое системотехническое решение, которое попросту позволило бы хоть как-то работать с такими большими объемами. Такое решение возможно при наличии трех условий: специального решения для дисковой подсистемы, специальных версий операционной среды и специальных механизмов обращения СУБД к данным. Исследования в области хранения и обработки VLDB всегда находятся на острие теории и практики баз данных. В частности, с 1975 года проходит ежегодная конференция International Conference on Very Large Data Bases (Международная конференция по очень большим базам данных). Большинство исследований проводится под эгидой некоммерческой организации VLDB Endowment («Вклад в VLDB»), которая обеспечивает продвижение научных работ и обмен информацией в области БД и смежных областях.


Глава 2
ОСНОВНЫЕ ТИПЫ ДАННЫХ


Для того чтобы разобраться с организацией Базы Данных (БД), надо разобраться, что собой представляют сами данные и какие они бывают.

Данные, хранящиеся в памяти ЭВМ, — это совокупность нулей и единиц (битов). Биты объединяются в последовательности: байты, слова и т.д. Каждому участку оперативной памяти, который может вместить один байт или слово, присваивается порядковый номер (адрес).

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

Любые данные могут быть отнесены к одному из двух типов: основному (простому), форма представления которого определяется архитектурой ЭВМ, или сложному, конструируемому пользователем для решения конкретных задач.

Данные простого типа это - символы, числа и т.п. элементы, дальнейшее дробление которых не имеет смысла. Из элементарных данных формируются структуры (сложные типы) данных.

1.1 Структуры баз данных

Массив (функция с конечной областью определения) - простая совокупность элементов данных одного типа, средство оперирования группой данных одного типа. Отдельный элемент массива задается индексом. Массив может быть одномерным, двумерным и т.д. Разновидностями одномерных массивов переменной длины являются структуры типа кольцо, стек, очередь и двухсторонняя очередь.

Запись (декартово произведение) - совокупность элементов данных разного типа. В простейшем случае запись содержит постоянное количество элементов, которые называют полями. Совокупность записей одинаковой структуры называется файлом. (Файлом называют также набор данных во внешней памяти, например, на магнитном диске). Для того, чтобы иметь возможность извлекать из файла отдельные записи, каждой записи присваивают уникальное имя или номер, которое служит ее идентификатором и располагается в отдельном поле. Этот идентификатор называют ключом.

Такие структуры данных как массив или запись занимают в памяти ЭВМ постоянный объем, поэтому их называют статическими структурами. К статическим структурам относится также множество.

Имеется ряд структур, которые могут изменять свою длину - так называемые динамические структуры. К ним относятся дерево, список, ссылка.

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


Классификация типов данных


1.2 Обобщенные структуры или модели данных

Выше я рассмотрела несколько типов структур, являющихся совокупностями элементов данных: массив, дерево, запись. Более сложный тип данных может включать эти структуры в качестве элементов. Например, элементами записи может быть массив, стек, дерево и т.д.

Существует большое разнообразие сложных типов данных, но исследования, проведенные на большом практическом материале, показали, что среди них можно выделить несколько наиболее общих. Обобщенные структуры называют также моделями данных, т.к. они отражают представление пользователя о данных реального мира.

Любая модель данных должна содержать три компонента:



  • структура данных - описывает точку зрения пользователя на представление данных.

  • набор допустимых операций, выполняемых на структуре данных. Модель данных предполагает, как минимум, наличие языка определения данных (ЯОД), описывающего структуру их хранения, и языка манипулирования данными (ЯМД), включающего операции извлечения и модификации данных.

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

В процессе исторического развития в СУБД использовалось следующие модели представления данных:

  • иерархическая: строится по принципу иерархии типов объектов, Т.е. один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии, подчиненными(взаимосвязь «один ко многим»))

  • сетевая: понятия главного и подчиненного несколько расширены; любой объект может быть и главным и подчиненным; означает, что каждый объект может участвовать в любом числе взаимосвязей.

  • реляционная: объекты и взаимосвязи между ними представляются с помощью таблиц.

В настоящее время наибольшую популярность приобрели реляционные модели данных, т.к их применение по ряду причин было выбрано программистами-разработчиками наиболее удобным. Как выяснилось, практически все СУБД сейчас ориентированы именно на такое представление данных. Реляционная модель была предложена в 1970-х гг. Тедом Коддом, работавшим тогда в IВM.

Реляционную модель можно представить как особый метод рассмотрения данных, содержащий и собственно данные (в виде таблиц), и способы работы и манипуляции с ними (в виде связей).

В последнее время все большее значение приобретает объектно-ориентированный подход к представлению данных.

1.3Физическая организация баз данных

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



1.4 Организация данных во внешней памяти

Каждая БД, как известно, состоит из файлов. Файлы состоят из логических записей. Данные хранятся во внешней памяти на соответствующих носителях (магнитные ленты, диски, "винчестеры" и др.). Каждый файл представляется в виде одного или нескольких блоков (страниц) данных. В одном блоке может быть одна логическая запись, несколько записей (блокированные записи), часть ее (сегмент). В последнем случае сегменты одной записи хранятся в разных блоках. Адресные ссылки между сегментами позволяют выбрать запись целиком в оперативную память.

Обмен данными между внешней и оперативной памятью выполняется блоками, т.е. блок - минимальная единица обмена между оперативной памятью и внешним носителем. При чтении с внешнего носителя блок данных размещается в буферный участок памяти. Несколько буферов образуют буферный пул. Каждый байт в блоке пронумерован (0, 1, 2,...). Номер байта блока, с которого начинается запись, определяет относительный адрес записи файла в блоке.

В качестве адресов записей файла во внешней памяти используют: машинный адрес, относительный адрес, ключ записи. В качестве относительного адреса записи файла используют ее номер по порядку (внутрисистемный номер) в файле, либо комбинацию номера блока и относительного адреса в блоке, либо номер блока и значение ключа. Во многих системах при вводе записи ей присваивается уникальный системный идентификатор - ключ базы данных. Ключ БД не следует отождествлять с ключом записи. Последний задается и используется пользователем (прикладной программой).

Данные, которые присутствуют в физической БД, но отсутствуют в логической БД, называют прозрачными. Такие данные никогда не представляются пользователю (например, адресные ссылки, ключ БД, различные счетчики в т.п.). Данные, которые присутствуют в логической БД, но отсутствуют в физической БД, называются виртуальными (например, возраст).

Каждая физическая запись, соответствующая логической, состоит обычно из двух частей - служебной и информационной. Поля служебной (прозрачной) части используются СУБД для идентификации записи, задания ее типа, хранения признака логического удаления, для кодирования значений элементов, для установления структурных связей между записями. Никакие пользовательские программы не имеют доступа к служебной части записи.

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

1. Размещение с заранее предписанных позиций предполагает, что значение элемента в каждом экземпляре записи появляется с одной и той же позиций, определенной в описании БД.

2. Размещение с разделителями позволяет не хранить в памяти незначащие символы. Здесь элементы отделяются друг от друга разделителями (специальными кодами, часто со смысловой нагрузкой, например, с указанием длины размещенного за ним значения). Если длина элементов варьируется, то память расходуется более экономно, но требуются дополнительные затраты времени м рас кодировку записи. Записи могут быть фиксированной и переменной длины.

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

Обычно блоки заполняются не полностью. Оставшаяся часть блока остается некоторое время незаполненной (зарезервированной). В дальнейшем эта область заполняется при увеличении (расширении) записей, хранящихся в блоке, или при поступлении в систему новых записей, которые в соответствии со значениями их ключей (или по другим условиям) надо поместить в одном блоке с уже хранящимися записями. По истечении некоторого времени блок заполняется полностью. Для хранения новых поступающих данных, которые должны были бы попасть в этот блок, выделяется дополнительный блок памяти в области переполнения. Записи, которые должны были размещаться в одном блоке, связываются специальными указателями в одну цепь. Файл периодически реорганизуется: при необходимости файлу добавляется требуемое количество блоков в основной внешней памяти и выполняется требуемая перекомпоновка записей, с целью освобождения области переполнения внешней памяти.

Глава 3
МЕТОДЫ ДОСТУПА К ДАННЫМ


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

Вопросы представления данных тесно связаны с операциями, при помощи которых эти данные обрабатываются. К числу таких операций относятся: выборка, изменение, включение и исключение данных. В основе всех перечисленных операций лежит операция доступа, которую нельзя рассматривать независимо от способа представления.

В задачах поиска предполагается, что все данные хранятся в памяти с определенной идентификацией и, говоря о доступе, имеют в виду прежде всего доступ к данным (называемым ключами), однозначно идентифицирующим связанные с ними совокупности данных.

Пусть нам необходимо организовать доступ к файлу, содержащему набор одинаковых записей, каждая из которых имеет уникальное значение ключевого поля. Самый простой способ поиска - последовательно просматривать каждую запись в файле до тех пор, пока не будет найдена та, значение ключа которой удовлетворяет критерию поиска. Очевидно, этот способ весьма неэффективен, поскольку записи в файле не упорядочены по значению ключевого поля. Сортировка записей в файле также неприменима, поскольку требует еще больших затрат времени и должна выполняться после каждого добавления записи. Поэтому, поступают следующим образом - ключи вместе с указателями на соответствующие записи в файле копируют в другую структуру, которая позволяет быстро выполнять операции сортировки и поиска. При доступе к данным вначале в этой структуре находят соответствующее значение ключа, а затем по хранящемуся вместе с ним указателю получают запись из файла.

Существуют два класса методов, реализующих доступ к данным по ключу:


  • методы поиска по дереву

  • методы хеширования.

1.2 Методы поиска по дереву

Деревом называется конечное множество, состоящее из одного или боле1е элементов, называемых узлами, таких, что:



  • между узлами имеет место отношение типа "исходный-порожденный";

  • есть только один узел, не имеющий исходного. Он называется корнем;

  • все узлы за исключением корня имеют только один исходный;

  • каждый узел может иметь несколько порожденных;

  • отношение "исходный-порожденный" действует только в одном направлении, т.е. ни один потомок некоторого узла не может стать для него предком.

Число порожденных отдельного узла (число поддеревьев данного корня) называется его степенью. Узел с нулевой степенью называют листом или концевым узлом. Максимальное значение степени всех узлов данного дерева называется степенью дерева.

Если в дереве между порожденными узлами, имеющими общий исходный, считается существенным их порядок, то дерево называется упорядоченным. В задачах поиска почти всегда рассматриваются упорядоченные деревья.

Упорядоченное дерево, степень которого не больше 2 называется бинарным деревом. Бинарное дерево особенно часто используется при поиске в оперативной памяти. Алгоритм поиска: вначале аргумент поиска сравнивается с ключом, находящимся в корне. Если аргумент совпадает с ключом, поиск закончен, если же не совпадает, то в случае, когда аргумент оказвается меньше ключа, поиск продолжается в левом поддереве, а в случае когда больше ключа - в правом поддереве. Увеличив уровень на 1 повторяют сравнение, считая текущий узел корнем.

Пример: Пусть дан список студентов, содержащий их фамили и средний бал успеваемости (см. таблицу 1.1). В качестве ключа используется фамилия студента. Предположим, что все записи имеют фиксированную длину, тогда в качестве указателя можно использовать номер записи. Смещение записи в файле в этом случае будет вычислятся как ([номер_записи] -1 ) * [длина_записи]. Пусть аргумент поиска "Петров". На рисунке 1.2 показаны одно из возможных для этого набора данных бинарных деревьев поиска и путь поиска.


Рис. 1.2
Таблица 1.1



студент

балл

Иванов

3,4

Васильев

4,2

Кузнецов

3,5

Петров

3,2

Сидоров

4,6

Тихомиров

3,8

Заметим, что здесь используется следующее правило сравнения строковых переменных: считается, что значение символа соответствует его порядковому номеру в алфавите. Поэтому "И" меньше "К", а "К" меньше "С". Если текущие символы в сравниваемых строках совпадают, то сравниваются символы в следующих позициях.

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

Бинарное дерево называют сбалансированным (balanced), если высота левого поддерева каждого узла отличается от высоты правого поддерева не более чем на 1.

При поиске данных во внешней памяти очень важной является проблема сокращения числа перемещений данных из внешней памяти в оперативную. Поэтому, в данном случае по сравнению с бинарными деревьями более выгодными окажутся сильно ветвящиеся деревья - т.к. их высота меньше, то при поиске потребуется меньше обращений к внешней памяти. Наибольшее применение в этом случае получили В-деревья (В - balanced) .

В-деревом порядка n называется сильно ветвящееся дерево степени 2n+1, обладающее следующими свойствами:


  • Каждый узел, за исключением корня, содержит не менее n и не более 2n ключей.

  • Корень содержит не менее одного и не более 2n ключей.

  • Все листья расположены на одном уровне.

  • Каждый нелистовой узел содержит два списка: упорядоченный по возрастанию значений список ключей и соответсвующий ему список указателей (для листовых узлов список указателей отсутствует).

Для такого дерева:

  • сравнительно просто может быть организован последовательный доступ;

  • все листья расположены на одном уровне;

  • при добавлении и изменении ключей все изменения ограничиваются, как правило, одним узлом.

Следует отметить, что B- деревья наилучшим образом подходят только для организации доступа к достаточно простым (одномерным) структурам данных. Для доступа к более сложным структурам, таким, например, как пространственные (многомерные) данные в последнее время все чаще используют R-деревья.

R-дерево (R-Tree) это индексная структура для доступа к пространственным данным, предложенная А.Гуттманом (Калифорнийский университет, Беркли). R-дерево допускает произвольное выполнение операций добавления, удаления и поиска данных без периодической переиндексации.




Заключение


По мере написания данной работы автором было выяснено несколько важных моментов:

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

  2. БД имеют огромное прикладное значения, широко применяются в производстве и повседневной жизни, т.к существенно облегчают работу по поиску информации, которая без существования подобных структур превратила бы простую задачу, возникающую постоянно в ходе какой-либо деятельности, в практически нерешаемую.

Естественно, что такое широкое распространение БД требует их и СУБД постоянного совершенствования и развития.

библиографический список



1. К. Дж. Дейт Введение в системы баз данных = Introduction to Database Systems. — 8-е изд. — М.: «Вильямс», 2006. — 1328 с. — ISBN 0-321-19784-4

2. Кузнецов Сергей Дмитриевич Основы баз данных. — 1-е изд. — М.: «Интернет-университет информационных технологий - ИНТУИТ.ру», 2005. — 488 с. — ISBN 5-9556-00028-0

3. Когаловский М.Р. Энциклопедия технологий баз данных. — М.: Финансы и статистика, 2002. — 800 с. — ISBN 5-279-02276-4

4. http://www.kopabori.ru/index56.htm

5. http://www.mstu.edu.ru/education/materials/zelenkov/toc.html