English Флаг English Español Флаг Español Deutsch Флаг Deutsch Italiano Флаг Italiano Polski Флаг Polski Nederlands Флаг Nederlands Português Флаг Português Français Флаг Français 中文 Флаг 中文 日本語 Флаг 日本語 हिन्दी Флаг हिन्दी اللغة العربية Флаг اللغة العربية Русский Флаг Русский Українська Флаг Українська עִברִית Флаг עִברִית Ελληνικά Флаг Ελληνικά Türk Флаг Türk Latvietis Флаг Latvietis Dansk Флаг Dansk Norsk Флаг Norsk Íslenska Флаг Íslenska 한국어 Флаг 한국어 Suomen Флаг Suomen Gaeilge Флаг Gaeilge Bahasa Melayu Флаг Bahasa Melayu Svenska Флаг Svenska Čeština Флаг Čeština
Пользователь ИконкаВойти
Русский Флаг Русский

Войти

 

Правильный путь. Создание базы данных для магазина бытовой техники

Процесс правильного проектирования бд на примере

На сервисе QuintaDB данные хранятся в таблицах, которые заполняются с помощью форм[1]. На примере таблицы с заказами бытовой техники мы рассмотрим самую распространенную ошибку при создании базы данных. Предположим, что у нас есть задача создать таблицу для менеджеров, которые будут вводить данные клиента и его заказы. Для простой базы данных может хватить одной таблицы, но для большинства БД их нужно несколько.

Рассмотрим первый случай. Создадим форму Заказы со всеми необходимыми полями и попробуем работать только в этой таблице. 

Но вот несколько неудобств, с которыми вы можете столкнуться:

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

 

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

Шаг 1. Создайте форму Каталог товаров и добавьте на нее поля: Категория, Наименование, Модель, Код товара, Статус, Цена за шт..

Шаг 2. Заполните таблицу с информацией о товарах или импортируйте данные[2] .

 

Шаг 3. По аналогии создайте форму Клиенты, которая будет содержать поля для заполнения данных о клиенте (Имя, Адрес, Телефон и др.). На данном этапе не обязательно заполнять таблицу с клиентами, но если у вас уже есть база данных, то вы можете сделать это сразу.

Шаг 4. Для оформления заказа клиента нужно создать третью форму - Форма заказа

Нужно связать эту форму с таблицей Каталог товаров с помощью поля Связь[3]. Данное поле поможет связать данные из нескольких таблиц внутри вашего приложения (подробнее о связях между таблицами читайте по ссылке).

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

Выберем тип связи - Многие-к-одному, тип отображения поля - Выпадающий список или Поле с автодополнением и возможностью выбрать несколько значений. Теперь при выборе кода товара на форме заказа, система автоматически определяет: какое наименование у этого товара, модель, статус и цена за единицу. Эти колонки (Наименование, Модель, Цена за шт.) можно отобразить в текущей таблице, с помощью полей типа: Связанная колонка[4].

Шаг 5. Добавим на форму числовое поле Количество и формулу[5] Итого.

С помощью формулы Цена*Количество будет считаться итоговая сумма заказа.

Шаг 6. Создаем финальную форму - Продажи. С помощью поля связь - Клиент связываем таблицы Продажи и Клиенты. Тип связи - Многие-к-одному.

Шаг 7. Добавляем Форму заказа в виде поля Субформа[6]. Чтобы суммировать значения колонки Итого нужно добавить на форму Связанную колонку К оплате. Узнать подробнее как считается сумма по субформе можно по этой ссылке.

Шаг 8. Заполняем форму. Выбираем нужно клиента из связанной таблицы или добавляем нового с помощью поля Связь. Заказанный клиентом товар указывается в субформе Заказ.

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

 

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

Полезные ссылки:

1. Как создать базу данных для сайта

2. Как создать базу данных онлайн, импортируя данные из Excel и CSV файлов

3. Как связать таблицы (формы) в QuintaDB

4. Поле: Связанная колонка

5. Поле: Формула

6. Поле: Субформа