12158

ОБЩЕЕ ПОНЯТИЕ О БАЗЕ ДАННЫХ. МОДЕЛИ ДАННЫХ. СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

Лекция

Информатика, кибернетика и программирование

ОБЩЕЕ ПОНЯТИЕ О БАЗЕ ДАННЫХ. МОДЕЛИ ДАННЫХ. СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ База данных Всегда когда возникает потребность манипулирования большими массивами данных используются базы данных. В общем случае под данными понимается информация наход...

Русский

2013-04-24

182.07 KB

43 чел.

ОБЩЕЕ ПОНЯТИЕ О БАЗЕ ДАННЫХ. МОДЕЛИ ДАННЫХ. 

СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

  1.  База данных

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

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

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

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

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

  1.  Требования к организации данных

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

  1.  Неизбыточность данных.

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

  1.  Совместное использование данных.

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

  1.  Расширяемость базы данных.

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

  1.  Простота работы с базой данных.

Данное требование предполагает выполнение следующих условий:

  •  структура данных должна быть логичной и ясной как для программистов, так и для пользователей;
    •  операции доступа к данным должны обладать ясными и четко очерченными функциями;
      •  обслуживающие операции (копирование, расширение, перезапись и т.п.) должны выполняться без больших трудозатрат.
    1.  Эффективность доступа к базе данных.

Чаще всего под этим требованием понимают скорость доступа к данным при ограничениях на объем занимаемой при этом оперативной памяти.

  1.  Целостность базы данных.

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

  1.  Независимость данных от программы.

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

  1.  Секретность данных.

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

  1.  Модели данных 

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

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

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

В основе иерархической модели данных лежат иерархические отношения объектов, к которым можно отнести такие отношения, как «частьцелое», «родвид», отношение подчиненности.

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

1.3.2 Сетевая модель.

Данный тип моделей представлен сетевыми отношениями объектов, примерами которых могут служить отношения актеров и ролей, поставщиков и деталей и т. п. 

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

1.3.3 Реляционная модель.

Реляционная модель основывается на понятии отношения в том виде, как оно вводится в математике.

Пусть даны множества D1, D2,, Dn (не обязательно различные). R называется отношением на этих n множествах, если R есть множество упорядоченных кортежей d1, d2,, dn, таких, что d1D1, d2D2,, dnDn. Множества D1, D2,, Dn называются доменами отношения, а число nстепенью отношения.

Таким образом, каждое конкретное отношение на доменах D1, D2,, Dn  представляет собой подмножество декартова произведения этих доменов.

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

  1.  Системы управления базами данных

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

Известно множество СУБД, различающихся своими возможностями или обладающих равными возможностями и конкурирующих друг с другом: Paradox, dBase, Microsoft Access, FoxPro, Oracle, InterBase, Sybase и много других. 

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

К основным функциям СУБД относятся:

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


ПРИНЦИПЫ ПОСТРОЕНИЯ БАЗ ДАННЫХ. 

ТИПЫ БАЗ ДАННЫХ

2.1 Структура таблицы

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

Пример таблицы.

Номер

Группа

Фамилия

Имя

Отчество

Дата рождения

Характеристика

Фотография

Num

Group

Fam

Nam

Per

Data_r

Charact

Photo

1

2А

Иванов

Иван

Иванович

3.5.1987

2

2Б

Петров

Петр

Петрович

18.12.1988

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

Имя поляэто идентификатор, который используется в различных программах для манипуляции данными. Он строится по тем же правилам, что и любой идентификатор. Таким образом, имяэто не то, что отображается на экране или в отчете в заголовке столбца, а идентификатор, соответствующий этому заголовку. В нашем примере именами полей являются Num, Group, Fam и т.д., а заголовками полей –«Номер», «Группа», «Фамилия» и т.д.

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

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

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

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

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

В общем случае база данных помимо таблиц может содержать и другие объекты:

  •  вложенные таблицы, в которых значению поля одной таблицы соответствует некоторая другая таблица;
  •  обзоры или просмотры (View) –виртуальные таблицы, содержащие некоторые подмножества записей, отобранные по каким-то критериям;
  •  триггерыподпрограммы, автоматически выполняемые до или после изменения записи в таблице;
  •  генераторы, создающие уникальные значения, необходимые для ключевых полей;
  •  хранимые процедурыподпрограммы, принимающие какие-то параметры и возвращающие результаты заданной обработки данных.

В различных СУБД принят различный порядок организации и хранения данных:

  •  каждой таблице соответствует отдельный файл (Paradox и dBase). В этом случае база данныхэто каталог, в котором хранятся файлы таблиц;
  •  несколько таблиц хранятся как один файл (InterBase и MS Access). В этом случае база данныхэто имя файла с путем доступа к нему;
  •  все данные хранятся на отдельном компьютере (Sybase и MS SQL). В этом случае базы данных общаются с клиентом посредством специального языка, называемого языком запросов (SQL).

