Вы находитесь на странице: 1из 59

БАЗЫ ДАННЫХ

История баз данных

В широком смысле понятие истории баз данных обобщается


до истории любых средств, с помощью которых человечество
хранило и обрабатывало данные.
В таком контексте упоминаются, например, средства учёта
царской казны и налогов в древнем Шумере (4000 г. до н. э.),
узелковая письменность инков — кипу, клинописи, содержащие
документы Ассирийского царства и т. п.
Следует помнить, что недостатком этого подхода является
размывание понятия «база данных» и фактическое его слияние
с понятиями «архив» и даже «письменность».
История баз данных

История баз данных в узком


смысле рассматривает базы данных в традиционном
(современном) понимании.
Эта история начинается с 1955 года, когда
появилось программируемое оборудование
обработки записей.
Программное обеспечение этого времени
поддерживало модель обработки записей на основе
файлов.
Для хранения данных использовались
перфокарты
ЭВОЛЮЦИЯ НОСИТЕЛЕЙ
ИНФОРМАЦИИ
ЭВОЛЮЦИЯ НОСИТЕЛЕЙ
ИНФОРМАЦИИ
Для кодирования информации были придуманы самые разные алфавиты –
наскальные рисунки, узелки, клинья, буквы, цифры, символы, цвета и др.
Информация фиксировалась на таких носителях,
как камень, папирус, бумага, ткань, металл.
Общей чертой всех этих способов являлось то, что такая информация
порождалась человеком и предназначалась для использования только человеком.
Сегодня такой способ работы с информацией называется «ручной обработкой».

Все современные системы ручной работы с информацией сформировались еще в


Средние века, когда окончательно устоялись основные языки и алфавиты, было налажено
производство бумаги и появились печатные станки.
С XVII в. начинается история механической и электромеханической обработки
данных.
Первыми устройствами механической обработки данных стали шарманки,
музыкальные шкатулки и ткацкие станки. В музыкальных устройствах для фиксации данных
использовались металлические валики или диски с выступами.
Позднее в шарманках стали применяться и перфокарты.
ЭВОЛЮЦИЯ НОСИТЕЛЕЙ
ИНФОРМАЦИИ
Перфокарты и перфоленты
Впервые перфокарты для управления ткацким станком использовал французский ткач
Базиль Бошо (Basile Bouchon) еще в 1725 г.
Однако более широкое применение перфокарт в текстильной промышленности связано с
именем Жозе Мари Жаккара (Joseph Marie Jacquard) – французского изобретателя
программируемого ткацкого станка.
Перфокарта представляла собой лист плотного картона с матрицей прорезей. Картон
прокатывался через линию игольчатых рычажков, которые «западали» в прорези и
направляли соответствующую нить.

В задачах обработки информации перфокарты впервые были использованы в


1832 г. русским изобретателем Семеном Николаевичем Корсаковым – создателем
механических устройств для информационного поиска и классификации.
Примерно в это же время английский математик Чарлз Бэббидж (Charles
Babbage) сформулировал идею применения перфокарт для управления
вычислительным процессом
ЭВОЛЮЦИЯ НОСИТЕЛЕЙ
ИНФОРМАЦИИ

Активное использование перфокарт в информатике


началось в конце XIX в. и связано с именем
американского инженера Германа Холлерита (Herman
Hollerith). В 1890 г. созданный им табулятор
использовался для переписи населения США.
В этот период Холлерит организовал фирму по
производству табуляторов, которая сегодня известна
под названием «IBM».

Параллельно с перфокартами развиваются их сородичи


– перфоленты, активно применявшиеся в телеграфии с
середины XIX в.

С 1950-х гг. в течение 30-ти лет (до появления дискет)


перфокарты и перфоленты являются основным,
наиболее демократичным персональным носителем
информации для ЭВМ.
Герман Холлерит
ЭВОЛЮЦИЯ НОСИТЕЛЕЙ
ИНФОРМАЦИИ

