powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / структура БД
43 сообщений из 43, показаны все 2 страниц
структура БД
    #37705803
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
приветы!
есть таблица Jurnal , где фиксируется передача товаров между магазинами. т.е. от магизина А в магазин Б предано 10шт 20-ти рублевых лопат в общей сумме 200р. мы передаем таблице только код товара, количество, цена, сумма, от кого(ид_магазин), кому(ид_магазин). при этом нужно подсчитать значение некоторых полей и вставит в этой строке. остаток товара для магазин А и магазин Б. данный момент имею таблицу которую прикрепил как рисунок.
ща в таблице заложен триггер и работает очень медленно. какие идеи ? можно рассматривать изменение таблице, даже добавление новой. спс!
...
Рейтинг: 0 / 0
структура БД
    #37705816
iljy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZVER-10,

можно например рассмотреть оптимизацию запроса на изменение и триггера.
...
Рейтинг: 0 / 0
структура БД
    #37705831
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iljy,
по триггеру думаю дальше некуда, если оставить таблицу так как есть. ищет, магазин А с таким товаром по всей табл. потом Магазин Б. если несколько миллион записей, только для поиска идет куча времени. причем если вставлю несколько тыс. строк, для каждой строки нужно будет сканировать всю таблицу. наверно поля-остатков вынести в отдельную табл и связать по какому нить поле
...
Рейтинг: 0 / 0
структура БД
    #37706137
BorisS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZVER-10наверно поля-остатков вынести в отдельную табл и связать по какому нить поле

Так и надо делать. Движение товара - одна сущность, остатки товара - другая сущность.
...
Рейтинг: 0 / 0
структура БД
    #37706157
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BorisS,
ну отделяли остатков в другую табл. и что дальше? вюхи, триггеры, функции ...чего и как использовать?
...
Рейтинг: 0 / 0
структура БД
    #37706187
BorisS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Существует мнение, что хранить остатки в виде отдельной сущности вообще вредно. А нужно получать их динамически в виде отчета по "проводкам". На моем первом месте работы, как раз все время наступали на грабли с остатками. Но там база была на DBF и клиент на FoxPro написанный и динамический их расчет был действительно процессом очень длительным даже с индексами, поэтому они периодически считались и хранились. Но в итоге нередко оказывались неверными. На нормальном по мощности SQL-сервере не вижу проблемы, чтобы считать их динамически.
...
Рейтинг: 0 / 0
структура БД
    #37706210
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BorisS,
ну как реализовать логику, после как отделял табл.? чуть раскройте если можно

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
структура БД
    #37706217
Фотография Ken@t
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BorisS чтобы считать их динамически.
но только ограниченное время.

1. Сделать материализованные представления для остатков как минимум три штуки год, месяц, день. если редакция позволит.
2. Тоже самое но триггером, который правильно написать.
3. Фиксировать остаток на дату в таблице (реперные остатки) от них считать агрегатами.
...
Рейтинг: 0 / 0
структура БД
    #37707511
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ken@t....
3. Фиксировать остаток на дату в таблице (реперные остатки) от них считать агрегатами.
т.е. фиксировать остаток каждого продукта для всех магазинах?
...
Рейтинг: 0 / 0
структура БД
    #37707581
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще у кого какие идеи? принимаем любых идей)
...
Рейтинг: 0 / 0
структура БД
    #37741130
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотел использовать материализованные представления, но там столько ограничений, то нельзя сё нельзя. max/min,union,DISTINCT итп.
оставил таблицу как есть, создал вот такую функцию, которая вернет остаток(количество,сумма) конкретного товара для конкретной точки в момент осуществление приход/расход. приход/расход может осуществляться задним числом:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
CREATE FUNCTION
    [dbo].[fOstK_KS](@kod int,@data DATETIME,@kodT int,@Id_shop int)

RETURNS table
AS

RETURN (select top 1 OstK,OstKS 
			from 
					(select kod,kodT,data,ostk1 as OstK,ostks1 as OstKS
						from dbo.jurnal 
							where kod<@kod and kodT=@KodT and Id_shop1=@Id_shop and  data<=@Data
					union 
					select kod,kodT,data,ostk2,ostks2 
						from dbo.jurnal 
							where kod<@kod and kodT=@KodT  and Id_shop2=@Id_shop and data<=@Data)r
			        order by data desc,kod desc)



и повесил вот такой триггер:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

CREATE trigger [tr_Insert] on [dbo].[Jurnal]
after insert
as
BEGIN
SET NOCOUNT ON


declare @Jurnal table(
	 Kod		int	primary key not null
	,KodAB		int
	,KodT		int
	,Data		datetime
	,Srok		datetime
	,Price		decimal(18,2)
	,Id_shop1	int
	,Id_shop2	int
	,kol		int
	,summa		decimal(18,2)
	,Doc		int
	,ostN1		decimal(18,2)
	,OstNS1		decimal(18,2)
	,OstN2		decimal(18,2)
	,OstNS2		decimal(18,2)
	,ostk1		decimal(18,2)
	,OstkS1		decimal(18,2)
	,Ostk2		decimal(18,2)
	,OstkS2		decimal(18,2)
	,SerNumber	char(50)
) 

insert @Jurnal (
	 Kod
	,KodAB
	,KodT
	,Data
	,Srok
	,Price
	,Id_shop1	
	,Id_shop2	
	,kol		
	,summa		
	,Doc		
	,ostN1		
	,OstNS1		
	,OstN2		
	,OstNS2		
	,ostk1		
	,OstkS1		
	,Ostk2		
	,OstkS2
	,SerNumber
)
select
	 Kod
	,KodAB
	,KodT
	,Data
	,Srok
	,Price
	,Id_shop1	
	,Id_shop2	
	,kol		
	,summa		
	,Doc		
	,ostN1		
	,OstNS1		
	,OstN2		
	,OstNS2		
	,ostk1		
	,OstkS1		
	,Ostk2		
	,OstkS2	
	,SerNumber
from
	inserted

	declare @next_kod	int;
	declare @KodT int;
	
--=======================================================================
	while exists(select * from @Jurnal)
	BEGIN
		select
			@next_kod = min(kod)
		from
			@Jurnal
--=======================================================================
		select 
			@KodT=KodT 
		from 
			@Jurnal
				where 
					Kod=@next_kod
		
--========================================================================
		declare @Data datetime;
		declare @Id_shop1 int;
		declare @Id_shop2 int;
		set @Data=(select top 1 data from @jurnal where kod=@next_kod)
		set @Id_shop1=(select top 1 @Id_shop1 from @jurnal where kod=@next_kod)
		set @Id_shop2=(select top 1 @Id_shop2 from @jurnal where kod=@next_kod)
		
--======fOstK_KS-это табл.функция которя вернет остаток указанного товара для конкретного ответственного
--======в указанной дате(так как приход/расход можно осуществить задним числом) 
--======т.е. вернет (OstK-количество и OstKS-сумма)

		declare @Kol int;
		set @Kol=(select kol from @jurnal where Kod = @next_kod)
	
		declare @Summa decimal(18,2);
		set @Summa=(select summa from @jurnal where Kod = @next_kod)		
	
--======устанавливаем остаток для shop1-т.е. сколько было такого товара до вставки данной строки
		declare @Ostn1 int;
		set @Ostn1=(isnull((select top 1 isnull(OstK,0)d from fOstK_KS(@next_kod,@Data,@KodT,@Id_shop1)),0))

--======устанавливаем остаток для shop1-т.е. сколько стало такого товара после вставки данной строки		
		declare @OstK1 int;
		set @OstK1=@Ostn1-@Kol	

--======устанавливаем сумма товара для shop1-т.е. до вставки данной строки	
		declare @OstNS1 decimal(18,2);
		set @OstNS1=(isnull((select top 1 isnull(OstKS,0)d from fOstK_KS(@next_kod,@Data,@KodT,@Id_shop1)),0))

--======устанавливаем сумму для shop1-т.е. после вставки данной строки		
		declare @OstKS1 decimal(18,2);
		set @OstKS1=@OstNS1-@Summa	

--======устанавливаем остаток для shop2-т.е. сколько было такого товара до вставки данной строки		
		declare @Ostn2 int;
		set @Ostn2=(isnull((select top 1 isnull(OstK,0)d from fOstK_KS(@next_kod,@Data,@KodT,@Id_shop2)),0))

--======устанавливаем остаток для shop2-т.е. сколько стало такого товара после вставки данной строки		
		declare @OstK2 int;
		set @OstK2=@Ostn2+@Kol
---------сумма до вставки 	Id_shop2	
		declare @OstNS2 decimal(18,2);
		set @OstNS2=(isnull((select isnull(OstKS,0) from fOstK_KS(@next_kod,@Data,@KodT,@Id_shop2)),0))	
---------сумма после вставки	Id_shop2
		declare @OstKS2 decimal(18,2);
		set @OstKS2=@OstNS2+@Summa

--===========================================================================================================
		update Jurnal
			set	ostN1=@Ostn1,OstNS1= @OstNS1,OstN2=@Ostn2,OstNS2= @OstNS2,
				ostk1=@OstK1,OstkS1= @OstKS1,Ostk2= @OstK2,OstkS2= @OstKS2	
			where Kod = @next_kod

--===========================================================================================================

		DELETE
			@Jurnal
		WHERE
			Kod = @next_kod	
				
	END

END


считает все правильно, но работает очень медленно. есть у кого идеи, буду рад...)

не судите строго, я чайник
...
Рейтинг: 0 / 0
структура БД
    #37741234
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZVER-10еще у кого какие идеи? принимаем любых идей)
Ответ дан:
BorisSДвижение товара - одна сущность, остатки товара - другая сущность.

Или вы хотите что б за вас все сделали?..
...
Рейтинг: 0 / 0
структура БД
    #37741403
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрBorisSДвижение товара - одна сущность, остатки товара - другая сущность.

Или вы хотите что б за вас все сделали?..
нет, этого я не говорил. насколько я понял, остаток вынести и связать с табл. движение товара, т.е. Jurnal.
примерно во так:
Id_Jurnal
,ostN1
,OstNS1
,OstN2
,OstNS2
,ostk1
,OstkS1
,Ostk2
,OstkS2
в таблице остаток будет столько записей-сколько в таблице Jurnal. и это что нибудь мне даст? не могу сделать так, чтоб там хранились остатки конкретных товаров по магазинам только по последней операции,так как уже отметил, приход/расход может осуществляться задним числом. значит мы должны иметь остатки остатки конкретных товаров по магазинам в любой дате.
...
Рейтинг: 0 / 0
структура БД
    #37741787
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZVER-10,

Неправильно. Я уже давно невстречал студента который на каждый элемент сущности заводит отдельный столбец. Поэтому для меня это дико. Учите матчасть а потом лепите базы.
Если это учебная задачка то можете взять готовое решение у лаборантов на кафедре. Если задача рабочая - ... В общем учиться, учиться и еще раз учиться.
И кстати сразу по поводу последующего за этим ныться что пришел за помощью а отправляют за учебниками. Сложно как-то объяснять если человек незнает элементарных вещей, даже теоретически. Если б у вас были хоть малейшие понятия о структурах БД, а так это как прочитать недельную лекцию (но вы ведь хотите что б все и сразу, а такого я лично неумею).
...
Рейтинг: 0 / 0
структура БД
    #37741955
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой Бобр,
спс за ответ). постараюсь читать по-больше
...
Рейтинг: 0 / 0
структура БД
    #37756549
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробую так, конечно если скажете, что так нормально:
Jurnal
Id_jurnalKodTOtKogoKomuPriceKolSummaDataType
KodT---------код товара
OtKogo,Komu-ID_точек(магазин,склад)
Type---------тип операции(приход, расход, перемещение...)


и след таблица.
Ostatok (остаток на каждый день)
IDShopKodTKolSummaData
Shop-код точки(магазин,склад)
Data-дата без времени, гггг.мм.дд


при добавление в табл Jurnal, через триггер или ХП заполняем/обновляем табл.Ostatok. т.е.
O.Kol=O.Kol-J.Kol,
O.Summa=O.Summa-J.Summa
при (J.OtKogo=O.Shop AND J.KodT=O.KodT AND J.Data=O.Data)

O.Kol=O.Kol+J.Kol,
O.Summa=O.Summa+J.Summa
при (J.Komu=O.Shop AND J.KodT=O.KodT AND J.Data=O.Data)

если не будет совпадение по указанным полям, то просто добавляем новую строку в табл. Ostatok

вопрос:
1.Правильно ли иду или есть боле нормальный вариант?
2.учитывая что БД у меня на MSSQL, табл. Ostatok манипулировать через триггер или ХП?
...
Рейтинг: 0 / 0
структура БД
    #37758038
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZVER-10,

Табл движений:
id - ИД записи
dt - дата в формате БД (с миллисекундами и пр., т.е. полный формат)
id_sklad - ИД склада, магазина, киоска, ...
id_tov - ИД товара
kol - количество товара. Приход положительный, расход отрицательный.
sum - сумма товара. Если нада видеть отдельно наценку то добавляем такое же поле для наценки. То же для скидок. Приход положительный, расход отрицательный.

Таблица остатков:
аналогична таблице движений только дата определяется как начало дня (недели, декады, месяца - зависит от того какой период остатков вы выберите)

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

По крайней мере видно что что-то где-то читали. Но это даже не вершки. А до корешков вам еще ой как далеко. Если рабочее что-то лепите то лучше консультируйтесь у людей кто имеет опыт построения и эксплуатации БД. Там много подводных камней о которых ненаписано в умных книжках.
...
Рейтинг: 0 / 0
структура БД
    #37758039
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл. В таблицу движений добавить id_doc - ИД документа который сделал запись. В остатки добавлять ненужно.
...
Рейтинг: 0 / 0
структура БД
    #37758228
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой Бобр,
спс за отклик. на счет остальные поля, себестоимость, процент накрутки, сумма в у.е., ид_документа, итп есть. их куча. я привел основные. почему не делал приход+ расход- или как некоторые даже делали отдельно приход и отдельно расход, хочу эту програмку поставить и в головной склад и в остальных. нам нужно следить за движение, за определенную дату, от кого кому как сколько.... там идут приход внешний в головной , у точек могут быт свои поставщики по мимо головного склада, друг другу могут отдать товар, и естественно реализация.
ща у меня так:
Type
0- остаток
1- Приход внешний
2- Приход внутренний
3- Расход внутренний
4- Реализация
5- Переоценка
или все таки делать приход+ расход -?
операции в день примерно 1000 записей в табл журнал с каждой точки, а точек пока 7. а зачем дата в полном формате, не догнал. если сделаю по дням. операции могут быть задним числом а час мин думал не надо.
а заказчик друг. и программеров нету хороших в моем городе.я бы даже бесплатно работал с ними чтоб научиться, если были такие. поэтому форум и мой учитель и друг)))
...
Рейтинг: 0 / 0
структура БД
    #37758700
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZVER-10,

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

А почему друг нехочет поставить 1С? Там все это уже реализовано. Или вы делаете свое приложение?..
...
Рейтинг: 0 / 0
структура БД
    #37758792
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой Бобр,
хорошо, попробую как вы сказали. если понадобиться отчет в такой то день кто кому сколько выдавал, буду джоинить по дате? а если в туже секунду перемещение, как узнаю кто кому? мой вариант с точки зрение нормализации плох или еще с производительность падает? если только нормализация то может оставим?
почему не ставит 1С:
1. тут нету программеров 1С и вообще , есть такие как я))))ито мало.
2. купить можно, но кто то должен приехать и поставить, и эксплуатировать некоторое время.
3. хотят под себя, с дальнейшим расширением.
4. если что то надо добавить/изменить, надо будет приехать этому человеку за 4000км)
5. все это очень дорого обойдет.
6. наконец, я то должен практиковаться/развиваться))))
я самоучка, не имею учителя никого кроме Вас-форумчан. начал 2,5-года назад си-шарп, 5-месяцев назад скл. сделал один проектик, справочник для отдела агентство по строительству. работает пока)))). дается все тяжело, медленно развиваюсь, хотя сутками занимаюсь.даже иногда кушать забываю). только инет,электронные книги и ФОРУМ. думаю это лишний рассказ, но как то легче стало мне от рассказа)))
спасибо за отклик, это для меня огромная поддержка
...
Рейтинг: 0 / 0
структура БД
    #37759628
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос ниочем. Невидя БД сложно сказать что и как. К тому же я указал лишь шаблон по которому идти, и невидя всей картины немогу судить о правильности или неправильности. Как вариант можете создать у себя БД по вашему ТЗ, а потом попросить людей посмотреть правильно ли вы сделали. Может кто и бесплатно поможет, хотя сомневаюсь.

Насчет приехать и поставить это вы товарищи загнули. Установить я думаю проблем небудет. А вопрос поддержки решается удаленным доступом например. У меня около 20 клиентов так обслуживаются, хотя территориально разбросаны. И никто нежалуется, главное вовремя все делать.

Попрактиковаться, это как-то ... ну нестрашно вам практиковаться? Людям может и надоесть.
Вообще опыта набираются когда работают с теми кто уже знает и умеет. Так что идите в падаваны к опытным товарищам. За год научитесь больше чем за несколько лет самостоятельного метания.
...
Рейтинг: 0 / 0
структура БД
    #37759706
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой Бобр,
на счет страха, боишься волка в лес не ходи, и к тому же нету у меня выбора. идти к опытным никак, тут нету опытных. куда то поехать, опят же-куда? а так я согласен-по поводу работать с профи и научиться лучше и быстрее. попробую дальше, как получиться так получится)))
спс еще раз за ответ!
...
Рейтинг: 0 / 0
структура БД
    #37759765
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZVER-10Злой Бобр,
медленно развиваюсь, хотя сутками занимаюсь.даже иногда кушать забываю
ты эт осторожно
налегай на шоколад
белый помогает от C#, горький от SQL, а обычный продвигает архитектурные способности
без жратвы фиг разовешься :(
...
Рейтинг: 0 / 0
структура БД
    #37759959
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosZVER-10Злой Бобр,
медленно развиваюсь, хотя сутками занимаюсь.даже иногда кушать забываю
ты эт осторожно
налегай на шоколад
белый помогает от C#, горький от SQL, а обычный продвигает архитектурные способности
без жратвы фиг разовешься :(
спс за совет, ща стараюсь) белый не люблю а темный с удовольствием)))
...
Рейтинг: 0 / 0
структура БД
    #37759972
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще принимаю таблетки. пирацетам) нервы не в порядке)
...
Рейтинг: 0 / 0
структура БД
    #37759983
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
может про таблиц моих скажете свое мнение. буду рад
...
Рейтинг: 0 / 0
структура БД
    #37760262
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZVER-10,

с таблицами не охота разбираться, надоели они уже
но могу тебе подарить вот что - там все что тебя интересует и мноооого больше
токо вот нету документации :(
...
Рейтинг: 0 / 0
структура БД
    #37760423
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosZVER-10,

с таблицами не охота разбираться, надоели они уже
но могу тебе подарить вот что - там все что тебя интересует и мноооого больше
токо вот нету документации :(
и только рисунку?
...
Рейтинг: 0 / 0
структура БД
    #37760588
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,

Ты действительно думаешь что автор сможет сам разобраться в приблуде мелкомягких? Если человек неможет с 1С разобраться то с таким продуктом и подавно. Еще б SAP ему посоветовал - добрая ты душа ...
...
Рейтинг: 0 / 0
структура БД
    #37760920
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Злой БобрViPRos,

Ты действительно думаешь что автор сможет сам разобраться в приблуде мелкомягких? Если человек неможет с 1С разобраться то с таким продуктом и подавно. Еще б SAP ему посоветовал - добрая ты душа ...
1С мня вообще не интересует. а ничего страшного если не разберусь, может со временем все получиться). программером не рождаются)
...
Рейтинг: 0 / 0
структура БД
    #37760946
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот шарп и сиквел очень даже интересуют, могу тратить время не жалея для освоение. а на 1С даже просто смотреть не охота не говоря о разбирательстве. может у меня плохой вкус, ну что поделать если такой)))))
...
Рейтинг: 0 / 0
структура БД
    #37760956
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZVER-10,

вот тут есть скриншоты некоторые этого проекта http://forum.cfin.ru/showthread.php?p=72700
этоя делал на заказ для сети магазинов Syntex Group в 2005 году (на разработку было всего 3 месяца, потому пришлось немного схалтурить)
...
Рейтинг: 0 / 0
структура БД
    #37760959
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
между прочим до сих пор прога пашет там :)
...
Рейтинг: 0 / 0
структура БД
    #37761004
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRos,
спс за скины. там у вас я бы сказал-очень шикарная программка. я планирую на много проще делать свою. мне еще далеко далеко до создание такого проекта, но надеюсь/постараюсь дорасти до такого уровня ))). а вообще интересно было бы посмотреть на диаграмму БД.
...
Рейтинг: 0 / 0
структура БД
    #37761117
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
структура БД
    #37761292
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ViPRosZVER-10,

пример БД магазина
огромное спасибо. попробую разобраться, будут вопросы, буду мучить вас)
...
Рейтинг: 0 / 0
структура БД
    #37769505
Я проводка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Злой БобрZVER-10,

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

А почему друг нехочет поставить 1С? Там все это уже реализовано. Или вы делаете свое приложение?..
Вариант с одной одной записью (куда, откуда) более правильный. Он точнее отражает сущность 'движение'. Не возможно ошибиться и отправить одно количество, а получить другое:)
...
Рейтинг: 0 / 0
структура БД
    #37769709
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я проводка,
спс:). как то легче стало, узнав о правильности подхода.
...
Рейтинг: 0 / 0
структура БД
    #37786985
tumblerrr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZVER-10Я проводка,
спс:). как то легче стало, узнав о правильности подхода.

Поспорил бы я очень сильно на счет "правильности".
В жизни вообще нет самых правильных решений.
Есть решения, которые удовлетворяют требованиям "здесь и сейчас".
И любое изменение обстановки может самое идеально решение сделать, извините, говном.

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

Так что, включайте на полную свое критическое восприятие.
Не надо делать только потому, что "кто-то в интернете сказал, что это правильно".
Всегда анализируйте, чем это выйдет в дальнейшем.
...
Рейтинг: 0 / 0
структура БД
    #37790305
ZVER-10
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tumblerrr,
спс за совет. я просто уже устал со своим проектом. плохо знаю сиквел и вообще БД. уже хотел как то доделывать. а учиться, согласен, всегда надо и по максимуму учесть все стороны
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
структура БД
    #39001871
maximus78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчет остатков товаров , я бы советовал обратиться к теории кубов данных/фактов
...
Рейтинг: 0 / 0
структура БД
    #39001872
maximus78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Могу помочь, если интересно
...
Рейтинг: 0 / 0
43 сообщений из 43, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / структура БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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