Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 613
1

Как правильно организовать БД из 4-х таблиц?

25.01.2017, 16:43. Просмотров 1003. Ответов 13
Метки нет (Все метки)

ИСПОЛЬЗУЕТСЯ: Access

Имеется три таблицы:
- 00_tb1;
- 00_tb2;
- 00_tb3;

Данные в таблицы поступают по средствам импорта или ввода
1. Как правильно и грамотно сделать чтобы данные стекались в таблицу "00_tb_4"
2. Как сделать, следующие действия:
- 2.1 -таблицы «00_Tb_2» поля «Tb_2_xar1»
которое соответствует значению «Tb_1_id» из «00_Tb_4»?
- 2.2 Как сделать, чтобы сюда попадало:
- последнее значение из
- таблицы «00_Tb_2» поля «Tb_2_xar2»
которое соответствует значению «Tb_1_id» из «00_Tb_4»?
- 2.3 Как сделать, чтобы сюда попадало:
- количество значение из
- таблицы «00_Tb_2» поля «Tb_2_xar3»
которое соответствует значению «Tb_1_id» из «00_Tb_4»?
3. Как сделать, чтобы во всех таблицах можно было вносить изменения в ячейку таблицы (через таблицу или через форму) и эти изменения отображались во всех таблицах где данная запись отображается?
0
Миниатюры
Как правильно организовать БД из 4-х таблиц?  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.01.2017, 16:43
Ответы с готовыми решениями:

Как организовать подкатегории таблиц
Привет. Поясню на рисунке. Так ведь не правильно делать. Нужно чтобы ID_профиля в таблице...

Как правильно организовать БД?
Есть база данных о предприятии. В ней есть данные об отделах и о сотрудниках. С сотрудниками всё...

Как организовать запись/удаление строки кнопкой с использованием 2х таблиц
Здравствуйте! Необходима помощь с Accesss. Как организовать в форме запись с помощью кнопки из...

Как организовать правильно запрос
Доброго всем. Никак не могу понять, как ЭТО сделать... Есть таблица, есть форма с запросом. Идет...

13
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 613
25.01.2017, 16:51  [ТС] 2
Прилагаю файл.

В предыдущем вопросе (ТС) п.2 изложен не корректно.
Более развёрнуто см. скрин.
0
Вложения
Тип файла: zip структура.zip (40.3 Кб, 6 просмотров)
1037 / 854 / 334
Регистрация: 08.12.2016
Сообщений: 3,283
25.01.2017, 16:58 3
что значит "первое значение" и "последнее значение", по какому признаку они "упорядочиваются" от первого до последнего?

зачем вообще таблица 4, если это таблица 1 + сгруппированные данные из таблицы 2? Все это можно получить запросом.
А вот как вы будете разруливать ситуацию, если кто-то отредактирует таблицу 4? Она же те станет соответствовать данным в Таблицах 1 и 2 ?
1
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 613
25.01.2017, 17:35  [ТС] 4
YuryK,

Цитата Сообщение от YuryK Посмотреть сообщение
что значит "первое значение" и "последнее значение", по какому признаку они "упорядочиваются" от первого до последнего?
Если ввести поле со счётчиком, то этот вопрос решится?
Т.е. каждой записи будет присвоено числовое значение по возрастающей.

Цитата Сообщение от YuryK Посмотреть сообщение
зачем вообще таблица 4, если это таблица 1 + сгруппированные данные из таблицы 2? Все это можно получить запросом.
Ок. попробую.


Цитата Сообщение от YuryK Посмотреть сообщение
А вот как вы будете разруливать ситуацию, если кто-то отредактирует таблицу 4? Она же те станет соответствовать данным в Таблицах 1 и 2 ?
Честно говоря я дилетанта, поэтому этой проблемы даже не понимаю...

ВОПРОС . Если такая проблема есть, то как организовать таблицы, чтобы решить эту проблему?
0
1037 / 854 / 334
Регистрация: 08.12.2016
Сообщений: 3,283
25.01.2017, 17:45 5
откуда вообще записи а таблице 4 берутся? не пользователь же сначала добавляет в 1, а затем в 4-ю ?
0
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 613
25.01.2017, 17:55  [ТС] 6
YuryK,
Цитата Сообщение от YuryK Посмотреть сообщение
откуда вообще записи а таблице 4 берутся?
Я в Аксесе дилетант, поэтому делайте поправку на неточности в вопросах.
Суть в том, что:
- 1. мне нужна таблица в виде таблицы 4 (т.е. с таким составом полей как на скрине).
- 2. и как можно сделать, чтобы везде можно было корректировать записи. Не добавлять и удалять, а просто корректировать.

В целом таблицы будут выглядеть так - см. скрин.
Поля "id" будут цифровыми
0
Миниатюры
Как правильно организовать БД из 4-х таблиц?  
Модератор
Эксперт MS Access
9963 / 3987 / 643
Регистрация: 07.08.2010
Сообщений: 11,207
Записей в блоге: 3
26.01.2017, 08:42 7
мне непонятно, почему у вас все поля имеют тип мемо, в том числе и ключевые
насчет корректировки --не совсем понятно
---задача похожа на состав изделия или дерево каких-либо процессов
tb1_idtb1`1tb1`2tb1`3 tb2_idtb2`1tb2`2tb2`3 tb3_idtb3`1tb3`2tb3`3
tb1_id_01tb1`1_01tb1`2_01tb1`3_01 tb2_id_03tb2`1_03tb2`2_03tb2`3_03 tb3_id_09tb3`1_09tb3`2_09tb3`3_09
tb1_id_01tb1`1_01tb1`2_01tb1`3_01 tb2_id_03tb2`1_03tb2`2_03tb2`3_03 tb3_id_08tb3`1_08tb3`2_08tb3`3_08
tb1_id_01tb1`1_01tb1`2_01tb1`3_01 tb2_id_03tb2`1_03tb2`2_03tb2`3_03 tb3_id_07tb3`1_07tb3`2_07tb3`3_07
              
tb1_id_01tb1`1_01tb1`2_01tb1`3_01 tb2_id_02tb2`1_02tb2`2_02tb2`3_02 tb3_id_06tb3`1_06tb3`2_06tb3`3_06
tb1_id_01tb1`1_01tb1`2_01tb1`3_01 tb2_id_02tb2`1_02tb2`2_02tb2`3_02 tb3_id_05tb3`1_05tb3`2_05tb3`3_05
tb1_id_01tb1`1_01tb1`2_01tb1`3_01 tb2_id_02tb2`1_02tb2`2_02tb2`3_02 tb3_id_04tb3`1_04tb3`2_04tb3`3_04
              
tb1_id_01tb1`1_01tb1`2_01tb1`3_01 tb2_id_01tb2`1_01tb2`2_01tb2`3_01 tb3_id_03tb3`1_03tb3`2_03tb3`3_03
tb1_id_01tb1`1_01tb1`2_01tb1`3_01 tb2_id_01tb2`1_01tb2`2_01tb2`3_01 tb3_id_02tb3`1_02tb3`2_02tb3`3_02
tb1_id_01tb1`1_01tb1`2_01tb1`3_01 tb2_id_01tb2`1_01tb2`2_01tb2`3_01 tb3_id_01tb3`1_01tb3`2_01tb3`3_01
              
tb1_id_02tb1`1_02tb1`2_02tb1`3_02 tb2_id_06tb2`1_06tb2`2_06tb2`3_06     
tb1_id_02tb1`1_02tb1`2_02tb1`3_02 tb2_id_05tb2`1_05tb2`2_05tb2`3_05     
tb1_id_02tb1`1_02tb1`2_02tb1`3_02 tb2_id_04tb2`1_04tb2`2_04tb2`3_04     
              
tb1_id_03tb1`1_03tb1`2_03tb1`3_03 tb2_id_09tb2`1_09tb2`2_09tb2`3_09     
tb1_id_03tb1`1_03tb1`2_03tb1`3_03 tb2_id_08tb2`1_08tb2`2_08tb2`3_08     
tb1_id_03tb1`1_03tb1`2_03tb1`3_03 tb2_id_07tb2`1_07tb2`2_07tb2`3_07     
0
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 613
30.01.2017, 13:31  [ТС] 8
shanemac51,
Цитата Сообщение от shanemac51 Посмотреть сообщение
мне непонятно, почему у вас все поля имеют тип мемо, в том числе и ключевые
Типы полей пока не расставил. Файл приложил для наглядности.

Цитата Сообщение от shanemac51 Посмотреть сообщение
насчет корректировки --не совсем понятно
---задача похожа на состав изделия или дерево каких-либо процессов
Пока разбираюсь с работой с БД, поэтому могут быть не корректности в вопросе....
Идеи изложил в схеме.
Если сделал не по теории баз данных, то прошу уж извинить и выдать свои замечания.

Прилагаю скрин скорректированной схемы БД

Схема.
В таблицы:
- Таблица 00_Tb_1,
- Таблица 00_Tb_2,
- Таблица 00_Tb_3,
данные попадают поштучно вводом или массово импортом.

Таблица:
- Таблица 00_Tb_4
формируется из двух таблиц плюс в ней имеется еще три(или более) своих поля (Tb_4_xar1, Tb_4_xar2, Tb_4_xar3) для анализа и сегментации данных.

Возможно ли сделать так, чтобы в любой таблице можно было корректировать, добавлять, удалять записи именно в полях, которые в названии содержат "xar"?
0
Миниатюры
Как правильно организовать БД из 4-х таблиц?  
Модератор
Эксперт MS Access
9963 / 3987 / 643
Регистрация: 07.08.2010
Сообщений: 11,207
Записей в блоге: 3
30.01.2017, 14:20 9
таб1-организации --достаточно понимаемо --вы хотите вводить новую организацию и при корректировке справочника и при корректировке рабочей таблицы
таб3-сотрудники --никуда не завязывается
таб4-дополнительные поля --тоже без проблем
==============================
главное, что я не понимаю, --это таб2-отделы
==============================
предположим код организации 2,"рога и копыта", директор,Иванов..... имеет отделы А,Б,В,И
тогда таб4-2х1
таб4-2х2
таб4-2х3=4(предположим)
а что дальше --как добавить отдел К
--ВВЕДЕМ ВМЕСТО ТАБ4-2Х2
--довведем в таб2
--добавим единичку к тав2х3

====================
ерунда какая-то --ваше условное(сверх условное) описание не дает возможности понять задачу
не всегда создание подобных ТЗ помогает решению --ТЗ должно быть понимаемо и достаточно реальное
1
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 613
31.01.2017, 14:20  [ТС] 10
shanemac51,
В общем хотелось бы, чтобы БД выглядела вот так... (см. прикреплённый файл и скрин..)
Хотя допускаю, что из-за моего дилетанства выглядит не по "науке" и не согласуется с ТС.
Но посидел, подумал и решил, что должно быть что-то вроде такого...
Только, что-то связь не образуется между ТАБ 1 и ТАБ 2
Поэтому буду признателен за советы.

Вопросы.
1. Как читать вашу запись?
Цитата Сообщение от shanemac51 Посмотреть сообщение
ТАБ4-2Х2
Правильно ли я понял: ТАБ4 - поле Х запись?

2. Почему не проставляется связь между ТАБ 1 и ТАБ 2?
0
Миниатюры
Как правильно организовать БД из 4-х таблиц?  
Вложения
Тип файла: zip strktr_01_10.zip (22.5 Кб, 4 просмотров)
Модератор
Эксперт MS Access
9963 / 3987 / 643
Регистрация: 07.08.2010
Сообщений: 11,207
Записей в блоге: 3
31.01.2017, 15:54 11
Цитата Сообщение от zakaz_77 Посмотреть сообщение
ТАБ4-2Х2
это поле 2 из таблицы 2, занесенное в таблицу 4

из ваших же обозначений получено, немного только урезано

Добавлено через 7 минут
Цитата Сообщение от zakaz_77 Посмотреть сообщение
Почему не проставляется связь между ТАБ 1 и ТАБ 2?
все проставляется
SQL
1
2
3
4
5
6
7
8
9
10
SELECT [00_tb3_sotr].[tb2_id], [00_tb3_sotr].[tb3_id],
 [00_tb3_sotr].[tb3_SotrName], [00_tb3_sotr].[tb3_xar2],
 [00_tb3_sotr].[tb3_xar3],
 [00_tb2_otd].tb2_OtdName,
 [00_tb1_org].tb1_OrgName
FROM 00_tb1_org
 INNER JOIN (00_tb2_otd
 INNER JOIN 00_tb3_sotr
  ON [00_tb2_otd].tb2_id = [00_tb3_sotr].tb2_id)
  ON [00_tb1_org].tb1_id = [00_tb2_otd].tb1_id;
tb2_idtb3_idtb3_SotrNametb3_xar2tb3_xar3tb2_OtdNametb1_OrgName
OTD_ID_1SOTR_ID_1Орг 1 Отд 1 Сотр 1Орг 1 Отд 1 Сотр 1 Хар 2.1Орг 1 Отд 1 Сотр 1 Хар 3.1Орг 1 Отд 1Орг 1
OTD_ID_1SOTR_ID_2Орг 1 Отд 1 Сотр 2Орг 1 Отд 1 Сотр 2 Хар 2.2Орг 1 Отд 1 Сотр 2 Хар 3.2Орг 1 Отд 1Орг 1
OTD_ID_1SOTR_ID_3Орг 1 Отд 1 Сотр 3Орг 1 Отд 1 Сотр 3 Хар 2.3Орг 1 Отд 1 Сотр 3 Хар 3.3Орг 1 Отд 1Орг 1
OTD_ID_2SOTR_ID_4Орг 2 Отд 2 Сотр 4Орг 2 Отд 2 Сотр 4 Хар 2.1Орг 2 Отд 2 Сотр 4 Хар 3.1Орг 1 Отд 2Орг 1
OTD_ID_2SOTR_ID_5Орг 2 Отд 2 Сотр 5Орг 2 Отд 2 Сотр 5 Хар 2.2Орг 2 Отд 2 Сотр 5 Хар 3.2Орг 1 Отд 2Орг 1
OTD_ID_2SOTR_ID_6Орг 2 Отд 2 Сотр 6Орг 2 Отд 2 Сотр 6 Хар 2.3Орг 2 Отд 2 Сотр 6 Хар 3.3Орг 1 Отд 2Орг 1
OTD_ID_3SOTR_ID_7Орг 2 Отд 3 Сотр 7Орг 2 Отд 3 Сотр 7 Хар 2.1Орг 3 Отд 3 Сотр 7 Хар 3.1Орг 1 Отд 3Орг 1
OTD_ID_3SOTR_ID_8Орг 2 Отд 3 Сотр 8Орг 2 Отд 3 Сотр 8 Хар 2.2Орг 3 Отд 3 Сотр 8 Хар 3.2Орг 1 Отд 3Орг 1
OTD_ID_3SOTR_ID_9Орг 2 Отд 3 Сотр 9Орг 2 Отд 3 Сотр 9 Хар 2.3Орг 3 Отд 3 Сотр 9 Хар 3.3Орг 1 Отд 3Орг 1
1
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 613
31.01.2017, 18:45  [ТС] 12
shanemac51,
Я повторюсь с вопросом.

Как сделать таблицу 4?
Она делается как запрос?
0
Модератор
Эксперт MS Access
9963 / 3987 / 643
Регистрация: 07.08.2010
Сообщений: 11,207
Записей в блоге: 3
31.01.2017, 19:21 13
Цитата Сообщение от zakaz_77 Посмотреть сообщение
4 таб-Она делается как запрос?
не она, она как раз основная, а организации/отделы/сотрудники --это справочники

ввод идет в таб-4
--ид4 --счетчик
--ид1 --ссылка на организацию **
--ид2-- ссылка на отдел **
--ид3 --ссылка на работника
--сведения по таб4 .....

причем ид1 и ид2 обычно не набиваются, так-как они привязаны к работнику
1
9 / 9 / 4
Регистрация: 23.12.2015
Сообщений: 613
31.01.2017, 20:10  [ТС] 14
shanemac51,

Что-то я запутался...

Повторюсь
Сама технология (схема работы с БД) следующая.
Схема.
В таблицы:
- Таблица 00_Tb_1,
- Таблица 00_Tb_2,
- Таблица 00_Tb_3,
данные попадают поштучно вводом или массово импортом.

Таблица:
- Таблица 00_Tb_4
формируется из двух таблиц плюс в ней имеется еще три(или более) своих поля (Tb_4_xar1, Tb_4_xar2, Tb_4_xar3) для анализа и сегментации данных.

Вопрос.
Правильно ли я вас понял, что стоит поменять саму логику по технологии формирования БД?
Т.е. продумать результирующую таблицу (Таблица 00_Tb_4) или другую таблицу в которой максимально собирается информация со всех таблиц и импортировать данные в эту таблицу.
А потом данные из результирующей таблицы попадают в
- Таблица 00_Tb_1,
- Таблица 00_Tb_2,
- Таблица 00_Tb_3,
Так?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.01.2017, 20:10

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как правильно организовать отображение таблиц
Есть несколько таблиц. Хочу выбирать их по сретством combobox для отображения в форме Какие...

Как организовать работу с множеством таблиц?
Есть достаточно много таблиц , нужно организовать на первом этапе просто ввод данных в таблицы....

Как организовать поиск по полям из разных таблиц?
Есть база Access, в ней несколько таблиц объединенных полем ID (уникальный номер) Вопрос в том,...

Как организовать отображение данных из таблиц Access в Delphi 7?
Помогите разобраться как проще отобразить на форме данные. Даны таблицы: Вид блюда, блюда,...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.