|
|
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
Дали мне задание. Спроектировать БД "Заказы". Разрешили пользоваться любыми источниками. В том числе и советами людей знающих. Главное потом будет отстоять свою схему БД т.е сказать, что для этих требований ....(придумать требования)... база данных такая-то. Прошу помощи. Понимаю, что сначала бы требования хорошо сформулировать требования. Но такой классический подход для меня труден. Поэтому начал сразу с БД. ( понимаю, что кто-то процитирует эти строки и начнет высмеевать меня ...). Буду рад любой конструктивной критике. Вот из каких таблиц видится должна состоять эта БД. 1) Поставщики. 2) Шапка заказа. 4) Элементы заказа. 3) Расположение элементов заказа (элементы заказа могут располагаться на разных территориях) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 12:21 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
Возми Аксесс, и посмотри его учебные БД "Нортвинд" и "Борей" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 12:46 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
Не сформулировав требования, ты будешь делать то, не зная что не зная зачем. А твое описание слишком общее, слишком мало конкретики. А прежде, чем о таблицах думать, надо на концептуальном уровне все это хозяйство обмозговать Я б на вскидку такие вопросы задал: 1. Для чего (кого) эта программа нужна? 2. Какие данные туда будут вводиться. 3. Что должно получаться в результате. Ответь сначала на них, дальше видно будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 12:55 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
А с Учителем я не согласен - лучше этого борея не смотреть. С моей точки зрения, этот пример сглаживает все отрые углы данной проблемы и предназначен для иллюстрации того, как хорош Access(MS SQL server), а не для того, чтобы научить людей решать реальные проблемы. К тому же, пример начинается не с постановки (это самое сложное и важное), а с готовой реализации, так что не понимаю, чем он может помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 13:00 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
Ну и начинаем представлять все в лицах. Что заказываем у поставщиков? Товары. Вот тебе еще плюс таблица товаров. Куда поступают товары? На склады. Вот тебе таблица складов. У поставщиков может быть несколько складов отгрузки? А еще адрес для предоставления финансовых документов? Вот таблицы адресов поставщиков и типов адресов. Наши склады тоже имеют адреса? Тогда таблицу адресов можно расширить и на наши склады. За товары будем платить деньги? Вот таблица с прайсами поставщиков. Ах, у поставщиков товары кодируются не так, как в нашей базе данных? Вот таблицы связи кодов поставщиков с нашими кодами. Ах да, мы бы хотели иметь не только текущие прайсы, но и их историческую ретроспективу? И это придется учесть... Каждый товар всегда приходит с одного и того же склада поставщика? Если да - нам повезло, можно привязать склад поставщика к таблице товаров. Иначе - заводить отдельный механизм. А может, оставить логистику поставщика самому поставщику и выставлять ему общий заказ, а уж он сам пусть решает, с какого склада будет нам грузить товары? Да, но тогда надо учесть, что на один наш заказ может быть много поставок. Попутно собираем коллекцию атрибутов - какие именно атомарные единицы информации нам потребуются (вот пример с датами: дата отправки заказа, дата получения заказа поставщиком, дата отправки поставщиком груза, дата поступления груза к складу, дата приходования на склад). Ну и естественно расписываем бизнес-процессы, связанные с заказом товара. Например, так: "мы послали заказ. он пришел к поставщику. поставщик отгрузил товар. товар привезли нам. мы проверяем, что нам привезли и приходуем на склад... а что, если поставщик не может обеспечить нам весь заказ? Мы же не будем удалять необеспеченные строки и не будем менять количество в не полностью обеспеченных? А если мы заказывали зеленый мармелад, а нам вместо него по ошибке отгрузили белый шоколад? А что, если по пути шоколад поломался от тряски, или растаял, или везли долго, и срок годности прошел?" Когда все учтем, начнем раскладывать атрибуты по сущностям (конечно, кое-что уже разложено, но правильно ли? может, попало не совсем в свою таблицу?) и попутно определять, кто, когда и каким процессом будет изменять состояние атрибутов. И кому они понадобятся. После определения процессов не должно остаться атрибутов, не покрытых процессами (каждый атрибут должен иметь писателя). Также, безжалостно избавимся от атрибутов, которые имеют писателя, но не имеют ни одного читателя - они в нашей модели лишние. Ну, и так далее ... ;-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 13:16 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
Круто!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 13:25 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
Urri, Заметно, что опыт в этом вопросе у Вас солидный. Только вы приводите описание вопросов, понимание проблем, которое сложилось в Вашей голове в результате работы над Вашими задачами. Или вы приводите универсальную постановку? Разве такие бывают? Разве задача "заказы" не будет отличаться от "Заказы для пункта видеопроката" от "Заказы комлектующих на машиностроительном заводе"? Я к тому, что студенту надо брать реальную предметную область. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 14:19 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
> Ну и начинаем представлять все в лицах. В данном случае подход use case неприменим: 1. отсутствуют консультанты предметной области; 2. отсутствует опыт проектирования баз данных как таковых. Студенту можно порекомендовать, как уже было сказано, четче формулировать задачу: решение в общем виде - это куча геморроя в данном случае необязательного. Imho, в описанном виде задача поставлена некорректно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 15:00 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
2 Varan Конечно, я привожу не универсальную постановку, а пример, как может идти разработка БД "Заказы". Кошмарный сон, который может присниться по завершении конкретного проекта, так сказать. На описание, действительно, накладывается отпечаток моего личного опыта, что, несомненно, вредно для Студента. ;-) Конечно (если спрашивает действительно студент, а не только ник у него такой), от учебной разработки нельзя ожидать, чтобы она могла работать в суровых условиях реальной жизни . Но значит ли это, что учебные проекты не должны отражать эту реальную жизнь? По-моему, не значит. По крайней мере, концы с концами должны сходиться и в учебных проектах. Пусть даже этих запроектированных учебных концов будет значительно меньше, чем бывает реальных. ;-))) Если оглядываться на мои собственные учебные проекты, то я обычно старался, чтобы в каждом из них была, пусть маленькая, изюминка. Новаторская, сумасшедшая, прикольная, фантастическая, просто необычная (с моей колокольни глядючи, конечно ;-)). Которая сама по себе не могла составить проект. Поэтому она помещалась в добротно (ну, или менее добротно, если времени не хватало ;-)) выпеченную булочку - а вот она-то базировалась на самых житейских принципах, даже зачастую передиралась из заботливо подобранной во время производственных практик документации. И, конечно, была крепко привязана к предметной области. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 15:46 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
На фиг все заранее предусматривать, личше "по самое ни хочу" разберись в предметной области. Я вон, как-то даже реализовал возможность "составная позиция" в прайсе (типа - копьютер состоит из других компонентов прайса). Чуть не сдох от натуги, а эти долбаные юзеры использовали эту возможность аж ни одного разу. Зато тащу эту фичу при сопровождении - даже при формировании отчетов приходится учитывать, что позиции заказа могут быть составными, с произвольным уровнем вложенности. Делал бы сейчас - выбросил бы нафиг весь универсализм. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2004, 16:29 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
UrriНу и начинаем представлять все в лицах Да, опыт чувствуется :) Молоток. mvреализовал возможность "составная позиция"... Зато тащу эту фичу при сопровождении ... Тоже имеется такая вещь, написал один раз базовые функции к ней и ни каких проблем, даже не вспоминаю.. Универсализм - универсализму рознь! -)) Хотя в студенческом проекте он вряд ли требуется.. >Студент Сначала надо определится с требованиями к задаче. Задача в принципе не маленькая, стоит ограничится каким-либо набором решаемых задач автоматизации, придумать жизненную ситуацию. Могу порекомендовать как источник, книгу Александра Дворжецкого "SQL" (ISBN 5-8321-0110-3). В ней приводится пример работы столовой. Полностью м. не подойдет, но доработки не большие. На озоне стоит 63 руб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 11:44 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
Блин. Запугали студента. Не пишет он прогу "оптовый склад". Ему нужен маленький модуль из этой системы - "Заказы" Что есть заказ? Список чего-то, что предполагается продать. Тогда получается табла. Дата заказа Номер заказа Кто заказал Дата исполнения Выполнено {Что заказал По какой цене }* Нормализуем Табла 1. Контрагенты КодКонтрагента {Характериститки} Эта табла должна быть в базе. Табла 2. Товары КодТовара {Характериститки} Эта табла тоже должна быть в базе Табла 3 Заказ КОД_ЗАКАЗА Дата заказа Номер заказа КодКонтрагента Дата исполнения Выполнено Табла 4 Содержание заказа КОД_ЗАКАЗА КодТовара Цена за единицу Количество ============= Разумеется, и тут есть подводные камни, типа какую цену ставит - на день выписки или на день оплаты. Но для курсовика сойдет. Это схематично, да умный - поймет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 20:38 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
Дали мне задание. Спроектировать БД "Заказы". Разрешили пользоваться любыми источниками. В том числе и советами людей знающих. Главное потом будет отстоять свою схему БД т.е сказать, что для этих требований ....(придумать требования)... база данных такая-то . Прошу помощи. Понимаю, что сначала бы требования хорошо сформулировать требования. Но такой классический подход для меня труден. Поэтому начал сразу с БД. ( понимаю, что кто-то процитирует эти строки и начнет высмеевать меня ...). Вам очень по делу и очень популярно объяснил Urri БД должна появиться в конце, в начале постановка и анализ. Почитайте Фаулера и Скотта "UML. Основы"... И все получится. Кстати, там есть неплохие примеры. -- Шумов В. www.acdplus.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.04.2004, 21:51 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
Бедный Студент! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.04.2004, 10:56 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
А сам студент что-то молчит, наверное плюнул на все и пошел водку пить Вася Васяткин ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 07:56 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
а вообще истинные программисты решают проблемы по мере их появления:) поэтому книжку не читай, а сразу садись рисуй схему субд и в бой:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 12:46 |
|
||
|
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
|
|||
|---|---|---|---|
|
#18+
"Понимаю, что сначала бы требования хорошо сформулировать требования. Но такой классический подход для меня труден" Странно. Включи фантазию и оглянись вокруг. Можно кучу всего напридумывать. "Заказы" в пункте приема обуви, на мелкооптовой базе, в ларьке с компакт-дисками - все эти темы можно развить, в т.ч на реальных данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2004, 13:21 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32482045&tid=1546531]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
152ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 441ms |

| 0 / 0 |
