Дипломная работа на тему "Наращивание экономической и статистической информации в двухструктурных реляционных базах данных"

ГлавнаяИнформатика → Наращивание экономической и статистической информации в двухструктурных реляционных базах данных




Не нашли то, что вам нужно?
Посмотрите вашу тему в базе готовых дипломных и курсовых работ:

(Результаты откроются в новом окне)

Текст дипломной работы "Наращивание экономической и статистической информации в двухструктурных реляционных базах данных":


СОДЕРЖАНИЕ

Введение............................................................................................................

1.  Понятие информационной системы............................................................

2.  Понятие базы данных..................................................................................

3.  Эволюция концепций баз данных...............................................................

4.  Требования, которым должна удовлетворять организация базы данных.     

4.1.  Установление многосторонних связей...................................................

4.2.  Производительность...............................................................................

4.3.  Минимальные затраты...........................................................................

4.4.  Минимальная избыточность..................................................................

4.5.  Возможности поиска..............................................................................

4.6.  Целостность............................................................................................

4.7.  Безопасность и секретность....................................................................

4.8.  Связь с прошлым....................................................................................

4.9.  Связь с будущим....................................................................................

4.10.   Простота использования.....................................................................

5.  Модели представления данных...................................................................

5.1.  Иерархическая модель данных..............................................................

5.2.  Сетевая модель  данных.........................................................................

5.3.  Реляционная модель данных..................................................................

5.3.1.  Таблицы.............................................................................................

5.3.2.  Ключевые поля..................................................................................

5.3.3.  Индексы.............................................................................................

5.3.4.  Отношения предок/потомок.............................................................

5.3.5.   Внешние ключи................................................................................

5.3.6.  Реляционная алгебра........................................................................

5.3.7.  Нормализация базы данных.............................................................

5.3.7.1. Первая нормальная форма..........................................................

5.3.7.2. Вторая нормальная форма..........................................................

5.3.7.3. Третья нормальная форма..........................................................

5.3.7.4. Четвертая нормальная форма.....................................................

5.3.7.5. Пятая нормальная форма............................................................

6.  Язык SQL как стандартный язык баз данных............................................

6.1.  Язык SQL................................................................................................

6.2.  Достоинства SQL....................................................................................

6.2.1.  Независимость от конкретных СУБД...............................................

6.2.2.  Переносимость с одной вычислительной системы на другие.........

6.2.3.  Стандарты языка SQL.......................................................................

6.2.4.  Одобрение SQL компанией IBM (СУБД DB2).................................

6.2.5.  Протокол ODBC и компания Microsoft...........................................

6.2.6.  Реляционная основа..........................................................................

6.2.7.  Высокоуровневая структура, напоминающая английский язык....

6.2.8.  Интерактивные запросы...................................................................

6.2.9.  Программный доступ к базе данных...............................................

6.2.10.................................................... Различные представления данных      

6.2.11............................ Полноценный язык для работы с базами данных      

6.2.12.................................................. Динамическое определение данных      

6.2.13............................................................... Архитектура клиент/сервер      

7.  Архитектуры баз данных............................................................................

7.1.  Локальные базы данных и архитектура "файл-сервер".......................

7.2.  Удаленные базы данных и архитектура "клиент-сервер"....................

8.  Среда Delphi как средство для разработки СУБД.....................................

8.1.  Высокопроизводительный компилятор в машинный код....................

8.2.  Мощный объектно-ориентированный язык..........................................

8.3.  Объектно-ориентированная модель программных компонент............

8.4.  Библиотека визуальных компонент.......................................................

8.5.  Формы, модули и метод разработки “Two-Way Tools”.......................

8.6.  Масштабируемые средства для построения баз данных......................

8.7.  Настраиваемая среда разработчика......................................................

8.8.  Незначительные требования к аппаратным средствам.........................

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

Инфологическая модель данных...................................................................

9.2.  Инфологическая модель данных "сущность-связь"..............................

9.3.  Даталогическая модель данных.............................................................