2.2 Индексы

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

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

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

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

2.3 Псевдонимы

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

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

2.4 Кэширование и транзакции

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

2.5 Типы баз данных 

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

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

2.5.1 Автономные базы данных.

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

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

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

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

2.5.2 Файл-серверные базы данных.

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

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

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

2.5.3 Базы данных типа клиент/сервер.

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

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

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

2.5.4 Многоярусные базы данных.

Иногда этот сравнительно новый и перспективный способ сетевой организации баз данных называется multi-tier (многонитевый). Здесь под нитью понимается один из множества потоков данных, обменивающихся одновременно с базой данных.

Наиболее распространен трехъярусный вариант, при котором:

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

Такая организация баз данных наиболее сложная и гибкая. 

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

Работа с данными в Delphi в основном осуществляется через процессор баз данных фирмы Borland, который называется Borland Database Engine (BDE). BDE служит посредником между приложением и базами данных. Он предоставляет пользователю единый интерфейс для работы и освобождает пользователя от конкретной реализации базы данных. Приложение Delphi никогда не обращается непосредственно к базе данных. Оно обращается только к BDE, сообщая обычно псевдоним базы данных и необходимую таблицу в ней. BDE реализован в виде динамически присоединяемых библиотек DLL (Dynamic Linking Library). BDE по псевдониму находит подходящий для указанной базы данных драйвервспомогательную программу, определяющую тип базы данных и методы обращения с ней. BDE поддерживает естественный доступ к таким базам данных, как MS Access, FoxPro, Paradox, dBase.


 

А также другие работы, которые могут Вас заинтересовать

18919. Семиологический подход к анализу массовой коммуникации. Знак. Типы знаков. Информативно-целевой анализ текста 29.5 KB
  Семиологический подход к анализу массовой коммуникации. Знак. Типы знаков. Информативноцелевой анализ текста Лена если про семиологический подход к МК и про знаки есть отправь мне pls. Метод информативноцелевого анализа текстов СМК был разработан Т.М. Дридзе в ра
18920. Сущность и типология политической культуры. Виды политического участия 53 KB
  Сущность и типология политической культуры. Виды политического участия. Содержание понятия политическая культура обычно включает весь исторический опыт память социальных общностей и отдельных индивидов в сфере политики их ориентации и навыки влияющие на поли...
18921. Государственная служба как открытая система. «Электронное правительство» 27.5 KB
  Государственная служба как открытая система. Электронное правительство Государственная служба жизнеспособна только в условиях тесного взаимодействия с другими управляемыми системами. Открытость системы управления обеспечивается высокой степенью адапти
18922. Облака тегов для параллельной фильтрации данных 429.5 KB
  В работе рассматривается метафора визуализации и взаимодействия – контекстное облако тегов, предназначенная для эффективной интерпретации результатов поиска в Интернете. Данная метафора построена на основание формальной модели, включающей два основных утверждения...
18923. Психологические механизмы и методы влияния на аудиторию 98.5 KB
  Психологические механизмы и методы влияния на аудиторию 1.Психоаналитические подходы используют бессознательное в целях манипуляции сознанием потребителя. Одним из главных мотивов рекламы стало отождествление товара услуги с подсознательными сексуальными мот
18924. Web –сайт, как технология связей с общественностью 40.5 KB
  Web –сайт как технология связей с общественностью. Несколько лет назад Интернет был новинкой и вызывал повышенные эмоции. В те времена когда только немногие организации действовали в online добиться успеха здесь было намного легче поскольку сайты вызывали интерес новиз
18925. Использование виэуального и вербального ресурсов в подготовке ПР-сообщения 44.5 KB
  Использование виэуального и вербального ресурсов в подготовке ПРсообщения Важный инструмент ПР совершенствование коммуникационных потоков. Необходим тщательный анализ аудитории и ее реакций. С аудиторией следует говорить преимущественно на ее языке постепенно...
18926. ПР-тексты и журналистские материалы: сходства и различия 34 KB
  ПРтексты и журналистские материалы: сходства и различия Предметом отображения PRтекста могут быть событие процесс ситуация отражающие деятельность базисного субъекта PR а также персона. Основные цели PRтекста – информирование и создание а иногад и поддержание о
18927. Взаимодействие ПР-специалиста и журналиста в производстве новостей. Инфотейнмент 135.5 KB
  Взаимодействие ПРспециалиста и журналиста в производстве новостей. Инфотейнмент Переход России к рыночной экономике коммерциализация СМИ способствовали тому что информация развлекательного характера активно завоевывать место на страницах газет и журналов в тел...