Магнитные ленты
XX в. стал веком магнитных носителей информации.
Возможность записи информации на магнитную
проволоку была впервые реализована в 1898 г.
Спустя 30 лет в Германии на магнитную ленту был
записан звук.
Для производства оборудования и пленки в Германии
были образованы фирмы AEG и BASF.
Использование магнитных лент для хранения данных
началось в 1951 г. на одной из первых американских
ЭВМ UNIVAC I.
Лента имела ширину 12,7 мм (полдюйма) и содержала
восемь дорожек, позволявших записывать информацию
с плотностью 128 байт на дюйм длины.
ЭВОЛЮЦИЯ НОСИТЕЛЕЙ
ИНФОРМАЦИИ

Магнитные барабаны
Магнитный барабан был изобретен в 1932 г. Густавом
Таушеком (Gustav Tauschek), пионером
информационных технологий в Австрии, известным
как разработчик счетных машин на перфокартах.
Барабан представляет собой металлический цилиндр,
покрытый ферромагнитным слоем.
На цилиндрической поверхности размечены
параллельные кольца – дорожки, для каждой из
которых предусмотрена своя неподвижная головка
чтения-записи.
Цилиндр вращается вокруг своей оси, и каждая головка
независимо от другой выполняет чтение и запись
данных.
Густав Таушек
ЭВОЛЮЦИЯ НОСИТЕЛЕЙ
ИНФОРМАЦИИ

Магнитные диски
Первый накопитель на магнитных дисках производства
IBM появился в 1956 г.
К тому времени возможность прямого доступа к
данным на дисках была уже оценена в звукозаписи, где
диски стали применяться уже с конца XIX в.
Однако аналоговая форма информации,
подверженность помехам и невозможность перезаписи
не позволяли использовать виниловые диски для
вычислительной техники.
Первый дисковый накопитель содержал 50 магнитных
дисков диаметром 61 см, посаженных на одну ось с
небольшим промежутком для движения считывающей
головки
ЭВОЛЮЦИЯ НОСИТЕЛЕЙ
ИНФОРМАЦИИ

Магнитные диски
В 1971 г. компания представила свою новую разработку – 8-дюй-мовый
(200 мм в диаметре) гибкий магнитный диск или «флоппи-диск» (floppy
disk, англ.), называемый также дискетой (diskette, англ.).
Этот диск работал в режиме «только чтение» и мог хранить до 20 КБ
информации.
Через два года этот диск стал полноценным перезаписываемым носителем
емкостью 256 КБ.
Его особенностью стал новый унифицированный формат, согласно
которому вся дискета делилась на фиксированные секторы (или кластеры)
длиной 128 байт.
К концу 1970-х гг. дискета становится двухсторонней и вмещает до 1,2
МБ.
ЭВОЛЮЦИЯ НОСИТЕЛЕЙ
ИНФОРМАЦИИ

Оптические диски
Следующим событием, совершившим очередную революцию в носителях
данных, стало появление технологии оптической записи.
Первый оптический диск был изобретен в 1958 г., а уже через 10 лет на
него могли записать аналоговый видеосигнал.
Современная история насчитывает четыре поколения оптических дисков.
Первое поколение получило коммерческое распространение к середине
1980-х гг. в виде цифровых и аналоговых оптических дисков разных
форматов.
Наиболее популярным аналоговым носителем был лазерный диск
диаметром 30 см, использовавшийся для записи видео.
В качестве его цифрового собрата выступал представленный в 1985 г. 12-
сантиметровый компакт-диск (CD, Compact Disk, англ.) емкостью 700 МБ.
ЭВОЛЮЦИЯ НОСИТЕЛЕЙ
ИНФОРМАЦИИ

Полупроводниковые карты памяти


Использование полупроводников в качестве памяти в компьютерах
началось давно.
Однако такая память была довольно громоздкой и энергозависимой.
Сразу же после отключения электропитания она теряла накопленную
информацию.
Существовавшая в то время энергонезависимая полупроводниковая
память была неперезаписываемой и «прошивалась» лишь однократно.
В 1984 г. компания Toshiba представила новую разновидность памяти,
основанную на транзисторах с плавающим затвором.
Процесс стирания информации в транзисторе осуществляется подачей на
очень короткое время высокого напряжения на плавающий затвор.
Этот процесс ассоциировался с фотовспышкой, что отразилось в названии
памяти – «флеш-память» (от англ. flash – вспышка).
ЭВОЛЮЦИЯ МЕТОДОВ ОРГАНИЗАЦИИ
ДАННЫХ

Файловая организация
Революционным событием в развитии способов
хранения и структурирования информации в ЭВМ
стало введение в 1964 г. файловой организации
данных в системе IBM/360.
Широкое распространение ЭВМ этой и
последующей, 370-й серии (напомним, что в СССР
эти машины была клонированы и растиражированы
под аббревиатурой ЕС ЭВМ) надолго закрепили за
этой файловой организацией ранг стандарта.
ЭВОЛЮЦИЯ МЕТОДОВ ОРГАНИЗАЦИИ
ДАННЫХ

Базы данных на «плоских» файлах


Предположим, что отделу кадров предприятия
необходимо хранить информацию о своих
сотрудниках.
Эта информация состоит из табельного номера
сотрудника, фамилии, имени, отчества, даты его
рождения и других сведений.
Все эти данные легко свести воедино, сгруппировав в
виде таблицы.
Заголовками столбцов этой таблицы будут названия
перечисленных элементов информации.
Представление данных в виде плоских файлов с
разделителями и полями фиксированной длины
ЭВОЛЮЦИЯ МЕТОДОВ ОРГАНИЗАЦИИ
ДАННЫХ

Базы данных с инвертированными списками


Одной из самых сложных задач в работе с плоскими
файлами стал поиск и доступ к нужной записи.
Наиболее эффективным решением этой задачи
являлось и до сих пор является индексирование
записей по первичному ключу.
ЭВОЛЮЦИЯ МЕТОДОВ ОРГАНИЗАЦИИ
ДАННЫХ

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


В конце 1960-х гг. с появились иерархические СУБД,
позволявшие устанавливать между элементами
информации отношение «один-ко-многим».
Минимальной структурной единицей в
иерархической модели является поле, считающееся
неделимым элементом данных.
Поименованная совокупность полей называется
сегментом. Точнее, в иерархической базе данных
различаются два понятия: тип сегмента и экземпляр
сегмента. Экземпляр сегмента – это
некоторая логическая запись, описывающая
конкретный объект предметной области, например,
конкретного человека – работника предприятия.
ЭВОЛЮЦИЯ МЕТОДОВ ОРГАНИЗАЦИИ
ДАННЫХ

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


Существенную роль в эволюции и стандартизации
баз данных сыграла группа CODASYL (Conference
on Data Systems Languages – конференция по
языкам систем обработки данных, англ.), которая
была создана в 1959 г. для разработки стандартов по
языкам программирования.
В 1965 г. в рамках этой группы была сформирована
рабочая группа по базам данных (DBTG, Data Base
Task Group, англ.)
Через два года ею была опубликована
концепция сетевой базы данных, широко известной
также под названием «модель данных CODASYL».
Идеологом сетевой модели был Чарлз Бахман
(Charles Bachman) – один из выдающихся
исследователей и практиков в области
компьютерных наук, удостоенный в 1973 г. премии
Тьюринга за вклад в развитие баз данных. Чарлз Бахман
ЭВОЛЮЦИЯ МЕТОДОВ ОРГАНИЗАЦИИ
ДАННЫХ

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


По существу реляционная модель – это возврат к
плоским файлам. Появлению этой модели
предшествовали работы британского ученого
Эдгара (Теда) Кодда (Edgar Codd).
Работая в компании IBM, он в 1970 г. опубликовал
статью о реляционной модели данных для больших
банков данных, предназначенных для совместного
использования.
Кодд стал прародителем современной технологии
хранилищ данных. В 1981 г. он был удостоен
Тьюринговской премии.

Эдгар (Теда) Кодд


Определения

База данных — это упорядоченный набор структурированной


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

Примеры баз данных:


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

Базы данных значительно изменились с момента их появления в


