Основные сведения о базах данных. Базы данных и информационные системы

В широком смысле слова база данных (БД) - это совокупность сведений о конкретных объектах реального мира в какой-либо предметной области.

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

База данных (в узком смысле слова) — поименованная совокупность структурированных данных относящихся к некоторой предметной области

В реальной деятельности в основном используют системы БД.

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

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

Однопользовательская система (single-user system) - это система, в которой в одно и то же время к БД может получить доступ не более одного пользователя.

Многопользовательская система (multi-user system) - это система, в которой в одно и то же время к БД может получить доступ несколько пользователей.

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

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

Система баз данных содержит четыре основных элемента: данные, аппаратное обеспечение, программное обеспечение и пользователи .

Данные в БД являются интегрированными и общими .

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

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

К аппаратному обеспечению относятся:

Накопители для хранения информации вместе с подсоединенными устройствами ввода-вывода, каналами ввода-вывода и т.д.

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


ТУТ ВОЗНИКЛИ ВОПРОСЫ

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

В этой таблице данные - это собственно номера телефонов, адреса и ФИО., т.е. строки «Иванов Иван Иванович», «32-43-12» и т.п., а названия столбцов этой таблицы, т.е. строки «ФИО», «Номер телефона» и «Адрес» задают смысл этих данных, их семантику.

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

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

Для точности дадим определение базы данных , предлагаемое Глоссарий.ру

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

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

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

Примеры объектных СУБД : Cache , GemStone (от Servio Corporation), ONTOS (ONTOS).

В последнее время производители СУБД стремятся соединить два этих подхода и проповедуют объектно-реляционную модель представления данных. Примеры таких СУБД - IBM DB2 for Common Servers, Oracle8 .

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

Ключи

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

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

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

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

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

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

Например, у нас есть три таблицы: содержащая информацию об исторических личностях (Persons), содержащая информацию об их изобретениях (Artifacts) и содержащая изображения как личностей, так и артефактов (Images) (рис 10.1).

Первичным ключом во всех этих таблицах является поле id (идентификатор). В таблице Artifacts есть поле author, в котором записан идентификатор, присвоенный автору изобретения в таблице Persons. Каждое значение этого поля является внешним ключом для первичного ключа таблицы Persons. Кроме того, в таблицах Persons и Artifacts есть поле photo, которое ссылается на изображение в таблице Images.

Эти поля также являются внешними ключами для первичного ключа таблицы Images и устанавливают однозначную логическую связь Persons-Images и Artifacts-Images. То есть если значениевнешнего ключа photo в таблице личности равно 10, то это значит, что фотография этой личности имеет id=10 в таблице изображений. Таким образом, внешние ключи используются для организации связей между таблицами базы данных (родительскими и дочерними) и для поддержания ограничений ссылочной целостности данных.

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

База данных

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

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

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

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

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

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

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

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

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

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

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

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

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

Реляционные СУБД и язык SQL

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

Для управления реляционными базами данных применяется особый язык программирования - SQL. Сокращение расшифровывается как “Structured query language”, в переводе на русский «язык структурированных запросов».

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

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


MySQL

MySQL является одной из самых популярных и распространенных СУБД, которая используется во многих компаниях (например, Facebook, Wikipedia, Twitter, LinkedIn, Alibaba и других). MySQL представляет собой реляционную СУБД, которая относится к свободному программному обеспечению: она распространяется на условиях GNU Public License. Как правило, эту систему управления базами данных определяют как хорошую, быструю и гибкую систему, рекомендованную к применению в небольших или средних проектах. У MySQL есть множество различных преимуществ. Например, она поддерживает различные типы таблиц: как известные MyISAM и InnoDB, так и более экзотичные HEAP и MERGE; кроме того, количество поддерживаемых типов постоянно растет. MySQL выполняет все команды быстро - возможно, сейчас это самая быстрая СУБД из всех существующих. С этой системой управления базами данных может одновременно работать неограниченное количество пользователей, а число строк в таблицах может быть равно 50 миллионам.

Так как в сравнении с некоторыми другими СУБД MySQL поддерживает меньшее количество возможностей, то и работать с ней значительно проще, чем, к примеру, с PostgreSQL, о которой будет рассказано ниже.

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

Для работы с MySQL используется не только текстовый, но и графический режим. Это возможно благодаря приложению phpMyAdmin: для работы в приложении вам даже не нужно будет знать SQL-команды, а администрировать свою базу данных можно прямо через браузер.

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


PostgreSQL

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

Если говорить о преимуществах PostgreSQL, то, безусловно, это надежность транзакций и репликаций, возможность наследования и легкая расширяемость. PostgreSQL поддерживает различные расширения и варианты языков программирования, такие как PL/Perl, PL/Python и PL/Java. Также есть возможность загружать C-совместимые модули.

Многие отмечают, что в отличие от MySQL данная СУБД имеет хорошую и подробную документацию, которая дает ответы практически на все вопросы.

О том, что это более масштабная, чем MySQL, СУБД, говорит и тот факт, что PostgreSQL периодически сравнивают с такой мощной системой управления данных, как Oracle.

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


SQLite

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

Из недостатков можно отметить отсутствие системы пользователей и возможности увеличения производительности.

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


Oracle

Эта СУБД относится к объектно-реляционному типу. Название произошло от названия разработавшей эту систему фирмы Oracle. Наравне с SQL СУБД использует процедурное расширение под названием PL/SQL, а также язык Java.

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

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



MongoDB

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

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

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

Вместо заключения

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

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

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

Рассмотрим общий смысл понятий базы данных (БД) и системы управления базами данных (СУБД).

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

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

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

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

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

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

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

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

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

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


Рис. 1.1.

Определение основных терминов

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

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

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

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

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

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

База знаний (БЗ) представляет собой совокупность БД и используемых правил, полученных от лиц, принимающих решения ( ЛПР ).

Наряду с понятием "база данных" существует термин " банк данных ", который имеет две трактовки.

  1. В настоящее время данные обрабатываются децентрализовано (на рабочих местах) с помощью персональных компьютеров (ПК). Первоначально же использовалась централизованная обработка на больших ЭВМ. В силу централизации базу данных называли банком данных и потому часто не делают различия между базами и банками данных.
  2. Банк данных - база данных и система управления ею (СУБД). СУБД (например, FoxPro) представляет собой приложение для создания баз данных как совокупности двумерных таблиц.
Банк данных (БнД) - это система специально организованных данных, программных, языковых, организационных и технических средств, предназначенных для централизованного накопления и коллективного многоцелевого использования данных.
Базы данных (БД) - это именованная совокупность данных, отображающая состояние объектов и их отношения в рассматриваемой предметной области. Характерной чертой баз данных является постоянство: данные постоянно накапливаются и используются; состав и структура данных, необходимы для решения тех или иных прикладных задач, обычно постоянны и стабильны во времени; отдельные или даже все элементы данных могут меняться - но и это есть проявления постоянства - постоянная актуальность.
Система управления базами данных (СУБД) - это совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.

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

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

Основные требования, предъявляемые к банкам данных

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

  • Многократное использование данных: пользователи должны иметь возможность использовать данные различным образом.
  • Простота: пользователи должны иметь возможность легко узнать и понять, какие данные имеются в их распоряжении.
  • Легкость использования: пользователи должны иметь возможность осуществлять (процедурно) простой доступ к данным, при этом все сложности доступа к данным должны быть скрыты в самой системе управления базами данных.
  • Гибкость использования: обращение к данным или их поиск должны осуществляться с помощью различных методов доступа.
  • Быстрая обработка запросов на данные: запросы на данные должны обрабатываться с помощью высокоуровневого языка запросов , а не только прикладными программами, написанными с целью обработки конкретных запросов.
  • Язык взаимодействия конечных пользователей с системой должен обеспечивать конечным пользователям возможность получения данных без использования прикладных программ.

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

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

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

Пользователи БД и СУБД

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

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

  1. анализ предметной области, статуса информации и пользователей;
  2. проектирование структуры и модификация данных;
  3. задание и обеспечение целостности;
  4. защита данных;
  5. обеспечение восстановления БД;
  6. сбор и статистическая обработка обращений к БД, анализ эффективности функционирования БД;
  7. работа с пользователем.

Краткие итоги

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

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

Основные требования, предъявляемые к банкам данных: многократное использование данных, простота, легкость использования, гибкость использования, быстрая обработка запросов на данные, язык взаимодействия.

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

Вопросы для самопроверки

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

Эта статья посвящена понятию базы данных. Различные базы данных сегодня активно используются при работе с ПК - персональными компьютерами. Для краткости введем принятую аббревиатуру и для базы данных - БД.

Что такое база данных: определение и функции

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

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

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

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

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

Что такое реляционная база данных

Реляционной БД называется такая БД, которая основана на реляционной модели данных. Более точное определение мы приведем, так сказать, из первых уст. Напомним, что реляционную модель данных предложил и впоследствии реализовал американский математик Кодд в 1970 году. А в статье от 1985 года он же сформулировал 12 правил, по которым можно определить, что данная БД является реляционной. Приведем их здесь.

  1. Правило информации. Вся информация в БД должна быть представлена только в виде значений, содержащихся в таблицах, то есть на логическом уровне.
  2. Гарантированный доступ. Доступ к каждому элементу БД должен осуществляться с помощью имени таблицы имени столбца и первичного ключа.
  3. Поддержка недействительных значений. Нулевые значения в БД должны использоваться для представления отсутствующих данных и должны отличаться от любых числовых символов и символа пробела.
  4. Динамический каталог. Описание БД на логическом уровне представляется в таком же виде, что и основные данные.
  5. Исчерпывающий подъязык данных. В реляционной БД должен существовать особый символьный язык с четким синтаксисом, который поддерживает различные элементы самой БД: обработку, определение данных, границы транзакций и т.п.
  6. Обновление представлений. Делает доступными все представления, которые возможно обновить.
  7. Добавление, обновление и удаление. Возможность работать с БД при этих операциях.
  8. Независимость физических данных.
  9. Независимость логических данных.
  10. Независимость условий целостности. Существование возможности определения условий целостности, особые для каждой реляционной БД.
  11. Независимость распространения. То есть независимость от условий конкретного пользователя.
  12. Правило единственности. Это отсутствие возможности использования низкоуровневого языка для обработки данных на языке высокого уровня (в случае нескольких записей сразу, например).

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

СУБД - термины и определения

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

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

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

Сравнение Access и Excel

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

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

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

Количество строк в Excel не может превышать 65536, в Access же количество записей вообще не ограничено. Существует только лимит на общий размер файла - не более 2Гб.

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

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

Классификация баз данных

Базы данных можно разделить по 4 признакам:

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

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

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

4. По «мощности» все БД делятся на корпоративные и настольные. Вторые имеют низкую стоимость, рассчитаны на единичного пользователя, имеют низкие требования к техническим средствам.

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

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

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

Модели баз данных

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

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

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

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

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

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


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

1. Все таблицы имеют одинаковую структуру.

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

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

Сфера применения баз данных

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

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

Access - сама распространенная БД

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

Краткий обзор Access

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

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

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

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

Отчет - это шаблон документа, при открытии которого в него вносятся данные из запроса или таблицы. В Access создана гибкая система обмена данными, прежде всего между различными приложениями пакета Office. Данные из Access легко переносятся в Word или Excel. После чего их можно отправить по электронной почте, провести необходимые вычисления и опять экспортировать в Access.

База данных - это еще и среда программирования. В Access встроен мощный язык программирования - Visual Basic for Application(VBA). Он позволяет создавать достаточно сложные приложения, в том числе и для коммерческого применения.

Тенденции развития баз данных

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

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