|
|
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. В целях саморазвития хочу сделать проект, симулирующий работу банка. Для начала надо определить структур БД. Понимаю, что предметная область очень большая, поэтому будут некоторые упрощения. Для начала рассмотрим понятие Банк более детально 1. Физическое устройство банка (персонал, услуги, подразделения). 2. Клиенты (физ. лица, юр. лица). 3. Внутренние операции (счета, пополнение/вывод, перерасчет(кредит,или накопительный счет), поручения, архив, статистика). 4. Внешняя политика банка (инвестиции, займы). Возможно имело бы смысл раскидать п. 3 по п. 1 и 2.,все-такие физ. лица и юридические лица совершают разные операции, но мне так кажется, что логически там большой разницы нету. Хотелось бы, чтобы вы заценили. Если все норм, пойду расписывать каждый пункт более подробно, определять сушности и зависимости. П. С. зачеркнутым я пометил то, что очень вероятно не стоит пока делать (а может и вообще не стоит) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 15:07 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Не взлетит. Чтобы взлетело, упростить надо столько, что ничего не останется. Количество видов финансовых инструментов, видов сделок и сложность их внутренней механики такова, что новичку с нуля это не по плечу. Попробуйте выбрать только один пункт/направление автоматизации и проработать его хоть насколько-то добросовестно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 16:27 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Geronemo... очень вероятно не стоит пока делать (а может и вообще не стоит) Без знания предметной области Вам вообще нет смысла суетиться. Все уже "украдено" до Вас. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 16:38 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
авторБез знания предметной области Вам вообще нет смысла суетиться Для саморазвития очень даже есть смысл, особенно если имеется доступ к работающей банковской АБС (поглядеть, как другие делают) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 16:41 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
П-ЛПопробуйте выбрать только один пункт/направление автоматизации и проработать его хоть насколько-то добросовестно. В принципе так и планирую поступить с п. 3 Вот так я разрисовал п. 1 # Employees Эта часть у меня будет скорее для красоты и для количества таблиц и понимания того,что я полностью описал предметную область Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. # Accounts, Services Услуги банка. Тут мне чего-то в голову не приходит, кроме типов Аккаунтов. Если текущий то %-ная ставка 0, а если кредитный или накопительный, то будет отличаться знак. Возможно стоит еще создать таблицу документов, требуемых для открытия того или иного счета Код: sql 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 16:56 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Ваша попытка кадрового учета очень слабая. Есть отстоявшийся минимальный набор таблиц для штатного расписания, назначений, переводов и увольнений. Счета - тоже ноль. Без знания предметной области будет грустно. Прочитайте нормативно-обязательный план счетов банка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 17:11 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
На всякий случай поясню цель этого проекта. Их 3 1. Спроектировать относительно большую БД (для непрофессиоанала) с кучей таблиц и зависимостями. Тут моя задача это попытаться разобрать по косточкам некую сложную предметную область. Разумеется с приближениями и упрощениями, т. к. я выбрал уж больно сложную тему. 2-3. Это уже относится к Java - Освоить пару фреймворков, сделать эмулятор/рандомизатор событий пришел/ушел клиент, открыл/закрыл счет, создал поручение (единоразовое/регулярное), перерасход средств, банкротство компаний, контроль за достаточностью капитала и т. д. В соответствии с этим, постоянный перерасчет состояний счетов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 17:12 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
П-ЛВаша попытка кадрового учета очень слабая. Есть отстоявшийся минимальный набор таблиц для штатного расписания, назначений, переводов и увольнений. Ну париться на счет принятий на работу/увольнений, расписаний, болезней, отпусков и т. д. я не буду. Есть какая-то грань, которую я должен провести, чтобы не потонуть. Ну и в конце концов мне никто не мешает потом систему апгрейднуть в соответствии с принципами SCRUM Счета - тоже ноль. Без знания предметной области будет грустно. Прочитайте нормативно-обязательный план счетов банка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 17:17 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
авторЕсть отстоявшийся минимальный набор таблиц для штатного расписания, назначений, переводов и увольнений. Его где-то можно увидеть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 17:21 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
П-Л Прочитайте нормативно-обязательный план счетов банка. А где это можно прочитать ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 17:38 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
авторА где это можно прочитать ? про план счетов банка? Это нормативный документ страны. Чаще всего издается Нац.Банком и называется "план счетов бухгалтерского учета банков ....."(ну или подобным образом) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 17:46 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
При всем уважении, предметная область для саморазвития очень плохая. АБС одному даже в первом приближении за разумные сроки не сделать. Да и неразумные :-) Управление клиентскими данными, как раз я, скажем так, специализируюсь по ним. Это одна задача ОШС - это вторая Отчетность в ЦБ - это третья Сложная процедура работы с кредитами - там вариаций не счесть Сложная процедура работы со счетами - там вариаций не счесть интеграция с карточными системами, банкоматами, разного рода прикладными системами с одной стороны, и АБС с другой. В общем, все очень и очень сложно для одного человека, который при этом и в предметке не понимает. PS Слышал давно про какую то АБС (на заре становления ИТ в постперестроечной России), которая была написана на бат-никах :-) Наверное, это из категории приснопамятного антивируса Попова. Так что есть шанс повторить подвиг. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 18:26 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
авторНу париться на счет принятий на работу/увольнений, расписаний, болезней, отпусков и т. д. я не буду. Есть какая-то грань, которую я должен провести, чтобы не потонуть. Я же говорю - вы замахнулись на масштаб, из которого вам придется выкинуть слишком много, т.е. то, что составляет суть задачи. Кадры: перечень физлиц справочник должностей структура организации по подразделениям штатное расписание в разрезе структуры и должностей приказы о назначении/переводе/увольнении физлиц в/из слоты штатного расписания Это минимум, без которого подсистема не может назваться кадрами. За скобками оставлены отпуска/больничные, табель, зарплаты, налоги на з/п ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 19:03 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
П-ЛавторНу париться на счет принятий на работу/увольнений, расписаний, болезней, отпусков и т. д. я не буду. Есть какая-то грань, которую я должен провести, чтобы не потонуть. Я же говорю - вы замахнулись на масштаб, из которого вам придется выкинуть слишком много, т.е. то, что составляет суть задачи. Кадры: перечень физлиц справочник должностей структура организации по подразделениям штатное расписание в разрезе структуры и должностей приказы о назначении/переводе/увольнении физлиц в/из слоты штатного расписания Это минимум, без которого подсистема не может назваться кадрами. За скобками оставлены отпуска/больничные, табель, зарплаты, налоги на з/п ... Справочник должностей есть. До физ. лиц-клиентов еще не дошел. Всякие там подразделения, расписания и движения кадров мне не нужны, ТЗ этого не подразумевает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 19:22 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
GeronemoДо физ. лиц-клиентов еще не дошел Как бы еще и ЮЛ есть :-) И ИП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 19:25 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Arm79GeronemoДо физ. лиц-клиентов еще не дошел Как бы еще и ЮЛ есть :-) И ИП. Вы 1-е сообщение темы читали ? Мне бы не помешала помощь вот в каком вопросе - стандартные услуги банка. Я не хочу залезать в дебри и описывать предметную область полностью - всякие там ячейки хранения и х. з что еще. Пока что в рамках п. 1, 1-го сообщения темы я придумал только 1 таблицу - AccountTypes, сюда можно запихать сколько угодно типов аккаунтов (кредит на авто, на квартиру, потребительский, текущий счет, вклад на 1 год и т. д.). Возможно стоит придумать еще несколько типов услуг, но чтобы они занимали какую-либо существенную долю в обороте банка (комиссии при обналичивании ? обслуживание банковский карт, или эти деньги достаются платежным системам). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 19:41 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Geronemo, Разумеется читал. Я как бы вам намекаю, что у ЮЛ и у ФЛ разный набор атрибутов, и разная логика работы. В ЮЛ есть еще холдинги, группы компаний и так далее. Geronemoя придумал только 1 таблицу - AccountTypes, сюда можно запихать сколько угодно типов аккаунтов Это что, такой своеобразный продуктовый профиль? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 19:49 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
GeronemoНа всякий случай поясню цель этого проекта. Их 3 1. Спроектировать относительно большую БД (для непрофессиоанала) с кучей таблиц и зависимостями. Тут моя задача это попытаться разобрать по косточкам некую сложную предметную область. Разумеется с приближениями и упрощениями, т. к. я выбрал уж больно сложную тему. 2-3. Это уже относится к Java - Освоить пару фреймворков, сделать эмулятор/рандомизатор событий пришел/ушел клиент, открыл/закрыл счет, создал поручение (единоразовое/регулярное), перерасход средств, банкротство компаний, контроль за достаточностью капитала и т. д. В соответствии с этим, постоянный перерасчет состояний счетов. Может бать такой вариант стоит рассмотреть: Если на Java отнесено 2 цели (№2 и №3), то с Java и начинай. Создавай сервер приложения а БД "упакуй" в EAV Если начнёт взлетать - тогда и допилишь (нормализуешь) БД А так получается задача очень широкая, и времени потребует много ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 20:20 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
авторПока что в рамках п. 1, 1-го сообщения темы я придумал только 1 таблицу - AccountTypes, сюда можно запихать сколько угодно типов аккаунтов (кредит на авто, на квартиру, потребительский, текущий счет, вклад на 1 год и т. д.). Это Вы крепко попутались. В банковской практике бывают активные/пассивные/активно-пассивные счета (внебаланс пока не трогаем). То, что придумали Вы, это банковские продукты (в первом приближении кредиты и депозиты всех размеров, сортов и цветов). Для того, чтобы было интереснее, возьмите учебник по банковской деятельности Вашей страны ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 20:29 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
ШайтанGeronemoНа всякий случай поясню цель этого проекта. Их 3 1. Спроектировать относительно большую БД (для непрофессиоанала) с кучей таблиц и зависимостями. Тут моя задача это попытаться разобрать по косточкам некую сложную предметную область. Разумеется с приближениями и упрощениями, т. к. я выбрал уж больно сложную тему. 2-3. Это уже относится к Java - Освоить пару фреймворков, сделать эмулятор/рандомизатор событий пришел/ушел клиент, открыл/закрыл счет, создал поручение (единоразовое/регулярное), перерасход средств, банкротство компаний, контроль за достаточностью капитала и т. д. В соответствии с этим, постоянный перерасчет состояний счетов. Может бать такой вариант стоит рассмотреть: Если на Java отнесено 2 цели (№2 и №3), то с Java и начинай. Создавай сервер приложения а БД "упакуй" в EAV Если начнёт взлетать - тогда и допилишь (нормализуешь) БД А так получается задача очень широкая, и времени потребует много Мне чтобы с Java начать нужна какая-то БД, чтобы тужа забить какие-то данные (конкретных клиентов, счета, услови их обслуживания). А потом сделаю эмулятор, который будет заниматься разного рода финансовыми операциями от случайно выбранного клиента. Мне нужна некая приближенная модель + логика обработки данных. Я там расписал Понятие сотрудник на 6 таблиц. Я вообще мог обойтись 1-й таблицей - ФИО, логин и пароль. Все. Этого приближения уже вполне достаточно было бы. Но я сделал целых 6 таблиц, а мне тут советуют всякие подразделения, расписание, приказы о переводе/повышении и т. д. Я вероятно сам виноват, что не описал свою цель более конкретно, потому и ввел некоторых людей в заблуждение. Приношу свои извинения. Суть проекта и требования к нему следующие. 1. Это должен быть достаточно большой с т. з. количества сущностей проект. Я не проектировщик БД, это не моя прямая специальность. Но хотелось бы иметь в активе тот факт, что я на довольно сложной предметной области смог вычленить самое главное и при этом структура все равно оставалась бы близкой к реальности, довольно сложной и большой для непрофессионала и некоммерческого продукта (таблиц 30, например). 2. БОльшая часть проекта, это не БД, а Java, бизнес-логика. На самом деле я нечто подобное написал в 1-м сообщении GeronemoВ целях саморазвития хочу сделать проект, симулирующий работу банка. Для начала надо определить структуру БД. Понимаю, что предметная область очень большая, поэтому будут некоторые упрощения. Как видите, структура БД для меня это только начало проекта и если я создал тему здесь, а не в подфоруме java, это только потому что я для начала хочу понять от чего мне отталкиваться, от каких данных. Мне не нужна детализация, по которой были бы подразделения, отделения (время их работы и пр. атрибуты), банкоматы, штатные расписания, потому что я этими данными нигде оперировать не буду. Они будут статичны, либо таблицы будут пустыми. Что я вобью вручную, то и будет. А логически, если человек берет кредит, то разницы большой нету, в каком именно отделении он это делает. Только, если ради ведения статистики (в целях повышения эффективности). Но опять же, это очень сильно усложняет задачу. Возможно я к этому вернусь позже, на итерации номер 3 (я тут писал чуть выше про SCRUM). 3. Для меня важно было, чтобы в рамках проекта я оперировал бы каким-то одним ресурсом (в этом случае - деньги), чтобы сделать систему максимально нагруженной и при этом суметь справиться со всякими коллизиями (вопросы синхронизации потоков, защиты данных и т. д.). Вот почему это именно банк. У меня есть пара проектов значительно более простых и там такого рода задачи решаются очень просто. Для меня этого мало. 4. По поводу глубины детализации. Возможно все же стоит какую-то часть предметной области изучить досконально. И, в принципе, Персонал для этого вполне подходит, т. к. таблицы будут все равно пусты и если что-то не так, то помешать бизнес-логике приложения это не сможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 22:07 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Кстати, у меня возник наиинтереснейший вопрос - с какого счета банк платит зарплату, аренду и пр. расходы. У банка есть свой собственный счет в своем банке ? П. С. как видите, углубляясь в предметную область у меня появляются вопросы и это будет отражено в модели. Потому что я хочу отслеживать финансовое состояние банка онлайн, для этого мне нужны и зарплаты и постоянные издержки и налоги и % невозврата и возможные банкротства юр. лиц и т. д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 22:14 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
xenix, можно посмотреть модели здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 22:40 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Продолжение п. 1 # The internal structure of the bank # List of All possible Accounts (current, credit, etc...) CREATE TABLE AccountTypes(Id bigint AUTO_INCREMENT, AccountTypeName varchar(50) NOT NULL, basePercentage decimal NOT NULL, currency int NOT NULL, PRIMARY KEY(Id)); # List of All possible Services (comissions for transfers, payments for sms-informer, etc...) CREATE TABLE ServicesTypes(Id bigint AUTO_INCREMENT, ServicesTypeName varchar(50) NOT NULL, basePercentage decimal NOT NULL, minimalCost decimal, PRIMARY KEY(Id)); # Maybe Load this Info from XML ? CREATE TABLE TaxesTypes(Id bigint AUTO_INCREMENT, TaxesTypeName varchar(50) NOT NULL, basePercentage decimal NOT NULL, PRIMARY KEY(Id)); # Costs: rent, depreciation..... wages fund, social fund CREATE TABLE CostsReport(Id bigint AUTO_INCREMENT, Month int NOT NULL, Year int NOT NULL, FixedCosts decimal NOT NULL, VariableCosts decimal NOT NULL, PRIMARY KEY(Id)); # Payments: percents for saving account, payments when client close account, percents for external loans, investment payments CREATE TABLE PaymentsReport(Id bigint AUTO_INCREMENT, Month int NOT NULL, Year int NOT NULL, TotalPayments decimal NOT NULL, PRIMARY KEY(Id)); # Income: percents for credits, comissions, investment revenue CREATE TABLE IncomeReport(Id bigint AUTO_INCREMENT, Month int NOT NULL, Year int NOT NULL, TotalIncome decimal NOT NULL, PRIMARY KEY(Id)); Что-то типа такого для начала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 22:41 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
1xenix, можно посмотреть модели здесь Спасибо за ссылку. Такое ощущение, что моя модель будет даже посложнее, чем у них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 22:46 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
авторможно посмотреть модели Спасибо. Посмотреть можно, конечно. Вопрос немножко в другом: темы, которые я прочитал на sql.ru по поводу проектирования базы отдела кадров, в конечном итоге заканчивались двумя пунктами. Пункт первый: автор - балбес и в своей схеме не учел (дальше идет список требований на две страницы А4 10-м кеглем). Пункт второй: а вот в нашей системе учету кадров посвящено 150 таблиц, 700 хранимых процедур и 200 триггеров (учитывается и обрабатывается все, что может присниться только в пьяном угаре). Не было только одного - схемы этой великолепной БД из 150 таблиц. Вот мне и интересно - знает ли кто-то на sql.ru топик, где приведена схема БД кадров, оборенная всеми местными посетителями без любьимых уверток про бизнес-логику, бизнес-требования и прочие ужасы того же порядка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2015, 23:17 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
GeronemoП-Лпропущено... Я же говорю - вы замахнулись на масштаб, из которого вам придется выкинуть слишком много, т.е. то, что составляет суть задачи. Кадры: перечень физлиц справочник должностей структура организации по подразделениям штатное расписание в разрезе структуры и должностей приказы о назначении/переводе/увольнении физлиц в/из слоты штатного расписания Справочник должностей есть. До физ. лиц-клиентов еще не дошел. Всякие там подразделения, расписания и движения кадров мне не нужны, ТЗ этого не подразумевает. Без штатного расписания и назначение человека на определенную должностью это не ТЗ по кадрам. Штатное расписание без структуры организации тоже не имеет смыла. Не бывает банк в виде аморфного нечто, всегда деление на департаменты, управления, отделы ..., причем в банковских кадрах это увязано с направлениями бизнеса и с контролем доступа, т.е. кадровая информация очень важна. Делать в таком виде, как вы себе упростили "кадры банка" бессмысленно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2015, 08:47 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
GeronemoArm79пропущено... Как бы еще и ЮЛ есть :-) И ИП. Вы 1-е сообщение темы читали ? Мне бы не помешала помощь вот в каком вопросе - стандартные услуги банка. Я не хочу залезать в дебри и описывать предметную область полностью - всякие там ячейки хранения и х. з что еще. Пока что в рамках п. 1, 1-го сообщения темы я придумал только 1 таблицу - AccountTypes, сюда можно запихать сколько угодно типов аккаунтов (кредит на авто, на квартиру, потребительский, текущий счет, вклад на 1 год и т. д.). Возможно стоит придумать еще несколько типов услуг, но чтобы они занимали какую-либо существенную долю в обороте банка (комиссии при обналичивании ? обслуживание банковский карт, или эти деньги достаются платежным системам). Полный ноль. Масштаб задачи и уровень подхода к ее решению полностью антагонистичны. Какой у вас опыт работы в банке/с банком ? Возьмите задачку попроще и поконкретнее - один из типов финансовых операций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2015, 08:50 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
П-ЛGeronemoпропущено... Справочник должностей есть. До физ. лиц-клиентов еще не дошел. Всякие там подразделения, расписания и движения кадров мне не нужны, ТЗ этого не подразумевает. Без штатного расписания и назначение человека на определенную должностью это не ТЗ по кадрам. Человек вроде не сказал, что собирается писать кадровую систему - он сказал что будет набор сущностей "персонал" для банка. Набор сущностей "персонал" в АБС действительно должен входить (хотя бы для всяких аудитов действий), а полноценная кадровая система прямо внутри АБС - зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2015, 09:46 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Geronemo, еще погуглите по слову опердень. Не смейтесь, это сленговое название. Операционный день банка Вот, немного оффтопик, но поясняет значение синонима АБС опердень ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2015, 10:06 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
ТС, вам принципиальна область проектирования с нуля? Если нет - велком в личку - есть предложение по очень фоновой задаче - у самого никак руки не дойдут :) Если структура в итоге получится стоящей - возможна монетизация усилий, но как минимум опыта проектирования будет море. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2015, 11:16 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Тут возникла небольшая проблема. Я хочу завести такую сущность, как Аккаунт. А именно - некий банковский счет. Я не хочу плодить разных типы аккаунтов (возможно я не прав ?), просто одним из столбцов будет тип аккаунта и их будет штук 10. При этом аккаунт может быть заведен для физ. лица, а может быть для юридического. Таблицы Физ. лиц и юридических у меня разные. А тут в таблице аккаунтов все они будут вперемешку. Проблема вот в чем. Мне нужно из таблицы Аккаунт сделать поле Owner - FOREIGN KEY в 2 разные таблицы, чтобы это работало так - если это счет юр. лица, то ищем владельца счета в таблице юр. лиц, а если физ. лицо, то ищем в таблице юр. лиц. Самое простое решение - это сделать тупо 2 таблицы - AccountsForPersons и AccountsForCompanies. Но тогда при разработке бизнес-логики увеличивается количество кода. Логически нам нету разницы, дали мы кредит в 100000$ мужику или компании. Поэтому мне хотелось бы оставить 1 таблицу. Но как тогда быть с FOREIGN KEY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2015, 22:13 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
GeronemoТут возникла небольшая проблема. Я хочу завести такую сущность, как Аккаунт. А именно - некий банковский счет. Я не хочу плодить разных типы аккаунтов (возможно я не прав ?), просто одним из столбцов будет тип аккаунта и их будет штук 10. При этом аккаунт может быть заведен для физ. лица, а может быть для юридического. Таблицы Физ. лиц и юридических у меня разные. А тут в таблице аккаунтов все они будут вперемешку. Проблема вот в чем. Мне нужно из таблицы Аккаунт сделать поле Owner - FOREIGN KEY в 2 разные таблицы, чтобы это работало так - если это счет юр. лица, то ищем владельца счета в таблице юр. лиц, а если физ. лицо, то ищем в таблице юр. лиц. Самое простое решение - это сделать тупо 2 таблицы - AccountsForPersons и AccountsForCompanies. Но тогда при разработке бизнес-логики увеличивается количество кода. Логически нам нету разницы, дали мы кредит в 100000$ мужику или компании. Поэтому мне хотелось бы оставить 1 таблицу. Но как тогда быть с FOREIGN KEY у ФЛ и ЮЛ общая таблица-предок ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2015, 22:41 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Arm79у ФЛ и ЮЛ общая таблица-предок Спс. Как Вам такое Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2015, 21:24 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Arm79GeronemoТут возникла небольшая проблема. Я хочу завести такую сущность, как Аккаунт. А именно - некий банковский счет. Я не хочу плодить разных типы аккаунтов (возможно я не прав ?), просто одним из столбцов будет тип аккаунта и их будет штук 10. При этом аккаунт может быть заведен для физ. лица, а может быть для юридического. Таблицы Физ. лиц и юридических у меня разные. А тут в таблице аккаунтов все они будут вперемешку. Проблема вот в чем. Мне нужно из таблицы Аккаунт сделать поле Owner - FOREIGN KEY в 2 разные таблицы, чтобы это работало так - если это счет юр. лица, то ищем владельца счета в таблице юр. лиц, а если физ. лицо, то ищем в таблице юр. лиц. Самое простое решение - это сделать тупо 2 таблицы - AccountsForPersons и AccountsForCompanies. Но тогда при разработке бизнес-логики увеличивается количество кода. Логически нам нету разницы, дали мы кредит в 100000$ мужику или компании. Поэтому мне хотелось бы оставить 1 таблицу. Но как тогда быть с FOREIGN KEY у ФЛ и ЮЛ общая таблица-предок Я всегда думал что розница и корп. это вообще разные департаменты, разные принципы и разное ПО. Кстати корп. намного проще. Geronemo, А почему именно банк? Вам ведь все равно как я понял. Берите какую-нибудь прикладную область по-интереснее. Конечно можно было бы рассмотреть систему ведения счетов и остатков, но опять же, какой смысл, в банке она лицевая, потом нигде не пригодится. Или вы в банк намерены пойти работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 12:25 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Geronemo, ... вот у меня недавно были предложения от производителя дирижаблей, еще одно - автоматизация пожарной части в чехии)) Одни названия чего стоят)) А банк это тоска смертная. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 12:28 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
dma_caviar Кстати корп. намного проще. Кстати нет. Для понимания можно сравнить размер в страницах кредитного договора банка с физиком и с какой-нибудь Роснефтью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 12:47 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Кот Матроскин, Еще можно сравнить кол-во возможностей в клиент-банке для юр.лиц и интернет банке для физ лиц. В первом переводы, депозиты, кредиты, во втором все тоже самое + 100500 других операций. И еще в коп. вроде как нет высосанных из пальца продуктов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 13:20 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Не ссорьтесь, Корпоратив и физики - оба круты, только в разных вопросах :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.06.2015, 15:46 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Geronemo, А ты какую проблему решить хочешь? Бд в вакууме не бывает, надо понять прикладную логику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2015, 05:25 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
gandjustasGeronemo, А ты какую проблему решить хочешь? Бд в вакууме не бывает, надо понять прикладную логику. Создать многопоточную высоконагруженную среду с кучей всяких нюансов. Банк, как предметная область, это что-то понятное (чем изобретать колесо) + понт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 19:13 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
GeronemogandjustasGeronemo, А ты какую проблему решить хочешь? Бд в вакууме не бывает, надо понять прикладную логику. Создать многопоточную высоконагруженную среду с кучей всяких нюансов. Банк, как предметная область, это что-то понятное (чем изобретать колесо) + понт.жениться тебе, барин, надо (с) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 19:18 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Geronemoэто что-то понятное Оно и видно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 19:27 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
заминусовать бы вас за флуд, да жаль нету такой возможности на форуме ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 19:36 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
о,пердень ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2015, 23:12 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
xenixавторПока что в рамках п. 1, 1-го сообщения темы я придумал только 1 таблицу - AccountTypes, сюда можно запихать сколько угодно типов аккаунтов (кредит на авто, на квартиру, потребительский, текущий счет, вклад на 1 год и т. д.). Это Вы крепко попутались. В банковской практике бывают активные/пассивные/активно-пассивные счета (внебаланс пока не трогаем). То, что придумали Вы, это банковские продукты (в первом приближении кредиты и депозиты всех размеров, сортов и цветов). Для того, чтобы было интереснее, возьмите учебник по банковской деятельности Вашей страны Активно-пассивных уже давно нет, вместо них парные счета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2015, 05:31 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
GeronemoArm79пропущено... Как бы еще и ЮЛ есть :-) И ИП. Вы 1-е сообщение темы читали ? Мне бы не помешала помощь вот в каком вопросе - стандартные услуги банка. Я не хочу залезать в дебри и описывать предметную область полностью - всякие там ячейки хранения и х. з что еще. Пока что в рамках п. 1, 1-го сообщения темы я придумал только 1 таблицу - AccountTypes, сюда можно запихать сколько угодно типов аккаунтов (кредит на авто, на квартиру, потребительский, текущий счет, вклад на 1 год и т. д.). Возможно стоит придумать еще несколько типов услуг, но чтобы они занимали какую-либо существенную долю в обороте банка (комиссии при обналичивании ? обслуживание банковский карт, или эти деньги достаются платежным системам). Товарищ, остынь. Ты не в теме. У дилетанта получится дилетантский продукт, польза от которого будет ровно одна - пример того, как не надо делать. А если задаться целью "найти задачу, чтобы промучиться с ней несколько лет и потом понять, что так делать не надо" - есть и более простые примеры для движения к свету, не требующие самоистязания и проживания в монастыре на протяжении нескольких лет. Что делает коня конем? У него есть некоторое кол-во конечностей, чего-то там сзади и снизу торчит, морда определенного склада, грива, копыта и все такое. Если ты обрежешь все, что не понимаешь в банковском деле, то вместо коня у тебя будет надутый шар, который ты продолжаешь называть конем. Ты готов к диалогу? Или на любой вброс новых сущностей, о которых ты понятия не имеешь, ты скажешь "я этого не знал, но мне это не нужно, я это обрежу"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2015, 05:36 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
babonaо,пердень Я тоже поначалу привык к этому термину и даже не понимал, как это со стороны звучит. Ровно до тех пор, пока меня кто-то не переспросил "что за обос@рнь?" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2015, 05:38 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
Geronemo, Нету там accounttypes. Есть план счетов. От него и пляшут. А тип счета - это активный или пассивный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2015, 15:53 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
авторЕсть план счетов. От него и пляшут. А тип счета - это активный или пассивный. Боюсь, топикстартеру это уже неинтересно и ненужно. Он отбыл пилить на Яве ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2015, 15:10 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
xenixавторЕсть план счетов. От него и пляшут. А тип счета - это активный или пассивный. Боюсь, топикстартеру это уже неинтересно и ненужно. Он отбыл пилить на Яве Надо полагать, что уже вышла бета-версия банковской системы от автора :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2015, 03:18 |
|
||
|
Проектирование БД для банка
|
|||
|---|---|---|---|
|
#18+
авторНадо полагать, что уже вышла бета-версия банковской системы от автора Несомненно. Причем многопоточная, высоконагруженная и на яве, правда, не пересекающаяся ни с одной из известнх науке банковских практик ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.08.2015, 09:16 |
|
||
|
|

start [/forum/topic.php?all=1&fid=32&tid=1540499]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
72ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 151ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...