начале 1960-х годов.
Исходными системами, которые использовались для хранения и
обработки данных, были навигационные базы данных – например,
иерархические базы данных (которые опирались на древовидную
модель и допускали только отношение «один-ко-многим») и базы
данных с сетевой структурой (более гибкая модель, допускающая
множественные отношения).
В 1980-х годах стали популярными реляционные базы данных, в 1990-х
годах за ними последовали объектно-ориентированные базы данных.
Совсем недавно вследствие роста Интернета и возникновения
необходимости более быстрой обработки неструктурированных
данных появились базы данных NoSQL.
В настоящее время облачные базы данных и автономные базы
данных открывают новые возможности в отношении способов сбора,
хранения, использования данных и управления ими.
Типы баз данных

•Реляционные базы данных. Реляционные базы данных стали


преобладать в 1980-х годах. Элементы в реляционной базе данных
организованы в виде набора таблиц со столбцами и строками.
Технология реляционных баз данных обеспечивает наиболее
эффективный и гибкий способ доступа к структурированной
информации.
•Объектно-ориентированные базы данных. Информация в Реляционные базы данных Объектно-ориентированные базы данных
объектно-ориентированной базе данных представлена в форме
объекта, как в объектно-ориентированном программировании.
•Распределенные базы данных. Распределенная база данных
состоит из двух или более файлов, расположенных на разных узлах.
Такая база данных может храниться на нескольких компьютерах,
расположенных в одном физическом месте или распределенных
по разным сетям.
•Хранилища данных. Будучи централизованным репозиторием
для данных, хранилище данных представляет собой тип базы
данных, специально предназначенной для быстрого выполнения
Распределенные базы данных Хранилища данных
запросов и анализа.
Типы баз данных

•Базы данных NoSQL. База данных NoSQL, или нереляционная база данных,
позволяет хранить и обрабатывать неструктурированные или
слабоструктурированные данные (в отличие от реляционной базы данных,
задающей структуру содержащихся в ней данных). Популярность баз данных
NoSQL растет по мере распространения и усложнения веб-приложений.
•Графовые базы данных. Графовая база данных хранит данные в контексте
сущностей и связей между сущностями.
•Базы данных OLTP. База данных OLTP — это быстрая база данных аналитического
типа, предназначенная для большого объема транзакций, выполняемых Базы данных NoSQL Графовые базы данных
множеством пользователей.
•Базы данных с открытым исходным кодом. Такие базы данных имеют открытый
исходный код и могут управляться средствами как SQL, так и NoSQL.

Базы данных OLTP Базы данных с открытым


исходным кодом
Типы баз данных

•Облачные базы данных. Облачная база данных представляет собой набор


структурированных или неструктурированных данных, размещенный на
частной, публичной или гибридной платформе облачных вычислений.
Существует два типа моделей облачных баз данных: традиционная база
данных и база данных как услуга (DBaaS). В модели DBaaS административные
задачи и обслуживание выполняются поставщиком услуг.
•Многомодельные базы данных. Многомодельная база данных объединяет
разные типы моделей баз данных в единую интегрированную серверную
СУБД. Это означает, что она может содержать различные типы данных. Облачные базы данных Многомодельные базы данных
•Документные базы данных/JSON. Базы данных документов предназначены
для хранения, извлечения и обработки документоориентированной
информации и предоставляют современный способ хранения данных в
формате JSON, а не в виде строк и столбцов.
•Автономные базы данных. Самоуправляемые базы данных (также
называемые автономными) – это новейшие и самые революционные
облачные базы данных, которые используют машинное обучение для
автоматизации настройки, защиты, резервного копирования, обновления и
других стандартных задач обслуживания, обычно выполняемых
администраторами баз данных.
Документные базы данных/JSON Автономные базы данных
Структура базы данных

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

Базы данных и электронные таблицы (в частности, Microsoft Excel) предоставляют удобные


способы хранения информации.

Основные различия:

• Способ хранения и обработки данных


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

Свойства полей. Типы полей


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

Например, при работе с базой данных Access допустимы следующие типы полей:
1. Текстовый - одна строка текста (до 255 символов)
2. Поле МЕМО - текст, состоящий из нескольких строк (до 65 535 символов).
3. Числовой - число любого типа (целое, вещественное и т.д.).
4. Дата/время - поле, содержащее дату или время.
5. Денежный - поле, выраженное в денежных единицах (р., $ и т.д.)
6. Счетчик - поле, которое вводится автоматически с вводом каждой записи.
7. Логический - содержит одно из значений TRUE (истина) или FALSE (ложно) и применяется в логических операциях.
8. Поле объекта OLE - содержит рисунки, звуковые файлы, таблицы Excel, документ Word и т.д.
Концептуальная модель базы данных

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

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


концептуальных баз данных:
1.Объект или сущность. Это фактическая вещь или объект (для людей) за которой пользователь
(заказчик) хочет наблюдать. Например, Иванов Иван Иванович;
2.Атрибут это характеристика объекта, соответствующая его сущности. Например. Задаем себе
вопрос: Какую информацию нужно хранить об Иванове Иване Ивановиче? Ответы на этот вопрос
и будут атрибуты объекта Иванов Иван Иванович;
3.Третье понятие в проектировании концептуальной базы данных это связь или
отношения между объектами.
Концептуальная модель базы данных

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

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


концептуальных баз данных:
1.Объект или сущность. Это фактическая вещь или объект (для людей) за которой пользователь
(заказчик) хочет наблюдать. Например, Иванов Иван Иванович;
2.Атрибут это характеристика объекта, соответствующая его сущности. Например. Задаем себе
вопрос: Какую информацию нужно хранить об Иванове Иване Ивановиче? Ответы на этот вопрос
и будут атрибуты объекта Иванов Иван Иванович;
3.Третье понятие в проектировании концептуальной базы данных это связь или
отношения между объектами.
Концептуальная модель базы данных
Концептуальная модель базы данных

Давайте в качестве примера рассмотрим интернет-магазин.


У магазина есть товары, которые поставляются поставщиками и покупаются покупатели.
Это можно представить тремя объектами и двумя связями:

Но как поставщик поставляет товары? Он делает поставку, которая подтверждается документом. Аналогично и покупатель делает покупку, которая также
может подтверждаться документом. Таким образом, поставка и покупка могут рассматриваться, как самостоятельные объекты:
Концептуальная модель базы данных

Каждый объект нашего магазина имеет свои атрибуты:


Концептуальная модель базы данных

Каждый объект нашего магазина имеет свои атрибуты:

Это концептуальная модель базы


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

Каждый объект нашего магазина имеет свои атрибуты:

Это концептуальная модель базы данных магазин, вернее


ее части, т.к. в магазине еще есть сотрудники, склады,
доставка товаров и т.д.

Схема нашей базы данных


Классификация БД по типу хранимой
информации

СУБД

Документальные Фактографические Лексикографические

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


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

СУБД

Общие
Локальные
(интегрированные, Распределенные
(персональные)
централизованные)

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

СУБД

частично
неструктурированные структурированные
структурированные

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

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

объединяет разные типы моделей баз данных в единую мультимодельные


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

реляционная СУБД (РСУБД),


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

логическая модель данных,


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

логическая модель данных, прикладная теория построения


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

1997 год - самой большой в мире была текстовая база данных Knight Ridder’s DIALOG объёмом 7 терабайт.
2001 год - самой большой считалась база данных объёмом 10,5 терабайт, в 2003 году — объёмом 25 терабайт.
2005 год - самыми крупными в мире считались базы данных с объёмом хранилища порядка сотни терабайт.
2006 год - поисковая машина Google использовала базу данных объёмом 850 терабайт.
2010 год - объём сверхбольшой базы данных должен измеряться по меньшей мере петабайтами.
2011 год - компания Facebook хранила данные в кластере из 2 тысяч узлов суммарной ёмкостью 21 петабайт;
2012 год - объём данных Facebook достиг 100 петабайт,
2014 год - объём данных Facebook достиг 300 петабайт.
2014 год - по косвенным оценкам компания Google хранила на своих серверах до 10—15 эксабайт данных в
совокупности.
2020 год - суммарный объём данных «цифровой вселенной» до 44 зеттабайт

По некоторым оценкам, к 2025 году генетики будут располагать данными о геномах от 100 миллионов до 2
миллиардов человек, и для хранения подобного объёма данных потребуется от 2 до 40 эксабайт.
Пользователи баз данных

Администраторы данных и администраторы баз данных

Администратор данных отвечает за управление данными, включая планирование базы


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

Администратор базы данных отвечает за физическую реализацию базы данных,


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

Разработчики баз данных

Разработчик логической базы данных занимается идентификацией данных (т.е. сущностей и их


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

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


занимается ее физической реализацией, в том числе:
• преобразованием логической модели данных в набор таблиц и ограничений целостности
данных;
• выбором конкретных структур хранения и методов доступа к данным,
обеспечивающих необходимый уровень производительности при работе с базой данных;
• проектированием любых требуемых мер защиты данных.
Разработчик физической базы данных должен уметь выбрать наиболее подходящую стратегию
хранения данных с учетом всех существующих особенностей их использования. Если
концептуальное и логическое проектирование базы данных отвечает на вопрос "что?", то
физическое проектирование отвечает на вопрос "как?". Для решения этих задач требуются
разные навыки работы, которыми чаще всего обладают разные люди.
Пользователи баз данных

Прикладные программисты

Сразу после создания базы данных следует приступить к разработке


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

Пользователи

Пользователи являются клиентами базы данных — она проектируется, создается и


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

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

Для базы данных обычно требуется комплексное


программное обеспечение, которое называется системой
управления базами данных (СУБД).
СУБД служит интерфейсом между базой данных и
пользователями или программами, предоставляя пользователям
возможность получать и обновлять информацию, а также управлять
ее упорядочением и оптимизацией.
СУБД также упрощает контроль и управление базами данных,
позволяя выполнять различные административные операции, такие
как мониторинг производительности, настройка, а также резервное
копирование и восстановление.
В качестве примеров популярного программного обеспечения
для управления базами данных, или СУБД, можно назвать MySQL,
Microsoft Access, Microsoft SQL Server, FileMaker Pro, Oracle Database
и dBASE.

простейшая схема работы с базой данных


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

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


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

По характеру использования СУБД:


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

MySQL — это реляционная система управления базами данных с открытым


исходным кодом на основе языка SQL.
Она была разработана и оптимизирована для веб-приложений и может
работать на любой платформе.
Так как с развитием Интернете появились новые требования, веб-
разработчики предпочитают использовать для веб-приложений платформу
MySQL.
База данных MySQL предназначена для обработки миллионов запросов и
тысяч транзакций, поэтому ее часто выбирают компании электронной
коммерции, которым требуется управлять большим количеством денежных
переводов.
Гибкость по мере необходимости — основная характеристика MySQL.
Многие ведущие веб-сайты и веб-приложения используют СУБД MySQL, в
том числе Airbnb, Uber, LinkedIn, Facebook, Twitter и YouTube.
Язык SQL

SQL (Structured Query Language — структурированный язык запросов)


Данные в наиболее SQL — это язык программирования,
распространенных типах используемый в большинстве реляционных
современных баз данных обычно баз данных для запроса, обработки и
формируются в виде строк и определения данных, а также контроля
столбцов в ряде таблиц, чтобы доступа.
обеспечить эффективность SQL был впервые разработан в IBM в
обработки и запросов данных. 1970-х годах, и Oracle выступил в качестве
Затем можно легко получать основного участника, что привело к
доступ к данным, управлять ими, внедрению стандарта SQL ANSI.
изменять, обновлять, SQL дал толчок выпуску многочисленных
контролировать и упорядочивать. расширений от таких компаний, как IBM,
В большинстве баз данных для Oracle и Microsoft.
записи и запросов данных Хотя в настоящее время SQL все еще
используется язык широко используется, начали появляться
структурированных запросов (SQL). новые языки программирования.
Состав языка SQL

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

Пример:
SELECT 'Номер заказа', 'Номер счета', 'Дата заказа'
FROM 'Заказы' WHERE 'Номер клиента' = 20
Этот запрос обращается к таблице Заказы, и выбирает из нее все записи,
принадлежащие клиенту с номером 20, организуя эти записи в три
SELECT (выбрать) столбца: Номер заказа, Номер счета, Дата заказа.

Пример:
INSERT (вставить) INSERT INTO 'Заказы' VALUES (1420, 20, 'Ускоренная доставка',
1221, 15.03.2010)
UPDATE (обновить) Этот запрос обращается к таблице Заказы и добавляет к ней запись со значе-
ниями полей, перечисленными в скобках после оператора VALUES.
DELETE (удалить) Пример:
UPDATE 'Заказы' SET 'Номер счета' = 1432 WHERE 'Номер заказа' = 1220
Этот запрос обращается к таблице Заказы и в записи с номером заказа 1220
изменяет значение поля Номер счета на 1432.

Пример:
DELETE FROM 'Заказы' WHERE 'Номер клиента' = 20
Из таблицы Заказы удаляются строки с номером клиента 20 (то есть все за-
казы данного клиента).
Состав языка SQL

Язык определения данных используется для создания и изменения структуры


базы данных и ее составных частей - таблиц, индексов, представлений
(виртуальных таблиц), а также триггеров и сохраненных процедур. Основными его
командами являются:
CREATE DATABASE (создать базу данных)
CREATE TABLE (создать таблицу)
CREATE VIEW (создать виртуальную таблицу)
CREATE INDEX (создать индекс)
CREATE TRIGGER (создать триггер)
CREATE PROCEDURE (создать сохраненную процедуру)
ALTER DATABASE (модифицировать базу данных)
ALTER TABLE (модифицировать таблицу)
ALTER VIEW (модифицировать виртуальную таблицу)
ALTER INDEX (модифицировать индекс)
ALTER TRIGGER (модифицировать триггер)
ALTER PROCEDURE (модифицировать сохраненную процедуру)
DROP DATABASE (удалить базу данных)
DROP TABLE (удалить таблицу)
DROP VIEW (удалить виртуальную таблицу)
DROP INDEX (удалить индекс)
DROP TRIGGER (удалить триггер)
DROP PROCEDURE (удалить сохраненную процедуру)
Состав языка SQL

Язык управления данными используется для управления правами доступа к


данным и выполнением процедур в многопользовательской среде. Более точно
его можно назвать "язык управления доступом". Он состоит из двух основных
команд:

GRANT (дать права)

REVOKE (забрать права)

DENY (запретить получение разрешения)


Состав языка SQL

С точки зрения прикладного интерфейса существуют две разновидности команд SQL:


•интерактивный SQL
Интерактивный SQL используется в специальных утилитах (типа WISQL или DBD), позволяющих в
интерактивном режиме вводить запросы с использованием команд SQL, посылать их для выполнения на
сервер и получать результаты в предназначенном для этого окне.
•встроенный SQL
Встроенный SQL используется в прикладных программах, позволяя им посылать запросы к серверу и
обрабатывать полученные результаты, в том числе комбинируя set-ориентированный и record-
ориентированный подходы.
База данных – основа
информационной системы
Сама БД не может обслужить запросы пользователя на поиск и обработку информации.
БД – это информационное хранилище, а обслуживает это хранилище – информационная система.
Информационная система – это совокупность базы данных и всего комплекса всех тех аппаратно-
программных средств для ее хранения, изменения и поиска необходимой информации для
пользователя.

Пример.
Информационная система Библиотека состоит из
трёх частей: прикладных программ, СУБД и базы
данных.
Работающие с информационной системой люди
делятся на пользователей и обслуживающий
персонал.
И те и другие через экранные формы передают в
информационную систему запросы и получают
ответы.
База данных – основа
информационной системы
Последовательность работы информационной системы.
1. Запрос, получаемый прикладной программой, состоит из данных,
введённых пользователем в экранную форму.
2. Прикладная программа преобразует эти данные в запрос на языке
SQL и передаёт его СУБД.
3. СУБД является посредником между прикладными программами и
системой ввода-вывода (Input Output System - IOSYS), входящей в
состав операционной системы.
4. СУБД преобразует запрос, написанный на языке SQL в ряд
команд для IOSYS, которая на физическом уровне читает,
записывает или удаляет данные из базы, расположенной на
внешнем запоминающем устройстве (обычно, на жёстком диске).
5. Прочитанные из базы данные передаются по цепочке IOSYS-
СУБД-прикладная программа.
6. Прикладная программа получает результаты запроса в виде
табицы, которую преобразует и выводит в виде экранной формы
на монитор.

Вам также может понравиться