Реферат: База данных. Понятие базы данных. Виды баз данных. Объекты для работы с базами данных. Типы данн. Базы данных и информационные системы

Давайте на пару минут забудем о современных технологиях и вспомним, как обрабатывались и хранились данные лет двадцать назад. В те времена наиболее популярными типами компьютеров были мэйнфреймы семейства IBM-360/370 (многие из вас, наверное, еще застали их отечественные аналоги серии ЕС, производившиеся странами СЭВ) и мини-ЭВМ типа DEC PDP-11 (у которых также был отечественный аналог - СМ-4/СМ-1420). Как правило, при работе с такими компьютерами использовались неинтеллектуальные терминалы, управляемые все тем же мэйнфреймом или мини-ЭВМ (о такой экзотике, как устройства считывания перфокарт и перфолент, как средства предоставления пользовательского интерфейса, мы, пожалуй, вспоминать не будем).

Надо сказать, обработка данных с помощью мэйнфреймов и мини-ЭВМ имела свои преимущества, в определенной степени утраченные позже, в эпоху персональных компьютеров и настольных СУБД. К ним, в частности, относились:

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

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

Этот недостаток был одной из причин бурного роста индустрии персональных компьютеров - наряду с простотой в эксплуатации и невысокой стоимостью по сравнению с мэйнфреймами и мини-ЭВМ пользователей привлекали возможности персонализации рабочей среды, в особенности возможность выбора наиболее подходящего данному пользователю программного обеспечения. Именно в тот период и начался бурный рост популярности настольных СУБД, таких как dBase (РЕБУС) и, чуть позже, FoxBASE, Paradox, а также некоторых других, ныне благополучно забытых. Надо сказать, в то время происходили процессы заимствования и стандартизации удачных идей и подходов, что особенно заметно отразилось на судьбе такого продукта, как dBase, чей язык программирования и принципы организации данных были заимствованы многими другими производителями в своих продуктах. Впрочем, о dBase и совместимых с ним продуктах мы поговорим чуть позже.

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

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

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

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

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

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

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

Рассмотрев, какими бывают базы данных, вернемся к настольным СУБД и поговорим о наиболее популярных из них.

Наиболее популярные настольные СУБД

На сегодняшний день известно более двух десятков форматов данных настольных СУБД, однако наиболее популярными, исходя из числа проданных копий, следует признать dBase, Paradox, FoxPro и Access. Из появившихся недавно СУБД следует также отметить Microsoft Data Engine - по существу серверную СУБД, представляющую собой «облегченную» версию Microsoft SQL Server, но предназначенную, тем не менее, для использования главным образом в настольных системах и небольших рабочих группах.

Сведения о производителях перечисленных выше СУБД представлены в следующей таблице.

СУБД Производитель URL
Visual dBase dBase, Inc http://www.dbase2000.com
Paradox Corel http://www.corel.com
Microsoft Access 2000 Microsoft http://www.microsoft.com
Microsoft FoxPro Microsoft http://www.microsoft.com
Microsoft Visual FoxPro Microsoft http://www.microsoft.com
Microsoft Visual FoxPro Microsoft http://www.microsoft.com
Microsoft Data Engine Microsoft http://www.microsoft.com

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

dBase и Visual dBase

Первая промышленная версия СУБД dBase - dBase II (принадлежащая тогда компании Ashton-Tate, приобретенной позже компанией Borland) появилась в начале 80-х годов. Благодаря простоте в использовании, нетребовательности к ресурсам компьютера и, что не менее важно, грамотной маркетинговой политике компании-производителя этот продукт приобрел немалую популярность, а с выходом следующих его версий - dBase III и dBase III Plus (1986 г.), оснащенных весьма комфортной по тем временам средой разработки и средствами манипуляции данными, быстро занял лидирующие позиции среди настольных СУБД и средств создания использующих их приложений.

Хранение данных в dBase основано на принципе «одна таблица - один файл» (эти файлы обычно имеют расширение *.dbf). MEMO-поля и BLOB-поля (доступные в поздних версиях dBase) хранятся в отдельных файлах (обычно с расширением *.dbt). Индексы для таблиц также хранятся в отдельных файлах. При этом в ранних версиях этой СУБД требовалась специальная операция реиндексирования для приведения индексов в соответствие с текущим состоянием таблицы.

Формат данных dBase является открытым, что позволило ряду других производителей заимствовать его для создания dBase-подобных СУБД, частично совместимых с dBase по форматам данных. Например, весьма популярная некогда СУБД FoxBase (разработанная Fox Software, Inc. и ныне принадлежащая Microsoft) использовала формат данных dBase для таблиц, однако форматы для хранения MEMO-полей и индексов были своими собственными, несовместимыми с dBase. Очень популярное в начале 90-х годов (и кое-где применяемое до сих пор) средство разработки Clipper компании Nantucket Corp (приобретенной впоследствии компанией Computer Associates) манипулировало как с данными формата dBase III (включая индексные файлы и файлы для MEMO-полей), так и с индексными файлами собственного формата.

Помимо популярного формата данных dBase является родоначальником и некогда популярного семейства языков программирования, получившего называние xBase. Все языки этого семейства, использующиеся и в FoxBase, и в Clipper, и в некоторых более поздних средствах разработки, таких как канувший в Лету CA Visual Objects фирмы Computer Associates, содержат сходный набор команд для манипуляции данными и являются по существу интерпретируемыми языками. В роли интерпретатора команд xBase выступает обычно либо среда разработки приложения на этом языке, либо среда времени выполнения, которую можно поставлять вместе с приложением. Отметим, что для скрытия исходного текста xBase-приложения подобные СУБД обычно содержат утилиты для псевдокомпиляции кода, который затем поставляется вместе со средой времени выполнения. В случае Clipper среда времени выполнения содержится в самом исполняемом файле (и сам Clipper формально считается компилятором), но тем не менее этот язык по существу также является интерпретируемым.

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

Отметим, однако, что для работы с данными формата dBase (или иных dBase-подобных СУБД) совершенно необязательно пользоваться диалектами xBase. Доступ к этим данным возможен с помощью ODBC API (и соответствующих драйверов) и некоторых других механизмов доступа к данным (например, Borland Database Engine, некоторых библиотек других производителей типа СodeBase фирмы Sequenter), и это позволяет создавать приложения, использующие формат данных dBase, практически с помощью любого средства разработки, поддерживающего один из этих механизмов доступа к данным.

После покупки dBase компанией Borland этот продукт, получивший впоследствии название Visual dBase, приобрел набор дополнительных возможностей, характерных для средств разработки этой компании и для имевшейся у нее другой настольной СУБД - Paradox. Среди этих возможностей были специальные типы полей для графических данных, поддерживаемые индексы, хранение правил ссылочной целостности внутри самой базы данных, а также возможность манипулировать данными других форматов, в частности серверных СУБД, за счет использования BDE API и SQL Links.

В настоящее время Visual dBase принадлежит компании dBase, Inc. Его последняя версия - Visual dBase 7.5 имеет следующие возможности:

  • Средства манипуляции данными dBase и FoxPro всех версий.
  • Средства публикации данных в Internet и создания Web-клиентов.
  • Ядро доступа к данным Advantage Database Server фирмы Extended Systems и ODBC-драйвер для доступа к данным этой СУБД.
  • Средства публикации отчетов в Web.
  • Средства генерации исполняемых файлов и дистрибутивов.

В настоящее время к Visual dBase в качестве дополнения может быть приобретен компонент dConnections, позволяющий осуществить доступ к данным Oracle, Sybase, Informix, MS SQL Server, DB2, InterBase из Visual dBase 7.5 и приложений, созданных с его помощью.

Компания dBase, Inc объявила также о проекте dBASE Open Source, целью которого является разработка сообществом пользователей dBase новых компонентов и классов с целью включения их в последующую версию dBase (получившую название dBase 2000). Иными словами, имеется тенденция превращения dBase (или его частей) в некоммерческий продукт с доступными исходными текстами.

Paradox

Paradox был разработан компанией Ansa Software, и первая его версия увидела свет в 1985 году. Этот продукт был впоследствии приобретен компанией Borland. С июля 1996 года он принадлежит компании Corel и является составной частью Corel Office Professional.

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

Принцип хранения данных в Paradox сходен с принципами хранения данных в dBase - каждая таблица хранится в своем файле (расширение *.db), MEMO- и BLOB-поля хранятся в отдельном файле (расширение *.md), как и индексы (расширение *.px).

Однако, в отличие от dBase, формат данных Paradox не является открытым, поэтому для доступа к данным этого формата требуются специальные библиотеки. Например, в приложениях, написанных на C или Pascal, использовалась некогда популярная библиотека Paradox Engine, ставшая основой Borland Database Engine. Эта библиотека используется ныне в приложениях, созданных с помощью средств разработки Borland (Delphi, C++Builder), в некоторых генераторах отчетов (например, Crystal Reports) и в самом Paradox. Существуют и ODBC-драйверы к базам данных, созданным различными версиями этой СУБД.

Отметим, однако, что отсутствие «открытости» формата данных имеет и свои достоинства. Так как в этой ситуации доступ к данным осуществляется только с помощью «знающих» этот формат библиотек, простое редактирование подобных данных по сравнению с данными открытых форматов типа dBase существенно затруднено. В этом случае возможны такие недоступные при использовании «открытых» форматов данных сервисы, как защита таблиц и отдельных полей паролем, хранение некоторых правил ссылочной целостности в самих таблицах - все эти сервисы предоставляются Paradox, начиная с первых версий этой СУБД.

По сравнению с аналогичными версиями dBase ранние версии Paradox обычно предоставляли разработчикам баз данных существенно более расширенные возможности, такие как использование деловой графики в DOS-приложениях, обновление данных в приложениях при многопользовательской работе, визуальные средства построения запросов, на основе интерфейса QBE - Query by Example (запрос по образцу), средства статистического анализа данных, а также средства визуального построения интерфейсов пользовательских приложений с автоматической генерацией кода на языке программирования PAL (Paradox Application Language).

Windows-версии СУБД Paradox, помимо перечисленных выше сервисов, позволяли также манипулировать данными других форматов, в частности dBase и данными, хранящимися в серверных СУБД. Такую возможность пользователи Paradox получили благодаря использованию библиотеки Borland Database Engine и драйверов SQL Links. Это позволило использовать Paradox в качестве универсального средства управления различными базами данных (существенно облегченная версия Paradox 7 под названием Database Desktop по-прежнему входит в состав Borland Delphi и Borland C++Builder именно с этой целью). Что же касается базового формата данных, используемого в этом продукте, то он обладает теми же недостатками, что и все форматы данных настольных СУБД, и поэтому при возможности его стараются заменить на серверную СУБД, даже сохранив сам Paradox как средство разработки приложений и манипуляции данными.

Текущая версия данной СУБД - Paradox 9, поставляется в двух вариантах - Paradox 9 Standalone Edition и Paradox 9 Developer’s Edition. Первый из них предназначен для использования в качестве настольной СУБД и входит в Corel Office Professional, второй - в качестве как настольной СУБД, так и средства разработки приложений и манипуляции данными в серверных СУБД. Обе версии содержат:

  • Средства манипуляции данными Paradox и dBase.
  • Средства создания форм, отчетов и приложений.
  • Средства визуального построения запросов.
  • Средства публикации данных и отчетов в Internet и создания Web-клиентов.
  • Corel Web-сервер.
  • ODBC-драйвер для доступа к данным формата Paradox из Windows-приложений.
  • Средства для доступа к данным формата Paradox из Java-приложений.

Помимо этого Paradox 9 Developer’s Edition содержит:

  • Run-time-версию Paradox для поставки вместе с приложениями.
  • Средства создания дистрибутивов.
  • Драйверы SQL Links для доступа к данным серверных СУБД.

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

Microsoft FoxPro и Visual FoxPro

FoxPro ведет свое происхождение от настольной СУБД FoxBase фирмы Fox Software. Разрабатывая FoxBase в конце 80-х годов, эта компания преследовала цель создать СУБД, функционально совместимую с dBase с точки зрения организации файлов и языка программирования, но существенно превышающую ее по производительности. Одним из способов повышения производительности являлась более эффективная организация индексных файлов, нежели в dBase, - по формату индексных файлов эти две СУБД несовместимы между собой.

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

Впоследствии этот продукт был приобретен компанией Microsoft. Его последние версии (начиная с версии 3.0, выпущенной в 1995 году) получили название Visual FoxPro. С каждой новой версией этот продукт оказывался все более и более интегрирован с другими продуктами Microsoft, в частности с Microsoft SQL Server, - в состав Visual FoxPro в течение нескольких последних лет входят средства переноса данных FoxPro в SQL Server и средства доступа к данным этого сервера из Visual FoxPro и созданных с его помощью приложений. Хотя формат данных FoxPro также модифицировался с каждой новой версией, приобретая такие возможности, как хранение правил ссылочной целостности и некоторых бизнес-правил в самой базе данных, миграции приложений Visual FoxPro на серверные платформы уделялось значительно большее внимание.

Последняя версия этого продукта - Visual FoxPro 6.0, доступна и отдельно, и как составная часть Microsoft Visual Studio 6.0. Отличительной особенностью этой настольной СУБД от двух рассмотренных выше является интеграция этого продукта с технологиями Microsoft, в частности поддержка COM (Component Object Model - компонентная объектная модель, являющаяся основой функционирования 32-разрядных версий Windows и организации распределенных вычислений в этой операционной системе), интеграция с Microsoft SQL Server, возможности создания распределенных приложений, основанных на концепции Windows DNA (Distributed interNet Applications).

Visual Fox Pro 6.0 предоставляет следующие возможности:

  • Средства публикации данных в Internet и создания Web-клиентов.
  • Средства создания ASP-компонентов и Web-приложений.
  • Средства создания COM-объектов и объектов для Microsoft Transaction Server, позволяющих создавать масштабируемые многозвенные приложения для обработки данных.
  • Средства доступа к данным серверных СУБД, базирующиеся на использовании OLE DB (набор COM-интерфейсов, позволяющий осуществить унифицированный доступ к данным из разнообразных источников, в том числе из нереляционных баз данных и иных источников, например Microsoft Exchange).
  • Средства доступа к данным Microsoft SQL Server и Oracle, включая возможность создания и редактирования таблиц, триггеров, хранимых процедур
  • Средства отладки хранимых процедур Microsoft SQL Server.
  • Средство визуального моделирования компонентов и объектов, являющиеся составными частями приложения - Visual Modeller.
  • Средство для управления компонентами приложений, позволяющее осуществлять их повторное использование.

Итак, тенденции развития этого продукта очевидны: из настольной СУБД Visual FoxPro постепенно превращается в средство разработки приложений в архитектуре «клиент/сервер» и распределенных приложений в архитектуре Windows DNA. Впрочем, эти тенденции в определенной степени характерны для всех наиболее популярных настольных СУБД - мы уже убедились, что и dBase, и Paradox также позволяют осуществлять доступ к наиболее популярным серверным СУБД.

Microsoft Access

Первая версия СУБД Access появилась в начале 90-х годов. Это была первая настольная реляционная СУБД для 16-разрядной версии Windows. Популярность Access значительно возросла после включения этой СУБД в состав Microsoft Office.

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

Последняя версия этой СУБД - Access 2000 входит в состав Microsoft Office 2000 Professional и Premium, а также доступна как самостоятельный продукт. В состав Access 2000 входят:

  • Средства манипуляции данными Access и данными, доступными через ODBC (последние могут быть «присоединены» к базе данных Access).
  • Средства создания форм, отчетов и приложений; при этом отчеты могут быть экспортированы в формат Microsoft Word или Microsoft Excel, а для создания приложений используется Visual Basic for Applications, общий для всех составных частей Microsoft Office.
  • Средства публикации отчетов в Internet.
  • Средства создания интерактивных Web-приложений для работы с данными (Data Access Pages).
  • Средства доступа к данным серверных СУБД через OLE DB.
  • Средства создания клиентских приложений для Microsoft SQL Server.
  • Средства администрирования Microsoft SQL Server.

Поддержка COM в Access выражается в возможности использовать элементы управления ActiveX в формах и Web-страницах, созданных с помощью Access. В отличие от Visual FoxPro создание COM-серверов с помощью Access не предполагается.

Иными словами, Microsoft Access может быть использован, с одной стороны, в качестве настольной СУБД и составной части офисного пакета, а с другой стороны, в качестве клиента Microsoft SQL Server, позволяющего осуществлять его администрирование, манипуляцию его данными и создание приложений для этого сервера.

Помимо манипуляции данными Microsoft SQL Server, Access 2000 позволяет также в качестве хранилища данных использовать Microsoft Data Engine (MSDE), представляющий собой по существу настольный сервер баз данных, совместимый с Microsoft SQL Server. Об этом продукте, относительно новом по сравнению с остальными, рассмотренными в данном обзоре, речь пойдет в следующем разделе данной статьи.

Microsoft Data Engine

MSDE представляет собой СУБД, базирующуюся на технологиях Microsoft SQL Server, но предназначенную для использования в настольных системах или в сетевых приложениях с объемом данных до 2 Гбайт и небольшим количеством пользователей. По существу MSDE является облегченной версией Microsoft SQL Server, не содержащей средств администрирования, и к настольным СУБД может быть отнесена весьма условно.

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

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

MSDE входит в состав Microsoft Office 2000 Premium или Developer, а также доступна на Web-сайте Microsoft для зарегистрированных пользователей Visual Studio 6.0 Professional, Enterprise Edition либо любого из средств разработки, являющегося частью Visual Studio 6.0 Professional или Enterprise Edition. MSDE может свободно распространяться в составе приложений, созданных с помощью любого из средств разработки, входящего в состав Visual Studio 6.0 или Office 2000 Developer.

Заключение

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

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

Помимо этого все современные СУБД, за исключением Corel Paradox, в качестве альтернативы собственному формату данных позволяют использовать для создания настольных приложений облегченные серверы баз данных, предназначенные для использования на одном компьютере или в рамках небольшой рабочей группы. Иными словами, история развития настольных СУБД отражает современные тенденции развития информационных систем, такие как создание распределенных систем с использованием Internet или Intranet, применение средств быстрой разработки приложений и массовый перенос приложений, использующих базы данных, включая настольные приложения, в архитектуру «клиент/сервер».

Следующая статья данного цикла будет посвящена архитектуре «клиент/сервер» и серверным СУБД, таким как IB Database, Microsoft SQL Server, Oracle, Sybase и Informix.

КомпьютерПресс 4"2000

В статье рассказывается о роли баз данных в современных реалиях и сформировано определение. Помимо этого, указываются виды баз данных и их классификация на основе структуры хранения данных. MySQL как эталонная СУБД для хранения данных в интернет-пространстве.

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

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

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

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

  • иерархические;
  • сетевые;
  • реляционные;

Рассмотрим каждый из них.

Иерархическая база данных

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

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

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

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

Сетевая база данных

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

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

Реляционная база данных

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

Таблица здесь является способом хранения введённых в неё данных и способна реагировать на любые обращения со стороны СУБД. Главная проблема в работе с реляционными базами данных состоит в их правильном проектировании.

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

  1. база данных должна быть компактной и не содержать избыточных компонентов;
  2. обработка базы данных должны происходить просто.

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

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

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

СУБД

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

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

Неструктурированные базы данных (NoSQL) создают структуру по ходу и убирают необходимость в создании жёстко определённых связей между данными. Здесь можно экспериментировать с разными способами доступа к тем или иным видам данных.

К реляционным базам данных относятся:

  • SQLite;
  • MySQL;
  • PostgreSQL.

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

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

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

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

Сравнение SQL и NoSQL

  1. Если SQL-системы основаны исключительно на строгом представлении данных, то NoSQL-системы предоставляют свободу и способны работать с любым типом данных.
  2. SQL-системы стандартизированы, за счёт чего запросы формируются с использованием языка SQL. В то же время NoSQL-системы базируются на специфической для каждой из них технологии, что является недостатком.
  3. Масштабируемость. Обе СУБД способны обеспечить вертикальное масштабирование, то есть увеличить объём системных ресурсов на обработку данных. При этом NoSQL, будучи более новой разновидностью баз данных, позволяет применять простые методы горизонтального масштабирования.
  4. В плане надёжности SQL обладает уверенным лидерством.
  5. У SQL-баз есть качественная техническая поддержка за счёт их продолжительной истории, в то время как NoSQL-системы весьма молоды и и решить какую-либо проблему сложнее.
  6. Хранение данных и доступ к их структурам в рамках реляционных систем лучше всего происходит в SQL-системах.

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

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

Что такое база данных в информатике

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

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

Что такое СУБД и SQL

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

Любой программный продукт имеет свой язык, при помощи которого он управляется. Не исключение и СУБД. Один из основных языков для общения с СУБД является SQL (structured query language - язык структурированных запросов) .

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

Я уверен вы не думаете, что существует одна универсальная СУБД. И правильно, их десятки. В рамках этого раздела мы ограничим себя работой с бесплатной и самой распространенной СУБД MySQL.

СУБД MySQL

СУБД MySQL работает только с реляционными базами данных. Реляционные базы данных наиболее просты для первичного изучения. Кроме этого они используются на всех хостингах и серверах для массового пользования.

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

ЗНАЧЕНИЯ ТЕОРИИ. Понятие значения в аналитической философии языка фактически является аналогом того, что в философии сознания именуется «mind», «consciousness» (англ.), или «Geist» (нем.), т.е. сознанием, духом. В понятии значения… … Энциклопедия эпистемологии и философии науки

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

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

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

Син. термина значения возраста несогласующиеся или расходящиеся. Геологический словарь: в 2 х томах. М.: Недра. Под редакцией К. Н. Паффенгольца и др.. 1978 … Геологическая энциклопедия

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

Син. термина значения возраста согласующиеся. Геологический словарь: в 2 х томах. М.: Недра. Под редакцией К. Н. Паффенгольца и др.. 1978 … Геологическая энциклопедия

значения параметров аномального режима работы - данные аномального режима работы [Интент] Параллельные тексты EN RU The P63x generates a large number of signals, processes binary input signals, and acquires measured data during fault free operation of the protected object as well as fault… …

Термины и понятия общей морфологии: Словарь-справочник

значения глагольной ориентации - Значения пространственной модификации действий и производные от них … Словарь лингвистических терминов Т.В. Жеребило

значения (напряжения) между линией и землёй - — [Я.Н.Лугинский, М.С.Фези Жилинская, Ю.С.Кабиров. Англо русский словарь по электротехнике и электроэнергетике, Москва, 1999 г.] Тематики электротехника, основные понятия EN line to ground values … Справочник технического переводчика

Книги

  • , А. Потебня. Воспроизведено в оригинальной авторской орфографии издания 1888 года (издательство`Воронеж`). В…
  • Значения множественного числа в русском языке , А. Потебня. Эта книга будет изготовлена в соответствии с Вашим заказом по технологии Print-on-Demand. Воспроизведено в оригинальной авторской орфографии издания 1888 года (издательство "Воронеж"…

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

Терминология

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

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

Виды БД

В теории различают несколько их видов. Бывают:

  • Реляционные базы данных (от английского слова relation, что переводится как "связь") - характеризируются отношениями и выражены в совокупности взаимосвязанных сущностей. Последние представлены в виде табличек, в которых содержатся данные БД. Это наиболее распространенный
  • Иерархические - связи на уровне "предок-потомок", "начальник-подчиненный".
  • Сетевые - ответвление от предыдущего вида.
  • Объектно-ориентированные, которые напрямую работают с соответствующей методологией

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

БД - это табличка?

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

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

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

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

Связи между таблицами

Для обеспечения связей между таблицами в СУБД есть схемы данных. Связи бывают:

  • "Один-к-одному" - каждой записи таблицы соответствует только одна запись из другой таблички.
  • "Один-ко-многим" и "многие-ко-многим". Одной записи может соответствовать сразу несколько из связанной таблицы. И наоборот (для второго варианта).
  • "Многие-ко-многим". Уже нетрудно догадаться, что в этом случае для нескольких строк может быть подобрано для связи несколько строк другой таблицы (такая связь организовывается при помощи промежуточной таблицы и двух связей вышеуказанного вида).

Движение вверх и вниз

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

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

Расширяем связи

Сетевые БД стали решением недостатка иерархических, названного чуть выше. Единственным отличием этого типа от предыдущего стала связь "многие-ко-многим", которая в данном случае проявляется в том, что как предок может иметь много наследников, так и они, потомки, могут происходить сразу от нескольких узлов.

Табличный способ отображения

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

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

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




Top