9.4.  Переход от ER – модели к реляционной...............................................

9.5.  Физическая модель данных....................................................................

9.6.  Этапы проектирования базы данных....................................................

10. Практическая часть......................................................................................

10.1.   Предметная область и задачи, возложенные на базу данных...........

10.2.   Определение объектов базы данных...................................................

10.3.   Инфологическая и даталогическая модели базы данных..................

10.4.   Физическое описание модели..............................................................

10.5.   Програмная реализация......................................................................

Заключение........................................................................................................

Список литературы...........................................................................................

ВВЕДЕНИЕ

         Опыт применения компьютеров для построения прикладных систем обработки данных показывает, что самым эффективным инструментом здесь являются системы управления базами данных (СУБД, англ. DBMS – DataBase Management System ).

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

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

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

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

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

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

484943745484943345 484942486">1.   Понятие информационной системы

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

Если мы рассмотрим совокупность некоторых объектов, то сможем выделить объекты, обладающие одинаковыми свойствами. Такие объекты выделяют в отдельные классы. Внутри выделенного класса объекты можно упорядочивать как по общим правилам классифицирования, например по алфавиту, так и по некоторым конкретным общим признакам, например по цвету или материалу. Группировка объектов по определенным признакам значительно облегчает поиск и отбор информации. Все эти сведения накапливаются в совокупности файлов называемой базой данных, а для управления этими файлами создаются специальные программы – системы управления базами данных (СУБД).[10].

Информационные системы (ИС) можно условно разделить на фактографические и документальные.

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

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

Указанная классификация ИС в известной мере устарела, так как современные фактографические системы часто работают с неструктурированными блоками информации (текстами, графикой, звуком, видео), снабженными структурированными описателями. При известных факторах фактографическая система может превратиться в документальную (и наоборот).[1,11].

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

484943746484943346 484942487">2.   Понятие базы данных.

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

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

Базу данных можно определить как совокупность взаимосвя­занных хранящихся вместе данных при наличии такой минималь­ной избыточности, которая допускает их использование оптималь­ным образом для одного или нескольких приложений; данные за­поминаются так, чтобы они были независимы от программ, использующих эти данные; для добавления новых или модифика­ции существующих данных, а также для поиска данных в базе данных применяется общий управляемый способ. [1,12].

Говорят, что система содержит совокупность баз данных, если эти базы дан­ных структурно полностью самостоятельны. В системах с простой организацией данных для каждого при­ложения создается своя совокупность записей. Назначение базы данных заключается в том, чтобы одну и ту же совокупность дан­ных можно было использовать для максимально возможного числа приложений. Исходя из этого, базу данных часто разрабатывают в качестве хранилища такой информации, необходимость в котором возникает в процессе выполнения определенных функ­ций на заводеправительственном учреждении или какой-либо другой организации.  Такая база данных должна обеспечивать возможность не только получения информации,  но также постоян­ной ее модификации,  необходимой для процессов управления в данной организации, может оказаться, что для получения информации для целей планирования или ответов на вопросы потребу­ется осуществлять поиск в базе данных. Совокупностью данных могут пользоваться несколько ведомств независимо от того, име­ются ли при этом между ними ведомственные барьеры.[12].

База данных может разрабатываться для пакетной обработки данных, обработки в реальном времени или оперативной обработ­ки (в этом случае обработка каждого запроса завершается к определенному моменту времени, но при этом на время обра­ботки не накладывается жестких ограничений, существующих в системах реального времени). Во многих базах данных преду­смотрена совокупность этих методов обработки, а во многих си­стемах с базами данных обслуживание терминалов в реальном времени происходит одновременно с пакетной обработкой данных.[2].

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

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

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

Одной из наиболее важных характеристик большинства баз данных является их постоянное изменение и расширение. По мере добавления новых типов данных или при появлении новых прило­жений должна быть обеспечена возможность быстрого изменения структуры базы данных. Реорганизация базы данных должна осу­ществляться по возможности без перезаписи прикладных про­грамм и в целом вызывать минимальное количество преобразова­ний. Простота изменения базы данных может оказать большое влияние на развитие приложений баз данных в управлении про­изводством.[10].

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

В том случае, когда один набор элементов данных использу­ется для многих приложений, между элементами этого набора устанавливается множество различных взаимосвязей, необходи­мых для соответствующих прикладных программ. Организация базы данных в значительной степени зависит от реализации взаи­мосвязей между элементами данных и записями, а также от того, как и где эти данные хранятся. В базе данных, используемой мно­гими приложениями, должны быть установлены многочисленные промежуточные взаимосвязи между элементами. В этом случае при хранении и использовании данных контролировать их пра­вильность, обеспечивать их защиту и секретность труднее, чем при хранении данных в простых, несвязанных файлах. Что касается обеспечения секретности данных и восстановления их после сбоев, то этот вопрос является очень важным при конструировании баз данных.[8].

В некоторых системах средства управления базами данных применяются для того, чтобы пользователи могли использовать данные таким путем, который не был предусмотрен разработчи­ками системы. Администраторы или сотрудники могут обращаться к вы­числительной системе с вопросами, которые заранее в ней не пре­дусматривались. Наличие этой возможности означает такую орга­низацию данных в системе, при которой доступ к ним можно осу­ществлять по различным путям, причем одни и те же данные могут использоваться для ответов на различные вопросы. Вся существенная информация об объектах запоминается одновременно и полностью, а не только та ее часть, которая необходима для одного приложения. [10].

В настоящее время существуют СУБД, реализующие эти возможности как на уровне локальных баз данных, расположенных на одном диске (Paradox, Dbase), так  и промышленных баз данных (Acsess, Oracle, FoxPro).

484943747484943347 484942488">3.   Эволюция концепций баз данных

Понятие база данных появилось в конце 60-х годов. До этого в сфере обработки данных говорили о файлах данных и о наборах данных.

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

Иногда использовались файлы с произвольным досту­пом к данным, которые позволяли пользователю получить непосредственный доступ к любой записи в файле вместо того, чтобы последовательно просматривать весь файл. Средства адресации записей обеспечивались прикладным программистом при написа­нии программы. Если изменялись запоминающие устройства, в прикладную программу необходимо было вносить большие изме­нения. На практике изменение запоминающих устройств неизбеж­но. Новая технология привела к значительному уменьшению за­трат на хранение одного бита информации, а размеры файлов сегодня часто превышают по объему использовавшиеся ранее за­поминающие устройства.[7].

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

Файлы, соответствующие этому этапу развития средств обра­ботки данных, подобно файлам этапа 1, предназначаются для одного приложения или для тесно связанных между собой прило­жений.

По мере развития средств обработки коммерческих данных становилось ясно, что прикладные программы желательно сделать независимыми не только от изменений в аппаратных средствах хранения файлов и от увеличения размеров файлов, но также и от добавления к хранимым данным новых полей и новых взаимо­связей.[7].

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

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

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

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

В зависимости от уровня программного обеспече­ния прикладной программист эле­мента данных должен также знать организацию файла данных. В этом случае ему, возможно, придется задать машинный адрес данных. Если отсутствует независимость данных, прикладному программисту необходимо знать точный физический формат запи­си. Самый худший вариант — это случай, когда программист дол­жен быть “навигатором”.[7].

Процесс преобразования обращения прикладного программи­ста к логической записи или к элементам логической записи в машинные обращения к физической записи и ее элементам называется привязкой. Привязка — это связь физического представле­ния данных с программой, которая эти данные использует. После выполнения процесса привязки программа уже не будет незави­симой от физических данных.[7, 3].

Итак,  для 3-го этапа:

·     Различные логические файлы могли быть получены из одних и тех же физических данных.

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

·     Программное обеспечение содержало средства уменьшения избыточно­сти данных.

·     Элементы данных являлись общими для различных приложений.

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

·     Данные адресуются на уровне полей или групп. [7].

 

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

Логическая независимость данных означает, что общая логи­ческая структура данных может быть изменена без изменения при­кладных программ (изменение, конечно, не должно заключаться в удалении из базы данных таких элементов, которые использу­ются прикладными программами).

Физическая независимость данных означает, что физическое расположение и организация данных могут изменяться, не вызы­вая при этом изменений ни общей логической структуры данных, ни прикладных программ.[7, 8, 3].

 Этап 4 характеризуется идей логической и физи­ческой независимости данных; логическая структура данных может сильно отличаться от физической структуры данных и от их пред­ставлений в конкретных прикладных программах. Программное обеспечение баз данных будет фактически преобразовывать пред­ставление данных прикладного программиста в общее логическое представление, а затем будет отображать логическое представле­ние в физическое представление данных.

Назначение такой структуры обеспечивает максимум свободы в изменении структур данных без переделки при этом выполненной ранее работы по формированию и использованию базы данных.

·     База данных может развиваться без больших затрат на ведение.

·     Средства, предусмотренные для администратора данных, позволяют ему выполнять функции контроллера и обеспечивать сохранность данных.

·     Обеспечиваются эффективные процедуры управления защитой секрет­ности, целостности и безопасности данных.

·     В некоторых системах используются инвертированные файлы, позво­ляющие осуществлять быстрый поиск данных в базе данных.

·     Базы данных конструируются для выдачи ответов на не планируемые заранее информационные запросы.

·     Обеспечиваются средства перемещения данных.[7].

484943748484943348 484942489">4.   Требования, которым должна удовлетворять организация базы данных.

Изучением этого вопроса долгое время занимались различные группы людей в учреждениях, использующих компьютеры, в правитель­ственных комиссиях, на вычислительных центрах коллективного пользования. Комитет CODASYL опубликовал отчеты на эту тему  (CODASYL—организация, разработавшая язык КОБОЛ). Организации пользователей IBM SHARE и GUIDE в своем отчете сформулировали требования к системе управления базами дан­ных. Организация ACiM (Association for Computing Machi­nery) также занималась изучением этого вопроса.

Ниже перечислены основные требования к организации базы данных.

484943749484943349 484942490">4.1.     Установление многосторонних связей

Различным программистам требуются различные логические файлы. Эти файлы получаются из одной и той же совокупности данных. Между элементами запоминаемых данных могут суще­ствовать различные связи. Некоторые базы данных будут содер­жать сложные переплетения взаимосвязей. Метод организации данных должен быть таким, чтобы обеспечивалась возможность удобного представления этих взаимосвязей и быстрого согласова­ния вносимых в них изменений. Система управления базами дан­ных должна обеспечивать возможность получения требуемых логи­ческих файлов из имеющихся данных и существующих между ними связей. Необходимо, чтобы существовало хотя бы небольшое сходство между представлением логического файла в прикладной программе и способом физического хранения данных.[7, 10, 11].

484943750484943350 484942491">4.2.     Производительность

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

В системах, предназначенных только для пакетной обработки, время ответа не так важно и метод физической организации мо­жет выбираться из условий обеспечения эффективной пакетной обработки.[7, 10, 11].

484943751484943351 484942492">4.3.     Минимальные затраты

Для уменьшения затрат на создание и эксплуатацию базы данных выбираются такие методы организации, которые миними­зируют требования к внешней памяти. При использовании этих методов физическое представление данных в памяти может сильно отличаться от того представления, которое использует прикладной программист. Преобразование одного представления в другое осу­ществляют программное обеспечение либо, если возможно, аппа­ратные или микропрограммные средства. В таких случаях прихо­дится выбирать между затратами на алгоритм преобразования и экономией памяти.[7, 10, 11].

484943752484943352 484942493">4.4.     Минимальная избыточность

В системах обработки, существовавших до использования си­стем управления базами данных, информационные фонды облада­ли очень высоким уровнем избыточности. Большинство ленточных библиотек содержало большое количество избыточных данных. Даже при использовании баз данных по мере возрастания инфор­мации, объединяемой в интегрированные базы данных, потен­циальная возможность появления избыточных данных постепенно увеличивается. Избыточные данные дороги в том смысле, что они занимают больше памяти, чем это необходи­мо, и требуют более одной операции обновления. Целью организации базы данных должно быть уничтожение избыточных данных там, где это выгодно, и контроль за теми про­тиворечиями, которые вызываются наличием избыточных данных.[7, 10, 11].

484943753484943353 484942494">4.5.     Возможности поиска

Пользователь базы данных может обращаться к ней с самыми различными вопросами по поводу хранимых данных. В большин­стве современных коммерческих приложений типы запросов предо­пределены, и физическая организация данных разрабатывается для их обработки с требуемой скоростью. Возросшие требования к системам заключаются в обеспечении обработки таких запро­сов или формирования таких ответов, которые заранее не запла­нированы. [7, 10, 11].

484943754484943354 484942495">4.6.     Целостность

Если база данных содержит данные, используемые многими пользователями, очень важно, чтобы элементы данных и связи между ними не разрушались. Необходимо учитывать возможность возникновения ошибок и различного рода случайных сбоев. Хра­нение данных, их обновление, процедуры включения данных должны быть такими, чтобы система в случае возникновения сбоев могла восстанавливать данные без потерь. Необходимо, чтобы вы­числительная система гарантировала целостность хранимых в ней данных.[7, 10, 11].

484943755484943355 484942496">4.7.     Безопасность и секретность

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

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

Секретность определяют как право отдельных лиц или орга­низаций определять, когда, как и какое количество соответствую­щей информации может быть передано другим лицам или орга­низациям.[7, 10, 11].

484943756484943356 484942497">4.8.     Связь с прошлым

Организации, которые в течение какого-то времени эксплуати­руют системы обработки данных, затрачивают значительные сред­ства на написание программ, процедур и организацию хранения данных. В том случае, когда фирма начинает использовать на вычислительной установке новое программное обеспечение управ­ления базами данных, очень важно, чтобы при этом она могла работать с уже существующими на этой установке программами, обрабатываемые данные можно было бы соответствующим образом преобразовывать. Такое условие требует наличия програм­мной и информационной совместимости, и ее отсутствие может стать основным сдерживающим фактором при переходе к новым системам управления базами данных. Важно, однако, чтобы про­блема связи с прошлым не сдерживала развитие средств управ­ления базами данных. [7, 10, 11].

484943757484943357 484942498">4.9.     Связь с будущим

Особенно важной представляется связь с будущим. В будущем данные и среда их хранения изменятся по многим направлениям. Любая коммерческая организация со временем претерпевает из­менения. Особенно дорогими эти изменения оказываются для пользователей системами обработки данных. Огромные затраты, которые требуются для реализации самых простых изменений, сильно тормозят развитие этих систем. Эти затраты расходуются на преобразование данных, перезапись и отладку прикладных программ, явившихся результатом внесения изменений. Со време­нем число прикладных программ в организации растет, и поэтому перспектива перезаписи всех этих программ кажется нереальной. Одна из самых важных задач при разработке баз данных—запла­нировать базу данных таким образом, чтобы изменения ее можно было выполнять без модификации прикладных программ.[7, 10, 11].

484943758484943358 484942499">4.10.   Простота использования

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

Интерфейс программного обеспечения должен быть ориентирован на конечного пользователя и учитывать возможность того, что пользователь не имеет необходимой базы знаний по теории баз данных. [7, 10, 11].

484943759484943359 484942500">5.   Модели представления данных

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

Современные БД  основываются на  использовании моделей данных (МД),  позволяющих описывать объекты предметных  областей и  взаимосвязи между ними  существуют три основные  МД и их комбинации, на которых основываются  БД: реляционная модель данных (РМД), сетевая модель данных (СМД), иерархическая модель данных (ИМД).

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

Используют взаимосвязи  "один  к  одному",  "один  ко многим" и "многие ко многим".  "Один к одному" - это взаимно  однозначное соответствие,  которое  устанавливается  между одним объектом и одним  атрибутом. "Один ко многим" - это соответствие между одним объектом и многими атрибутами. "Многие ко многим" - это соответствие между многими объектами и многими атрибутами. [10, 11, 12].

Рассмотрим эти модели данных более подробно.

484943760484943360 484942501">5.1.     Иерархическая модель данных

ИМД основана  на  понятии деревьев,  состоящих из вершин и ребер.  Вершине  дерева  ставится в  соответствие  совокупности атрибутов данных,  характеризующих некоторый объект.  Вершины и ребра  дерева  как бы образуют иерархическую древовидную структуру, состоящую из n уровней.

Первую вершину называют корневой вершиной.  Он  удовлетворяет условиям:

1.   Иерархия начинается с корневой вершины.

2.   Каждая  вершина  соответствует одному или нескольким атрибутам.

3.   Hа уровнях  с  большим номером находятся зависимые вершины. Вершин  предшествующего уровня является начальной для новых зависимых вершин.

4.   Каждая вершина, находящаяся на  уровне i, соединена  с одной и только одной вершиной уровня i-1, за  исключением корневой вершины.

5.  Корневая  вершина   может  быть  связана  с одной или несколькими зависимыми вершинами.

6.   Доступ  к  каждой вершине происходит через корневую по единственному пути

7.   Существует  произвольное  количество вершин каждого уровня.

Иерархическая модель  данных состоит из нескольких деревьев, т.е.  является лесом.  Каждая корневая вершин  образует начало записи логической базы данных.  В ИМД вершины, находящиеся на  уровне i, называют порожденными вершин ми н  уровне i-1.

Операции в  ИМД имеют  нелогичный позаписный характер. Аппарат перемещения по структуре  в  графовых  моделях служит для установки тех объектов данных,  к которым будет применяться очередная операция манипулирования данными. Такие объекты называются текущими. Механизмы доступа  к данным и перемещения по структуре данных в таких моделях достаточно сложны и существенным образом  опираются на концепцию текущего состояния механизма  доступа.[7, 10, 11, 12].

         Основные достоинства    ИМД:   простота    построения  и использования, обеспечение определенного  уровня  независимости данных, простота   оценки  операционных характеристик.  Основные недостатки: отношение  "многие  ко  многим"  реализуется  очень сложно, дает громоздкую структуру и требует хранения избыточных данных, что особенно нежелательно на  физическом уровне,  иерархическая упорядоченность усложняет операции удаления и  включения, доступ к любой вершине возможен только через корневую, что увеличивает время доступа.

К числу   СУБД   иерархического   типа   можно  отнести PC/Focus, Team-Up,  Data Edge,    также разработанную  в  нашей стране систему  HИКА,  преемницу  широко  распространенной  советской системы ИHЕС для ЕС ЭВМ.

Одной из наиболее важных сфер применения первых иерархических СУБД было планирование производства для компаний, занимающихся выпуском продукции. Например, если автомобильная компания хотела выпустить 10000 машин одной модели и 5000 машин другой модели, ей необходимо было знать, сколько деталей следует заказать у своих поставщиков. Чтобы ответить на этот вопрос, необходимо определить, из каких деталей состоят эти части и т.д. Например, машина состоит из двигателя, корпуса и ходовой части; двигатель состоит из клапанов, цилиндров, свеч и т.д. Работа со списками составных частей была как будто специально предназначена для компьютеров.

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

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


|
---------------------------------------------------------
| Рисунок убран из работы и доступен только в оригинальном файле. |
--------------------------------------------------------- --------------------------------------------------
Чтобы получить доступ к данным, содержащимся в базе данных, программа могла:

·             найти конкретную деталь (правую дверь) по её номеру;

·             перейти "вниз" к первому потомку (ручка двери);

·             перейти "вверх" к предку (корпус);

·             перейти "в сторону" к другому потомку (правая дверь).

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

Ограничения целостности.

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

В иерархических системах поддерживалась некоторая форма представлений БД на основе ограничения иерархии.

484943761484943361 484942502">5.2.     Сетевая модель  данных

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

В СМД  элементарные  данные  и  отношения  между  ними представляются в  виде  ориентированной  сети (вершины - данные, дуги - отношения).[7].


|
---------------------------------------------------------
| Рисунок убран из работы и доступен только в оригинальном файле. |
--------------------------------------------------------- --------------------------------------------------
Если структура данных оказывалась сложнее, чем обычная иерархия, простота структуры иерархической базы данных становилась её недостатком. Например, в базе данных для хранения заказов один заказ мог участвовать в трёх различных отношениях предок/потомок, связывающих заказ с клиентом, разместившим его, со служащим, принявшим его, и с заказанным товаром, что иллюстрирует рис. 2. Такие структуры данных не соответствовали строгой иерархии IMS.

В связи с этим для таких приложений, как обработка заказов, была разработана новая сетевая модель данных. Она являлась улучшенной иерархической моделью, в которой одна запись могла участвовать в нескольких отношениях предок/потомок. В сетевой модели такие отношения назывались множествами. В 1971 году на конференции по языкам систем данных был опубликован официальный стандарт сетевых баз данных, который известен как модель CODASYL. Компания IBM не стала разрабатывать собственную сетевую СУБД и вместо этого продолжала наращивать возможность IMS. Но в 70-х годах независимые производители программного обеспечения реализовали сетевую модель в таких продуктах, как IDMS компании Cullinet, Total компании Cincom и СУБД Adabas, которые приобрели большую популярность.

Сетевые базы данных обладали рядом преимуществ:

·             Гибкость. Множественные отношения предок/потомок позволяли сетевой базе данных хранить данные, структура которых была сложнее простой иерархии.

·             Стандартизация. Появление стандарта CODASYL популярность сетевой модели, а такие поставщики мини-компьютеров, как Digital Equipment Corporation и Data General, реализовали сетевые СУБД.

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

Конечно, у сетевых баз данных были недостатки. Как и иерархические базы данных, сетевые базе данных были очень жесткими. Наборы отношений и структуру записей приходилось задавать наперёд. Изменение структуры базы данных обычно означало перестройку всей базы данных.

Как иерархическая, так и сетевая база данных были инструментами программистов. Чтобы получить ответ на вопрос типа "Какой товар наиболее часто заказывает компания Acme Manufacturing?", программисту приходилось писать программу для навигации по базе данных. Реализация пользовательских запросов часто затягивалась на недели и месяцы, и к моменту появления программы информация, которую она предоставляла, часто оказывалась бесполезной.[7, 10].

Ограничения целостности.

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

484943762484943362 484942503">5.3.     Реляционная модель данных

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

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

Рисунок убран из работы и доступен только в оригинальном файле.

В ответ на неправильное использование термина "реляционный" Кодд в 1985 году написал статью, где сформулировал 12 правил, которым должна удовлетворять любая база данных, претендующая на звание реляционной. С тех пор двенадцать правил Кодда считаются определением реляционной СУБД. Однако можно сформулировать и более простое определение:

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

Приведенное определение не оставляет места встроенным указателям, имеющимся в иерархических и сетевых СУБД. Несмотря на это, реляционная СУБД также способна реализовать отношения предок/потомок, однако эти отношения представлены исключительно значениями данных, содержащихся в таблицах.

Поскольку в программной реализации дипломной работы избран реляционный подход, как наиболее подходящий, опишем его более подробно.[3, 7, 8, 12].

484943763484943363 484942504">5.3.1.        Таблицы

Таблицы – фундаментальные объекты реляционной базы данных, в которых хранится основная часть данных приложения. Отдельная таблица чаще всего хранит информацию по конкретной теме (например, сведения о служащих компании или адреса заказчиков). Информация в таблице организуется в строки (записи) и столбцы (поля). Таблице присущи два компонента: структура таблицы и данные таблицы.

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

Структура таблицы включает следующую информацию:

·     Имя таблицы - Имя, по которому к таблице можно обратиться в свойствах, методах и операторах SQL.

·     Столбцы таблицы - Категории информации, сохраненной в таблице. Каждый столбец имеет имя и тип данного.

·     Табличные и столбцовые ограничения - Ограничения целостности, определенные на уровне таблицы или на уровне столбца.[3, 7, 8, 12].


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

Каждый вертикальный столбец таблицы STUDENTS представляет один элемент данных для каждого из студентов. Например, в столбце GROUP содержатся номера групп, в которых расположены студенты. В столбце DATE содержатся даты рождения каждого студента.

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

На пересечении каждой строки с каждым столбцом таблицы содержится в точности одно значение данных. Например, во второй строке в столбце FAMILY содержится значение "ИВАНОВ". В столбце PODGRP той же строки содержится значение 1, которое является номером подгруппы, в которой находится данный студент.

Все значения, содержащиеся в одном и том же столбце, являются данными одного типа. Например, в столбце FAMILY содержатся только слова, в столбце DATE содержатся даты, а в столбце NUMBER содержатся целые числа, представляющие идентификаторы студентов. Множество значений, которые могут содержаться в столбце, называется доменом этого столбца. Доменом столбца FAMILY является множество фамилий студентов. Доменом столбца DATE является любая дата.

У каждого столбца в таблице есть своё имя, которое обычно служит заголовком столбца. Все столбцы в одной таблице должны иметь уникальные имена, однако разрешается присваивать одинаковые имена столбцам, расположенным в различных таблицах. На практике такие имена столбцов, как NUMBER, FAMILY, NAME, GROUP, DATE, PODGRP, часто встречаются в различных таблицах одной базы данных.

Столбцы таблицы упорядочены слева направо, и их порядок определяется при создании таблицы. В любой таблице всегда есть как минимум один столбец. В стандарте ANSI/ISO не указывается максимально допустимое число столбцов в таблице, однако почти во всех коммерческих СУБД этот предел существует и обычно составляет примерно 255 столбцов.

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

В таблице может содержаться любое количество строк. Вполне допустимо существование таблицы с нулевым количеством строк. Такая таблица называется пустой. Пустая таблица сохраняет структуру, определённую её столбцами, просто в ней не содержится данные. Стандарт ANSI/ISO не накладывает ограничений на количество строк в таблице, и во многих СУБД размер таблиц ограничен лишь свободным дисковым пространством компьютера. В других СУБД  имеется максимальный предел, однако он весьма высок - около двух миллиардов строк, а иногда и больше.[12].

484943764484943364 484942505">5.3.2.        Ключевые поля

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

Поскольку строки в реляционной таблице не упорядочены, нельзя выбрать строку по ее номеру в таблице. В таблице нет "первой", "последней" или "тринадцатой" строки. Тогда каким же образом можно указать в таблице конкретную строку, например строку для студента с фамилией Иванов?

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

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

Здесь опубликована для ознакомления часть дипломной работы "Наращивание экономической и статистической информации в двухструктурных реляционных базах данных". Эта работа найдена в открытых источниках Интернет. А это значит, что если попытаться её защитить, то она 100% не пройдёт проверку российских ВУЗов на плагиат и её не примет ваш руководитель дипломной работы!
Если у вас нет возможности самостоятельно написать дипломную - закажите её написание опытному автору»


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

Другие дипломные работы по специальности "Информатика":

Web-сайт для учителей информатики: анализ существующих и разработка нового приложения

Смотреть работу >>

Поиск фотооборудования

Смотреть работу >>

Автоматизированная система складского учета в ЗАО "Белгородский бройлер"

Смотреть работу >>

Автоматизированная система учета договоров страхования предпринимательских рисков

Смотреть работу >>

Создание информационно-справочной системы "Методический кабинет"

Смотреть работу >>