powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
17 сообщений из 17, страница 1 из 1
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32471908
Студент
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дали мне задание. Спроектировать БД "Заказы". Разрешили пользоваться любыми источниками. В том числе и советами людей знающих. Главное потом будет отстоять свою схему БД т.е сказать, что для этих требований ....(придумать требования)... база данных такая-то.

Прошу помощи. Понимаю, что сначала бы требования хорошо сформулировать требования. Но такой классический подход для меня труден. Поэтому начал сразу с БД. ( понимаю, что кто-то процитирует эти строки и начнет высмеевать меня ...). Буду рад любой конструктивной критике.

Вот из каких таблиц видится должна состоять эта БД.

1) Поставщики.

2) Шапка заказа.

4) Элементы заказа.

3) Расположение элементов заказа (элементы заказа могут располагаться на разных территориях)
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32471946
Учитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возми Аксесс, и посмотри его учебные БД "Нортвинд" и "Борей"
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32471954
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не сформулировав требования, ты будешь делать то, не зная что не зная зачем.
А твое описание слишком общее, слишком мало конкретики.
А прежде, чем о таблицах думать, надо на концептуальном уровне все это хозяйство обмозговать
Я б на вскидку такие вопросы задал:
1. Для чего (кого) эта программа нужна?
2. Какие данные туда будут вводиться.
3. Что должно получаться в результате.
Ответь сначала на них, дальше видно будет.
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32471966
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А с Учителем я не согласен - лучше этого борея не смотреть. С моей точки зрения, этот пример сглаживает все отрые углы данной проблемы и предназначен для иллюстрации того, как хорош Access(MS SQL server), а не для того, чтобы научить людей решать реальные проблемы.
К тому же, пример начинается не с постановки (это самое сложное и важное), а с готовой реализации, так что не понимаю, чем он может помочь.
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32471993
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и начинаем представлять все в лицах.

Что заказываем у поставщиков? Товары. Вот тебе еще плюс таблица товаров.
Куда поступают товары? На склады. Вот тебе таблица складов.
У поставщиков может быть несколько складов отгрузки? А еще адрес для предоставления финансовых документов? Вот таблицы адресов поставщиков и типов адресов. Наши склады тоже имеют адреса? Тогда таблицу адресов можно расширить и на наши склады.
За товары будем платить деньги? Вот таблица с прайсами поставщиков. Ах, у поставщиков товары кодируются не так, как в нашей базе данных? Вот таблицы связи кодов поставщиков с нашими кодами. Ах да, мы бы хотели иметь не только текущие прайсы, но и их историческую ретроспективу? И это придется учесть...
Каждый товар всегда приходит с одного и того же склада поставщика? Если да - нам повезло, можно привязать склад поставщика к таблице товаров. Иначе - заводить отдельный механизм. А может, оставить логистику поставщика самому поставщику и выставлять ему общий заказ, а уж он сам пусть решает, с какого склада будет нам грузить товары? Да, но тогда надо учесть, что на один наш заказ может быть много поставок.

Попутно собираем коллекцию атрибутов - какие именно атомарные единицы информации нам потребуются (вот пример с датами: дата отправки заказа, дата получения заказа поставщиком, дата отправки поставщиком груза, дата поступления груза к складу, дата приходования на склад).

Ну и естественно расписываем бизнес-процессы, связанные с заказом товара. Например, так: "мы послали заказ. он пришел к поставщику. поставщик отгрузил товар. товар привезли нам. мы проверяем, что нам привезли и приходуем на склад... а что, если поставщик не может обеспечить нам весь заказ? Мы же не будем удалять необеспеченные строки и не будем менять количество в не полностью обеспеченных? А если мы заказывали зеленый мармелад, а нам вместо него по ошибке отгрузили белый шоколад? А что, если по пути шоколад поломался от тряски, или растаял, или везли долго, и срок годности прошел?"

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

Ну, и так далее ... ;-)))
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32472017
Фотография Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Круто!!!
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32472087
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Urri,
Заметно, что опыт в этом вопросе у Вас солидный. Только вы приводите описание вопросов, понимание проблем, которое сложилось в Вашей голове в результате работы над Вашими задачами. Или вы приводите универсальную постановку? Разве такие бывают? Разве задача "заказы" не будет отличаться от "Заказы для пункта видеопроката" от "Заказы комлектующих на машиностроительном заводе"?
Я к тому, что студенту надо брать реальную предметную область.
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32472172
PostgreSQL user
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Ну и начинаем представлять все в лицах.

В данном случае подход use case неприменим:
1. отсутствуют консультанты предметной области;
2. отсутствует опыт проектирования баз данных как таковых.

Студенту можно порекомендовать, как уже было сказано, четче формулировать задачу: решение в общем виде - это куча геморроя в данном случае необязательного. Imho, в описанном виде задача поставлена некорректно.
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32472252
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Varan

Конечно, я привожу не универсальную постановку, а пример, как может идти разработка БД "Заказы". Кошмарный сон, который может присниться по завершении конкретного проекта, так сказать.
На описание, действительно, накладывается отпечаток моего личного опыта, что, несомненно, вредно для Студента. ;-)
Конечно (если спрашивает действительно студент, а не только ник у него такой), от учебной разработки нельзя ожидать, чтобы она могла работать в суровых условиях реальной жизни . Но значит ли это, что учебные проекты не должны отражать эту реальную жизнь? По-моему, не значит. По крайней мере, концы с концами должны сходиться и в учебных проектах. Пусть даже этих запроектированных учебных концов будет значительно меньше, чем бывает реальных. ;-)))
Если оглядываться на мои собственные учебные проекты, то я обычно старался, чтобы в каждом из них была, пусть маленькая, изюминка. Новаторская, сумасшедшая, прикольная, фантастическая, просто необычная (с моей колокольни глядючи, конечно ;-)). Которая сама по себе не могла составить проект. Поэтому она помещалась в добротно (ну, или менее добротно, если времени не хватало ;-)) выпеченную булочку - а вот она-то базировалась на самых житейских принципах, даже зачастую передиралась из заботливо подобранной во время производственных практик документации. И, конечно, была крепко привязана к предметной области.
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32472357
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На фиг все заранее предусматривать, личше "по самое ни хочу" разберись в предметной области. Я вон, как-то даже реализовал возможность "составная позиция" в прайсе (типа - копьютер состоит из других компонентов прайса). Чуть не сдох от натуги, а эти долбаные юзеры использовали эту возможность аж ни одного разу. Зато тащу эту фичу при сопровождении - даже при формировании отчетов приходится учитывать, что позиции заказа могут быть составными, с произвольным уровнем вложенности.
Делал бы сейчас - выбросил бы нафиг весь универсализм.
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32475114
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UrriНу и начинаем представлять все в лицах
Да, опыт чувствуется :) Молоток.

mvреализовал возможность "составная позиция"... Зато тащу эту фичу при сопровождении ...

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

>Студент
Сначала надо определится с требованиями к задаче. Задача в принципе не маленькая, стоит ограничится каким-либо набором решаемых задач автоматизации, придумать жизненную ситуацию. Могу порекомендовать как источник, книгу Александра Дворжецкого "SQL" (ISBN 5-8321-0110-3). В ней приводится пример работы столовой. Полностью м. не подойдет, но доработки не большие. На озоне стоит 63 руб.
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32476201
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Блин. Запугали студента. Не пишет он прогу "оптовый склад". Ему нужен маленький модуль из этой системы - "Заказы"

Что есть заказ? Список чего-то, что предполагается продать.
Тогда получается табла.


Дата заказа
Номер заказа
Кто заказал
Дата исполнения
Выполнено
{Что заказал
По какой цене
}*

Нормализуем

Табла 1.
Контрагенты

КодКонтрагента
{Характериститки}
Эта табла должна быть в базе.

Табла 2.
Товары

КодТовара
{Характериститки}
Эта табла тоже должна быть в базе

Табла 3
Заказ

КОД_ЗАКАЗА
Дата заказа
Номер заказа
КодКонтрагента
Дата исполнения
Выполнено

Табла 4
Содержание заказа

КОД_ЗАКАЗА
КодТовара
Цена за единицу
Количество

=============
Разумеется, и тут есть подводные камни, типа какую цену ставит - на день выписки или на день оплаты. Но для курсовика сойдет.

Это схематично, да умный - поймет.
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32476236
VladSh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дали мне задание. Спроектировать БД "Заказы". Разрешили пользоваться любыми источниками. В том числе и советами людей знающих. Главное потом будет отстоять свою схему БД т.е сказать, что для этих требований ....(придумать требования)... база данных такая-то .
Прошу помощи. Понимаю, что сначала бы требования хорошо сформулировать требования. Но такой классический подход для меня труден. Поэтому начал сразу с БД. ( понимаю, что кто-то процитирует эти строки и начнет высмеевать меня ...).

Вам очень по делу и очень популярно объяснил Urri
БД должна появиться в конце, в начале постановка и анализ.

Почитайте Фаулера и Скотта "UML. Основы"...
И все получится.
Кстати, там есть неплохие примеры.


--
Шумов В.
www.acdplus.ru
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32478674
muk07
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бедный Студент!
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32482045
Фотография Вася
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А сам студент что-то молчит,
наверное плюнул на все и пошел водку пить
Вася Васяткин
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32482551
Simon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще истинные программисты решают проблемы по мере их появления:)

поэтому книжку не читай, а сразу садись рисуй схему субд и в бой:)
...
Рейтинг: 0 / 0
Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
    #32482632
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Понимаю, что сначала бы требования хорошо сформулировать требования. Но такой классический подход для меня труден"
Странно. Включи фантазию и оглянись вокруг. Можно кучу всего напридумывать. "Заказы" в пункте приема обуви, на мелкооптовой базе, в ларьке с компакт-дисками - все эти темы можно развить, в т.ч на реальных данных.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Профессионалы, помогите сделать задание = спроектировать БД "Заказы"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]