• Главная
  • Карта сайта
Не найдено

База даних Інтернет-магазину

Вітаю вас, читачі cccp-blog Вітаю вас, читачі cccp-blog.com! 🙂

Сьогодні нами буде розглянута база даних Інтернет-магазину. Я не говорив про неї в статті, присвяченій структурі Інтернет-магазину зважаючи на обширність даної теми.

До того ж, про моє упущення мені ввічливо нагадали в одному з коментарів до зазначеної статті 🙂 Тому мені нічого більше не залишається як виконати свою обіцянку. Тим більше, що питання дійсно цікавий і вартий уваги.

Отже, з усіх існуючих типів сайтів Ви вирішили створити саме Інтернет-магазин? Прекрасне рішення! 🙂

Даною публікацією я допоможу Вам зробити ще один крок на шляху до створення сайту своєї мрії, який полягає в створенні сховища даних для вашого ресурсу.

Щоб по ходу розповіді у Вас не виникало проблем зі сприйняттям інформації, рекомендую познайомитися з термінологією в статті «База даних сайту» . Ознайомилися, відмінно 🙂

Значить, йдемо далі ...

В першу чергу, кілька слів про відносини між сутностями. Ми вже розібралися раніше з тим, що в структурі бази даних Інтернет-магазину суті відповідає таблиця. Таблиця являє собою набір полів, які відповідають атрибутам суті.

Кількість атрибутів суті не обов'язково має відповідати кількості полів БД. Наприклад, атрибут товару Характеристики може складатися з полів колір, розмір, матеріал, орнамент і т.д. І у кожного товару набір характеристик і їх значення будуть різними.

Тому іноді доцільно виносити деякі атрибути в окремі таблиці, пов'язані з основними зовнішніми ключами.

У кожній таблиці обов'язково повинно бути поле, що зберігає ідентифікатор запису.

Значення ідентифікатора, як правило, формується автоматично при додаванні нового запису і ніколи не повторюється.

Це необхідно тому, що зв'язок між таблицями здійснюється якраз по цьому полю (зовнішні ключі), яке також часто є унікальним індексом. Тому при дублюванні значень збоїв в роботі ресурсу не уникнути.

Основні сутності бази даних Інтернет-магазину і відносини між ними представлена ​​на малюнку вище Основні сутності бази даних Інтернет-магазину і відносини між ними представлена ​​на малюнку вище.

На схематичному зображенні таблиць я привів тільки поля, що зберігають ідентифікатор запису. інші ж я помітив на «...»

»

Тому наступним етапом нашого знайомства з базою даних Інтернет-магазину є детальний огляд основних сутностей і атрибутів і, отже, варіантів можливих таблиць і їх полів.

1. Товар

Дана сутність і однойменна таблиця бази даних Інтернет-магазину містить інформацію про те, чим, власне кажучи йде торгівля на сайті. Оскільки покупець не може наживо оцінити продукт, то задача розробників - надати максимально повний перелік властивостей, щоб виникло бажання його придбати.

Отже, список атрибутів буде таким:

  • Найменування товару - без коментарів 🙂 Єдина рекомендація - не робити занадто велике поле. Всю необхідну інформацію краще винести в «Опис».
  • Опис - даний атрибут в деяких випадках краще винести в окрему таблицю зважаючи на велику кількість даних, що може знизити швидкість виконання запитів до БД.
  • Зображення - тут має місце бути зв'язок «один-ко-многим», тому що у товару може бути декілька зображень. Отже, доцільно буде створити для них окрему таблицю.
  • Модель - даний атрибут таблиці товарів існує не у всіх проектах. Хтось вважає за краще заводити окрему таблицю для їх зберігання. Як на мене, це нераціонально. Оскільки дана дія призведе до великих витрат ресурсів сервера під час запитів до БД, де Вам потрібно буде отримати моделі зазначеного товару. Отже, це позначиться на швидкості даних запитів. Краще рішення - створити кілька записів у таблиці товарів.
  • Ціна - також без коментарів 🙂
  • Доступність - це, як правило, поле в двома варіантами значень: «У наявності» / »Немає в наявності»
  • Кількість - якщо товар в наявності, тут зберігається кількість доступних товарів на складі. Але, як показує практика, дуже часто товар, якого немає в дійсності на складі, має нульове значення. Це виникає, як правило, через людський фактор. Тому, якщо є сенс робити на цьому полі, вирішувати Вам.
  • Опції - цей атрибут має на увазі список різних характеристик: колір, обсяг пам'яті, тактову частоту, наявність орнаменту і т.д. Як правило, для них створюється окрема таблиця бази даних Інтернет-магазину. У товару може бути декілька атрибутів, тому доцільно було б також створити таблицю, що зберігає наявність у товарів певних атрибутів.
  • SEO-атрибути - це група полів, що зберігають вміст для мета-тегів description і keywords, які необхідні для надання ваги сторінки для пошукових роботів і, отже, впливають на позиції сайту в пошуковій видачі.
  • Мова - цей атрибут характерний для магазинів, що мають багатомовний інтерфейс. В даному випадку для кожної мови вводиться найменування товару та його опис. Як правило, для мов вводиться окрема таблиця, що містить поле ідентифікатора і найменування мови. У таблиці товарів вказується ідентифікатор, а найменування, при необхідності, підтягується за допомогою запитів.

2. Виробник

У товару зобов'язаний бути виробник. Його необхідно вказувати для того, щоб користувачі могли орієнтуватися на якість товару через рейтингу і популярності бренду. У структурі бази даних Інтернет-магазину наявність даної таблиці потрібно для організації фільтрації товарів і ряду інших можливостей.

У даній суті набір атрибутів виглядає наступним чином:

  • Найменування - ті ж рекомендації, що і для назви товару. Додатково слід зазначити, що назви зарубіжних виробників краще вказувати на мові міжнародного спілкування (як правило англійська), щоб покупці не вчитувались в ієрогліфи і не втрачали через це довіри до перевірених брендів.
  • Опис - тут зазвичай вказують інформацію про виробника: історію фірми, сертифікати якості, різні нагороди та участь у виставках, що підвищують довіру покупців.
  • Логотип - поле для зберігання логотипу фірми.
  • Кількість товарів - необов'язкове поле, може бути введено для спрощення фільтрації товарів.

3. Категорія

Головним призначення даної суті бази даних Інтернет-магазину є угруповання товарів. У категорій існує ієрархія (категорія-категорія і т.д.), що необхідно враховувати у вигляді атрибутів. на:

  • Назва - якомога лаконічніше, 1-2 слова
  • Опис - містить короткий опис товарів, які можна знайти в даній рубриці. Найчастіше використовується для SEO-просування сайту. Необов'язковий атрибут.
  • Зображення - як правило, тут немає великої кількості картинок, тому робити окрему таблицю сенсу немає. Вистачить і поля при необхідності.
  • Доступність - тут вона так само потрібна, як і для товарів. Вся справа в тому, що в даній категорії може не бути товарів взагалі або вони будуть не в наявності. Тоді користувачеві вона не показується. Але пошукові роботи бачать її і індексують, просуваючи сайт в пошуковій видачі.
  • Кількість товарів - показує загальну кількість товарів в категорії. Необов'язковий атрибут для даної таблиці бази даних Інтернет-магазину.
  • SEO-атрибути - такий же сенс і рекомендації, як і у товарів.
  • Ієрархія - складовою атрибут, повинен складатися з номера ступені категорії в ієрархії і id батьківської категорії. опціонально можуть бути винесені в окрему таблицю. Враховується при формуванні різних меню на сайті.
  • Мова - також необхідний для багатомовних проектів.

4. Покупець

Таблиця, відповідна даної суті, зберігає в базі даних Інтернет-магазину інформацію про покупця, яку він вказує при реєстрації на сайті. містить наступний набір атрибутів:

  • Логін - нік користувача, під яким він буде входити на сайт.
  • Пароль - думаю, коментарів не потребує 🙂 Єдине, що варто відзначити - пароль часто зберігається в зашифрованому вигляді, щоб виключити його явне використання при зломі бази даних Інтернет-магазину. Його, звичайно ж, можна розшифрувати, підібравши алгоритм, але на це піде час, за яке сумлінну адміністратор прийме належні дії.
  • Група користувачів - на деяких ресурсах користувачі групуються між собою за різними критеріями: за кількістю замовлень ( «Рідкісний покупець», «Частий покупець», «VIP»), за обсягами закупівель (оптовий, роздрібний) і т.д. Дана градація часто робиться з метою надання знижок і певних товарів різним категоріям. Поле може містити як найменування групи, так і її іденіфікатор.
  • Контакти - телефон користувача, e-mail, факс, поштовий індекс, адреса та ін. - кожен атрибут зберігається в окремому полі.
  • IP-адреса - необхідний для обмеження доступу користувача на сайт, простіше кажучи для «бана». Для забанених IP може бути створена окрема таблиця бази даних Інтернет-магазину. Але, незважаючи на потрібність даного атрибута, він не є обов'язковим. Оскільки подібний бан можна легко обійти за допомогою динамічного IP або заходу з різних точок.
  • Статус - може бути різним: «Онлайн» / »Оффлайн», «Вилучений», «Давно не відвідував» і т.д.
  • Знижки - це поле зберігає кількість знижкових балів,% знижки - все залежить від політики магазину.
  • Мова - поле необхідно для зберігання мови користувача, який він вказує при реєстрації. І який використовується при відображенні товарів, їх описів, категорій та інших сутностей і підписів елементів інтерфейсу, які мають мовні настройки.
  • Геозон - як правило, тут зберігається код країни. Необхідний, в основному, для автоматичного визначення мови інтерфейсу в разі, якщо користувач перший раз на сайті і для пропозиції транспортних компаній при оформленні замовлень. Зазвичай опис геозон, якщо потрібно, зберігається в окремій таблиці.

5. Замовлення

Таблиця бази даних Інтернет-магазину, відповідна даної суті, зберігає в собі інформацію про замовлення покупців. Призначення даної суті - інформування покупців і допомогу адміністраторам, які розглядають замовлення, погоджуючи їх в телефонному режимі.

Список атрибутів такий:

  • Покупець - це поле зберігає, як правило, ідентифікатор покупця з однойменної таблиці, який зробив замовлення.
  • Товар - ідентифікатор товару з відповідної таблиці. Оскільки в одній замовленні може бути кілька товарів, є сенс зробити окрему таблицю для фіксації зв'язку з цим, що зберігає ідентифікатор замовлення і товару.
  • Кількість товарів - без коментарів 🙂
  • Ціна товару - ціна кожного товару, присутнього в замовленні.
  • Ціна замовлення - сумарна вартість всіх товарів, що значаться в замовленні. Необхідна для ведення статистики доходів магазину, виключаючи необхідність вираховувати її кожен раз на підставі товарів в замовленні та їх окремої вартості.
  • Спосіб доставки - тут вказується або назва транспортної компанії, або вказується її ідентифікатор, а самі фірми зберігаються в іншій таблиці бази даних Інтернет-магазину.
  • Спосіб оплати - особливих коментарів, думаю, не вимагає 🙂 Тут, в більшості випадків зберігається назва платіжної системи (WebMoney, VISA, MasterCard, PayPal і ін.) Або її ідентифікатор з однойменної таблиці.
  • Статус - фіксує стан замовлення: «В обробці», «Виконано», «відхилений» і ін.
  • Назва замовлення - в даному полі зберігається текстовий опис замовлення, яке формується, як правило, автоматично при його формуванні. Даний атрибут присутній далеко не на всіх торгових ресурсах і служить, скоріше для орієнтації адміністраторів при пошуку необхідного замовлення.
  • Коментар - поле, яке заповнює користувач при оформленні. Чи не є обов'язковим.

На цьому стаття, в якій нами була розглянута база даних Інтернет-магазину, добігає кінця. З нетерпінням чекаю ваших відгуків і коментарів з приводу викладеного матеріалу. Якщо пост вам сподобався, діліться ним з друзями в соціальних мережах, підключайте їх до обговорення! 🙂

На завершення хочу порекомендувати відео, що ілюструє створення бази даних Інтернет-магазину за допомогою phpMyAdmin, про який я згадував у своїй статті «Програми для створення сайтів» .

Всім удачі! 🙂

PS: якщо вам потрібен сайт або необхідно внести правки на існуючий, але для цього немає часу і бажання, можу запропонувати свої послуги.

Більше 5 років досвіду професійної розробки сайтів. Робота з PHP, OpenCart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, React, Angular і іншими технологіями web-розробки.

Досвід розробки проектів різного рівня: Лендінзі, корпоративні сайти, Інтернет-магазини, CRM, портали. У тому числі підтримка і розробка HighLoad проектів. Надсилайте ваші заявки на email [email protected] .

І з друзями не забудьте поділитися 😉

Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью