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

Интересует насколько некрасива такая денормализация и ЧТО желательно, всё таки, немножко нормализировать...?

Планируется динамическое вычисление оборотно-сальдовой ведомости при помощи JOIN (тоже в раздумьях: UNION / JOIN ...)

Диаграмма в файле.

Код: plaintext
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.
CREATE TABLE [dbo].[Sklad] (
	[ID_sklad] [int] IDENTITY ( 1 ,  1 ) NOT NULL ,
	[Naim_sklad] [nvarchar] ( 100 ) COLLATE Cyrillic_General_CI_AS NOT NULL ,
	[Deleted] [bit] NULL 
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[MOL] (
	[ID_MOL] [int] IDENTITY ( 1 ,  1 ) NOT NULL ,
	[Tab_nomer] [int] NOT NULL ,
	[FIO_mol] [nvarchar] ( 200 ) COLLATE Cyrillic_General_CI_AS NOT NULL ,
	[Sklad_otn] [int] NOT NULL ,
	[Deleted] [bit] NULL 
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Tmc] (
	[ID_tmc] [int] IDENTITY ( 1 ,  1 ) NOT NULL ,
	[KOD_tmc] [bigint] NOT NULL ,
	[Naim_tmc] [nvarchar] ( 100 ) COLLATE Cyrillic_General_CI_AS NULL ,
	[Polnoe_naim] [ntext] COLLATE Cyrillic_General_CI_AS NULL ,
	[Ed_izmer] [int] NULL ,
	[Tmc_count] [int] NULL ,
	[Deleted] [bit] NULL 
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

CREATE TABLE [dbo].[Counts] (
	[ID_count] [int] IDENTITY ( 1 ,  1 ) NOT NULL ,
	[KOD_count] [bigint] NOT NULL ,
	[Naim_count] [nvarchar] ( 100 ) COLLATE Cyrillic_General_CI_AS NOT NULL ,
	[Deleted] [bit] NULL 
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Ed_izm] (
	[ID_izm] [int] IDENTITY ( 1 ,  1 ) NOT NULL ,
	[Naim_izm] [nvarchar] ( 50 ) COLLATE Cyrillic_General_CI_AS NOT NULL ,
	[Polnoe_naim_izm] [nvarchar] ( 1000 ) COLLATE Cyrillic_General_CI_AS NULL ,
	[Deleted] [bit] NULL 
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Kontragents] (
	[ID_KONT] [int] IDENTITY ( 1 ,  1 ) NOT NULL ,
	[ID_1C] [int] NOT NULL ,
	[Naim] [char] ( 30 ) COLLATE Cyrillic_General_CI_AS NOT NULL ,
	[EGRPOU] [char] ( 15 ) COLLATE Cyrillic_General_CI_AS NULL ,
	[INN] [char] ( 20 ) COLLATE Cyrillic_General_CI_AS NULL ,
	[Telefon] [char] ( 20 ) COLLATE Cyrillic_General_CI_AS NULL ,
	[Deleted] [bit] NULL 
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Prihod_shapka] (
	[ID_Shapka] [int] IDENTITY ( 1 ,  1 ) NOT NULL ,
	[Deleted] [bit] NULL ,
	[Checked] [bit] NULL ,
	[Date_p] [datetime] NOT NULL ,
	[Kontrag_kod] [int] NOT NULL ,
	[Sklad_kod] [int] NOT NULL ,
	[Mol_kod] [int] NOT NULL 
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Prihod_stroki] (
	[ID_prihod_str] [int] IDENTITY ( 1 ,  1 ) NOT NULL ,
	[TMC_kod] [int] NOT NULL ,
	[Ed_izm_id] [int] NOT NULL ,
	[Count_id] [int] NOT NULL ,
	[Kol] [float] NULL ,
	[Price] [float] NULL ,
	[ID_prihod_shap] [int] NOT NULL 
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Rashod_shapka] (
	[ID_Shapka] [int] IDENTITY ( 1 ,  1 ) NOT NULL ,
	[Deleted] [bit] NULL ,
	[Checked] [bit] NULL ,
	[Date_r] [datetime] NOT NULL ,
	[Kontrag_kod] [int] NOT NULL ,
	[Sklad_kod] [int] NOT NULL ,
	[Mol_kod] [int] NOT NULL 
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[Rashod_stroki] (
	[ID_rashod_str] [int] IDENTITY ( 1 ,  1 ) NOT NULL ,
	[TMC_kod] [int] NOT NULL ,
	[Ed_izm_id] [int] NOT NULL ,
	[Count_id] [int] NOT NULL ,
	[Kol] [float] NULL ,
	[Price] [float] NULL ,
	[ID_rashod_shap] [int] NOT NULL 
) ON [PRIMARY]
GO


...
Рейтинг: 0 / 0
Очередной склад (приход-расход, оборотная ведомость)
    #35324742
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на первый взгляд, не вижу таблиц-регистров учета (аля olap).
В учетных системах остатки не вычисляются динамически, а хранятся на начало/окончание периода (год/мес/день/час...).
Остаток на текущую дату = остаток на начало периода + обороты за период.
Если таких понятий не ввести, а вычислять остатки динамически только по приходу и расходу - это потенциальная катастрофа для производительности.
...
Рейтинг: 0 / 0
Очередной склад (приход-расход, оборотная ведомость)
    #35325130
Naf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что такое таблица Counts?
С уважением, Naf
...
Рейтинг: 0 / 0
Очередной склад (приход-расход, оборотная ведомость)
    #35329864
Granata005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынникна первый взгляд, не вижу таблиц-регистров учета (аля olap).
В учетных системах остатки не вычисляются динамически, а хранятся на начало/окончание периода (год/мес/день/час...).
Остаток на текущую дату = остаток на начало периода + обороты за период.
Если таких понятий не ввести, а вычислять остатки динамически только по приходу и расходу - это потенциальная катастрофа для производительности.
Это я всё понимаю :) но производительность на данном этапе не важна... на 5-ом курсе сделаю с регистрами :)

Nafа что такое таблица Counts?
С уважением, NafСчёт учёта материала...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Очередной склад (приход-расход, оборотная ведомость)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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