|
|
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
Задание: разработать БД для хранения информации о товарах для реализации системы параметрического поиска . Пример реализации системы параметрического поиска Есть группы товаров, есть товары, у товаров есть параметры. Параметры могут быть различных типов и принимать одно или несколько значений. Выделены следующие типы параметров: 1. Логические (наличие какой-либо функции у товара - есть/нет). Например - наличие фотокамеры в данной модели сотового телефона. 2. Строковые (определённое строковое значение). Например - название фирмы изготовителя. Параметр может принимать только 1 значение. 3. Числовые (определённое числовое значение). Например - цена. Параметр может принимать только 1 значение. 4. Списковые. Параметр может принимать несколько значений. Например - холодильник Indesit может иметь следующие цвета: былый, серый, красный. В пакете ERWin я создала логическую схему БД (см. рисунок). Нужна грамотная оценка схемы. Описание возможных минусов и недостатков, предложения как сделать лучше. Аленочка тм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 06:58 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
Цель проекта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 10:41 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
Получается, что один и тот же параметр может принимать значения разного типа, и что допустимые значения никак не опредляются, и что можно одновременно задать: Модбильные телефоны->Мобильный телефон с идентификатором 1->Цвет->Зелёный, true, 3, -8.12, 25, Красный, false Это правильно? Списковый тип мне вообще сложно предстаить. Что это? XML? Массив? Таблица в таблице? Объект? Список HTML <ul><li></li></ul>? Пахнет расширением реляционной модели. Это нужно? А так - EAV как EAV. При аккуратном заполнении будет работать и в том виде, в котором есть. Только вот "группу товаров" я назвал бы "классом" или "типом". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 11:14 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
Как сделать лучше? - Лучше для чего? Поищите темы про EAV, модель Тенцера, расширенную модель Тенцера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 11:17 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
ModelRЦель проекта? Я же вроде бы написала.. В базе будет храниться вся информация о товарах: группы товаров, товары, характеристики товаров, причём совокупность параметров, по которым можно характеризовать товар может сильно отличаться для разных групп товаров. В будущем планируется создать систему параметрического поиска (web), которая будет работать с созданной БД и производть собственно ПОИСК информации по запросу пользователя и только по тем параметрам, которые ему нужны.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 11:18 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
AlexTheRavenи что допустимые значения никак не опредляются Сам себя поправляю. Допустимые варианты определяются, вижу. Не определяется 1) Сколько значений у каждого из параметров 2) Обязательно ли значение должно выбираться из варианта ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 11:22 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
во первых спасибо за дельные советы и замечания. AlexTheRavenПолучается, что один и тот же параметр может принимать значения разного типа, и что допустимые значения никак не опредляются, и что можно одновременно задать: Модбильные телефоны->Мобильный телефон с идентификатором 1->Цвет->Зелёный, true, 3, -8.12, 25, Красный, false Это правильно? Неправильно и такую ситуацию нужно исключить. Я сделаю это на сервере с помощью специальных процедур. AlexTheRaven Списковый тип мне вообще сложно предстаить. Что это? XML? Массив? Таблица в таблице? Объект? Список HTML <ul><li></li></ul>? Пахнет расширением реляционной модели. Это нужно? "Списковый тип" - не совсем удачное название. Таким образом я хотела обозвать тип параметра, значение которого будет выбираться из списка возможных вариантов, например из специального справочника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 11:39 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
AlexTheRavenКак сделать лучше? - Лучше для чего? Поищите темы про EAV, модель Тенцера, расширенную модель Тенцера. лучше - в смысле правильно с точки зрения проектирования БД под эту задачу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 11:40 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
AlexTheRaven AlexTheRavenи что допустимые значения никак не опредляются Сам себя поправляю. Допустимые варианты определяются, вижу. Не определяется 1) Сколько значений у каждого из параметров 2) Обязательно ли значение должно выбираться из варианта 1) Сколько значений у каждого параметра зависит от его типа!!!! Тогда мне нужно внести некоторые поправки. Нужно определить следующие типы параметров: 1. Параметр, которые принимает 1 строковое значение 2. Параметр, которые принимает 1 числовое значение (цена) 3. Параметр, который принимает 1 логическое значение (да/нет) 4. Параметр, значение которого выбирается из списка и может быть только одно (бренд, фирма-изготовитель) 5. Параметр, который может принимать несколько значений и значения которого выбираются из списка (возможные цвета модели) 2) Значение не обязательно должно выбираться из списка возможных вариантов!!! например, в случае если параметр - это цена!!! Опять же это зависит от типа параметра. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 11:54 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
Аленочка ModelRЦель проекта? В будущем планируется создать систему параметрического поиска (web), которая будет работать с созданной БД и производть собственно ПОИСК информации по запросу пользователя и только по тем параметрам, которые ему нужны.. 1)Рассмотрите еще возможности: ... 5.Параметр ссылка на товар. (пользователь хочет плеер с конкретным HDD). Группы товара образуют иерархию. 2)По целостности, не ясно: Для чего Тип параметра в ПК Параметр? Почему Значения не имеет в качестве ПК набор ВК в то время как Параметр группы товара - имеет? Если весь контроль перекладывается на процедурный код, то собственно для чего обсуждать схему? Программнов любую схему можно затолкать почти любую информацию. 3)Эстетически - если это сущности, то все их имена д.б. в единственном числе. Если таблицы - все во множественном. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 12:39 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
Нарисованная схема в первом посте, работать не будет. В центре всего должна стоять классическая древесная таблица, для идентификации всего и вся. А вот смайлик там просто классный! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 12:51 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
> Выделены следующие типы параметров: ... > 4. Списковые. Перечень допустимых значений может быть любым: строковым, числовым, логическим. Представляется более осмысленным: параметр - это одна сущность, его тип (строковый, логический, численный) - другая. На схеме не видно единиц измерений. Если планируется реально использовать эту структуру для какого-то проекта, то представленное решение хм... imho не тянет даже на промежуточное. Наиболее важная принципиальная ошибка: однозначность идентификации товара по имени невозможна в принципе. Системы синонимизации на схеме нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 13:35 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
Programmer_OrtodoxНарисованная схема в первом посте, работать не будет. В центре всего должна стоять классическая древесная таблица, для идентификации всего и вся. А вот смайлик там просто классный! О как! Заработает - не схема, а программа конечно с этой схемой. Схема не противоречива, это значит, что написать код, разруливающий все не отрегулированные на схеме ограничения можно. Нужно ли запихивать в свой код то что умеет СУБД - другой вопрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 13:49 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
ModelR 1)Рассмотрите еще возможности: ... 5.Параметр ссылка на товар. (пользователь хочет плеер с конкретным HDD). Спасибо, обязательно рассмотрю!! ModelRГруппы товара образуют иерархию. Вот с этим немного непонятно..., то есть понятно, что группы товаров могут образовывать иерархию , но совсем непонятно, сколько уровней в ней должно быть. А ещё количество уровней может как увеличиваться, так и уменьшаться. Как эту иерархию представить на схеме и потом реализовать ? Завести атрибут родитель у сущности <Группа товаров> и поставить рекурсивную связь как на рисунке? ModelR 2)По целостности, не ясно: Для чего Тип параметра в ПК Параметр? Дело в том, что я использую ERWin 4.0 для создания логической схемы БД. В руководстве пользователя к этому программному продукту написано, да и на практике видно, что ПК родительской сущности мигрируют в дочернюю сущность автоматически. И как от этого избавиться я не знаю.. Может быть стоит использовать другой программный продукт?? ModelRПочему Значения не имеет в качестве ПК набор ВК в то время как Параметр группы товара - имеет? да, что-то со связями у меня туговато, дело в том, что есть такие связи как идентифицирующие и неидентифицирующие, вот что по этому поводу написано в документации: На ERwin Toolbox есть пять типов связей: идентифицирующая, неидентифицирующая, полный кластер подтипов, неполный кластер подтипов, неопределенная (связь”многие-ко-многим”). Идентифицирующая связь - такая связь, при которой экземпляр дочерней сущности идентифицируется через свою ассоциацию с родительской сущностью. Атрибуты первичного ключа родительской сущности становятся атрибутами первичного ключа дочерней. Неидентифицирующая связь - это такая связь, при которой экземпляр дочерней сущности не идентифицируется через свою ассоциацию с родительсой сущностью. Атрибуты первичного ключа родительской сущности становятся неключевыми атрибутами дочерней. по идее, у меня все связи должны быть идентифицирующими, но когда с помощью этой связи пытаешься связать 1 сущность со 2, все ключи 1 сущности автоматически мигрируют в ПК 2-ой, даже если мне это не надо. Если я ставлю неидентифицирующую связь, то ПК из 1 сущности во 2 мигрируют, но уже не как первичные ключи... ModelR Если весь контроль перекладывается на процедурный код, то собственно для чего обсуждать схему? Программно в любую схему можно затолкать почти любую информацию. Насчёт схемы - неправильно построенная схема, может значительно усложнить код и вообще привести к нежелательным последствиям... ModelR3)Эстетически - если это сущности, то все их имена д.б. в единственном числе. Если таблицы - все во множественном. Дело в том, что логическая схема потом будет с помощью ERWin преобразована в физическую, так что думаю, что это не принципиально... Аленочка тм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 06:48 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
Programmer_OrtodoxНарисованная схема в первом посте, работать не будет. В центре всего должна стоять классическая древесная таблица, для идентификации всего и вся. А вот смайлик там просто классный! почему это она не будет работать? будет и ещё как, просто её нужно до ума довести... жду ваших примеров "древесной таблицы"...:-)) ..и причём тут смайлик? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 06:51 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Выделены следующие типы параметров: ... > 4. Списковые. Перечень допустимых значений может быть любым: строковым, числовым, логическим. Представляется более осмысленным: параметр - это одна сущность, его тип (строковый, логический, численный) - другая. На схеме не видно единиц измерений. Если планируется реально использовать эту структуру для какого-то проекта, то представленное решение хм... imho не тянет даже на промежуточное. Наиболее важная принципиальная ошибка: однозначность идентификации товара по имени невозможна в принципе. Системы синонимизации на схеме нет. О каких единицах измерения идёт речь? И что такое система синонимизации? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 07:47 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 10:18 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
Аленочка ModelRГруппы товара образуют иерархию. Вот с этим немного непонятно..., то есть понятно, что группы товаров могут образовывать иерархию , но совсем непонятно, сколько уровней в ней должно быть. А ещё количество уровней может как увеличиваться, так и уменьшаться. Как эту иерархию представить на схеме и потом реализовать ? Завести атрибут родитель у сущности <Группа товаров> и поставить рекурсивную связь как на рисунке? Да, в простейшем случае диаграмма как на рисунке. Кроме того нужно прописать правила наследования параметров. Напрмер, исключить эту проблему в корне, запретив суперкатегориям иметь параметры. Аленочка ModelR 2)По целостности, не ясно: Для чего Тип параметра в ПК Параметр? Дело в том, что я использую ERWin 4.0 для создания логической схемы БД. В руководстве пользователя к этому программному продукту написано, да и на практике видно, что ПК родительской сущности мигрируют в дочернюю сущность автоматически. И как от этого избавиться я не знаю.. Может быть стоит использовать другой программный продукт?? ModelRПочему Значения не имеет в качестве ПК набор ВК в то время как Параметр группы товара - имеет? да, что-то со связями у меня туговато, ... ПК конечно мигрируют по связи, однако в ERWin легко управлять тем, как они это делают на закладке свойств связи, включая идентифицирующую /неиденифицирующю миграцию и rolename атрибутов. По этой причине средство моделирования менять не нужно. Судя по последней диаграмме Вы уже освоились:). Аленочка ModelR Если весь контроль перекладывается на процедурный код, то собственно для чего обсуждать схему? Программно в любую схему можно затолкать почти любую информацию. Насчёт схемы - неправильно построенная схема, может значительно усложнить код и вообще привести к нежелательным последствиям... ModelR3)Эстетически - если это сущности, то все их имена д.б. в единственном числе. Если таблицы - все во множественном. Дело в том, что логическая схема потом будет с помощью ERWin преобразована в физическую, так что думаю, что это не принципиально... Корректное изложение упрощает чтение. В конце концов диаграмма - это средство общения, например на этом форуме. Также и DDL - кроме СУБД, его читают люди, причем именно тогда, когда возникают проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 10:24 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
ModelRСудя по последней диаграмме Вы уже освоились.Оп..., а судя по самой последней - еще есть проблемы. Еще раз посмотрите на Параметр группы товаров и на Значения.... Сформулируйте соответсвующие правила на простом русском языке и проверьте, то ли нарисовано на диагамме. В Значениях ПК пустой намеренно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 10:34 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
2 ModelR большое вам спасибо... то что суперкатегории не могут иметь параметры это понятно, но это ведь уже вопрос реализации и на схеме это никак не отображается ?? Аленочка тм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 10:34 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
ModelR ModelRСудя по последней диаграмме Вы уже освоились.Оп..., а судя по самой последней - еще есть проблемы. Еще раз посмотрите на Параметр группы товаров и на Значения.... Сформулируйте соответсвующие правила на простом русском языке и проверьте, то ли нарисовано на диагамме. В Значениях ПК пустой намеренно? а разве обязательно, чтобы там был какой-то ПК? ведь эти объекты, как вы их называете "значения" - простые ассоциации, таким образом я раскрываю связь многие-ко-многим, которая сущестует между сущностью "Товар" и "Параметр", если честно, то проблему я не увидела, вы считаете что в "значения" необходимо добавить ПК? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 10:40 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 10:45 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
Аленочка то что суперкатегории не могут иметь параметры это понятно, но это ведь уже вопрос реализации и на схеме это никак не отображается ?? Можно и отобразить, разделив сущность Группа товара на две. Но практически достаточно это прокомменировать. Аленочка а разве обязательно, чтобы там был какой-то ПК? ведь эти объекты, как вы их называете "значения" - простые ассоциации, таким образом я раскрываю связь многие-ко-многим, которая сущестует между сущностью "Товар" и "Параметр", если честно, то проблему я не увидела, вы считаете что в "значения" необходимо добавить ПК?Не обязательно. Указав ПК как на диаграмме в 2323480 Вы тем самым потребовали от СУБД чтобы для пары Товар+Параметр имелось не более одного числового ( строкового, логического) значения, но разрешили иметь несколько, но только разных списковых значений. Код параметра согласно диаграмме однозначно определяет и содержание параметра и группу товара, т.е. цвет телевизора и цвет плеера будут иметь разные коды параметров. Вам решать, правильно ли оно в Вашем случае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 11:45 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
Алёна, для непосвящённых можно небольшое лирическое отступление относительно значения обозначений (чёрный поинт, белый поинт, отсутствие поинта) пунктиры = связи FK = ПК ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2006, 00:02 |
|
||
|
Схема БД товаров и их характеристик. Оцените пожалуйста!!
|
|||
|---|---|---|---|
|
#18+
"Чёрный поинт" - это обозначение конца связи "один-ко-многим". "Отсутствие поинта" - начало связи многие-ко-многим PK - Primary Key (первичный ключ) FK - Forign Key (внешний ключ, ссылка не первичный ключ другой таблицы) а вообще для начала почитайте теорию по проектированию БД, про логические и физические модели.. Аленочка тм ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2006, 03:52 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=88&tid=1543268]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 433ms |

| 0 / 0 |
