Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Вниз

Складская база данных InterBase   Найти похожие ветки 

 
BorH   (2003-09-25 15:38) [0]

Привет всем!
Люди, помогите, пожалуйста!
Нужно как-то организовать обычную складскую базу данных в InterBase с всякими ордерами, справочниками.
Я же вообще первый раз работаю с базами данных. Может, у кого есть пример такой программы?? Или ссылка?? Но требования такие ( :(( ): "должны использоватся компоненты TQuery и TStoredProc. Компонент TTable не использовать (это как?)"
Спасибо.


 
Johnmen   (2003-09-25 15:57) [1]

Нет, так не годиться делать. Сначала надо прочитать хорошую книгу про построение БД, все осознать, понять.
Потом изучить используемую СУБД, сервер, SQL и т.д.
И только потом приступать к проектированию своей собственной.
Такой путь займет ощутимо меньше времени для написания качественного приложения, чем "изучение" на примерах.


 
Vlad   (2003-09-25 15:58) [2]

>"должны использоватся компоненты TQuery и TStoredProc. Компонент TTable не использовать (это как?)"
Это что, выдержка из твоего ТЗ ???
Если так, то я бы на твоем месте послал бы того кто это писал на три веселых буквы.
PS А TTable действительно использовать не стоит.


 
Vlad   (2003-09-25 16:03) [3]

Вот порядок изучения:
1) Прочитать книгу Вострикова и Ковязина "Мир Interbase". Заплакать. Нажраться.
2) Почитать другие книги.
3) Записаться на курсы англ. языка. Начинать понемногу читать Help, UserGuide итд.
4) Пробовать воплотить на простых примерах.
5) Обратиться в конференцию
Пункт 5 только с условием, что к тому времени уже возникнут КОНКРЕТНЫЕ вопросы.


 
Andriano   (2003-09-25 16:08) [4]

> должны использоватся компоненты TQuery и TStoredProc. Компонент TTable не использовать (это как?)

Это по русски означает "Использовать реляционный способ доступа к данным, а не навигационный".


 
stud   (2003-09-25 16:10) [5]

неблагодарная это работа - складской учет, особенно если серьезную программу писать.
лучше п.1. несколько раз))


 
BorH   (2003-09-25 16:12) [6]

2Johnmen
Ты можешь полекомендовать какую-нибудь литературу (желательно в инете)??
Спасибо.
2Vlad

> Если так, то я бы на твоем месте послал бы того кто это
> писал на три веселых буквы

:))
Что ты имеешь в виду?? Почему "на мыло" :))??


 
Vlad   (2003-09-25 16:16) [7]

>BorH © (25.09.03 16:12) [6]
Негоже им засранцам тебе как разработчику указывать какими компонентами пользоваться а какими нет. ИМХО.


 
Johnmen   (2003-09-25 16:19) [8]

По теории БД - не скажу, не помню уже...
По IB - Фаронов&Co примерно "Руководство разработчика БД"
Один из наилучших ресурсов - ibase.ru


 
Bob   (2003-09-25 16:22) [9]

Вот тебе еще вопрос на раздумье: как будет расходоваться товар - по FIFO, LIFO или по среднему? Наживешь ты себе массу гемора с первого раза.


 
kaif   (2003-09-25 16:40) [10]

Это не только вопрос СУБД. Нужно еще понять, что под складом подразумевает заказчик. Нвапример, пришли 3 партии одного и того же товара:
1. каша манная Samsung"98
2. манная каша Samsung
3. Каша Samsung-98

Если заказчику нужна реальная база и нужно знать, сколько, черт побери этой каши у него на складе, это одно. Если же он хочет "в полном соответствии со всеми требованиями всех нормативных актов", то это три совершенно разных товара, как это ни странно звучит. Особенно, если у каждого свой белый ГТД имеется и соответствующий счет-фактура.

И вообще, взявшись за склад, придется и взаиморасчеты реализовывать и в бухучете разбираться.

Так что лучше всего начать изучать базы данных и SQL, как советуют знающие люди. Плюс бухучет (желательно американский GAAP - наш сразу не поймешь, так как он уродский).


 
BorH   (2003-09-25 17:02) [11]

2Johnmen
Сенкс. Почитаем :-)

2kaif
ненененене... :))
Задание мне дал не заказчик, а возможный работодатель как тест. Структуру базы я уже начёркал... Форму сделал... Осталось только организовать работу с базой. Основы я в принципе "понимаю", то есть могу работать с текстовой консолью SQL на уровне примитивных команд, но не более :(. Опираясь на эти знания могу ли я, просмотрев примеры, чо-нить придумать со своей прогой? Может у кого-нибудь есть такой пример??
PS Для чего ваще Эти компоненты (TQuery, TStoredProc, TTable) объясните, пожалуйста??


 
MsGuns   (2003-09-25 17:06) [12]

Простейшая модель склада:

1. Картотека (справочник ТМЦ с характеристиками объектов)
2. Группы ТМЦ (характеристики групп по возможности в виде дерева)
3. Движение (материальные документы по принципу Титул-Состав
4. Справочник контрагентов (поставщиков-получателей)

Это без реализации, бухгалтерии, аналитики поставок-продаж и много чего еще, чего обычно имеет любая мало-мальски грамотно спроектированная прога учета товаров (материалов, малоценки и пр. - обобщенно товаро-материальных ценностей (ТМЦ). И расчитано для 1 склада.

Когда эти 4 пункта у тебя не будут вызывать вопросов, можешь приступать к проектированию БД (структуры таблиц и взаимосвязи между сущностями)


 
MsGuns   (2003-09-25 17:10) [13]

Самый же лучший совет:
Найди в Харькове опытного спеца (хотя бы того же Соловьева - он тут частенько ошивается), подкатись к нему с пивом и креветками (а лучше с водкой и девочками) и он тебя шустренько левелапнит уровней на 6-7. Сэкономишь кучу времени и нервов.


 
BorH   (2003-09-25 17:30) [14]

2MsGuns
Я же сказал, что схему базы я уже нацарапал, осталось только её создать... но как это сделать?? :))

Надо же! А где можно найти Соловьёва?? :))


 
MsGuns   (2003-09-25 18:11) [15]

>BorH © (25.09.03 17:30) [14]
>Я же сказал, что схему базы я уже нацарапал, осталось только её создать

Давай сюда быстрее ! Нет ничего слаще, чем попинать чужую разработку ;)))))

>Надо же! А где можно найти Соловьёва?? :))
Да был вроде вчера.. Но учти, что он пьет много. И женщин любит красивых, грудастых и длинноногих. Хотя уже лет 45 женат и внуки у него взрослые. Но шалунишка тот еще ;))


 
BorH   (2003-09-25 21:09) [16]

Вот часть задания:
1. Описание задачи.
Некоторое предприятие имеет дело с контрагентами, от которых получает некоторые материальные ценности. Эти МЦ некоторое время хранятся на складах предприятия, затем поставляется другим (или тем же) контрагентам.
Приход МЦ оформляется приходным органом, имеющим следующую структуру:
1) Номер ордера
2) Дата операции
3) Поставщик
4) Получатель (склад)
5) Список МЦ в виде: вид МЦ, количество, сумма
6) Сумма по ордеру.
Расход МЦ оформляется расходным органом анологичной структкры.

Вот. Мою схему я закачал сюда: http://www.rockside.narod.ru/tgsc/scheme.gif (в mspaint накалякал)
А наброски проги тут:
http://www.rockside.narod.ru/tgsc/temp/sklad.zip
Спрасибо за помощь.


 
BorH   (2003-09-25 21:10) [17]

Упс.
Наброски проги тут:
http://www.rockside.narod.ru/tgsc/sklad.zip
Сорри.


 
MsGuns   (2003-09-25 21:14) [18]

>BorH © (25.09.03 21:09) [16]
То, что ты описал по пунктам, есть схема документа. Часть документооборота. Для того, чтобы его полностью смоделировать, надо описать все документы по разделам: входные, выходные, отчетные..
Потом определить их реквизитное наполнение, потом найти общие сущности и нормализовать их, потом... много еще чего нада ;)

Правильной дорогой идете, товагищи !


 
MsGuns   (2003-09-25 21:20) [19]

Схемку посмотрел - действительно набросок ;)) До реального проектирования еще оооочень далеко. Во-первых, потому что ты упустил кучу сущностей (например, оплату, НДС, документ-основание, бухгалтерию и т.д.) Во-вторых, у тебя вообще из схемы не видно, а ЧТО, собственно, надо получить-то ? Ну там оборотную ведомость, сальдовку и т.д. И, самое главное, не видно, ДЛЯ КОГО это все делается ? Для кладовщика ? Для буха ? Для снабженцев ? Для отдела маркетинга или вообще для Маньки-уборщицы.


 
BorH   (2003-09-26 00:05) [20]


> И, самое главное, не видно, ДЛЯ КОГО это все делается ?
Хм. Для Маньки?? Нееет...
Я ж и грю: это задание - абстракция! Ни для кого это задание не делается!

> То, что ты описал по пунктам, есть схема документа. Часть
> документооборота. Для того, чтобы его полностью смоделировать,
> надо описать все документы по разделам: входные, выходные,
> отчетные..
> Потом определить их реквизитное наполнение, потом найти
> общие сущности и нормализовать их, потом... много еще чего
> нада ;)
Будь так любезен, напиши, что мне нужно сделать!!!!
Заранее благодарю. :))

> Во-первых, потому что ты упустил кучу сущностей (например,
> оплату, НДС, документ-основание, бухгалтерию и т.д.)
Нет, это же обычное пробное задание. Пока в этом надо освоится...

ЗЫ Как ты прокомментируешь наброски проги??


 
kaif   (2003-09-26 00:28) [21]

Значит так.
Если есть приход, то обязательно будет возврат рано или поздно.
если есть отгрузка, то, возможно, будет и возврат от покупателя. Таким образом только документов движения товара 4.
Плюс если складов более 1, то межскладское перемещение.
Еще нужны документы платежей поставщикам и от покупателей. Лучше, если в результате получатся Т-счета (записи в дебет и кредит счета), чтобы можно было закрыть одну поставку несколькими платежами и наоборот.

Таблицы создаются командой CREATE TABLE
Удаляются командой DROP TABLE
Новые поля вставляются командой ALTER TABLE
Изучи, что такое первичные (PRIMARY) и иностранные (FOREIGN) ключи (KEYS) и обязательно их используй.
В качестве PRIMARY KEY используй только суррогатные ключи (создаваемые генераторами) и никогда не используй в качестве таковых ключи, которые что-нибудь означают (например, номер документа).
Если возможно ввести ограничения при помощи уникальных индексов (UNIQUE INDEX) - не стесняйся, вводи.
Попробуй сам все сделать. Не ищи примеры складов. Ты можешь столкнуться с базой данных в 100 таблиц, ничего не понять и сильно разочароваться. Придерживайся минимализма. Потенциальному работодателю нужно понять, можешь ли ты мыслить, а не то, можешь ли ты создать 100 таблиц.
Учти, что "общепринятого решения" складской задачи не существует. Иначе такая программа давно уже покорила бы рынок. Многое зависит от специфики конкретной задачи. Сколько товаров (всего 5-10 или десятки тысяч), есть ли борьба за ресурс (нужно ли резервирование прыткими менеджерами последнего винчестера на складе по принципу "сорок человек на сундук мертвеца"). И очень важно, какой метод работы со стоимостью применяется (средней стоимости или FIFO - Первый пришел - первый ушел). Учти, быстрый и правильный расчет себестоимости остатков - важная задача, плохо поддающаяся решению "ручным способом". Практически все остальное складовщик в состоянии сделать и без компьютера. И товар пересчитать, и накладную выписать. И даже счета контрагентов вести, если нужно.


 
kaif   (2003-09-26 00:44) [22]

И наконец, самая главная информация, которую склад может сообщить бухгалтерии, это себестоимость проданных товаров за некий период. Например, ты приобрел 100 винчестеров по $55 и 300 таких же винчестеров по $50. И еще с прошлого периода у тебя остались 12 таких же по $59.50. В текущем периоде продано 200 винчестеров. Какова общая себестоимость этих проданных винчестеров? Если считать по средней себестоимости, то:

summa = (100*55 + 300*50 + 12*59.50) * 200/(100+300+12)

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

И еще. Лучше называть товар не товарно-материальными ценностями, а товарно-материальными средствами. Это изящнее. Так это называется во всем мире.
А ТМЦ придумали при социализме. Как, впрочем, и много других плохих канцеляризмов типа "деньги сданы в подотчет". Важно найти и придерживаться изящной терминологии, иначе программа может отпугивать. Есть хорошие термины типа "вознаграждение", "средства", "доходы", "расходы", "продажи". И плохие и расплывчатые: "реализация","матответственность", и т.п.
Товары продают, а услуги оказывают.
"Производство товаров и услуг" - это не по-русски.


 
viper_cd   (2003-09-26 09:44) [23]

Прочитай и изучи книгу Дарахвелидзе!В ней рассказывается как создать программу складского учета, начиная от начала и до конца с примерами и описаниями!


 
viper_cd   (2003-09-26 09:50) [24]

http://col.academic.ru/misc/colibri.nsf/ByID/NT00000A2E (посмотри как выглядит книга)


 
Zacho   (2003-09-26 15:00) [25]

2 BorH © :
Для начала настоятельно советую прочитать что-нибудь типа К.Дж.Дейт "Введение в системы баз данных", а потом уже думать о БД для складского учета (или о любой другой конкретной задаче, реализуемой на РСУБД)


 
MsGuns   (2003-09-26 15:55) [26]

>kaif © (26.09.03 00:44) [22]
Со всем сказанным в обоих постах категорически согласен за исключением последнего абзаца (терминология).
Дам только одну поправку, зато ключевую:
Бывает продажа, а бывает реализация. Как товаров, так и услуг. Этот совсем не одно и то же. Уже тебе-то не надо объяснять разницу ;)))

PS. Лишний раз добавленным ИМХО трудно испортить пост, как маслом кашу ;)


 
Alex_Raider   (2003-09-26 16:16) [27]

2ZACHO:

Ты посмотри что он спросил:
"обычную складскую базу данных".
Что он нарисовал (главное, это в чем!).
Ты посмотри что за строки в "техзадание":
"должны использоватся компоненты TQuery и TStoredProc. Компонент TTable не использовать".

...А потом подумай, по силам ли ему хотя бы ПРОЛИСТАТЬ
книжку объемом в 700 страниц, набитую реляционной алгеброй?
:-)))))))

- Да вы люди из разных вселенных!
:-)))))


 
Zacho   (2003-09-26 16:34) [28]


> Alex_Raider © (26.09.03 16:16) [27]

Леха, а может пошлем ему базу Супермаг-ДК ?
:-)))


 
Alex_Raider   (2003-09-26 16:42) [29]

Пожалуйста, если захочет...
Я не подписывал NDA...

:-)


 
Малиновский Владимир   (2003-09-26 16:43) [30]

>...А потом подумай, по силам ли ему хотя бы ПРОЛИСТАТЬ
>книжку объемом в 700 страниц, набитую реляционной алгеброй?
"...реляционная алгебра" для SQL - это подмножество теории множеств, 7-й класс, год назад мой сын изучал. (Пересечение, объединение и проч.)
Учи в первую очередь лучше бухгалтерию, купи книжку типа "Бухучет современной производственной (торгово-закупочной, строительной и т.д.) компании". Потряси бухгалтеров из материального отдела бухгалтерии заказчика (порядок регистрации товаров, расходные счета, способы группировки, виды движения, материально-ответственные лица, и проч.). До упора. Пока упор не наступит, "обычную" складскую программу лучше не кодировать. Да, SQL ты просто обязан знать.


 
Zacho   (2003-09-26 17:24) [31]


> Малиновский Владимир (26.09.03 16:43) [30]
> "...реляционная алгебра" для SQL - это подмножество теории
> множеств, 7-й класс, год назад мой сын изучал. (Пересечение,
> объединение и проч.)

А нормализацию, ФЗ и т.д. тоже в школе изучают ? Крутая, наверное школа :)

> Учи в первую очередь лучше бухгалтерию

Не согласен. В первую очередь - теорию РСУБД (и школьных знаний алгебры здесь никак не достаточно), а предметную область - во вторую. Иначе 90% вероятности что получится тормозное глюкало. Просто видел я "творения" программеров, хорошо разбирающихся, например в бухгалтерии, но не подозревающих даже о ссылочной целостности.


 
Малиновский Владимир   (2003-09-26 18:00) [32]

2 Zacho
> Просто видел я "творения" программеров, хорошо разбирающихся, например в бухгалтерии, но не подозревающих даже о ссылочной целостности.

Да на плевать бухгалтерам на то, где ссылочная целостность обеспечивается, имеется ли механизм транзакций, нормализованы ли таблицы, и какая версия компилятора используется. Посмотри вон, на чем 1С бухгалтерия реализована - жуть. А все работают. Хреново. А у кого лучше?


 
Zacho   (2003-09-26 18:09) [33]


> Малиновский Владимир (26.09.03 18:00) [32]
>
> Да на плевать бухгалтерам ..

Согласен. Не их это дело. Но на то, что работает тормозно и/или данные рушатся - и бухгалтерам не плевать.

> Посмотри вон, на чем 1С бухгалтерия реализована - жуть.

Ну и что, это причина что бы делать как попало ? Не лучше ли все-таки делать, что бы работало хорошо ?


 
BorH   (2003-09-27 00:26) [34]


> Alex_Raider © (26.09.03 16:16) [27]
> 2ZACHO:
>
> Ты посмотри что он спросил:
> "обычную складскую базу данных".
> Что он нарисовал (главное, это в чем!).
> Ты посмотри что за строки в "техзадание":
> "должны использоватся компоненты TQuery и TStoredProc. Компонент
> TTable не использовать".
>
> ...А потом подумай, по силам ли ему хотя бы ПРОЛИСТАТЬ
> книжку объемом в 700 страниц, набитую реляционной алгеброй?
> :-)))))))
>
> - Да вы люди из разных вселенных!
> :-)))))

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

2Zacho
> Леха, а может пошлем ему базу Супермаг-ДК ?
> :-)))
Спасибо, буду очень благодарен :)

Мне кажется, что ни смотря на возможно неправильную формулировку задания :/, его общие черты понятны по формам, доступным тут http://www.rockside.narod.ru/tgsc/sklad.zip

Спасибо всем за помощь :))


 
Zacho   (2003-09-27 00:43) [35]


> BorH © (27.09.03 00:26) [34]
> Ты и в реале так хамишь?

В реале он еще и не так хамит :-)

> Спасибо, буду очень благодарен :)

Выслал бы, да нет сейчас под рукой. Подожди пока Raider снова появиться, или напиши ему на мыло.
Только не думаю, что тебе от этой БД много пользы будет. Комментариев к структуре БД и к программе там почти нет, вряд ли много поймешь.
Кстати, там не используются ни TQuery, ни TStoredProc :) Исключительно FIBPlus (ох и древняя версия.. 2000 г.) :-)
P.S. А книжки все-таки почитай.


 
BorH   (2003-09-27 01:58) [36]

Слушайте, может это и совсем ламерский вопрос :/, но как создать БД, как хотя бы файл gdb создать?? Работать с таблицами и триггерами, "допустим" :) уже научился, но когда я указываю и в SQLExplorerи в IBConsole несуществующий или пустой файл возникаtт (разумеется :) ошипка, пытаюсь создать свою, пишет что пароль неверен... Проясните, plz. Как без Delphi создать БД??
>Zacho
>P.S. А книжки все-таки почитай.

Приходится читать только статьи в инете, самая дешёвая книжка стоит 63 гривни, это ~~12 вечнозелёных. Это главная проблема большинства начинающих программистов, особенно когда они на мели :/
соррии.. депресняк :))


 
Zacho   (2003-09-27 02:03) [37]


>
> BorH © (27.09.03 01:58) [36]

Выкини SQL Explorer и IBConsole и скачай IBExpert http://www.ibexpert.com


 
Anatoly Podgoretsky   (2003-09-27 11:09) [38]

BorH © (27.09.03 00:26) [34]
Тогда я бы хотел с тобой поближе пообщатся...

:-)))


 
BorH   (2003-09-27 12:58) [39]

И всё же? Я не думаю, что проблема в этих прогах... Как создать с нуля БД??

PS. Чо-то лекарства срочно понадобились ;) может у кого-нибудь есть?? Спасибо. :))


 
MaxDDinc   (2003-09-27 15:04) [40]

Привет, потуркали тебя тут ... бывает :(
Я тут все просмотрел, есть одна мысль, простая и верная:
- есть книжица "Мир InterBase", авторы А.Н.Ковязин и С.М.Востриков,
Купи, почитай, там все:
- создание;
- проектирование;
- процедуры, функции;
- администрирование и т.д.
Реальная вещь, что бы начать ...
А вот после нее, если вопросы останутся, пиши, подскажу, что смогу

Удачи :)



Страницы: 1 2 вся ветка

Форум: "Базы";
Текущий архив: 2003.10.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.58 MB
Время: 0.012 c
1-74143
ura
2003-10-10 21:54
2003.10.23
как ограничить


3-73986
AndCot
2003-10-01 09:56
2003.10.23
Индексы CDX в TTable


14-74463
Knight
2003-10-02 23:52
2003.10.23
Кто какие сайты посещает?


14-74436
VEG
2003-10-02 22:55
2003.10.23
Ну училка блин дает!


7-74485
opoloXAI
2003-08-10 13:27
2003.10.23
Как разложить байт по-битно?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский