powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / База "Арендодатель"
38 сообщений из 38, показаны все 2 страниц
База "Арендодатель"
    #32166636
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
База "Арендодатель"

Необходимо решить следующую задачу.

Имеется арендодатель ("Хозяин") и ряд объектов, которые он сдает в аренду арендаторам ("Съемщик"). Каждый месяц съемщику необходимо осуществлять следующие платежи:
1. Арендная плата
2. Плата за электроэнергию
3. Плата за энергоресурсы
4. Плата за коммунальные услуги
5. ….
Список счетов и их наименование может изменяться в зависимости от ЖЭКа.
Размеры платежей по пп 2-… не зависят ни от Хозяина ни от Съемщика. Размер платежей по п.1 определяет Хозяин по договоренности со Съемщиком.

Каждый месяц поступают следующие данные:
1.Размеры платежей, обязательных к уплате по пп 2-… за прошлый месяц.
2. Фактические размеры оплат по каждому из счетов по каждому Съемщику .
3. Размер оплаты по п.1 на следующий месяц либо на несколько месяцев вперед

Предназначение базы данных - контроль над оплатой/задолженностью Съемщиков перед Хозяином.

Система должна обеспечивать следующие возможности:
1. Ввод любых "Счетов"
2. Группировать счета в произвольном виде (к примеру счета 2-4 собрать в группу "Комуналка" и выдавать данные по этому "обобщенному счету"

Система должна обеспечивать следующие функции:

Отслеживать задолженности Съемщиков перед Хозяином по каждому из счетов.
Выдавать информацию о задолженности/превышении в разрезе Съемщика/счета по превышениям/задолженностям и о суммарном размере задолженности/"переплаты".
Рассчитывать чистый доход хозяина на определенный период вперед на основании прогноза проплат.
Вопрос : какие под это дело возможны варианты структуры.

Свой вариант я приведу чуть позже.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32166642
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сколько платишь?
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32167667
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akuz, задачка то учебная, простая, для отработки подходов...
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32167688
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wara
akuz, задачка то учебная, простая, для отработки подходов...

Это типа "взрослым дядям можно не беспокоиться"? Эту учебную задачку можно развернуть в хороший проект, за реализацию которого коммунальщики отвалят кругленькую сумму. Я сейчас прикинул в пять минут во что это развернется если сразу все предусматривать :-)
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32167781
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извини wara, но у взрослых дядей совсем нет времени. :(
Да и к тому же здесь думать надо. :)

А прокопайте мне траншею от моего дома до колодца, уж очень хочется посмотреть, как вы это делаете.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32167870
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akuz,
Естественно, я никого насильно не заставляю тут свои мысли излагать. Вот только кажется мне, что опытный человек должен слету эти четыре таблицы выдавать (которых, как мне кажется,достаточно для моделирования данной ситуации).
all
Не надо меня подозревать в том, что я тут хочу денег заработать за счет чужих мозгов.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32167884
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wara
Вот только кажется мне, что опытный человек должен слету эти четыре таблицы выдавать (которых, как мне кажется,достаточно для моделирования данной ситуации).

Дело в том, что это всего лишь небольшая часть комплексной системы для коммунального хозяйства. Для того, чтобы она могла и дальше расширяться четырех таблиц мало. К сожалению я на таком уровне мыслить не могу :-)
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32167898
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jinn,
Мыслить глобально, конечно, очень хорошо, вот только и локальные задачи тоже кто-то должен решать.
В описании задачи нигде не сказано, что что система должна быть предназначена для "комплексной системы коммунального хозяйства". Просто есть Хозяин, несколько съемщиков и несколько ЖЭКов. Хозяину надо знать состояние взаиморасчетов...
А пока я приведу свой вариант (из 3-х таблиц)
Код: plaintext
1.
2.
3.
 1 . Таблица Face (idFace,FaceName) - Люди, организации
 2 . Таблица Schet(IdSchet,SchetName) - счета
 3 . Таблица Money (idMoney,fkDolzhen(из Face),fkVeryu(из Face),fkScet(из Schet),date,summa)
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32167900
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо меня подозревать в том, что я тут хочу денег заработать за счет чужих мозгов.

Извини, подозревать надо.
Но тебе я почему-то верю.

Так уж и быть, будет время сделаю (правда без особого интереса).
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32167943
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wara
Просто есть Хозяин, несколько съемщиков и несколько ЖЭКов. Хозяину надо знать состояние взаиморасчетов...

Excel и девочка-секретарша не спасут Хозяина от лишних затрат на разработку ПО? :)

Это действительно неплохая задача для начинающих. Вариантов решения много, хотелось бы посмотреть и оценить.

Я действительно привык решать более масштабные задачи. Когда похожая задача у меня начала превращаться в комплексную, я понял что с мелкими фирмами больше работать не смогу :)
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32167966
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Логическая модель (только объекты, навскидку).

ЖЭК
- Название
- Атрибуты (Адрес, телефоны и т.д.)

Хозяин (всегда физ. лицо)
- ФИО
- Атрибуты (Адрес, телефоны, ИНН, пасп. дан. и т.д.)

Съёмщик (всегда физ. лицо)
- ФИО
- Атрибуты (Адрес, телефоны, ИНН, пасп. дан. и т.д.)

Объект
- Хозяин
- Адрес
- ЖЭК

Договор
- Атрибуты (дата подписания, номер, агенство)
- Объект
- Арендатор (съёмщик)
- Дата начала действия (заселения/передачи)
- Арендная плата (фиксированная за месяц)
- Предыдущий договор

Группа счетов
- Наименование

Вид оплаты (счёта)
- Наименование
- Группа счетов

Счёт (коммунальлые платежи)
- Атрибуты (дата выставления, номер, получатель)
- Объект
- Период (месяц)
- Вид оплаты
- Сумма

Платёж по счёту (коммунальлые платежи)
- Атрибуты (дата выставления, номер, плательщик, получатель)
- Счёт
- Сумма

Платёж по договору (арендная плата)
- Дата платежа
- Договор
- Сумма

====
Соответствует?
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168027
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 akuz

Логическая модель (только объекты, навскидку).

Вполне. В разделе "Договора" лучше указать срок действия договора. Поле "Предыдущий договор", с моей точки зрения, не нужно. Всегда можно вытащить все договоры по объекту (или Арендодателю), расположив их в хронологическом порядке. Таблицу объект разделить на две:

Объект
-Адрес

Владелец
-Хозяин
-Объект
-Дата

Хозяин объекта может меняться по разным причинам.

Таблицы "Счет" и "Платежи по счету" лучше объединить, добавив поля "Дата выставления счета" и "Дата платежа".

Это тоже, так, навскидку :)
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168047
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо, akuz и Jinn за интерес к данной теме и содержательные ответы, только вот смущает меня, что, по-моему, Ваш опыт Вам немного мешает отвечать на вопрос. Может я и не совсем грамотно изложил т.н. "техзадание", дело не в этом. Я хотел получить ответ в рамках поставленной задачи, либо критику постановки задачи, либо критику моего варианта. Вместо этого уважаемый akuz на основе своего опыта и моего "техзадания", по всей видимости, составил свое собственное представление о том, что представляет из себя задача и привел решение этой своей задачи. При этом введено много новых терминов, отсутствовавших в "техзадании", к примеру "Адрес", "телефоны","физическое лицо","ИНН", "Паспортные данные" "Договор","дата подписания", "номер", "агенство"," Дата начала действия","Предыдущий договор " и т.п.
Целью моего вопроса было:
1. Смоделировать несложную, но в то же время емкую "учетную проблему"
2. Обсудить варианты структур данных под поставленную мною задачу.
Целью моего вопроса не являлось:
1. Создать комплексную модель данных по данному вопросу с учетом всех возможных объектов,атрибутов и.т.п
Призываю всех быть более внимательными и стараться отвечать на Заданные вопросы, либо указывать на то, что вопрос задан неграмотно.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168058
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Jinn

Хозяин объекта может меняться по разным причинам
Таблицы "Счет" и "Платежи по счету" лучше объединить, добавив поля "Дата выставления счета" и "Дата платежа".

Согласен, с оговоркой, что при смене хозяина договор остаётся прежний (что маловероятно) и счета всегда оплачиваются целиком.


2 wara

Может я и не совсем грамотно изложил т.н. "техзадание", дело не в этом.

Дело именно в этом.
В твоём ТЗ не хвает многих данных, необходимых для решения задачи, которые как раз и уточняются при разработке модели.
Без наличия рабочего варианта модели предмета обсуждения просто нет.
На этом примере очень хорошо видно, как происходит общение заказчика с разработчиком.
Давайте работать с ТЗ. :)

При этом введено много новых терминов, отсутствовавших в "техзадании", к примеру "Адрес", "телефоны","физическое лицо","ИНН", "Паспортные данные" "Договор","дата подписания", "номер", "агенство"," Дата начала действия","Предыдущий договор " и т.п.

Если ты заметил все малозначительные с точки зрения функционирования модели атрибуты я обозначил общим словом Атрибуты, что говорит о том, что их состав может меняться без проблем (а то что это будет так, действительно подсказывает опыт) и на них не надо заострять внимание.

Целью моего вопроса было:
1. Смоделировать несложную, но в то же время емкую "учетную проблему"
2. Обсудить варианты структур данных под поставленную мною задачу.
Целью моего вопроса не являлось:
1. Создать комплексную модель данных по данному вопросу с учетом всех возможных объектов,атрибутов и.т.п
Призываю всех быть более внимательными и стараться отвечать на Заданные вопросы, либо указывать на то, что вопрос задан неграмотно.


Ну извини, из сабжа это не следовало. :)
Вот теперь мы имеем цель.
Т.е. нам нужно не решить, а поставить задачу, т.е. создать ограниченную и в то же время работоспособную модель с жёстко фиксированной функциональностью.

====
ТАК?
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168065
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akuz "Т.е. нам нужно не решить, а поставить задачу, т.е. создать ограниченную и в то же время работоспособную модель с жёстко фиксированной функциональностью." - совершенно верно, естественно у меня и в мыслях не было полностью решать данную задачу в форуме. Только костяк, все принципиально важное, ничего лишнего.
Приношу всем, кто меня не правильно понял с самого начала, свои извинения за то, что не совсем понятно выразился.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168067
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Я бы пожалуй, для аренды, сделал так.

Таблица Объекты
(КодОбъекта, ИмяОбъекта)

Таблица Клиенты
(КодКлиента, ИмяКлиента)

Таблица ИсторияКлиентов
(КодОбъекта, КодКлиента, ДатаНачалаАренды,ДатаКонцаАренды)

Таблица ИсторияЦеныАренды
(КодОбъекта, Цена, ДатаНачалаДействияЦены)

Таблица ИсторияПлатежей
(КодКлиента, Платеж, ДатаПлатежа)

=========
А уж запросы составлять по такой структуре - точно здорово поможет хорошо изучить SQL
=========
Ого скока всего понаписали, пока я собрался ответить! Надо почитать.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168075
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может быть легче купить существующую обкатанную систему и не заморачиваться ? Тем более что таких систем навалом и там много чего по функционалу есть, что потом по любому выплывет при разработке своего проекта.

P.S. Я просто работаю в конторе, которая пишет и сопровождает программы под жилищно-коммунальный комплекс и знаю - что это такое. Сначала кажется легкой задачей, потом выясняется что по отдельности учет не представляет ничего сложного, а вкупе все дает не кислую задачу с огромным набором входящих данных, разных направлений учета и большим кол-вом отчетов.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168090
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Прочитал. По-моему, уважаемые Jinn и akuz слишком увлеклись детализацией. Дело это нужное и полезное, но на втором этапе проектирования. На первом - работоспособное ядро. Только минимально необходимое для работы. Впрочем, это не значит, что мудрые мысли по поводу детализации, возникшие на первом этапе, надо отбрасывать.

И разговор о том, стоит ли объединять счета и платежи в одну таблицу несколько преждевременен. А будут ли выставляться счета? Основой для платежа служит договор и счетов может и не быть. Уж по оплате электроэнергии точно никто счетов не выставляет.

Критика структуры
Код: plaintext
1.
2.
3.
 1 . Таблица Face (idFace,FaceName) - Люди, организации
 2 . Таблица Schet(IdSchet,SchetName) - счета
 3 . Таблица Money (idMoney,fkDolzhen(из Face),fkVeryu(из Face),fkScet(из Schet),date,summa)

1. Пожалуйста, или уж все по-русски или по-аглицки (в японском не силен ).
2. Задолжность должна получатья из разницы между планируемыми и фактическими платежами. Введение такого поля - денормализация, которой нужно избегать всеми силами.
======
Мысля забавная пришла. А что если это сделать на плоском файле и попытаться его нормализовать?
Код: 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.
set nocount on

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Аренда]') and 

OBJECTPROPERTY(id, N'IsUserTable') =  1 )
drop table [dbo].[Аренда]
GO

CREATE TABLE [dbo].[Аренда] (
	[Объект] [varchar] ( 50 ) NULL ,
	[Арендатор] [varchar] ( 50 ) NULL ,
	[Год за который идет оплата] [int] NULL ,
	[Месяц за который идет оплата] [int] NULL ,
	[Должен заплатить за месяц] [decimal]( 18 ,  2 )  NULL ,
	[Дата платежа] [datetime]  NULL ,
	[Сумма платежа] [decimal]( 18 ,  2 )  NULL 
)
GO

declare @o varchar( 50 ),@a varchar( 50 )
set @o = 'Сарай №6 у оврага'
set @a = 'Театр "Карабас Барабас и Ко", труба - 8-911-100-9999'
go
insert into [Аренда]
select @o,@a, 2003 , 1 , 100 ,null, 0 
union
select @o,@a,null,null, 0 ,'20030201', 100 
union
select @o,@a, 2003 , 2 , 100 ,null, 0 
union
select @o,@a,null,null, 0 ,'20030301', 50 
go
 --Вычисление долга
 
select sum([Должен заплатить за месяц])-sum([Сумма платежа])
from [Аренда]
where [Арендатор] = @a



Пусть в меня кинут камень, если ЭТО не решает задачу
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168093
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ASCRUS
Точно, вылезет навалом. В том числе и то, чего нет в закупленой программе.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168109
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 уважаемый Cat2

Где, если не секрет, ты увидел моё решение?

Я лишь пытался уточниить ЛОГИЧЕСКУЮ модель.
А вот предлагать решение, не уточнив логическую модель, а лишь на основании личного опыта и домыслов ( Основой для платежа служит договор и счетов может и не быть. Уж по оплате электроэнергии точно никто счетов не выставляет ) уж точно преждевременно. Слова ЛИ, МОЖЕТ БЫТЬ, СКОРЕЕ ВСЕГО, ОБЫЧНО не те слова, которые должны браться в расчёт при разработке конечного решения.

Мысля забавная пришла. А что если это сделать на плоском файле и попытаться его нормализовать?

Мысля забавная, это один из стандартных подходов.
Правда я это обычно делаю в голове. :)

Пусть в меня кинут камень, если ЭТО не решает задачу

Камень говоришь?!
Хм, ну лови (навкидку)
2. Группировать счета в произвольном виде (к примеру счета 2-4 собрать в группу "Комуналка" и выдавать данные по этому "обобщенному счету"
Если напрячся ещё пяток камней найдётся.

Задачу решает, несомненно, вот только какую?
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168131
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
akuz писал:
Где, если не секрет, ты увидел моё решение?

Для меня описание таблиц - уже решение.

akuz писал:
Слова ЛИ, МОЖЕТ БЫТЬ, СКОРЕЕ ВСЕГО, ОБЫЧНО не те слова, которые должны браться в расчёт при разработке конечного решения.

Действительно, чушь написал. Сам-то никогда не уверен, что в следующем году будет 12 месяцев.


akuz писал:
Мысля забавная, это один из стандартных подходов.
Правда я это обычно делаю в голове. :)

Да? А у меня обычно все в нормализованом виде сразу в голову лезет. С трудом я плоский файл написал - организм долго сопротивлялся:).

akuz писал:
2. Группировать счета...
Если напрячся ещё пяток камней найдётся.
Задачу решает, несомненно, вот только какую?


Ту, которая была поставлена. Про аренду. И ничего в ней про группировку счетов не говорилось. &>:<
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168150
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
No comments
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168233
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
akuz

No comments

Мда :( Из обсуждения технической проблемы перешли на личности. Может хватит?
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168608
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Господа, прошу не ругаться, соблюдать "политкорректность"
2. Привожу еще раз свой вариант структуры в русскоязычном варианте:
Код: plaintext
1.
2.
3.
4.
 
 1 . Таблица Организации (ID,Название организации) - Люди, организации
 2 . Таблица Счета (Id,Название счета) - счета
 3 . Таблица Долги и платежи 
(id,Дебетующая организация(fk),Кредитующая организация (fk),IDсчета (fk),Дата,Сумма)

Если заполнить эту структуру тестовыми данными из варианта Cat2 то получится следующее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
           Организации
  ID              Название организации
    1               Хозяин  1 
    2               Карабас-Барабас и Ко

           Счета
  ID               Название счета
    1                Аренда
    
           Долги и платежи
   ID    Деб. орг.  Кред.орг. ID счета         Дата   Сумма
     1           2           1            1          01 . 01 . 03      100 
     2           1           2            1          01 . 02 . 03      100 
     3           2           1            1          01 . 02 . 03      100 
     4           1           2            1          01 . 03 . 03      50   

Основное, что меня смущает во всем этом вопросе, заключается в следующем - получается, что решить данную задачу можно двояко - либо кривая структура для хранения данных, но зато простые запросы, либо красивая структура, но сложные запросы (у меня, к примеру, не получается сделать "Оборотку" по таблице Долги и платежи без подзапросов). Нет ли тут какой крутой философии? По-моему выходит, что Реляционные БД вообще не подходят для решения учетных проблем, поскольку даже такая простая задача "Про Карабаса-Барабаса", как выясняется, не имеет простого, красивого и однозначного решения
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168880
Jinn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wara

По-моему выходит, что Реляционные БД вообще не подходят для решения учетных проблем, поскольку даже такая простая задача "Про Карабаса-Барабаса", как выясняется, не имеет простого, красивого и однозначного решения

RDBMS как нельзя лучше подходят для решения таких задач. И что ты понимаешь под "простым, красивым и однозначным решением"? Свалить в в одну таблицу (1НФ)?Однозначности не может быть в принципе - решений несколько. Красота достигается не количеством таблиц, но их структурой и индексацией. akuz предложил вполне приемлемое решение. небольшая доработка (конкретная под заказчика) и эта модель будет работать красиво, и запросы там несложные.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168894
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jinn,
Вариант, с плоским файлом, предложенный akuz, конечно, интересен, но вот только как-то не лежит у меня душа к этому варианту. Я почему-то думал, что под четко поставленную задачу существует одно, самое лучшее решение. И если оно сразу не найдено, то это - от недостатка опыта. А оказывается, что их (решений) столько, сколько разработчиков :-(
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168910
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Корр.
Пардон, ошибся, вариант с плоским файлом предложил не akuz, а Cat2.
Что касается предложения akuz, если честно, я его вообще не совсем понял (видимо, сказывается недостатаок опыта). Хотя само разбиение проблемной области на объекты достаточно интересно...
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168982
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Jinn. А с чего Вы взяли что мы с akuz'ом ругаемся? Как мы можем ругаться, см. bid=16.
=============
Wara. У Вас опять бухгалтерия получается .
Вот, смотрите. В приведенной вами структуре каждый месяц на каждого клиента должна вводится строка с выставленой к оплате суммой . Не проблема, если клиентов около десятка. А если сотня? Тут уже оператор не упомнит, кому какую сумму выставлять. Справочник нужен. А если клиентов тысячи? Вполне нормальная ситуация для комунальных платежей. Тут уж надо эти проводки генерить автоматом. А если их можно сделать автоматом, то зачем их делать вообще? Можно ведь их генерить "на лету", при необходимости.
Да... Потому-то и нет общей теории написания прикладных баз, что всегда приходится искать компромис между легкостью написания, легкостью использования, скоростью работы и надежностью.
Впрочем, лично я во главу угла ставлю надежность. Т.е сохранение целостности и непротиворечивости информации. А это обеспечивают только нормализованые реляционные базы.
============
Вернемся к Вашей структуре. Без справочника тарифов на аренду она нереляционна, так как нарушает 1 правило Кодда - сведения о ценах на аренду хранятся не в базе, а записной книжке бухгалтера, а со справочником - ненормализована, так как содержит иформацию, которую можно получить из базы другим способом.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168989
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы что все, белены объелись?

Какой вариант?
Никакого варианта не было и в помине!
Я лишь пытался уточнить предметную область.

После уточнения логической модели, необходимо будет ещё уточнить варианты использования (Use Case), определить стратегию развития и ещё кучу разных параметров (см. Cat2) и только после этого можно будет говорить о той или иной конечной реализации, не раньше.

А вариантов решения (структуры БД) может быть действительно очень много, от плоской таблицы, до полностью нормализованной структуры.

Я почему-то думал, что под четко поставленную задачу существует одно, самое лучшее решение.

Cуществует (прямая - это кратчайшее расстояние... хи-хи).
Сначала задачу надо чётко поставить.

====
All depends
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32168991
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akuz, Cat2
Спасибо за науку.
(И все ж таки интересно, какие еще есть варианты решения этой, хоть и нечетко поставленной задачи - кстати общими усилиями мы ее можем легко превратить в четко поставленную)
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32169015
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Wara. На самом деле akuz естественно ничего не решал, это просто у меня в мозгу возникло решение на основе его подхода. Ну, а раз оно возникло, значит оно есть. А плоский файл я придумал для смеха. Мне моя Киса всегда говорит, что я дурак, и шутки у меня дурацкие.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32169022
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
Вот видите, на основе подходов другого человека у Вас возникло решение!
Вывод - не надо собачиться, надо спорить, уважая собеседника, тогда для всех будет польза.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32169046
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
wara. Ну скоко можно повторять - это не собачение. Просто стиль общения такой. No comment akuz'а означало, что ему в лом писать. Я и так понял, что он хотел сказать.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32169047
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я прям паинькой себя ощущаю...Надо будет заняться выработкой блатного стиля.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32169067
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Cat2

Киса играет с огнём.

2 wara

кстати общими усилиями мы ее можем легко превратить в четко поставленную

Ты заказчик, тебе и карты в руки.
Я предложил, уточняй.
Отбрось всё ненужное, детализируй нужное.
Давай поставим задачу.

Для начала, цель проекта:

Смоделировать несложную, но в то же время емкую "учетную проблему"

Дополнительная цель:

Обсудить варианты структур данных под поставленную мною задачу.


Workaround (забыл как переводится):

Просто есть Хозяин, несколько съемщиков и несколько ЖЭКов. Хозяину надо знать состояние взаиморасчетов...

Имеется арендодатель ("Хозяин") и ряд объектов, которые он сдает в аренду арендаторам ("Съемщик"). Каждый месяц съемщику необходимо осуществлять следующие платежи:
1. Арендная плата
2. Плата за электроэнергию
3. Плата за энергоресурсы
4. Плата за коммунальные услуги
5. ….
Список счетов и их наименование может изменяться в зависимости от ЖЭКа.
Размеры платежей по пп 2-… не зависят ни от Хозяина ни от Съемщика. Размер платежей по п.1 определяет Хозяин по договоренности со Съемщиком.


Функциональные требования:

Система должна обеспечивать следующие функции:

Ввод любых "Счетов"
Отслеживать задолженности Съемщиков перед Хозяином по каждому из счетов.
Выдавать информацию о задолженности/превышении в разрезе Съемщика/счета по превышениям/задолженностям и о суммарном размере задолженности/"переплаты".
Рассчитывать чистый доход хозяина на определенный период вперед на основании прогноза проплат.


Дополнительные требования:

Группировать счета в произвольном виде (к примеру счета 2-4 собрать в группу "Комуналка" и выдавать данные по этому "обобщенному счету"

Логическая модель (объекты):

см. пост от 24 май 03, 20:20

Варианты использования:

???

Пара вопросов (навскидку):

1. Предпологается использование БД одним человеком или несколькими, локальный или сетевой доступ.
2. Предположительный объём справочников по каждому из объектов.
3. Предположительное кол-во документов (счетов).

====
Ждёмс
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32172994
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akuz,
В принципе, последний вариант формулировки задачи меня устраивает.
Только уж что то больно многословно у нас получается.
И еще предлагаю добавить пункт:
предложить варианты запросов для полученния таблицы вида (вернее - запроса на основе которого можно получить такую таблицу)


Код: plaintext
1.
2.
3.
4.
5.
6.
                        Состояние взаимирасчетов на __.__.__ 

  контрагент             счет  1                счет  2              .....
                     дебет    кредит     дебет кредит


...
Рейтинг: 0 / 0
База "Арендодатель"
    #32173309
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Для запросов подобного типа есть OLAP.
...
Рейтинг: 0 / 0
База "Арендодатель"
    #32174480
Фотография wara
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2,
Спасибо, мне тоже кажется, что средствами OLAP такие отчеты получать проще. Разбираюсь...
...
Рейтинг: 0 / 0
38 сообщений из 38, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / База "Арендодатель"
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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