Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите со связью таблиц / 13 сообщений из 13, страница 1 из 1
22.02.2007, 08:40
    #34348904
Booblik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со связью таблиц
Имеется следующие таблицы (Весь товар представляет собой одежду обувь бижутерию)
Storage (Склады)
ProductID-код товара
SupplierID-код поставщика
StorageID-код склада
....-другие поля
Sizes (Размеры одежды)
ProductID-код товара
SizeID-Код размера
Size-название размера
...-другие поля
Shop (Магазин)
ShopID-Код магазина
ProductID-код товара который в магазине
...-другие поля
Таблица Storage содержит информацию о товарах которые находятся на складе Она связана
отношением один-ко-многим с таблицей Sizes т.к один товар может иметь несколько размеров
Таблица Shop содержит информ. о товарах которые находятся в магазине
Как связать таблицы Storage и Shop? В таблице Shop я сделал поле ProductID через него я могу по складу определить поставщика, коллекцию(лето/зима) и т.д но могу определится со связью
Хотел между ними сделать таблицу движения товара со склада в магазин но выяснил что они не фиксируют движение товара со склада в магазин т.е не отмечают дату когда пришла им нужно только чтоб они получали информ. что на складе что в магазине ну и другие бух. данные
Помогите со связью
...
Рейтинг: 0 / 0
22.02.2007, 09:18
    #34348967
Помогите со связью таблиц
BooblikИмеется следующие таблицы (Весь товар представляет собой одежду обувь бижутерию)
Storage (Склады)
ProductID-код товара
SupplierID-код поставщика
StorageID-код склада
....-другие поля
Sizes (Размеры одежды)
ProductID-код товара
SizeID-Код размера
Size-название размера
...-другие поля
Shop (Магазин)
ShopID-Код магазина
ProductID-код товара который в магазине
...-другие поля
Таблица Storage содержит информацию о товарах которые находятся на складе Она связана
отношением один-ко-многим с таблицей Sizes т.к один товар может иметь несколько размеров
Таблица Shop содержит информ. о товарах которые находятся в магазине
Как связать таблицы Storage и Shop? В таблице Shop я сделал поле ProductID через него я могу по складу определить поставщика, коллекцию(лето/зима) и т.д но могу определится со связью
Хотел между ними сделать таблицу движения товара со склада в магазин но выяснил что они не фиксируют движение товара со склада в магазин т.е не отмечают дату когда пришла им нужно только чтоб они получали информ. что на складе что в магазине ну и другие бух. данные
Помогите со связью
Пусть засунут "хотелки" куда подальше... Автоматизировать бардак... Так это будет бардак в квадрате...
ИМХО, нужно реализовывать именно через движение. Т.е. отметить, что со склада убыло и что в магазине прибавилось... Тогда и будут РЕАЛЬНЫЕ остатки, а не "хотелки"...
В противном случае - замаешься со сверкой... И "всех собак" на тебя же и повесят...
...
Рейтинг: 0 / 0
22.02.2007, 09:22
    #34348981
Tyo
Tyo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со связью таблиц
BooblikИмеется следующие таблицы (Весь товар представляет собой одежду обувь бижутерию)
Таблица Storage содержит информацию о товарах которые находятся на складе Она связана
отношением один-ко-многим с таблицей Sizes т.к один товар может иметь несколько размеров


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

Booblik
Таблица Shop содержит информ. о товарах которые находятся в магазине
Как связать таблицы Storage и Shop?

А зачем Вам Шоп? Рассматривайте его как еще один склад, и он дивно уляжется в табл. Сторэдж.
...
Рейтинг: 0 / 0
22.02.2007, 09:25
    #34348993
Booblik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со связью таблиц
Щас у меня так: Чтоб узнать сколько на складе имеется поле UnitsInStock, a чтоб узнать сколько ушло со склада поле ExpenceUnits
Такая схема и в таблице Shop
Т.е получается я как бы эти поля выношу в таблицу Движение?
А как таблицы Storage Движение и Shop будут связаны?
...
Рейтинг: 0 / 0
22.02.2007, 09:31
    #34349013
Booblik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со связью таблиц
Tyo
А зачем Вам Шоп? Рассматривайте его как еще один склад, и он дивно уляжется в табл. Сторэдж.
Тогда например при выдаче со склада в магазин нужно уменьшить значение одного поля (кол. на складе) и увеличить значение другого (кол. товара в магазине) в одной таблице
Где то читал что при нормализации таблиц желательно чтоб поля были взамонезависимы т.е при изменении значения одного поля не пришлось изменять значения других полей то есть поля не должны влиять друг на друга поэтому я и вынес товар в магазине в Shop
А Shop я конечно тоже рассматриваю как еще один склад :)
...
Рейтинг: 0 / 0
22.02.2007, 09:44
    #34349073
Помогите со связью таблиц
BooblikЩас у меня так: Чтоб узнать сколько на складе имеется поле UnitsInStock, a чтоб узнать сколько ушло со склада поле ExpenceUnits
Такая схема и в таблице Shop
Т.е получается я как бы эти поля выношу в таблицу Движение?
не совсем так.
В движении отражается:
- с какого склада
- когда
- куда (в какой магазин)
- какой товар был перемещен

Должны быть инвентаризационные таблицы, где для каждого склада/магазина отражается остаток по инвентаризации на дату инвентаризации.

После этого, текущий остаток определяется как: инвентарный остаток + приход (с другого склада или от поставщика) - расход(перемещение на другой склад или продано)

BooblikА как таблицы Storage Движение и Shop будут связаны?
По коду товара (поле ProductId, все три таблицы), коду склада (таблицы Storage и Движение) и коду магазина (таблицы Движение и Shop)
...
Рейтинг: 0 / 0
22.02.2007, 09:59
    #34349133
Booblik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со связью таблиц
>Станислав С.
Понял. Т.е таблицы Storage и Shop связаны отношением многие-ко-многим а таблица Движение является таблицей связкой между этими таблицами и Storage с Движением, а также Shop c Движением связаны отношением один-ко-многим
Насчет инвентаризации. А нельзя ли в самом Storage или Shop отмечать кол. прихода/расхода?
Т.е ушел товар на склад отмечаю в ней сколько ушло Завезен или сдан магазином-отмечаю сколько пришло на склад
Тож самое и в Shop Единственно конечно здесь не будет отражаться дата инвентаризации
А по вашей схеме значит мне нужно как бы программным путем или убедить пользователей отмечать дату приход/расхода со склада в магазин и наоборот?
...
Рейтинг: 0 / 0
22.02.2007, 10:12
    #34349173
Booblik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со связью таблиц
Да, и еще маленький вопрос
Как лучше: Держать названия товаров и их код в одной таблице Storage (т.е например поставщик завез новый товар вношу название товара и код в эту таблицу) или вынести ProductID и ProductName в отдельную таблицу,например,Products,связать с таблицей Sizes отношением один-ко-многим, а таблице Storage просто ссылаться на код товара из таблицы Products?
Я бы конечно применил второй вариант но единственное что меня держит это то что данные нужно импортировать в базу из листа Excel и мне придется делать дополнительную проверку не повторяется ли название товара (в таблице Products тогда должны быть уникальные записи) а в листе Excel например может быть записано так для разных товаров: джинсы рванные, дж.рванные
Хотя эти названия классифицирует товар с одинаковым названием(Джинсы рванные)
Как быть? Лучще применить 1 вариант?
...
Рейтинг: 0 / 0
22.02.2007, 10:13
    #34349183
Помогите со связью таблиц
Booblik
А по вашей схеме значит мне нужно как бы программным путем или убедить пользователей отмечать дату приход/расхода со склада в магазин и наоборот?
Это называется "исполнительская дисциплина" и "бухгалтерская отчетность".
То есть, чтобы выдать товар со склада и завести его в магазин необходимо оформить накладную на отпуск товара => вот и расходная запись в движении.
В магазине необходимо товар принять по накладной и оприходовать (по количеству и ассортименту, а то вдруг экспедитор куда-то по дороге продал пару норковых шуб и купил на рынке кроличьи :) ) => вот и приходная запись в движении

Извините, но я работал с бухгалтерами-производственниками на среднем заводе. Там даже пермещение материалов/полуфабрикатов из со склада в цех или между цехами проводилось документами. Все очень строго... Если у Вас как-то по-другому, то я - пас...
...
Рейтинг: 0 / 0
22.02.2007, 10:23
    #34349208
Помогите со связью таблиц
BooblikДа, и еще маленький вопрос
Как лучше: Держать названия товаров и их код в одной таблице Storage (т.е например поставщик завез новый товар вношу название товара и код в эту таблицу) или вынести ProductID и ProductName в отдельную таблицу,например,Products,связать с таблицей Sizes отношением один-ко-многим, а таблице Storage просто ссылаться на код товара из таблицы Products?
Я бы конечно применил второй вариант но единственное что меня держит это то что данные нужно импортировать в базу из листа Excel и мне придется делать дополнительную проверку не повторяется ли название товара (в таблице Products тогда должны быть уникальные записи) а в листе Excel например может быть записано так для разных товаров: джинсы рванные, дж.рванные
Хотя эти названия классифицирует товар с одинаковым названием(Джинсы рванные)
Как быть? Лучще применить 1 вариант?
Лучше сделать второй вариант, а пользователей заставить пользоваться кодами. Если им очень хочется, то оставить поле "наименование", куда они смогут занести все, что угодно. Но код продукта должен быть обязательно - для его уникальной идентификации...
Это не так сложно, если сделать код товара осмысленным. Например, состоящим из кода вида товара (01-брюки мужские),кода типа товара (01-джинсы,02-бриджи и т.д.), кода других характеристик (01-рваные, 02-синие); тогда по коду 010101 можно будет сказать, что это рваные мужские джинсы :)
...
Рейтинг: 0 / 0
22.02.2007, 10:27
    #34349226
Booblik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со связью таблиц
>Станислав С. :)) Да нет, у нас тоже все строго просто надо обычных пользователей которые не знакомы с бухгалтерией убедить отмечать все даты. Ну эт думаю не проблема.
Станислав С
В движении отражается:
- с какого склада
- когда
- куда (в какой магазин)
- какой товар был перемещен

Должны быть инвентаризационные таблицы, где для каждого склада/магазина отражается остаток по инвентаризации на дату инвентаризации.
А если например я сдаю товар с магазина на склад я должен добавить в таблицу Движение поле которое бы идентифицировало бы направление перемещения?
И еще.
А в таблицу Движения можно добавить поле какое количество было перемещено со склада в магазин или наоборот или лучще это хранить в отдельных инвентаризационных таблицах?
...
Рейтинг: 0 / 0
22.02.2007, 10:38
    #34349273
Помогите со связью таблиц
Booblik
Станислав С
В движении отражается:
- с какого склада
- когда
- куда (в какой магазин)
- какой товар был перемещен

Должны быть инвентаризационные таблицы, где для каждого склада/магазина отражается остаток по инвентаризации на дату инвентаризации.
А если например я сдаю товар с магазина на склад я должен добавить в таблицу Движение поле которое бы идентифицировало бы направление перемещения?
И еще.
А в таблицу Движения можно добавить поле какое количество было перемещено со склада в магазин или наоборот или лучще это хранить в отдельных инвентаризационных таблицах?
Естественно, что количество должно присутствовать в Движении. Без этого никак :)
Насчет направления, то можно сделать поле "ОТ кого" и "кому". Если товар иджет со склада в магазин , то "От кого" ставится склад, а "Кому" - магазин; когда из магазина на склад, то, соответственно, "От кого" ставится магазин, а "Кому" - склад...
...
Рейтинг: 0 / 0
22.02.2007, 10:41
    #34349292
Booblik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите со связью таблиц
Теперь структура БД ясна
Всем БОЛЬШОЕ спасибо
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите со связью таблиц / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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