Учитель информатики

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

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

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

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

Базы данных можно классифицировать исходя из способов организации их хранения и обработки:

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

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

3. Реляционная. В такой модели данные организованы в виде таблиц, между которыми установлены связи.

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

Таблицы состоят из строк и столбцов. В таблицах баз данных — это записи и поля.

Запись — строка таблицы базы данных, содержащая данные об одном объекте.

В таблице из примера 1.1 пять записей и каждая запись содержит данные об определенном киносеансе.

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

В таблице из примера 1.1 (п. 3) четыре поля: «Кинотеатр», «Фильм», «Время», «Стоимость».

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

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

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

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

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

Пример 1.1. Классификация баз данных.

3. Таблица реляционной БД.

Франк Кодд (23 августа 1923 г. — 18 апреля 2003 г.) — британский ученый, труды которого заложили основы теории реляционных баз данных. Работая в компании IBM, он установил правила, определяющие базу данных как реляционную.

2. СУБД и их классификация

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

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

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

Рис. 3.31. Классификация СУБД

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

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

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

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

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

В школе зачастую ученики работают с реляционной СУБД Microsoft Access. Эта файл-серверная СУБД предусматривает работу с небольшими по объёму БД для личных нужд и для небольших организаций. В качестве альтернативы СУБД Microsoft Access может рассматриваться СУБД Base, входящая в состав свободного пакета офисных приложений Apache OpenOffice.

Как она выглядит

Да примерно как excel-табличка! Есть колонки с заголовками, и информация внутри:

Это называется реляционная база данных — набор таблиц, хранящихся в одном пространстве.

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

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

Пример базы Oracle

Пример базы Oracle

Цель та же — выделить отдельное место, чтобы у вас не была одна большая свалка:

заходишь в папку в винде → видишь файлики только из этой папки

заходишь в пространство → видишь только те таблицы, которые в нем есть

Хранение данных в виде табличек — это не единственно возможный вариант. Вот вам для примера запись из таблицы в системе Users. Там используется MongoDB база данных, она не реляционная. Поэтому вместо таблички «словно в excel» каждая запись хранится в виде объекта, вот так:

А еще есть файловые базы — когда у вас вся информация хранится в файликах. Да-да, простых текстовых файликах!

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

Да, базы бывают разные. Классификацию можно изучить, можно выучить. Но по факту от начинающего тестировщика обычно нужно уметь достать информацию из реляционной БД («обычно» != «всегда», если что).

Классификация БД по способу организации данных

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

Моделями структурированной БД могут быть:

  • БД иерархической модели;
  • Сетевой модели;
  • И самой используемой моделью БД – реляционной базой данных.

База данных — это отдельный файл?

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

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

Содержание

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

Катя решила открыть свой магазинчик. Она нашла хорошую марку обуви, которую «днем с огнем» не сыскать в ее городе. Заказала оптовую партию и стала потихоньку распродавать через знакомых. Пришлось освободить половину шкафа под коробки, но вроде всё поместилось.

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

Но покупатели хотят новинок, разных размеров. Да и самих покупателей становится все больше и больше. В шкаф коробки уже не влезают!

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

Тогда Катька решила арендовать складское помещение. И вот теперь красота! Не надо теснить своих домашних, дома чисто и свободно! И на складе место есть, появилась система — тут босоножки, тут сапоги.

Чем больше объемы производства, тем больше нужно места. Если в начале пути склад не нужен, всё поместится дома, то потом это будет оправданно.

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

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

Графовые

Содержат узлы, отображающие объекты, а также ребра, отображающие отношения между ними.

Использование
Созданы для работы с графовыми данными, такими как сети знаний или социальные сети. Примеры баз:

Файл контроля / Controlfile

Разберёмся с терминологией: кто-то говорит что у БД может быть несколько controlfile-ов, а другие утверждают что файл один, который может иметь несколько копий. Мы придержимся последнего определения, так как согласно Oracle “multiplexing control files” означает именно возможность иметь копии.

Controlfile – файл небольшого объёма, но он жизненно важный. Внутри содержатся указатели для всей БД: место online redo log-а, файлов данных, критически важную системную информацию для обеспечения целостности ( значение sequence и timestamp). Размер файла обычно не превышает несколько мегабайт но БД не существует без этого файла.

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

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

Многомодельные базы данных

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

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

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

Больше полезной информации вы найдете на наших телеграм-каналах «Библиотека программиста» и «Книги для программистов».

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector