0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 29

Нужен совет новичку

18.12.2012, 00:24. Показов 2559. Ответов 30
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Во первых спасибо всем кто оказывал помощь, благодаря ей моя первая база неплохо работает и здорово облегчает мою работу. Теперь пришла очередь более сложной (для меня) базы. Пока нет ни таблиц, ни форм, есть только идея
Необходимо сделать базу для сервисного центра по учёту заказов запчастей, в голове это выглядит так:
Есть необходимый набор данных которые должны быть в базе,
1. номер заказа
2. Дата заказа
3. название клиента
4. Товар (до 5-ти штук разных артикулов)
5. список заказаных к нему запчастей (до 20-ти штук к каждому товару).
6. количество каждой запчасти
7. дата отправки заказа
8. дата получения
Сначала думал сделать одну таблицу и соответственно одну форму, но прочитав книги и форум понял что наверное лучше делать несколько таблиц и форму с подчинённой формой внутри. В форму вносятся данные о заказе (товар, клиент, номер, даты и т. д.) а в подчинённую данные о запчастях. Просьба моя такова, подскажите, как всё таки лучше, как разбить таблицы, какие установить связи, как лучше делать, через запрос или напрямую?
Понимаю что без черновика это тяжело, но нужно не готовое решение, а просто пару советов.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.12.2012, 00:24
Ответы с готовыми решениями:

Нужен совет новичку в ms access 2007
Здравствуйте, уважаемые форумчане! В последние несколько недель я занимаюсь самообучению access 2007. Начал я с 2010 но мои базы в 2007 не...

Необходим совет новичку!
Всем привет!!! Прошу помочь советом, я решил написать не большую базу двнных для компании. Собрал данные распределил по таблице Excel но...

нужен совет новичку
Помогут ли публикации в продвижении сайтика?

30
118 / 118 / 10
Регистрация: 12.05.2010
Сообщений: 1,207
18.12.2012, 01:11
У Вас - обычная БД "Склад", "Продажи" и т. д....

ТаблицаЗаказов:
1. НомерЗаказа
2. Дата заказа
3. НомерКлиента
4. дата отправки заказа
5. дата получения

ТаблицаКлиентов:
1. НомерКлиента
2. Название клиента
3. ...

Связь: ТаблицаЗаказов.НомерКлиента=ТаблицаКлиен тов.НомерКлиента

Главныу форму и подчинённую лучше связывать через свойства «Подчиненные поля» (LinkChildFields), «Основные поля» (LinkMasterFields).

Добавлено через 2 минуты
ТаблицаЗаказ:
1. НомерЗаказа
2. НомерЗап_части
3. Кол_во
1
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 29
18.12.2012, 01:15  [ТС]
Цитата Сообщение от Михайло Посмотреть сообщение
У Вас - обычная БД "Склад", "Продажи" и т. д....
База для отслеживания заказов на запчасти, но в принципе похожа очень на склад. Для меня самое сложное это привязать список запчастей к конкретному товару. Тоесть сервис присылает заявку в которой указан товар и список запчастей к нему, вот как их связать пока не понимаю, читаю щас О разработке структуры базы данных (для начинающих), думаю часть вопросов снимется. И всё таки, как лучше подчинённая форма или одна форма и через запрос?
0
Эксперт MS Access
 Аватар для alvk
7457 / 4590 / 302
Регистрация: 12.08.2011
Сообщений: 14,362
18.12.2012, 03:26
Цитата Сообщение от Nigeriez Посмотреть сообщение
как лучше подчинённая форма или одна форма и через запрос?
При работе с подчинённой формой, при правильной связи с главной формой, вам не нужно заморачиваться с ключевыми полями в подчинённой форме, внешний ключ будет заполняться автоматом, что весьма удобно. Также в таком случае всё наглядно для пользователя. Что касается unbound (свободные) форм, то они чужды Акцессу.
1
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 29
19.12.2012, 00:29  [ТС]
С таблицами вроде определился, теперь связи, вижу их примерно так, хотя могу и ошибаться.
Что скажите?
0
Эксперт MS Access
 Аватар для alvk
7457 / 4590 / 302
Регистрация: 12.08.2011
Сообщений: 14,362
19.12.2012, 02:36
Интересная картинка. А где сама БД? По фотографии не лечим, это в другой салон
Пока только видно, что связи без ссылочной целостности и подозреваю наличие полей подстановок в таблицах.

И ещё: наименование товара с артикулом так интересно контачат, как валенок с розеткой
1
2839 / 1876 / 203
Регистрация: 05.06.2011
Сообщений: 5,450
19.12.2012, 03:46
Цитата Сообщение от Nigeriez Посмотреть сообщение
С таблицами вроде определился
Почитай про нормализацию. Главное -- осознай, зачем это надо. Тогда всё будет проще. Вот хоть это
1
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 29
19.12.2012, 11:41  [ТС]
Цитата Сообщение от alvk Посмотреть сообщение
Интересная картинка. А где сама БД? По фотографии не лечим, это в другой салон
Пока только видно, что связи без ссылочной целостности и подозреваю наличие полей подстановок в таблицах.
И ещё: наименование товара с артикулом так интересно контачат, как валенок с розеткой
Собственно базы то пока нет, есть только пустые таблицы. Это моя вторая база (первая простенькая была, одна таблица и пара запросов), хочу сначала так сказать набросок сделать.
Артикул для каждого товара уникален, вот и связал их.
0
32 / 32 / 3
Регистрация: 22.10.2012
Сообщений: 499
19.12.2012, 17:08
Nigeriez, Я думаю alvk хотел сказать что в таблицы "Формирование Заказа" и "Товары", нужно связывать не по Артикул -> Наименование товара, а по Артикул -> Код Товара. Да и в "Формирование Заказа" хранить наименование товара и наименование запчастей в общем то не нужно.
А вообще т.к. я тоже недавно Акцесс осваивать начал, пишу бд для продаж. То у меня сложилось мнение, что строковые данные типа ФИО, адресов, примечаний, должны храниться в тематических таблицах.
Например есть таблицы
1)Клиенты (ФИО, адрес, телефоны)
2)Товар(Артикул, Наименование, Цена)
3)Заказы(Код Заказа, Код Клиента, Код Товара, Кол-во)
И если в первых двух таблицах хранятся конкретные данные, то в третей хранятся в основном ссылки на эти данные + некая дополнительная инфа к заказу, как то количество и допустим общая сумма заказа(хотя и ее можно высчитывать по формулам уже после открытия конкретного заказа допустим).
1
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 29
19.12.2012, 17:14  [ТС]
Цитата Сообщение от Don1172005 Посмотреть сообщение
Nigeriez, Я думаю alvk хотел сказать что в таблицы "Формирование Заказа" и "Товары", нужно связывать не по Артикул -> Наименование товара, а по Артикул -> Код Товара.
Да это я затупил, артикул и код товара это одно и тое, имя поля задал не правильно.
0
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 29
20.12.2012, 01:01  [ТС]
Кое что подправил, удалил лишние поля, вот только связи по полям "НомерЗаказа" вызывают сомнения (тип поля "счётчик").
Миниатюры
Нужен совет новичку  
0
2839 / 1876 / 203
Регистрация: 05.06.2011
Сообщений: 5,450
20.12.2012, 02:20
Цитата Сообщение от Nigeriez Посмотреть сообщение
Кое что подправил
Так лучше, особенно если НомерЗаказа ты не собираешься использовать во внешнем мире. Для, скажем, печати чека или уведомления клиенту (чтоб мог, скажем, позвонить, назвать номер заказа и узнать, как дела) лучше таки завести внешний номер. И лучше текстовый...

Добавлено через 3 минуты
И -- я правильно понял, что задача не учебная? -- таки не очень понятно со складом. База подходит для ситуации, когда клиент делает заказ, то, что есть складывается в ящичек, остальное заказывается и по приходу ящик заполняется и заказ отправляется. У меня такое чувство, что жизнь несколько сложнее.
1
Эксперт MS Access
 Аватар для alvk
7457 / 4590 / 302
Регистрация: 12.08.2011
Сообщений: 14,362
20.12.2012, 07:51
Nigeriez, я не вижу в ваших связях ссылочной целостности, отсюда и не видно характер связей, где там сторона один, а где много?
1
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 29
20.12.2012, 13:55  [ТС]
Цитата Сообщение от iifat Посмотреть сообщение
И -- я правильно понял, что задача не учебная? -- таки не очень понятно со складом. База подходит для ситуации, когда клиент делает заказ, то, что есть складывается в ящичек, остальное заказывается и по приходу ящик заполняется и заказ отправляется. У меня такое чувство, что жизнь несколько сложнее.
Задача не учебная, ситуацию понимаете правильно, только то что есть на складе отправляется сейчас, а чего нет, то заказывается и отправляется по мере поступления.

Добавлено через 2 минуты
Цитата Сообщение от alvk Посмотреть сообщение
я не вижу в ваших связях ссылочной целостности, отсюда и не видно характер связей, где там сторона один, а где много?
Наверное я бестолковый, пытаюсь понять это "один" и "много" второй день, куплю книжку сегодня, почитаю.
0
2839 / 1876 / 203
Регистрация: 05.06.2011
Сообщений: 5,450
20.12.2012, 15:04
Цитата Сообщение от Nigeriez Посмотреть сообщение
то что есть на складе отправляется сейчас, а чего нет, то заказывается и отправляется по мере поступления
По-моему, лучше вместо "Нет на складе" ввести "Отправки". Точнее говоря, две таблицы -- "Отправка" и "Товар на отправку". Не знаю, может, дело вкуса, но мне как-то больше импонируют таблицы, которые заполняются и не правятся (недостижимый идеал, конечно, ошибки были, есть и будут).

Возможно, стоит подумать о раздвоении таблицы клиентов -- для хранения истории информации о клиенте. Например, клиент сменил название или ещё чего, а интересно именно под каким названием он делал прошлый заказ... Впрочем, это можно и потом сделать, буде понадобится
Цитата Сообщение от Nigeriez Посмотреть сообщение
пытаюсь понять это "один" и "много"
Да чего там особо понимать... Строка, например, таблицы клиентов соответствует клиенту, строка заказов -- заказу, на одного клиента может приходиться много заказов, один заказ приходится на одного клиента -- значит, связь один ко многим, на стороне один -- клиент, на стороне "много" -- заказ, реализуется включением в таблицу на стороне "много" (заказ) полей из первичного ключа таблицы на стороне "один" клиента. Только и всего. И так по каждой отдельной связи.
1
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 29
20.12.2012, 15:27  [ТС]
Цитата Сообщение от iifat Посмотреть сообщение
По-моему, лучше вместо "Нет на складе" ввести "Отправки". Точнее говоря, две таблицы -- "Отправка" и "Товар на отправку". Не знаю, может, дело вкуса, но мне как-то больше импонируют таблицы, которые заполняются и не правятся (недостижимый идеал, конечно, ошибки были, есть и будут).
Согласен с вами, но моя задача первичный заказ, то чего не хватает я для себя учитываю, а занимаются этим другие люди, у них своя система заказов и учёта, я им просто список скидываю, даже номер заказа не указываю. А клиент просто добавляет в следующий свой заказ то что ему не довезли и так по кругу. Через опу конечно, но такова политика компании. Так что отсутствующие запчасти тоже привязаны к заказу намертво.
0
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 29
21.12.2012, 01:12  [ТС]
Вроде разобрался, хотя сомнения остались, никак мне связи по полям "НомерЗаказа" покоя не дают, или я по неопытности напрасно дёргаюсь.
Миниатюры
Нужен совет новичку  
0
2839 / 1876 / 203
Регистрация: 05.06.2011
Сообщений: 5,450
21.12.2012, 01:36
Цитата Сообщение от Nigeriez Посмотреть сообщение
Согласен с вами, но моя задача первичный заказ
Ну, в твоей ситуации звучит логично.
Про номер -- если я правильно понял, он никак не сообщается ни клиенту, ни другим сотрудникам. Обычный суррогатный ключ. Для такой задачи -- вполне нормально.

Только убери ж наконец названия товара/запчасти из ФормированиеЗаказа! В таблице на стороне "много" должен присутствовать первичный ключ другой таблицы отношения -- а что у тебя там первичные ключи?

Кстати, что там с товаром и запчастью? Это что, действительно никак не связанные друг с другом понятия, как следует из твоей схемы?
1
0 / 0 / 0
Регистрация: 01.12.2012
Сообщений: 29
21.12.2012, 08:50  [ТС]
Цитата Сообщение от iifat Посмотреть сообщение
Кстати, что там с товаром и запчастью? Это что, действительно никак не связанные друг с другом понятия, как следует из твоей схемы?
Ну связь относительная, одна и та же запчасть может подходить к разному товару, есть конечно и уникальные но основная масса взаимозаменяемы.

Добавлено через 3 минуты
Цитата Сообщение от iifat Посмотреть сообщение
Только убери ж наконец названия товара/запчасти из ФормированиеЗаказа! В таблице на стороне "много" должен присутствовать первичный ключ другой таблицы отношения -- а что у тебя там первичные ключи?
Если честно, то не совсем понял.
0
2839 / 1876 / 203
Регистрация: 05.06.2011
Сообщений: 5,450
21.12.2012, 09:28
А я ж говорил -- надо почитать про связии, главное -- хорошо понять!

Таблица ФормированиеЗаказа связана с Товар отношением один ко многим с ФормированиеЗаказа на стороне "много" -- это ж из твоей схемы, так? Значит, она должна включать ключевые поля таблицы Товар -- и только ключевые, никаких других полей из Товара быть не должно!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.12.2012, 09:28
Помогаю со студенческими работами здесь

Нужен совет новичку
Привет Всем! Вопрос по азам. Работаю на ubuntu. Установил pycharm, django, сервер работает когда вбиваю в терминал команды, то есть по...

Нужен совет новичку
Простите за такой вопрос, но можно ли создать такие программы как на рисунках, через Delphi, где при перемещении ползунка изменяться...

Нужен совет новичку
Доброго времени суток! Наверняка, на этом форуме вопрос, подобный моему уже обсуждался.Но все же. Чтобы не было недопонимаю, скажу что...

Нужен совет новичку в программировании
Всем привет. Я уже примерно 7 месяцев собираюсь прочитать книгу по C++, но всё время находятся дела _поважнее_. Причина этому следующая:...

Нужен совет новИчку по оптимизации.
В связи с кризисом (пол года тому) пришлось отказаться от услуг ВЭБ компании и заниматься сайтом самому. Как следсвие пэйдж ранг упал с 3...


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

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

Новые блоги и статьи
Как писать чистый, тестируемый и качественный код на Python
py-thonny 12.07.2025
Помню свой первый проект на Python. Работал тогда быстро, грязно, лишь бы работало. Код был похож на запутанный клубок - переменные по одной букве, функции на 200 строк, комментарии отсутствовали как. . .
Blazor и контроллер сервопривода IoT Meadow Maple
Wired 11.07.2025
Я решил разобраться, как можно соединить современные веб-технологии с миром "железа". Интересная комбинация получилась из Blazor в качестве веб-интерфейса и микроконтроллера Meadow с его веб-сервером. . .
Генерация OpenQASM из кода Q#
EggHead 10.07.2025
Летом 2024-го я начал эксперименты с библиотекой Q# Bridge, и знаете что? Она оказалась просто находкой для тех, кто работает на стыке разных квантовых экосистем. Основная фишка этой библиотеки -. . .
Изучаем новый шаблон ИИ-чата .NET AI Chat Web App
stackOverflow 10.07.2025
В . NET появилось интересное обновление - новый шаблон ИИ-чата под названием . NET AI Chat Web App. Когда я впервые наткнулся на анонс этого шаблона, то сразу понял, что Microsoft наконец-то. . .
Результаты исследования от команды ARP (июль 2025 г.)
Programma_Boinc 10.07.2025
Результаты исследования от команды ARP (июль 2025 г. ) Африканский проект по дождям (ARP) World Community Grid снова запущен! Мы рады поделиться обновленной информацией о нашем прогрессе с осени. . .
Angular vs Svelte - что лучше?
Reangularity 09.07.2025
Сегодня рынок разделился на несколько четких категорий: тяжеловесы корпоративного уровня (Angular), гибкие универсалы (React), прогрессивные решения (Vue) и новая волна компилируемых фреймворков. . .
Code First и Database First в Entity Framework
UnmanagedCoder 09.07.2025
Entity Framework дает нам свободу выбора, предлагая как Code First, так и Database First подходы. Но эта свобода порождает вечный вопрос — какой подход выбрать? Entity Framework — это. . .
Как использовать Bluetooth-модуль HC-05 с Arduino
Wired 08.07.2025
Bluetooth - это технология, созданная чтобы заменить кабельные соединения. Обычно ее используют для связи небольших устройств: мобильных телефонов, ноутбуков, наушников и т. д. Работает она на частоте. . .
Руководство по структурам данных Python
AI_Generated 08.07.2025
Я отчетливо помню свои первые серьезные проекты на Python - я писал код, он работал, заказчики были относительно довольны. Но однажды мой наставник, взглянув на мою реализацию поиска по огромному. . .
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах
Programma_Boinc 08.07.2025
Тестирование энергоэффективности и скорости вычислений видеокарт в BOINC проектах Опубликовано: 07. 07. 2025 Рубрика: Uncategorized Автор: AlexA Статья размещается на сайте с разрешения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru