Форум программистов, компьютерный форум, киберфорум
Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,219

Проектирование базы данных магазина

01.06.2016, 14:40. Показов 2814. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.
Есть магазин комплектующих для компьютера.
Нужно спроектировать базу данных для него.
очевидно должна быть таблица товаров,но опять же товары бывают разные (видюхи, память итд итп) и увсех разные хар-ки.. т.е если я захочу показывать лишь видеокарты с памятью 1024 мб, то должен быть столбец память итд.. опять же у прооцессоров памяти нет -> для каждого типа комплектующих должна быть своя таблица:?
а как их потом связывать в одну ?
типа категория - цена - наличие шт?

остальные таблицы думаю будут продал, купил.. дабы наработать скидку... и думаю хватит? выслушаю ваши предложения еще))
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.06.2016, 14:40
Ответы с готовыми решениями:

Проектирование базы данных
Здравствуйте. Учусь проектировать базы данных, мне необходимо спроектировать базу для приложения поиска топлива, товаров и услуг на...

Проектирование базы данных
Здравствуйте, извините что обращаюсь, я просто не знаю как ещё построить связи между таблицами нужно чтобы связи были в третьей нормальной...

Проектирование базы данных
Здравствуйте, извините что обращаюсь, я просто не знаю как ещё построить связи между таблицами нужно чтобы связи были в третьей нормальной...

24
52 / 39 / 29
Регистрация: 08.04.2016
Сообщений: 126
01.06.2016, 16:22
Цитата Сообщение от Fakeoke Посмотреть сообщение
а как их потом связывать в одну ?
Можно, например, попробовать так:

Тип товара:
1. ИД
2. Наименование (процессор, видеокарта, озу и т.д.)

Единица измерения:
1. ИД
2. Наименование (ггц, мгб, нм и т.д.)

Параметр товара:
1. ИД
2. ИД Единица измерения
3. Наименование (частота, объем памяти, скорость вращения шпинделя и т.д.)

Товар:
1. ИД
2. ИД Тип товара
3. Значение параметра (1024, 1000, 3.0, 32 и т.д.) - то ли вводить вручную, то ли тоже откуда-то подставлять. Может лучше подставлять, если диапазон возможных значений ограничен.

Товар+Параметр товара:
1. ИД
2. ИД Товар
3. ИД Параметр

Добавлено через 14 минут
Fakeoke,

Нет, вот так скорее всего

Тип товара:
1. ИД
2. Наименование (процессор, видеокарта, озу и т.д.)

Единица измерения параметра:
1. ИД
2. Наименование (ггц, мгб, нм и т.д.)

Параметр товара:
1. ИД
2. ИД Единица измерения параметра
3. Наименование (частота, объем памяти, скорость вращения шпинделя и т.д.)

Фирма:
1. ИД
2. Наименование (AMD, intel, и, видимо, все)

Модель:
1. ИД
2. Наименование (i5, i7 и т.д.)

Товар:
1. ИД
2. ИД Фирма
3. ИД Модель

Товар+Параметр товара:
1. ИД
2. ИД Товар
3. ИД Тип товара
4. ИД Параметр товара
5. Значение параметра товара (1024, 1000, 3.0, 32 и т.д.)
0
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,219
01.06.2016, 18:26  [ТС]
chronicler, а так нельзя:?
таблица товары
в ней поля категория товара ид товара
и потом исходя из категории нужно чтобы была отдельная таблица для видеокарт итд итп

как это сделать
0
52 / 39 / 29
Регистрация: 08.04.2016
Сообщений: 126
01.06.2016, 18:37
Цитата Сообщение от Fakeoke Посмотреть сообщение
а так нельзя:?
Можно. Просто для каждого отдельного вида товара нужна будет отдельная таблица со своим специфичным набором параметров. Чем больше типов товаров, тем больше нужно будет отдельных таблиц: видеокарты, процессы, озу, мониторы, упсы, принтеры, мышки, кулеры, материнские платы, звуковые, двд, сканеры, жесткие, ssd, корпуса, клавиатуры, роутеры и т.д. и т.п. И на каждую из них надо предусмотреть FK. Добавляется новый вид товара - нужна новая таблица.
Если у фирмы ассортимент ограничен скажем видеокартами и процессорами, тогда ок. Чем больше ассортимент, тем больше таблиц.
0
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,219
01.06.2016, 19:15  [ТС]
Цитата Сообщение от chronicler Посмотреть сообщение
для каждого отдельного вида товара нужна будет отдельная таблица со своим специфичным набором параметров
ну я так и планировал в принципе.. просто по другому то и никак не получится...
одну таблицу делать с кучей столбцов и указывать NULL где нет этого парамтера как-то неахти...
или я не прав:?
0
52 / 39 / 29
Регистрация: 08.04.2016
Сообщений: 126
01.06.2016, 19:27
Цитата Сообщение от Fakeoke Посмотреть сообщение
одну таблицу делать с кучей столбцов и указывать NULL где нет этого парамтера как-то неахти...
или я не прав:?
Я вообще себе это иначе представлял.
Допустим в таблице Товар есть 1 запись, в которой хранится ИД Фирма (например intel), ИД Модель (например i5).
В таблице Товар+Параметр товара есть 1-N записей, которые по ИД Товар ссылаются на запись в таблице Товар. Каждая запись из таблицы Товар+Параметр товара описывает отдельный параметр товара. Например: техпроцесс, частота, множитель заблокирован/разблокирован, сокет, чипсет, частота видеоядра и есть ли оно вообще, TDP. Короче все что нужно. И это все лежит просто отдельными записями, а не столбцами.
0
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,219
01.06.2016, 19:36  [ТС]
Цитата Сообщение от chronicler Посмотреть сообщение
таблице Товар+Параметр
это на каждый товар отдельную таблицу составлять... зачем так делать...
например видеокарты бывают разные
но у всех видеокарт одинаковые хар-ки (частота, ядро итд итп - столбцы таблица "видеокарты")
и тогда таблица видеокарты включает
ид карты и ее хар-ки
итд итп

и так для всех типов комплектующих.
но как эти таблицы потом в одну собрать, вот для меня проблема
0
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,219
02.06.2016, 21:37  [ТС]
Цитата Сообщение от Fakeoke Посмотреть сообщение
как эти таблицы потом в одну собрать, вот для меня проблема
ааап помогите)
0
 Аватар для VinniPuh
9131 / 6136 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
02.06.2016, 22:54
Цитата Сообщение от Fakeoke Посмотреть сообщение
...как эти таблицы потом в одну собрать...
В запросе указать все нужные таблицы и нужные поля.
0
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,219
02.06.2016, 22:59  [ТС]
Цитата Сообщение от PuhKMV Посмотреть сообщение
В запросе указать все нужные таблицы и нужные поля
так и таблица то как будет все-таки выглядеть?
ид категории и ид товара типа будут ключи?
0
 Аватар для VinniPuh
9131 / 6136 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
02.06.2016, 23:15
Вы же только как собрать спросили.
Вот если бы вы выложили свои наработки в Акцессе в формате - mdb, то можно бы было посмотреть и чего то посоветовать по структуре и связям, а так только одни слова получатся.
Вам же во втором посту советовали какие таблицы и какие поля делать.
Создавайте и выкладывайте, на конкретном примере легче ориентироваться.
Не я, так кто другой поможет.
Самому с нуля всю БД делать немного лень.
0
 Аватар для VinniPuh
9131 / 6136 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
03.06.2016, 07:36
Fakeoke, Лично я вижу схему данных для описания характеристик товара комп магазина вот такой.
Ну плюс еще там операции в виде прихода и расхода, но до этого еще кажисть далеко, для начала нужно описать каждый товар.
По крайней мере у себя в - Access, я бы делал так.
Миниатюры
Проектирование базы данных магазина  
0
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,219
03.06.2016, 10:31  [ТС]
Цитата Сообщение от PuhKMV Посмотреть сообщение
Самому с нуля всю БД делать немного лень.
так и мне лень делать, чтобы потом ее переделывать..
надо делать так сразу правильную...
поэтому БД сначала проектируется, а потом создается...

лично я все видел немного иначе... вот так:
Миниатюры
Проектирование базы данных магазина  
0
 Аватар для VinniPuh
9131 / 6136 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
03.06.2016, 11:01
Цитата Сообщение от Fakeoke Посмотреть сообщение
...лично я все видел немного иначе...
Я видю это таким макаром.
В форме - Типы указываем всевозможные типы товара.
Там же в подчиненной форме для каждого типа указываем параметры, которые относятся к данному типу.
Так же есть Марки товара и модели у этой марки
Заполняем
Потом уже в форме - Товары исходя из этих ранее заполненых справочников указываем характеристики.
Как то так.
Это без всякого движения товара в виде Прихода-Расхода.
Миниатюры
Проектирование базы данных магазина   Проектирование базы данных магазина   Проектирование базы данных магазина  

0
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,219
03.06.2016, 13:36  [ТС]
PuhKMV, до форм еще рано...структуру надо сначала сделать...
как все-таки сделать то что если у нас в типе такое то число то нужно брать из одной таблицы а иначе из другой?

или никак нельзя сделать такую таблицу? просто чтобы весь товар вывести надо вывести совокупность таблиц и все
0
 Аватар для VinniPuh
9131 / 6136 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
03.06.2016, 14:05
Если вы забудете указать какую то характеристику или параметр, вы что так и будете через день для каждой детали ПК изменять структуру БД, добавляя таблицы и поля всю оставшуюся жизнь?
0
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,219
03.06.2016, 14:22  [ТС]
Цитата Сообщение от PuhKMV Посмотреть сообщение
Если вы забудете указать какую то характеристику или параметр, вы что так и будете через день для каждой детали ПК изменять структуру БД, добавляя таблицы и поля всю оставшуюся жизнь?
всмысле?
у меня для всех видеокарт одна таблица.. со столбцами - характеристиками.. для всех типов своя таблица т.к у них разные столбцы у всех
если что-то не заполнено - NULL же и все..
0
 Аватар для VinniPuh
9131 / 6136 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
03.06.2016, 14:27
Я по другому не умею.
И считаю.что это будет не правильно и не удобно, т.к. это будет не БД, с которой будет удобно работать, а просто сборка таблиц.
Тут я вам не помощник.
0
524 / 400 / 213
Регистрация: 28.07.2011
Сообщений: 2,219
03.06.2016, 19:14  [ТС]
Цитата Сообщение от PuhKMV Посмотреть сообщение
не БД, а просто сборка таблиц.
как раз поэтому я и обратился с вопросом как это лучше связать...
а ваш вариант неочень понятен для меня..
например зачем нужна таблица код марки, если там только одна марка:? я и так могу вывести нужные марки типа SELECT * From where "марка = нужная марка"
код типа тоже самое...
и с характеристиками также.. зачем мне отдельные таблицы если можно хранить все в одной?
0
 Аватар для VinniPuh
9131 / 6136 / 593
Регистрация: 27.03.2013
Сообщений: 19,993
03.06.2016, 19:24
Это вы хотите создать множество таблиц, в моей версии всего одна таблица для любого компонента или детали.
В разделе - Акцесс можете скачать пример и попробовать как это выглядит в натуре, седня по этой теме вопросик задавал.

Добавлено через 2 минуты
Вот тут - При отсутствии в списке - Добавить значение + Код приложен примерчик.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.06.2016, 19:24
Помогаю со студенческими работами здесь

Проектирование базы данных
Здравствуйте, форумчане. Просьба помочь с проектированием. Назрели следующие вопросы: 1) Как может выглядеть таблица...

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

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

Проектирование базы данных
Уважаемые, вопрос достаточно творческий. Разрабатываю информационную систему, хранит различные данные учебного заведения, группы, студенты,...

Проектирование Базы Данных предприятий
Ребят, всем привет, решил наконец-то приняться за разработку БД для предприятия, в котором работаю. ПОдскажите как лучше всего организовать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru