Другие языки программирования и технологии
Вопрос по БД на access
Собственно делаю БД Автосервис, только вот думаю как лучше сделать: завести отдельную таблицу для всех клиентов, и потом путём связей использовать в таблице Заказа-Наряда, или лучше просто запросом потом отобрать из таблы Заказ-.наряда всех клиентов группировкой и т.д.? Какой способ более гибкий?
Да тут не в гибкости дело, а в логической структуре вашей БД, Почитайте какие-нить книжки или статьи про проектирование реляционных БД, про избыточность и т. п. Само собой напрашивается, что клиенты должны в отдельной таблице: там же и их контактные данные. И как вы клиентов будете из Заказ-нарядов отбирать? А если попались однофамильцы (да еще и тезки - не смейтесь, мне недавно из московского представительства Skoda так позвонили: однофамилец и тезка (только отчество другое) в нашем городе имеет авто Skoda, но другой модели) ? А если допустили ошибку в имени (и тогда получается 2 клиента в БД, а на самом деле - один) . Заказ-наряды - в отдельной таблице. Что там в заказ-нарядах используется? Виды работ? Тоже - в отдельную таблицу (с ценами и прочей шелухой) . И все эти таблицы будут связаны с Заказ-нарядом.
Словом, почитайте про проектирование баз данных.
Словом, почитайте про проектирование баз данных.
Petr Brejnev
впрочем я изначала так и думал, что клиенты должны быть в отдельной таблице, почитать: мот книгу посоветуете? и ещё я думаю будет лучше сделать так: в табле Заказ-Наряд используем чисто ID, IDKlienta, IDAvto, NomerAvto и т.д., в табле Specifikacia Используем IDZakazaNariada и пишем вид работы, мастер, стоимость, или лучше сделать так: SpecifikaciaZakNar в ней чисто IDZakNariada и IDRaboty, где IDRaboty - связанное поле с ещё одной таблицей (Raboty) где указываются все виды ремонтных работ и их стоимости, но тогда возникает вопрос, ведь если в 2008 году к примеру я менял ГРМ за 50$, то в 2011 допустим за 70$ то полетят все ранее выписанные Работы, т.к. изменится поле стоимость в таблице справочнике работ и их стоимостей, а при раскладе Просто SpecifikaciaZakNariada в ней указывать IDZakNar и ручками писать вид работы и стоимость в таблице SpecifikaciaZakNar без лишних справочников???
Я не понял - у тебя что, клиенты в таблице заказ-наряд? А 1НФ как же?
Petr Brejnev
мле, вопрос читай внимательно, я спрашиваю как лучше делать
Вы путаетесь. В случае с клиентами и работами это всё таблицы справочники. А все данные включая код работы и её цену надо сохранять в заказ наряде. Проще говоря справочник содержит актуальное наименование и цену работы или актуальную фамилию клиента. Фамилия клиента не оч важна (она даже при изменении не повлияет на заказ наряд) и достаточно сохранять код клиента в документе (заказ-наряде) а вот цена критична и потому в документе должны сохраняться как код работы так и её цена на момент формирования документа.
Похожие вопросы
- Вопрос по БД (интернет магазин)
- Вопрос по SQL в Access
- Перечень допустимых функций в SQL-запросе ADO Jet 4.0 (MS Access)
- Посоветуйте среду программирования? Приложение с активным использованием БД.
- ЛЮДИ зачем нужны БД (базы данных для сайта) ? Объясните девушки пожалуйста.
- Есть ли смысл создавать БД на Делфи?
- Хранение 10 млн строк данных (бд или нечто другое) [c#]
- GraphQL является фреймворком для работы с БД или он сам БД?
- Access
- OpenProcess ошибка Access is denied. в windows 7 Visual C++ 2008