Консультация № 63789
23.11.2006, 01:33
0.00 руб.
0 2 2
Здравствуйте. Нужно создать БД справочник по радиодеталям. Будут таблицы: детали(микросхемы,резисторы,диоды...), тип детали(н-р:микросхемы бывают цифровые,аналоговые,комбинированные...), характеристики конкретной детали, общая характеристика(всех деталей). Правильно? Дальше как?

Обсуждение

Неизвестный
23.11.2006, 07:52
общий
это ответ
Здравствуйте, Митя!

Новые сведения !!!
я бы сделал тогда так !!!

таблица DETAILS
UIN * числовой тип - уникальный номер детали.
Mark_Det * текстовый тип, длинна 50 символов - маркировка детали.
Group_Det * числовой тип - уникальный номер группы.
Type_Det * числовой тип - уникальный номер типа детали.
Feature_Det * текстовый тип, длинна думаю символов 200 - описание

Таблица Groupes (микросхема, резистор и т.д.)
Group_Det * числовой тип - уникальный номер группы.
Name_Grp * Текстовый тип, 50 символов - название группы (н-п: процессор).
Featur_Grp * Текстовый тип, 200 символов - описание группы.

таблица Types (цифра, аналог и т.д.)
Type_Det * числовой тип - уникальный номер типа детали.
Type_Name * текстовый тип, длинна 50 символов - название типа.

а дальше идет чистый SQL.

Приложение:
Create table DETAILS(UIN number,MARK_DET number,GROUP_DET number,TYPE_DET number,FEATURE_DET varchar(200))остальные также по аналогии.Заполнение данных:insert into GROUPES(GROUP_DET, NAME_GRP, FEATURE_GRP)values(1,‘Процессоры‘,‘Описание процессоров‘)и т.д. по аналогии для др таблицВыборка данных !!!select d.UIN, g.NAME_GRP, t.TYPE_NAME, d.MARK_DET, d.FEATURE_DET from DETAILS dinner join GROUPES g on g.GROUP_DET=d.GROUP_DETinner join TYPES t on t.TYPE_DET=d.TYPE_DETwhere d.UIN=1
Неизвестный
23.11.2006, 10:26
общий
это ответ
Здравствуйте, Митя!
Я думаю, при проектировании такой БД, необходимо исходить из того, что будет хранится, и по каким критериям будет происходить поиск записей, наверное это будут конкретные характеристики(сопротивление, коэффициент усиления, мощность и т.д.) для конкретного типа деталей, поэтому детали в таблицы нужно группировать исходя из набора индивидуальных характеристик. Например, собирать в одну таблицу конденсаторы и ОУ нет смысла, все равно одновременно Вы их искать не будете, а подобрать общий набор параметров будет сложно. Так что я бы сделал отдельные таблицы например для резисторов, биполярных транзисторов, ОУ, логических МС и т.д. со столбцами-параметрами присущими конкретному набору. Если какие-то параметры могут быть одинаковыми для некоторой группы(например для серии МС это могут быть напряжение питания, технология изготовления и т.д.) то можно создать отдельную таблицу для этих параметров, а в деталях хранить только id серии. Допустим:

Таблица ОУ
{
id - primary key;
mark - маркировка;
series - id серии;
gain - коэффициент усиления;
body - корпус(если это рисунок, то есть смысл создать отдельно таблицу с рисунками, а здесь хранить только их id);
noise - уровень шума;
...что там еще?
}

Таблица МС серии
{
id - primary key(отношение 1 ко многим к ОУ.seriesID);
name - имя серии(155,176...);
voltage - питание;
producer - производитель;
...что там еще?
}

Таблица БТ
{
id - primary key;
mark - маркировка;
type - тип(pnp,npn);
material - (кремний, германий);
body - корпус;
noise - уровень шума;
...что там еще?
}
и т.д.
Вообще-то структура самих данных довольно сложная, желательно тщательно все продумывать на конкретные детали, переделать будет сложнее.
Пишите, чем смогу помогу.
Успехов.
Форма ответа