SQL
Как правильно организовать базу данных?
Допустим, что есть сайт с товарами. Товары делятся на категории. У каждого товара есть собственный рейтинг и отзывы. Для категории, страницы товара, рейтинга, отзывов и ещё каких-то возможных вкладок надо создавать отдельную таблицу? И можно ли связать какой-то конкретный товар, который находится в отдельной таблице "products" связать с таблицей рейтинга? Чтобы данный рейтинг был напрямую связан с текущим товаром. Правильный ли у меня ход мыслей насчет создание БД?
>Для категории, страницы товара, рейтинга, отзывов и ещё каких-то возможных вкладок надо создавать отдельную таблицу?
Да, крайне желательно. Это называется нормализацией данных.
>И можно ли связать какой-то конкретный товар, который находится в отдельной таблице "products" связать с таблицей рейтинга?
Разумеется.
> Чтобы данный рейтинг был напрямую связан с текущим товаром.
Э-э-э-э, что значит "напрямую"? Рейтинг (вернее, история оценок рейтинга) должен быть связан с товаром по ключу в базе, а "напрямую" это или "накривую" - мне судить сложно.
>Правильный ли у меня ход мыслей насчет создание БД?
В целом неплохо.
Да, крайне желательно. Это называется нормализацией данных.
>И можно ли связать какой-то конкретный товар, который находится в отдельной таблице "products" связать с таблицей рейтинга?
Разумеется.
> Чтобы данный рейтинг был напрямую связан с текущим товаром.
Э-э-э-э, что значит "напрямую"? Рейтинг (вернее, история оценок рейтинга) должен быть связан с товаром по ключу в базе, а "напрямую" это или "накривую" - мне судить сложно.
>Правильный ли у меня ход мыслей насчет создание БД?
В целом неплохо.
Правильный ход мыслей - взять учебник SQL (не самоучитель в интернете и не видеокурсы, а нормальный учебник, выпущенный авторитетным издательством) и внимательно его изучить. Особенно в той части, которая касается нормализации и нормальных форм (для большинства задач хватает третьей нормальной формы).
Технологии хранения данных в реляционных СУБД давным-давно отработаны. И не надо пытаться подменять знания велосипедами.
Технологии хранения данных в реляционных СУБД давным-давно отработаны. И не надо пытаться подменять знания велосипедами.
Прочитайте про третью нормальную форму баз данных. Каждая сущность в отдельной таблице, связь по индексам и уникальным ключам. Если рейтинг относится к нескольким товарам сразу - для него нужна отдельная таблица. Или если рейтинг должен выбираться из справочника. А если это просто число - лучше сделать поле в таблице товара, чтобы не плодить сущности без необходимости.
не забудь про шифрование данных, не храни их в открытом виде
Валерий Загуляев
Бессмысленное занятие. Если СУБД имеет доступ к данным (а иначе зачем она нужна) - доступ получит любой, кто доберется до файлов СУБД, потому как ключи шифрования там тоже будут. Вот защитить сервер БД грамотной настройкой прав доступа от несанкционированного доступа к данным по сети просто необходимо.
Похожие вопросы
- База данных для хранения больших данных?
- От чего зависит скорость восстановления базы данных?
- В какой программе делают базу данных?
- Форма ввода в базу данных MySQL через Php
- Посоветуйте бесплатный хостинг для создания, размещения баз данных для офисной работы
- Нужна помощь по курсовой. Тема Базы данных
- 4.Как создать таблицу в базе данных
- База данных в Access, проверить является ли данная связь многие ко многим и объяснить её
- Создать базу данных
- В чём смысл Баз Данных?