Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Связи: много таблиц с одной. Как?  [new]
clo
Guest
Здравствуйте. Подскажите, пожалуйста, можно ли как-то решить такую задачку:

- есть таблица СКЛАД. В ней основное поле ДЕТАЛЬ.
- есть много таблиц VT1,2,...,n. В каждой из них есть тоже поле ДЕТАЛЬ.
Задача: связать все таблицы VT1,2,...,n с основной СКЛАД. И при этом должна быть обеспечена целосность данных.

Для чего это нужно? Хочеться создать домашнюю базу данных по радиодеталям. Есть основная таблица СКЛАД с полем ДЕТАЛЬ и кучей дополнительных полей (производитель, где деталь находиться, тип детали (VT или что-то другое) и т.п.) И много таблиц типа VT1,2,...,n в которых подробные электрические характеристики на каждую из деталей.

Как я только не пытался создать связи - не выходит. Может, можно создать как-то связи не по столбцам, а по строкам (чтоб можно было бы конкретно привязаться к конкретной детали)?
24 апр 06, 14:16    [2596195]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10502
А зачем много таблиц VT... там поля разные чтоль?
24 апр 06, 14:19    [2596209]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
ееееш
Guest
clo
....... Может, можно создать как-то связи не по столбцам, а по строкам (чтоб можно было бы конкретно привязаться к конкретной детали)?

Так связи-то и связывают конкретную строку (запись) с конкретной (один-к-одному) или конкретную с конкретными (один-ко-многим). Связь многие-ко-многим реализуется через две связи один-ко-многим через ассоциативную таблицу. Вы, прежде чем таблицы делать, подумайте над логической моделью БД. В форуме Проектирование Вам помогут. Только вопросы нужно правильно формулировать.
24 апр 06, 14:27    [2596256]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
clo
Guest
Да, поля в этих всех VT разные.
Вот мне и нужно как-то организовать связи один-к-одному для основной таблицы СКЛАД и для всех остальных.
24 апр 06, 15:03    [2596518]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
bubucha
Member

Откуда:
Сообщений: 5642
автор
связи один-к-одному для основной таблицы СКЛАД и для всех остальных

Не совсем понятно, зачем в вашем случая именно такая связь. Если я правильно понял, таблицы VT1,2,...,n - это таблицы компанентов (транзисторы, резисторы, диоды...) все со своими параметрами, и скорее всего примари кей у каждой счетчик, а вы пытаитесь связать их с таблицей СКЛАД. Посмотрите по ссылке https://www.sql.ru/forum/actualthread.aspx?tid=282164&hl=%e4%e5%f0%e5%e2%ee
может поможет.
24 апр 06, 15:30    [2596696]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
clo
Guest
bubucha
автор
связи один-к-одному для основной таблицы СКЛАД и для всех остальных

Не совсем понятно, зачем в вашем случая именно такая связь. Если я правильно понял, таблицы VT1,2,...,n - это таблицы компанентов (транзисторы, резисторы, диоды...) все со своими параметрами, и скорее всего примари кей у каждой счетчик, а вы пытаитесь связать их с таблицей СКЛАД. Посмотрите по ссылке https://www.sql.ru/forum/actualthread.aspx?tid=282164&hl=%e4%e5%f0%e5%e2%ee
может поможет.


Счетчиков у меня вообще нет.
Собственно, я просто делал догадку как можно организовать связи, точнее я так пытался делать, но у меня не выходило.
Вопрос заключаеться в том, как можно связать таблицы VT1,2,...,n с основной СКЛАД, но так, чтоб обеспечивалась целосность данных. То-есть, если я в основной таблице СКЛАД удалю деталь, то чтоб она удалилась и в соответствующей VT; ну и наоборот тоже.
24 апр 06, 15:42    [2596776]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
bubucha
Member

Откуда:
Сообщений: 5642
автор
То-есть, если я в основной таблице СКЛАД удалю деталь, то чтоб она удалилась и в соответствующей VT; ну и наоборот тоже.

Есь галочка "Каскадное удаление", тока в вашем случае, я бы озаботился серьезным обдумыванием структуры базы, учитывая
автор

Счетчиков у меня вообще нет.
24 апр 06, 15:47    [2596793]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
clo
Guest
Вот в том-то и вопрос, что я не понимаю, какую мне нужно сделать структуру базы, чтоб то что я задумал работало.
24 апр 06, 16:06    [2596883]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
bubucha
Member

Откуда:
Сообщений: 5642
автор
Вот в том-то и вопрос, что я не понимаю, какую мне нужно сделать структуру базы, чтоб то что я задумал работало.

Это зависит от того, что вы от этой базы хотите.
24 апр 06, 16:08    [2596888]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
clo
Guest
Есть такая вот недоделанная структура БД.
Нужно как-то таблицы VT1 и VT2 (а в дальнейшем их много будет) связать с таблицей СКЛАД.
Но при таких условиях:
- должна обеспечиваться целосность данных поля ДЕТАЛЬ между всеми таблицами
- в таблице склад есть поле НАЗНАЧЕНИЕ_ID. В этом поле храняться данные, на пример "VT1" или "VT2". Нужно чтобы это поле тоже как-то было связано с таблицами VT1 и VT2. Это для того, чтобы когда я буду добавлять новую деталь в таблицу СКЛАД и в поле НАЗНАЧЕНИЕ_ID выберу "VT1", то чтоб эта деталь по связям появлялась в соответствующей таблице VT1. Если выберу "VT2", то чтоб она появлялась в таблице "VT2".
Вот никак не получаеться придумать, как можно организовать структуру со связями, чтоб оно так работало.

К сообщению приложен файл. Размер - 0Kb
24 апр 06, 16:37    [2597049]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10502
Может объединить все VT... в одну таблицу со всеми возможными полями (а заполнять какие нужно для определенного типа детали) и поле добавить типдетали?
24 апр 06, 16:41    [2597085]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
clo
Guest
если бы все было бы так просто...
дело в том, что VT это только транзисторы, и только их 9 штук. Но будут еще и резисторы, конденсаторы и т.д... В общем, там таблиц под штук 500 может быть, и у каждой по 10-20 дополнительных полей с конкретными характеристиками на деталь... вот и приходиться так вот разбрасывать по отдельным таблицам.
24 апр 06, 17:45    [2597417]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
500 таблиц
Guest
clo
если бы все было бы так просто...
дело в том, что VT это только транзисторы, и только их 9 штук. Но будут еще и резисторы, конденсаторы и т.д... В общем, там таблиц под штук 500 может быть, и у каждой по 10-20 дополнительных полей с конкретными характеристиками на деталь... вот и приходиться так вот разбрасывать по отдельным таблицам.

500 штук таблиц для домашнего учета радиодеталей? Кажется, Вы на неверном пути... Поговорите об этом на форуме Проектирвание БД. Люди как-то умудряются гораздо более сложные вещи делать на гораздо меньшем количестве таблиц.
24 апр 06, 17:55    [2597474]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10502
clo
если бы все было бы так просто...
дело в том, что VT это только транзисторы, и только их 9 штук. Но будут еще и резисторы, конденсаторы и т.д... В общем, там таблиц под штук 500 может быть, и у каждой по 10-20 дополнительных полей с конкретными характеристиками на деталь... вот и приходиться так вот разбрасывать по отдельным таблицам.

что то не то. путь выбран неверно. Вот мое предложение как организовать это дело.
ДеталиТБ
КодДетНаименованиеДет
1Тарнзистр 45
2Диод 464


ЕдИзмТБ
КодЕдИзмНаименованиеСокращение
1ВольтВ
2АмперА


ТипХарактерТБ
КодТипХарНаименование
1Емкость
2Сопративление


ХарактеристикиТБ
КодХарКодДетКодТипХарЗначениекодЕдИзм
111451


вобщем что то типа этого.
24 апр 06, 20:11    [2597803]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10502
код единицы измерения лучше перенести из ХарактеристикиТБ в ТипХарактерТБ чтоб не получилось что сила тока вдруг измеряласть в вольтах.
24 апр 06, 20:14    [2597807]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
clo
Guest
barrabas, спасибо, сейчас буду это пытаться реализовать. Единственный вопрос, который пока-что возник, что такое "ТБ"?
24 апр 06, 21:21    [2597907]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10502
clo
barrabas, спасибо, сейчас буду это пытаться реализовать. Единственный вопрос, который пока-что возник, что такое "ТБ"?

просто у меня привычка к названиям таблиц добавлять TB - типа таблица к формам FM добавляю, ТБ на руском лень регистры переключать было
24 апр 06, 21:48    [2597931]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
clo
Guest
Хм. Все-равно я до конца кое-чего не пойму. Если связи я выставил правино (так как в аттаче), то тогда зечем вводилось поле КодХарактеристики в таблице ХарактеристикиТБ?

К сообщению приложен файл. Размер - 0Kb
24 апр 06, 22:38    [2597992]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
clo
Guest
Ага, все, немножко кое-чего переделав я нашел все-таки работающий и устраивающий вариант для себя. Думаю, что больше ничего не прийдеться доделывать. Осталось только создать форму, ну и может еще чего-то...
Всем огромное спасибо за помощь, а особенно barrabas'у.
Вопрос, надеюсь, закрыт.

К сообщению приложен файл. Размер - 0Kb
25 апр 06, 00:12    [2598122]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10502
clo
Ага, все, немножко кое-чего переделав я нашел все-таки работающий и устраивающий вариант для себя. Думаю, что больше ничего не прийдеться доделывать. Осталось только создать форму, ну и может еще чего-то...
Всем огромное спасибо за помощь, а особенно barrabas'у.
Вопрос, надеюсь, закрыт.

нехватает первичного ключа в таблице "значение параметров" добавь поле счетчик кодзанченияпараметров, это нужно для однозначного определения каждой записи, записи не должны дублироваться, а у тебя такая возможность остается. это к вопросу зачем поле кодхарактеристик
25 апр 06, 09:18    [2598615]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10502
не знаю есть ли в аксе такое дело, как альтернативный ключ, если есть то немешало бы его поставить по двум полям коддеталь и элпараметр в таблице значениепараметров. но что то я не нашел в аксе как его ставить, хотя и не искал особо.
25 апр 06, 09:24    [2598641]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
clo
Guest
За ночь немного модернизировал БД.
Ее структура в аттаче.
За подсказочку о первичном ключе в таблице ЗначенияПараметров спасибо.

Кстати, может кто-то подскажет, можно ли в поле вбивать Подстрочные и Надстрочные символы. Мне это очень нужно для поля ЭлПараметрСокращ.

К сообщению приложен файл. Размер - 0Kb
25 апр 06, 11:53    [2599581]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
barrabas
Member

Откуда: от махмуда
Сообщений: 10502
автор
Кстати, может кто-то подскажет, можно ли в поле вбивать Подстрочные и Надстрочные символы. Мне это очень нужно для поля ЭлПараметрСокращ.

попробуй нестандартные контролы например Richtext
25 апр 06, 12:04    [2599679]     Ответить | Цитировать Сообщить модератору
 Re: Связи: много таблиц с одной. Как?  [new]
clo
Guest
Сделал.
Большое спасибо за наводку.
25 апр 06, 16:49    [2601436]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить