/game_with_db

Primary LanguageJupyter Notebook

Вольный отчет по заданию курса «Нереляционные базы данных»

Введение

По заданию необходимо было реализовать следующие варианты моделей БД:

  1. Реляционная модель данных.
  2. Объектно-реляционная модель данных.
  3. Документная модель данных.
  4. Модель «семейство столбцов».
  5. Модель «ключ-значение».
  6. Графовая модель данных.

Данные модели были реализованы в следующих БД, соответственно:

  1. PostgreSQL (да-да-да, это СУБД).
  2. PostgreSQL (произносится «Пост-Грэс-Кью-Эл»).
  3. MongoDB.
  4. MonetDB (тоже СУБД, пионерская в мире столбцов, по заверениям).
  5. Riak и Redis (бессмысленно и беспощадно).
  6. ArangoDB (этакий «комбайн»).

Основная часть

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

Серверная часть поднята на Ubuntu 16.04, клиентская часть написана на языке Python 3 (формирование базы расположено в src/<db>/), для наглядности примеры запросов написаны в jupyter-тетрадках (расположены в notebooks/). Поэтому базы данных выбирались из следующих предпочтений: Ubuntu, официальный или рекомендуемый клиент для языка Python, без JVM (не хотелось устанавливать еще что-то).

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

Наглядно посмотреть тетрадку можно по данной ссылке.

Объектно-реляционная модель данных

Наглядно посмотреть тетрадку можно по данной ссылке.

Документная модель данных

Наглядно посмотреть тетрадку можно по данной ссылке.

Модель «семейство столбцов»

Наглядно посмотреть тетрадку можно по данной ссылке.

Модель «ключ-значение»

Наглядно посмотреть тетрадку можно по данным ссылкам: раз, два.

Графовая модель данных

Наглядно посмотреть тетрадку можно по данной ссылке.