Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5 модуль.docx
Скачиваний:
19
Добавлен:
02.11.2018
Размер:
186.24 Кб
Скачать

Раздел 17. Базы данных в веб-приложениях

17.1. Основные понятия баз данных

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

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

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

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

Рисунок 1

Здесь, таблица STUDENT соответствует сущности «Студент» и имеет следующие поля:

  • id — идентификатор (суррогатный ключ), значение уникально определяющее конкретного студента, первичный ключ в таблице;

  • last_name — фамилия студента;

  • first_name — имя студента;

  • faculty_id — идентификатор факультета, на котором учится студент, внешний ключ таблицы FACULTY, является примером связи «многие-к-одному», показывает, что студент может числиться только на одном факультете, в то время как на одном и том же факультете учится много студентов.

Аналогична структура таблиц FACULTY (соответствует сущности «факультет») и COURSE (сущности «лекционный курс»):

  • id — идентификатор, первичный ключ таблицы;

  • name — название факультета (курса).

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

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

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

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

Плюсы использования СУБД:

  • независимость данных от приложения;

  • улучшенное быстродействие, безопасность, целостность данных;

  • снижение трудозатрат на разработку и поддержку хранилища данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]