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

Вы можете авторизоваться на сайте всего одним кликом:

2016-07-18
Основы Баз Данных → Введение в БД
БД, Виды баз данных, Отличие БД от СУБД

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

Для чего нужна база данных?

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

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

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

Отличие базы данных от СУБД

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

База данных проектируется и создается для каждого конкретного проекта, СУБД же выбирается из небольшого списка стандартных средств. На сегодняшний день наиболее популярны СУБД Oracle, Microsoft SQL Server, MySQL, Sybase, PostgreSQL. Сайты PHP чаще всего работают в связке с MySQL. Именно эту СУБД мы будем рассматривать в текущих уроках.

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

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

Базы данных имеют различные типы и принципы организации. Наиболее популярными являются реляционные базы данных.

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

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

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

Нам потребуются две таблицы: сотрудники и отделы, назовем их emps и depts соответственно.

Столбцы таблицы отделов (depts):

  1. id_dept (первичный ключ);
  2. name (название отдела).
Столбцы таблицы сотрудников (emps):
  1. id_emp (первичный ключ);
  2. id_dept (внешний ключ, ссылающийся на таблицу depts);
  3. first_name (имя);
  4. middle_name (отчество);
  5. last_name (фамилия).

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

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

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

Пусть в нашей фирме два отдела: "Бухгалтерия" и "Маркетинг". В бухгалтерии работают Иванов Иван Иванович, Петров Петр Петрович и Сидорова Елена Николаевна.

Маркетингом занимаются Ушаков Павел Павлович и Ефремов Илья Викторович. На рисунке ниже приведены таблицы, описывающие данную ситуацию.

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

1302
0
Пожалуйста, авторизируйтесь, чтобы скачать архив с файлами урока