Даталогическая модель базы данных

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

 

Рисунок 7 – Инфологическая схема базы данных


Рисунок 8 – Структура базы данных


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

 

Таблица 1.1 – Users

Название поля Тип поля
id Целочисленный
name Строковый
first_name Строковый
last_name Строковый
email Строковый
password Строковый
is_stuff Логический
is_active Логический
is_superuser Логический
last_login Целочисленный
date_joined Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер пользователя;

- name – отображаемое имя пользователя;

- first_name – имя пользователя;

- last_name – фамилия пользователя;

- email – электронная почта пользователя (логин пользователя для входа в систему);

- password – пароль пользователя, для входа в систему;

- is_stuff – флаг активности пользователя;

- is_active – флаг активации профиля (1 – профиль активирован, 0 – профиль не активирован);

- is_superuser – флаг суперюзера(модератора);

- last_login – дата и время последней авторизации;

- date_joined – дата и время регистрации;

· Таблица geo_countries хранит список стран

 


Таблица 1.2 – Geo_countries

Название поля Тип поля
id Целочисленный
name Строковый

 

- id – уникальное поле таблицы численного типа, содержащее номер страны;

- name – название страны;

· Таблица geo_cities хранит список городов

 

Таблица 1.2 – Geo_cities

Название поля Тип поля
id Целочисленный
name Строковый
country_id Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер города;

- name – название города;

- country_id – номер страны;

· Таблица us_info хранит дополнительную информацию о пользователе

 

Таблица 1.3

Название поля Тип поля
user_id Целочисленный
city_id Целочисленный
icq Целочисленный
avatar_path Строковый

 

- user_id – уникальное поле таблицы численного типа, содержащее номер пользователя;

- city_id – номер города;

- icq – ICQ UIN пользователя;

- avatar_path – путь к фотографии пользователя;

· Таблица us_groups хранит названия групп пользователей

 

Таблица 1.4 – Us_groups

Название поля Тип поля
id Целочисленный
name Строковый

 

- Id – уникальное поле таблицы численного типа, содержащее номер группы;

- name – название группы;

· Таблица us_permissions хранит список прав доступа

 

Таблица 1.5 – Us_permissions

Название поля Тип поля
id Целочисленный
name Строковый
content_type_id Целочисленный
codename Строковый

 

- id – уникальное поле таблицы численного типа, содержащее номер прав доступа;

- name – название прав доступа;

- content_type_id – номер тира содержимого;

- codename – перечень прав;

· Таблица us_group_permissions хранит связи групп пользователей и прав доступа, соответствующих им

интернет магазин фотооборудование цена

Таблица 1.6 – Us_group_permissions

Название поля Тип поля
id Целочисленный
group_id Целочисленный
permission_id Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер связи;

- group_id – номер группы пользователей;

- permission_id – номер прав доступа;

· Таблица us_user_groups хранит список принадлежностей пользователей к группам

 

Таблица 1.7 – Us_user_groups

Название поля Тип поля
id Целочисленный
user_id Целочисленный
group_id Целочисленный

 

- Id – уникальное поле таблицы численного типа, содержащее номер принадлежности;

- user_id – номер пользователя;

- group_id – номер группы;

· Таблица messages хранит сообщения пользователей

 

Таблица 1.8 – Messages

Название поля Тип поля
id Целочисленный
subject Строковый
body Текст
sender_id Целочисленный
recipient_id Целочисленный
parent_msg_id Целочисленный
send_at Целочисленный
read_at Целочисленный
replied_at Целочисленный
sender_deleted_at Целочисленный
recipient_deleted_at Целочисленный

 

- Id – уникальное поле таблицы численного типа, содержащее номер сообщения;

- subject – тема сообщения;

- body – текст сообщения;

- sender_id – номер профиля отправителя;

- recipient_id – номер профили получателя;

- parent_msg_id – номер сообщения, в ответ на которое написано данное;

- send_at – дата и время отправления;

- read_at – дата и время прочтения;

- replied_at – дата и время ответа;

- sender_deleted_at – дата и время удаления отправителем;

- recipient_deleted_at – дата и время удаления получателем;

· Таблица it_categories хранит категории содержимого (древовидная структура, вложенные множества)

 

Таблица 1.9 – It_categories

Название поля Тип поля
id Целочисленный
name Строковый
parent_id Целочисленный
order Целочисленный
slug Строковый
alternate_title Строковый
description Текст
lft Целочисленный
rght Целочисленный
tree_id Целочисленный
level Целочисленный

 


- id – уникальное поле таблицы численного типа, содержащее номер категории;

- name – название категории;

- parent_id – номер родительской категории;

- order – порядок категории;

- slug – название категории на латинице;

- alternate_title – альтернативное название;

- description – описание категории;

- lft – левый индекс;

- rght – правый индекс;

- tree_id – номер дерева категорий;

- level – уровень вложенности категории;

· Таблица it_brands хранит список фирм производителей

 

Таблица 1.10 – It_brands

Название поля Тип поля
id Целочисленный
name Строковый
description Текст
logo_path Строковый
country_id Целочисленный
user_id Целочисленный
status Целочисленный
created Целочисленный
slug Строковый

 

- id – уникальное поле таблицы численного типа, содержащее номер фирма;

- name – название фирмы;

- description – описание фирмы;

- logo_path – путь к логотипу;

- country_id – номер страны;

- user_id – номер профиля представителя (0, если нет);

- status – статус публикации (опубликовано, требует модерации, отказано в публикации, требует доработки и т.д.);

- created – дата и время добавления в базу;

- slug – название фирмы на латинице;

· Таблица items хранит список оборудования и его основные характеристики

 

Таблица 1.11 – Items

Название поля Тип поля
id Целочисленный
name Строковый
brand_id Целочисленный
description Текст
category_id Целочисленный
user_id Целочисленный
slug Строковый
status Целочисленный
created Целочисленный
max_price Вещественный
min_price Вещественный
av_price Вещественный

 

- id – уникальное поле таблицы численного типа, содержащее номер оборудования;

- name – название оборудования;

- brand_id – номер фирмы производителя;

- description – описание оборудования;

- category_id – номер категории, к которой принадлежит оборудование;

- user_id – номер пользователя, который добавил оборудование;

- slug – название оборудования на латинице;

- status – статус публикации;

- created – дата и время добавления оборудования;

- max_price – максимальная цена на оборудование;

- min_price – минимальная цена на оборудование;

- av_price – средняя цена на оборудование;

· Таблица us_want_it связывает пользователей с оборудованием, которое они хотят купить

 

Таблица 1.12 – Us_want_it

Название поля Тип поля
id Целочисленный
item_id Целочисленный
user_id Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер связи;

- item_id – номер оборудования;

- user_id – номер пользователя;

· Таблица us_have_it связывает пользователей с оборудованием, которое у них есть

 

Таблица 1.13 – us_have_it

Название поля Тип поля
id Целочисленный
item_id Целочисленный
user_id Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер связи;

- item_id – номер оборудования;

- user_id – номер пользователя;

· Таблица it_pics хранит изображения оборудования


Таблица 1.14 – it_pics

Название поля Тип поля
id Целочисленный
it_id Целочисленный
path Строковый
rating Вещественный
status Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер изображения;

- it_id – номер оборудования;

- path – путь к файлу изображения;

- rating – количество просмотров изображения;

- status – статус публикации;

· Таблица it_synonyms хранит синонимы названий оборудования

 

Таблица 1.15 – it_synonyms

Название поля Тип поля
id Целочисленный
it_id Целочисленный
title Строковый

 

- id – уникальное поле таблицы численного типа, содержащее номер синонима;

- it_id – номер оборудования;

- title – синоним;

· Таблица it_prop_names хранит названия параметров оборудования

 

Таблица 1.16 – it_prop_names

Название поля Тип поля
id Целочисленный
name Строковый
measurement Строковый
decor Целочисленный
category_id Целочисленный
obligatory Логический
status Целочисленный
created Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер параметра;

- name – название параметра;

- measurement – измерение;

- decor – номер режима отображения;

- category_id – номер категории;

- obligatory – обязательность параметра;

- status – статус публикации;

- created – дата и время создания параметра;

· Таблица it_prop_int хранит значения целочисленных параметров

 

Таблица 1.17 – it_prop_int

Название поля Тип поля
id Целочисленный
it_id Целочисленный
name_id Целочисленный
value Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер значения;

- it_id – номер оборудования;

- name_id – номер параметра;

- value – значение параметра;

· Таблица it_prop_bool хранит значения логических параметров

 


Таблица 1.18 – it_prop_bool

Название поля Тип поля
id Целочисленный
it_id Целочисленный
name_id Целочисленный
value Логический

 

- id – уникальное поле таблицы численного типа, содержащее номер значения;

- it_id – номер оборудования;

- name_id – номер параметра;

- value – значение параметра;

· Таблица it_prop_flo хранит значения параметров

 

Таблица 1.19 – it_prop_flo

Название поля Тип поля
id Целочисленный
it_id Целочисленный
name_id Целочисленный
value Вещественный

 

- id – уникальное поле таблицы численного типа, содержащее номер значения;

- it_id – номер оборудования;

- name_id – номер параметра;

- value – значение параметра;

· Таблица it_prop_str хранит значения строковых параметров

 

Таблица 1.20 – it_prop_str

Название поля Тип поля
id Целочисленный
it_id Целочисленный
name_id Целочисленный
value Строковый

 

- id – уникальное поле таблицы численного типа, содержащее номер значения;

- it_id – номер оборудования;

- name_id – номер параметра;

- value – значение параметра;

· Таблица it_prop_list_name хранит значения параметров с типом «список»

 

Таблица 1.21 – it_prop_list_name

Название поля Тип поля
id Целочисленный
name Строковый

 

- id – уникальное поле таблицы численного типа, содержащее номер значения списка;

- name – значение списка;

· Таблица it_prop_list_name_prop хранит связь параметра со списком его значений

 

Таблица 1.22 – it_prop_list_name_prop

Название поля Тип поля
id Целочисленный
it_prop_list_name_id Целочисленный
it_prop_name_id Целочисленный

 

- it_prop_list_name_id – номер значения списка;

- it_prop_name_id – номер параметра;

· Таблица shops хранит информацию о магазине


Таблица 1.23 – shops

Название поля Тип поля
id Целочисленный
user_id Целочисленный
city_id Целочисленный
name Строковый
logo_path Строковый
description Текст
slug Строковый
status Целочисленный
created Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер магазина;

- user_id – номер пользователя, который представляет данный магазин (0 если нет);

- city_id – номер города в котором расположен магазин;

- name – название магазина;

- logo_path – путь к файлу с логотипом магазина;

- description – описание магазина;

- slug – название магазина латиницой;

- status – статус публикации;

- created – дата и время добавления магазина;

· Таблица sh _ goods хранит список товаров пользователей или магазинов

 

Таблица 1.24 – sh_goods

Название поля Тип поля
id Целочисленный
it_id Целочисленный
user_id Целочисленный
shop_id Целочисленный
used Логический
price Вещественный
comment Текст
created Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер товара;

- it_id – номер оборудования;

- user_id – номер пользователя;

- shop_id – номер магазина (0 если нет);

- used – б. у. Товар или нет;

- price – цена товара;

- comment – комментарий к товару;

- created – дата добавления товара;

· Таблица galleries хранит список галерей

 

Таблица 1.25 – galleries

Название поля Тип поля
Id Целочисленный
date_added Целочисленный
title Строковый
title_slug Строковый
description Текст
is_public Логический

 

- id – уникальное поле таблицы численного типа, содержащее номер галереи;

- date_added – дата создания галереи;

- title – название галереи;

- title_slug – название галереи латиницей;

- description – описание галереи;

- is_public – публичная ли галерея;

· Таблица gal _ photos хранит список фотографий


Таблица 1.26 – gal_photos

Название поля Тип поля
id Целочисленный
photo_path Строковый
user_id Целочисленный
date_tacken Целочисленный
view_count Целочисленный
title Строковый
title_slug Строковый
caption Текст
date_added Целочисленный
is_public Логический

 

- id – уникальное поле таблицы численного типа, содержащее номер фотографии;

- photo_path – путь до файла с фотографией;

- user_id – номер пользователя, добавившего фотографию;

- date_tacken – дата и время публикации фотографии;

- view_count – количество просмотров фотографии;

- title – заголовок фотографии;

- title_slug – заголовок фотографии латиницей;

- caption – описание фотографии;

- date_added – дата и время добавления фотографии;

- is_public – публична ли фотография;

· Таблица gal_photo_gal хранит принадлежность фотографий к альбомам

 

Таблица 1.27 – gal_photo_gal

Название поля Тип поля
id Целочисленный
gallery_id Целочисленный
photo_id Целочисленный

 


- id – уникальное поле таблицы численного типа, содержащее номер принадлежности;

- gallery_id – номер галереи;

- photo_id – номер фотографии;

· Таблица dj_content_type хранит типы содержимого сайта

 

Таблица 1.28 – dj_content_type

Название поля Тип поля
id Целочисленный
name Строковый
app_label Строковый
model Строковый

 

- id – уникальное поле таблицы численного типа, содержащее номер типа содержимого;

- name – название типа содержимого;

- app_label – название модуля (префикс таблицы);

- model – модель (название таблицы);

· Таблица tags хранит список тегов

 

Таблица 1.29 – tags

Название поля Тип поля
id Целочисленный
name Строковый

 

- Id – уникальное поле таблицы численного типа, содержащее номер тега;

- name – название тега;

· Таблица tag _ taggeditem хранит связи тегов и содержимого сайта

 


Таблица 1.30 – tag_taggeditem

Название поля Тип поля
id Целочисленный
tag_id Целочисленный
content_type_id Целочисленный
object_id Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер связи;

- tag_id – номер тега;

- content_type_id – номер типа содержимого;

- object_id – номер содержимого;

· Таблица comments хранит комментарии пользователей

 

Таблица 1.31 – comments

Название поля Тип поля
id Целочисленный
content_type_id Целочисленный
object_pk Целочисленный
user_id Целочисленный
user_name Строковый
user_email Строковый
user_url Строковый
comment Текст
submit_date Целочисленный
ip_address Целочисленный
is_public Логический
is_removed Логический

 

- id – уникальное поле таблицы численного типа, содержащее номер комментария;

- content_type_id – номер типа содержимого;

- object_pk – номер содержимого;

- user_id – номер пользователя, оставившего комментарий;

- user_name – имя пользователя;

- user_email – адрес электронной почты пользователя;

- user_url – ссылка на сайт пользователя;

- comment – текст комментария;

- submit_date – дата и время добавления комментария;

- ip_address – IP адрес пользователя, оставившего комментарий;

- is_public – публичный ли комментарий;

- is_removed – дата и время удаления комментария;

· Таблица cm_flags хранит историю изменений комментария

 

Таблица 1.32 – cm_flags

Название поля Тип поля
id Целочисленный
user_id Целочисленный
comment_id Целочисленный
flag Строковый
flag_date Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер записи;

- user_id – номер пользователя, изменившего комментарий;

- comment_id – номер комментария;

- flag – действие, которое произвёл пользователь;

- flag_date – дата и время изменения;

· Таблица recomindations хранит рекомендации пользователей

 

Таблица 1.33 – recomindations

Название поля Тип поля
id Целочисленный
content_type_id Целочисленный
object_id Целочисленный
user_id Целочисленный
plus Текст
minus Текст
general Текст
positive Целочисленный
negative Целочисленный
status Целочисленный
created Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер рекомендации;

- content_type_id – номер типа содержимого;

- object_id – номер содержимого;

- user_id – номер пользователя, оставившего рекомендацию;

- plus – плюсы;

- minus – минусы;

- general – прочие;

- positive – количество пользователей, посчитавших рекомендацию полезной;

- negative – количество пользователей, посчитавших рекомендацию безполезной;

- status – статус публикации;

- created – дата и время создания рекомендации;

· Таблица articles хранит статьи пользователей

 

Таблица 1.34 – articles

Название поля Тип поля
id Целочисленный
title Строковый
text Текст
short_text Текст
is_remote Логический
url Строковый
user_id Целочисленный
slug Строковый
status Целочисленный
created Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер статьи;

- title – заголовок статьи;

- text – текст статьи;

- short_text – сокращённый текст статьи;

- is_remote – статья расположена на удалённом ресурсе;

- url – адрес ресурса на котором расположена статья;

- user_id – номер пользователя, опубликовавшего статью;

- slug – заголовок статьи латиницой;

- status – статус публикации;

- created – дата и время добавления статьи;

· Таблица rating_scores хранит рейтинг содержимого сайта

 

Таблица 1.35 – rating_scores

Название поля Тип поля
id Целочисленный
content_type_id Целочисленный
object_id Целочисленный
score Вещественный
votes Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер записи;

- content_type_id – номер типа содержимого;

- object_id – номер содержимого;

- score – средняя оценка;

- votes – количество проголосовавших пользователей;

· Таблица rating_votes хранит оценки содержимого сайта пользователями


Таблица 1.36 – rating_votes

Название поля Тип поля
id Целочисленный
content_type_id Целочисленный
object_id Целочисленный
score Вещественный
user_id Целочисленный
ip_address Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер оценки;

- content_type_id – номер типа содержимого;

- object_id – номер содержимого;

- score – оценка;

- user_id – номер пользователя;

- ip_address – IP адрес пользователя;

· Таблица rating_weight хранит вес содержимого сайта

 

Таблица 1.37 – rating_weight

Название поля Тип поля
id Целочисленный
content_type_id Целочисленный
object_id Целочисленный
weight Целочисленный
votes Целочисленный

 

- id – уникальное поле таблицы численного типа, содержащее номер записи;

- content_type_id – номер типа содержимого;

- object_id – номер содержимого;

- weight – вес содержимого;

- votes – количество пользователей, оценивщих вес содержимого;

· Таблица rating_weight_vote хранит оценки веса содержимого пользователями

 












Диаграмма классов

На диаграмме классов основного модуля (см. рисунок 9) классы, которые будут реализовывать взаимодействие с базой данных посредством ORM Django. Все классы будут наследоваться от стандартного класса Model, который включён в состав фреймворка. В классе Model уже реализованы необходимые функции для работы с базой данных.

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: