Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2013, 15:03   #1
Skyle12
Пользователь
 
Регистрация: 22.01.2013
Сообщений: 42
По умолчанию Структура таблиц

Здравствуйте , я первый раз пользуюсь Access , поэтому чтоб не наломать дров в корне , решил спросить :
У меня есть 10 поставщиков и более , для каждого из них я создал таблицу.
Мне надо сделать , чтоб была форма оформления заказ ну я туда вбиваю всю информацию и в конце поле выбора поставщика ( через которого я буду доставлять ) , и и после отправки , заказ ложиться в нужную таблицу , то есть таким образом проще делать отчет по каждому поставщику .
Ну и в будущем базу клиентов можно из них сделать .
Подскажите какой должна быть структура в базе ( то есть должна быть таблица заказов а от туда сортируется , где ид присваивать уникальный , это я так к примеру ) Какой структурой ее лучше сделать ?
Вложения
Тип файла: rar Database1.rar (48.6 Кб, 9 просмотров)
Skyle12 вне форума Ответить с цитированием
Старый 23.01.2013, 15:19   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
У меня есть 10 поставщиков и более , для каждого из них я создал таблицу.
всё. уже не открывая БД я на 99% уверен, что Вы неправильно спроектировали структуру.
думаю, что все поставщики имеют одни и те же характеристики (название, адрес, контакты, инн, счёта и т.д.) И хранить всех поставщиков нужно в ОДНОЙ таблице.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 23.01.2013, 16:12   #3
EUGY
Форумчанин
 
Аватар для EUGY
 
Регистрация: 11.07.2010
Сообщений: 914
По умолчанию

Цитата:
И хранить всех поставщиков нужно в ОДНОЙ таблице.
Присоединяюсь. Мало того, и покупателей (если таковые существуют) хранить в той же таблице.
EUGY вне форума Ответить с цитированием
Старый 23.01.2013, 23:15   #4
Skyle12
Пользователь
 
Регистрация: 22.01.2013
Сообщений: 42
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
всё. уже не открывая БД я на 99% уверен, что Вы неправильно спроектировали структуру.
думаю, что все поставщики имеют одни и те же характеристики (название, адрес, контакты, инн, счёта и т.д.) И хранить всех поставщиков нужно в ОДНОЙ таблице.

Да действительно поставщики , ( раздельно ) клиенты имеют одни и те же поля . Я думал в начале , во время работы вписывать все заказы в одну таблицу и исходя из нее подавать запросы отчетов по поставщику или историю заказов клиента , но думаю держать все в одной тоже проблематично . Не могли бы вы посоветовать мне более правильную структуру .

То есть у меня есть : Поставщики , Клиенты , Заказы
Что мне от этого всего требуется : Запрос историй заказов по определенному поставщику . Запрос на историю заказа по клиенту.
И так же отчеты за определенный период времени . Можно ли сделать так , чтоб когда создавался новый запрос на заказ , и если в таблице клиентов уже есть такой клиент , то заказ прикреплялся к ниму , а если нет то создавался новый клиент ( я понимаю это очень сложно , но реально ли ? то есть мне изучать SQL ? )

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

Последний раз редактировалось Skyle12; 23.01.2013 в 23:50. Причина: Упустил не большой фрагмент
Skyle12 вне форума Ответить с цитированием
Старый 23.01.2013, 23:15   #5
Skyle12
Пользователь
 
Регистрация: 22.01.2013
Сообщений: 42
По умолчанию

Цитата:
Сообщение от EUGY Посмотреть сообщение
Присоединяюсь. Мало того, и покупателей (если таковые существуют) хранить в той же таблице.
Какую вы бы могли посоветовать мне структуру исходя из сообщения выше ?
Skyle12 вне форума Ответить с цитированием
Старый 24.01.2013, 07:08   #6
alvk
Форумчанин
 
Регистрация: 22.05.2012
Сообщений: 136
По умолчанию

Добавьте таблицу тип_клиента с полями код, тип, в ней перечислите виды контрагентов (поставщики, клиенты, покупатели, продаватели и т.д.).
Добавьте поле кодтипа в таблицу клиенты и переименуйте её в организации и храните в ней все ваши организации.
Код HTML:
Организации:
код
наименование
кодтипа
другиеполя
alvk вне форума Ответить с цитированием
Старый 24.01.2013, 09:22   #7
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
Добавьте поле кодтипа в таблицу клиенты и переименуйте её в организации и храните в ней все ваши организации.
А если одна организация будет и поставщиком и покупателем?
поставляет тару и покупает продукты(к примеру).
Если число типов фиксировано и незыблемо (НО! как правило со временем хочется все большего и большего) можно сделать просто набор флагов.
Если число типов непредсказуемо только доп. таблица. (код орг; код типа)
А зачем вообще таблица типов. Есть просто список организаций. И любая организация может выступать в любом качестве. А тип автоматически определяется местом данной организации в данном документе (указана как поставщик значит поставщик, указана как покупатель значит покупатель). А список покупателей при необходимости "вычисляется" просмотром документов.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 24.01.2013 в 09:25.
evg_m вне форума Ответить с цитированием
Старый 24.01.2013, 10:01   #8
alvk
Форумчанин
 
Регистрация: 22.05.2012
Сообщений: 136
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
А если одна организация будет и поставщиком и покупателем?
поставляет тару и покупает продукты(к примеру).
В одной операции или всё-таки в двух?

Цитата:
Сообщение от evg_m Посмотреть сообщение
Если число типов фиксировано и незыблемо (НО! как правило со временем хочется все большего и большего) можно сделать просто набор флагов.
Если число типов непредсказуемо только доп. таблица. (код орг; код типа)
1.Вовсе не незыблемо.
2.Связь всё-таки нужно осуществлять по коду, а не по наименованию.
Цитата:
Сообщение от evg_m Посмотреть сообщение
А зачем вообще таблица типов. Есть просто список организаций. И любая организация может выступать в любом качестве. А тип автоматически определяется местом данной организации в данном документе (указана как поставщик значит поставщик, указана как покупатель значит покупатель). А список покупателей при необходимости "вычисляется" просмотром документов.
Зачем нужна таблица? Для нормализации. Если у ТС поставщики и покупатели одинаковые, то конечно такая таблица бессмысленна, но ведь каким-то неведомым образом ТС их ранее разделил в разные таблицы?
alvk вне форума Ответить с цитированием
Старый 24.01.2013, 13:16   #9
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
но ведь каким-то неведомым образом ТС их ранее разделил в разные таблицы?
Цитата:
Здравствуйте , я первый раз пользуюсь Access
Цитата:
У меня есть 10 поставщиков и более , для каждого из них я создал таблицу.
О покупателях там нет ни слова только поставщики.
а покупатели появились здесь
Цитата:
Добавьте таблицу тип_клиента с полями код, тип, в ней перечислите виды контрагентов (поставщики, клиенты, покупатели, продаватели и т.д.).
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 24.01.2013, 13:49   #10
Skyle12
Пользователь
 
Регистрация: 22.01.2013
Сообщений: 42
По умолчанию

Большое спасибо вам за помощь
Skyle12 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структура Valentina2011 Общие вопросы C/C++ 0 06.05.2012 22:40
Структура С++ Katerina@ Помощь студентам 1 02.03.2012 00:43
Cформировать из 30 таблиц 1 500 000 000 таблиц, за 2 часа. kola672 Фриланс 12 02.11.2010 20:43
Сформировать из 30 таблиц 15 000 таблиц, за 15 минут. kola672 Фриланс 31 19.10.2010 01:22
структура euhenia Помощь студентам 3 16.04.2010 22:25