Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];

Вниз

Структура таблиц   Найти похожие ветки 

 
Conder   (2003-03-07 11:35) [0]

Хайствуйте многоуважаемый All. Просветите темного в таком разрезе: нужно написать простенькую прогу для небольшой компьютерной фирмы. Столкнулся с дилеммой организации таблиц для комплектующих. Вот сам вопрос как по вашему лучше создать структуру таблиц? Сейчас действует вариант что на каждый тип комплектухи своя таблица . Но может лучше все это хранить в одной типа
код-наимен-цена1-цена2-гарнт-допинфо?


 
stone   (2003-03-07 11:40) [1]

Можно и так. Можно в виде дерева ID-ParentID-Descr-...
Результат:

Материнские платы
|
|- ASUS
| |
| - ....
|- Microstar
|
- ....
Хотя чувствую одной таблицей ты не обойдешься.


 
Соловьев   (2003-03-07 11:40) [2]

есть такое понятие как сушность и связи в БД. А есть еще потом приведение это к 1,2,3,НФБК,4,5 нормальные формы. Все зависит от задач. Я так понимаю какждый вид комплектующего имеет свои характеристики? Тогда без таблиц под каждый вид не обойтись...


 
Conder   (2003-03-07 12:00) [3]

Дык до этого я додумался могу даже кинуть екзампл...
проблема в другом. Структура таблиц для материнок и скаже процов разная... или сделать одинаковой


 
stone   (2003-03-07 12:02) [4]

Выкладывай, посмотрим


 
Conder   (2003-03-11 11:09) [5]

Структура таблицы для построения дерева:

Index_ integer 10 (no comment)
Group_Name varchar 35
Parent integer 10 (link to parent group)
SQL_Query varchar 150 (SQL для выборки из соответств. таблиц. в силу того что там разные структуры)

таблица по процессорам
Kod
Vendor
CPUName
Freq
Package
SS
Addit

таблица по мамам

Kod
Vendor
Name
Type
AGP
FSB
Addit

таблица цен

Kod
Inp_pr
Part_pr
Opt_pr
Out_pr
Warranty

возникае вопрос а может ну его нафиг такие структуры(на каждую комплектуху по своей таблице и свалить все в общую?)

Вот выложил... любые идеи и желательно с непоколебимым основанием


 
stone   (2003-03-11 12:28) [6]

Структура таблицы для построения дерева:
-------------
Index_ integer (no comment)
Parent integer (link to parent group)
Descr varchar 35
Kod integer (Код товара: CPU, MB, etc., если это группа или подгруппа, тогда = null)

Товары
----------
Kod (Link)
Vendor
Type (он же Freq)
Addit

Дополнительная информация
--------
Kod (Link)
SS
AGP
...

таблица цен
------------
Kod
Inp_pr
Part_pr
Opt_pr
Out_pr
Warranty

можно, конечно, заняться и дальнейшей оптимизацией


 
Conder   (2003-03-11 12:53) [7]

Да вопрос то в другом а стоит ли для каждого вида комплектующих использовать свою таблицу? может сделать то проще
код
имя
доп.инфо
и все?


 
stone   (2003-03-11 13:13) [8]


> Да вопрос то в другом а стоит ли для каждого вида комплектующих
> использовать свою таблицу?

ИМХО, не стОит. Впрочем, смотри сам.


 
wara   (2003-03-11 18:49) [9]

Можно сделать в 5 таблиц, но тогда все значения атрибутов попадают в одно поле таблицы и должны иметь тип Variant. Мне это показалось не совсем удобным и я так делать не стал. Хотя, если у Вас 15 типов, и у каждого какие-то уникальные параметры, то так, скорее всего, удобнее. Не делать же 15 таблиц под каждый тип...


 
wara   (2003-03-11 19:09) [10]

Детально так
1. Комплетующие (ID,id типа)
2.Список атрибутов, н-р: масса, тип процессора и.т.п, то есть то, что являлось бы названиями полей, если под каждый тип делать по своей таблице (id списка атрибутов, название элемента списка атрибутов)
3.Типы ваших запчастей (id типа, название, можно Parent для дерева)
4. Доп таблица со след полями - id типа, id элемента списка атрибутов (задает для каждого типа свой набор атрибутов,обеспечивая связь "многие ко многим")
5. Таблица значений атрибутов со след полями - id комплектующего, id элемента списка атрибутов,


 
wara   (2003-03-11 19:11) [11]

, значение атрибута.


 
MsGuns   (2003-03-11 21:39) [12]

Есть вариант без деревьев (ПК не самолет)
1. SGKMP: Справочник групп комплектующих (процессора, материнки, моргушки и т.д.)
2. GKMPCHR: Виды характеристик групп комплектующих (модель, чипсет, видео на борту, КЭШ и т.д.). Детал к SGKMP
3. SKMP: Справочник комплектующих. Содержит ссылку на группу. Цена себестоимость, наличие на складе,..
4. SKMPCHR: Детал к SKMP. Характеристики комплектующих (->SGKMP->GKMPCHR) заполненные.
4. MODELS: Основная таблица "линейки" моделей. Цены отпуска и т.д.)
5. MODELINV: Детал к MODELS. Состав модели: Ссылка на SKMP

По уму, конечно, надо предусмотреть счета, отгрузку, оплату и т.д. Но это уже другие таблицы ;)))


 
MsGuns   (2003-03-11 21:46) [13]

Но есть вариант совсем простой (по типу 1С):

Комплектующие с указанием группы (Процессора, мамки,...), завязанные на склад (остатки, резерв, цена закупки-продажи,..)
Все характеристики пишутся или вместе с наименованием в одном чар-поле или через мемо (TStrings) для сохранения пунктуации

Счета/Накладные из двух этажей: модель и что в нее входит (см. 1-ю таблу) с полями-признаками (резерв, отгрузка, оплата и т.д.)

Оплата с полями-адресатами (счет/накладная, № дог и т.д.)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.03.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.007 c
1-88018
xGrey
2003-03-14 10:27
2003.03.27
Drag and Drop в TTreeView: отсутствие скроллинга.


3-87772
Ich Hasse
2003-03-07 00:02
2003.03.27
Двойной запрос


3-87825
Желтый карлик
2003-03-04 21:52
2003.03.27
MS SQL + Delphi


14-88242
AlexanderSK
2003-03-12 15:31
2003.03.27
Опция - Build with run-time packages


14-88227
ZeroDivide
2003-03-11 16:50
2003.03.27
О компьютерной зависимости.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский