Задача по проектированию БД
1. Есть некая таблица в базе данных, например "Товары".
2. Как правило, товары могут различаться по наличию тех или иных характеристик. В качестве примера рассморим товары: диск с компьютерной игрой, диск с фильмом и флешку. В зависимости от типа товар может иметь различные характеристики: диск с компьютерной игрой должен содержать информацию о колличестве дисков, типа дисков (CD или DVD), системных требованиях; диск с фильмом - информацию о колличестве дисков, типа дисков (CD или DVD) и продолжительность фильма; флешка - объём;
3. Заранее не известно, сколько типов товаров будет содержаться в базе данных, какие это будут типы товаров и какие характеристики нужны для описание того или иного типа товаров, а также какой тип данных имеет та или иная характеристика (например колличестве дисков имеет целочисленный тип, а системные требования - текстовый)
Требуется спроектировать базу данных так, чтобы:
1. можно было добавляя товар указывать для него тип и в завимимости от типа указывать хначение характеристик данного товара.
2. можно было добавлять новые типы товаров, указывая для них какие характеристики должен содержать данный тип товаров.
3. имелась возможность на базе существующего типа товара создавать новый, добавляя в него новые характеристики. Например, сначала описать тип диск, содержащий информацию о колличестве дисков и типа дисков (CD или DVD). а потом на его основе создать диск с компьютерной игрой и диск с фильмом.
Как бы вы подошли к решению данной задачи?
Цитата: Ordos
Что имеется:
1. Есть некая таблица в базе данных, например "Товары".
2. Как правило, товары могут различаться по наличию тех или иных характеристик. В качестве примера рассморим товары: диск с компьютерной игрой, диск с фильмом и флешку. В зависимости от типа товар может иметь различные характеристики: диск с компьютерной игрой должен содержать информацию о колличестве дисков, типа дисков (CD или DVD), системных требованиях; диск с фильмом - информацию о колличестве дисков, типа дисков (CD или DVD) и продолжительность фильма; флешка - объём;
3. Заранее не известно, сколько типов товаров будет содержаться в базе данных, какие это будут типы товаров и какие характеристики нужны для описание того или иного типа товаров, а также какой тип данных имеет та или иная характеристика (например колличестве дисков имеет целочисленный тип, а системные требования - текстовый)
Требуется спроектировать базу данных так, чтобы:
1. можно было добавляя товар указывать для него тип и в завимимости от типа указывать хначение характеристик данного товара.
2. можно было добавлять новые типы товаров, указывая для них какие характеристики должен содержать данный тип товаров.
3. имелась возможность на базе существующего типа товара создавать новый, добавляя в него новые характеристики. Например, сначала описать тип диск, содержащий информацию о колличестве дисков и типа дисков (CD или DVD). а потом на его основе создать диск с компьютерной игрой и диск с фильмом.
Как бы вы подошли к решению данной задачи?
1. Есть некая таблица в базе данных, например "Товары".
2. Как правило, товары могут различаться по наличию тех или иных характеристик. В качестве примера рассморим товары: диск с компьютерной игрой, диск с фильмом и флешку. В зависимости от типа товар может иметь различные характеристики: диск с компьютерной игрой должен содержать информацию о колличестве дисков, типа дисков (CD или DVD), системных требованиях; диск с фильмом - информацию о колличестве дисков, типа дисков (CD или DVD) и продолжительность фильма; флешка - объём;
3. Заранее не известно, сколько типов товаров будет содержаться в базе данных, какие это будут типы товаров и какие характеристики нужны для описание того или иного типа товаров, а также какой тип данных имеет та или иная характеристика (например колличестве дисков имеет целочисленный тип, а системные требования - текстовый)
Требуется спроектировать базу данных так, чтобы:
1. можно было добавляя товар указывать для него тип и в завимимости от типа указывать хначение характеристик данного товара.
2. можно было добавлять новые типы товаров, указывая для них какие характеристики должен содержать данный тип товаров.
3. имелась возможность на базе существующего типа товара создавать новый, добавляя в него новые характеристики. Например, сначала описать тип диск, содержащий информацию о колличестве дисков и типа дисков (CD или DVD). а потом на его основе создать диск с компьютерной игрой и диск с фильмом.
Как бы вы подошли к решению данной задачи?
1. Справочник типов товаров(ТТ) (связь с СТ 1-ко-многим)
2. Справочник единиц измерения (связь с ТТ 1-ко-многим)
3. Справочник товаров (СТ)
4. Справочник характеристик товаров(ХТ) (связь с СТ мног-к-1)
5. Спарвочник типов характеристик (связь с ХТ 1-ко-многим)
6. Таблицы Шаблоны конструирования (на ваше усмотрение)