Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нужен совет: По структуре базы данных! Структура База данных содержащая отчеты 
:(
    Опции темы
mirvel
Дата 24.3.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 24.3.2008

Репутация: нет
Всего: нет



Вообщем имеется фирма, которая занимается доставкой одного типа товара к постоянным клиентам...Т.е. когда товар закончится клиент опять заказывает этот же товар... Товар доставляется курьером. Количество курьеров растет. Курьер в конце дня сдает отчет по доставленным товаром...т.е. сколько товара какому клиенту он доставил.

Необходимо создать программу или информационную систему, которая выполняла бы следующее:

1. Хранила информацию о клиенте ( т.е. его данные, карточка клиента)
2. Вела учет "отчетов курьера". Т.е. Курьер открывает форму - документ... и делает отчет на конкретную дату, выбирая из списка клиентов и подставляя их в форму - документ (отчет)...
3. Просмотр журнала доставки товара по клиенту 


Описание проблемы:
Каким образом вводить данные отчета курьера в базу?

У меня есть два варианта 
1. Создать общую таблицу в которую данные отчета будут напрямую вводиться через установку фильтров этой таблицы
2. создать дополнительную таблицу....в которой будет создаваться отчет.. а затем программой копироваться в общую базу
3. Другая система ввода отчетов


PM MAIL   Вверх
mirvel
Дата 24.3.2008, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 24.3.2008

Репутация: нет
Всего: нет



Кстати так же вообще хочется почитать лит-ру по структуре баз данных.. Например как организована структура хранения и обработки данных в 1С предприятии....Что мне нравиться в 1С это то ...когда работаешь с документами..... есть такое ощущение как-будто бы каждый документ это один отдельный файл....хотя по моей практике это лишь мнимость..на самом деле все файлы -документы (и имею ввиду одного шаблона) храняться в общей базе...а их мнимая индивидуальность выполняется лишь за счет запроса или системой фильтров! 

Просвятити меня по этому поводу...или дайте ссылки! 
Заранее спасибо!
PM MAIL   Вверх
SergV
Дата 24.3.2008, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 4.8.2006
Где: Германия

Репутация: нет
Всего: 1



mirvel, из своего опыта по структурированию баз, знаю одно, забудь про общую таблицу, если не хочешь гемороя. 
Таблицы нужно делить и связывать между собой по индексам. Исходить нужно из такого принципа, когда для одного может быть много, и для многого одно.
Тоесть если взять таблицу пользователей, то для неё к примеру нужны такие поля, как ID пользователя, Имя Фамилия Отчество, Адрес, Телефон(Контакты), ну и к примеру пол. Если учесть что могут встретится несколько однофамильцев, то для этого нужен индекс, чтобы в других таблицах можно было ориентироваться на индекс пользователя а не на имя. Дальше идёт адрес, это поле должно быть индексным и связано с таблицей адресов, так как по одному адресу могут проживать несколько людей(клиентов). Телефон или контакты, тоже индексное поле на другую таблицу, так как у одного человека могут быть несколько телефонов, факс и к примеру сотовый, плюс емайл, аська или ещё что. А вот пол, тут понятно, он один, это уже неизменно.
Если всё это делать в одной таблице, то получатся лишние повторяющиеся данные, к примеру если взять фирму где работают десятки людей, и для каждого придётся вводить одни и теже данные по фирме.

Да и по выборке отдельных данных будет проще, если к примеру надо получить адрес человека, то для этого не надо будет фильтровать таблицу на нужные поля, а просто взять целиком данные из нужной.
PM   Вверх
mirvel
Дата 24.3.2008, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 24.3.2008

Репутация: нет
Всего: нет



Цитата(SergV @ 24.3.2008,  13:21)
mirvel, из своего опыта по структурированию баз, знаю одно, забудь про общую таблицу, если не хочешь гемороя. 
Таблицы нужно делить и связывать между собой по индексам. Исходить нужно из такого принципа, когда для одного может быть много, и для многого одно.
Тоесть если взять таблицу пользователей, то для неё к примеру нужны такие поля, как ID пользователя, Имя Фамилия Отчество, Адрес, Телефон(Контакты), ну и к примеру пол. Если учесть что могут встретится несколько однофамильцев, то для этого нужен индекс, чтобы в других таблицах можно было ориентироваться на индекс пользователя а не на имя. Дальше идёт адрес, это поле должно быть индексным и связано с таблицей адресов, так как по одному адресу могут проживать несколько людей(клиентов). Телефон или контакты, тоже индексное поле на другую таблицу, так как у одного человека могут быть несколько телефонов, факс и к примеру сотовый, плюс емайл, аська или ещё что. А вот пол, тут понятно, он один, это уже неизменно.
Если всё это делать в одной таблице, то получатся лишние повторяющиеся данные, к примеру если взять фирму где работают десятки людей, и для каждого придётся вводить одни и теже данные по фирме.

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

Понятно...
Представь курьер в конце дня делает отчет... Открывает форму...вводит данные за день...Эти данные должны попасть в головную таблицу....Как ты сделаешь ввод данных через промежуточную таблицу...или прямо в таблице? т.е. вспомни 1С предприятие....там создается документ...который мы редактируем....когда данные все введены мы можем  "провести документ" а затем  сохранить документ, или вообще сохранить без всяких проводок. Не знаю как устроен 1С....но как кажеться что данные "проведенные" попадают в головную таблицу.... а документ дублируется....

PM MAIL   Вверх
SergV
Дата 24.3.2008, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 4.8.2006
Где: Германия

Репутация: нет
Всего: 1



C 1C я не знаком. А по поводу отчета, то не вижу проблем, отчет это таже таблица, в которой используются данные из других таблиц. Тоесть к примеру если в отчет нужно ввести имя клиента, то оно выбирается из формы, и по нему через перекрёстные ссылки на другие таблицы в форму отчета вводятся автоматом данные по этому клиенту. Другими словами, когда курьер в форме отчета выбирает клиента Пупкина, то в таблицы клиентов в полях для данного клиента имеются такие поля как адрес, телефон и ещё что. В поле адреса связано с таблицей адресов и внем стоит индекс адреса в таблице. Тоже самое и с другими отдельными таблицами. Тоесть как только имя выбрано, мы имеем значения других полей, а всё что касается единичных записей, относящихся к конкретному событию и индивидуальны(цены к примеру), добавляются отдельно курьером.

Таким образом не какие данные не дублируются, они просто в отчет подставляются. Тоже самое и при выводе на печать, все необходимые данные берутся из нужной таблицы через связи.

По структурированию и ссылкам(связям) таблиц, в принципе достаточно подробно описывают в книгах по дельфи, где идёт речь о базах данных. Можешь посмотреть книги по дельфи от А.Я.Архангельского, единственная из мне встречавшихся книг, где боле менее всё подробно расписывается и примеров хватает.

Это сообщение отредактировал(а) SergV - 24.3.2008, 18:19
PM   Вверх
Vas
Дата 25.3.2008, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 29.6.2005
Где: Stavropol region

Репутация: 23
Всего: 28



Цитата(SergV @  24.3.2008,  18:18 Найти цитируемый пост)
По структурированию и ссылкам(связям) таблиц, в принципе достаточно подробно описывают в книгах по дельфи, где идёт речь о базах данных. Можешь посмотреть книги по дельфи от А.Я.Архангельского, единственная из мне встречавшихся книг, где боле менее всё подробно расписывается и примеров хватает.

Начинаем читать книги про реляционные БД, что это такое и зачем нужны нормальные формы 1-4, потом переходим к реализации на дельфи (то бишь читаем уже книги по дельфи). Про F1 не забываем. Если поняли как работает реляционная БД, тогда легко и просто понимаем принцип работы 1С (я смотрю для многих она является идеалом smile ) Ну и собсно реализация  smile  


--------------------
И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин)
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0465 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.