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

Эволюция концепций баз данных. Требования, которым должна удовлетворять организация базы данных. Модели представления данных. Язык SQL как стандартный язык баз данных. Архитектуры баз данных. Среда Delphi как средство для разработки СУБД.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 26.11.2004
Размер файла 278,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

1

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

    • СОДЕРЖАНИЕ

  • Введение
  • 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, располагающей широкими возможностями по созданию приложений баз данных, необходимым набором драйверов для доступа к самым известным форматам баз данных, удобными и развитыми средствами для доступа к информации, расположенной как на локальном диске, так и на удаленном сервере, а также большим коллекцией визуальных компонент для построения отображаемых на экране окон, что необходимо для создания удобного интерфейса между пользователем и исполняемым кодом.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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].

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

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

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

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

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

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

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

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

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

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 столбцов.

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


Подобные документы

  • Базы данных с двумерными файлами и реляционные системы управления базами данных (СУБД). Создание базы данных и обработка запросов к ним с помощью СУБД. Основные типы баз данных. Базовые понятия реляционных баз данных. Фундаментальные свойства отношений.

    реферат [57,1 K], добавлен 20.12.2010

  • Модели информационного процесса обработки данных. Классификация баз данных. Сеть архитектуры и технология клиент-сервер. Создание запросов к реляционным базам данных на SQL. Работа с электронными таблицами MS Excel: форматирование данных, вычисления.

    контрольная работа [17,8 K], добавлен 17.01.2010

  • Анализ реляционных баз данных и способов манипулирования ими. Основные понятия баз данных, архитектура СУБД, модели данных. Модель сущность-связь, характеристика связей, классификация сущностей, структура первичных и внешних ключей, целостности данных.

    курсовая работа [166,6 K], добавлен 18.07.2012

  • Формы представляемой информации. Основные типы используемой модели данных. Уровни информационных процессов. Поиск информации и поиск данных. Сетевое хранилище данных. Проблемы разработки и сопровождения хранилищ данных. Технологии обработки данных.

    лекция [15,5 K], добавлен 19.08.2013

  • Термины "логический" и "физический" как отражение различия аспектов представления данных. Методы доступа к записям в файлах. Структура систем управления базами данных. Отличительные особенности обработки данных, характерные для файловых систем и СУБД.

    лекция [169,7 K], добавлен 19.08.2013

  • Общие понятия о базах данных. Требования к организации информации. Системы управления и администрация баз данных. Загрузка базы и формирование отчетов. Язык запросов и диалоговые средства. Режим работы с Access. Общая характеристика школы №1 п. Бисерть.

    дипломная работа [203,3 K], добавлен 19.10.2011

  • Построение банков данных. Инструментальные средства баз данных Borland. Принцип работы и архитектура баз данных в Delphi. Навигационный способ доступа к базам данных: операции с таблицей, сортировка и перемещение по набору данных, фильтрация записей.

    курсовая работа [642,7 K], добавлен 06.02.2014

  • Принципы и критерии построения распределенных баз данных. Ряд свойств, которым по К. Дейту должна удовлетворять распределенная база данных: независимость узлов, прозрачность расположения, обработка распределенных запросов. Типы распределенных баз данных.

    реферат [131,5 K], добавлен 18.06.2013

  • Разработка системы "РЭО-ГАИ" и соответствующей ей базы данных, позволяющей документировать в электронном виде автоматизацию учета движений автомобилей. Язык SQL - стандартный язык доступа к реляционным базам данных. Структура программы и описание модулей.

    курсовая работа [83,1 K], добавлен 18.08.2009

  • Работа с хранящейся в базах данных информацией. Язык описания данных и язык манипулирования данными. Распространение стандартизованных языков. Структурированный язык запросов SQL. Язык запросов по образцу QBE. Применение основных операторов языка.

    презентация [76,2 K], добавлен 14.10.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.