|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
Добрый день, Помогите разобраться с структурой базы данных 1. две таблицы STOCK и BOND, каждая со своими характеристиками - это справочники. Они содержат в себе редко обновляемые поля. 2. таблица ASSET, которая должна содержать выбранные записи из таблиц STOCK и BOND. Это портфель/корзина.. 3. таблица REESTR, которая представляет собой журнал записей ASSET. В четвертой таблице ASSET_TYPE, это категории по сути там их две записи должно было быть: stock и bond. Пока вижу только одно решение объединить таблицы STOCK и BOND в одну, но правда она станет такой огромной и нечитабельной, к тому же предполагается еще связи каждой из них с таблицами STOCK_RATE и BOND_RATE, содержащих историю изменения их котировок Есть ли другие варианты? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2020, 11:37 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
harvest6она станет такой огромной и нечитабельной Боюсь, что на то, чтобы она стала огромной, на Земле не хватит акционерных обществ. Их, подикося, и миллиарда не наберётся... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2020, 13:31 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
harvest6 3. таблица REESTR, которая представляет собой журнал записей ASSET. Нафига она нужна? harvest6 В четвертой таблице ASSET_TYPE, это категории по сути там их две записи должно было быть: stock и bond. Пока вижу только одно решение объединить таблицы STOCK и BOND в одну, но правда она станет такой огромной и нечитабельной, к тому же предполагается еще связи каждой из них с таблицами STOCK_RATE и BOND_RATE, содержащих историю изменения их котировок Есть ли другие варианты? Есть бесчисленное количество вариантов. Смотря для чего? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2020, 15:02 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
Судя по схеме тут нужна одна таблица, и то в Excel. Так как ни одна из таблиц на схеме не несёт никакой полезной информации и не является отдельной сущностью. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2020, 09:42 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
Stanislav PСудя по схеме тут нужна одна таблица, и то в Excel. Так как ни одна из таблиц на схеме не несёт никакой полезной информации и не является отдельной сущностью. Все таблицы являются сущностями. ASSET - сущность-супертип, которая содержит в себе общие атрибуты для каждой из сущностей-подтипов, а также сущность категорий ASSET_TYPE является атрибутом-дискриминатором, позволяющим различать конкретные экземпляры сущности-подтипа. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2020, 11:19 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
harvest6 Все таблицы являются сущностями. ASSET - сущность-супертип, которая содержит в себе общие атрибуты для каждой из сущностей-подтипов Если ASSET - супертип, то она должна содержать все записи STOCK и BOND, а в STOCK и BOND должна входить информация только относящаяся к своему типу, но у тебя: harvest6 2. таблица ASSET, которая должна содержать выбранные записи из таблиц STOCK и BOND. Это портфель/корзина.. И какой части твоего описания теперь верить? Если верить второму описания, то у тебя проблема со стрелочками от STOCK и BOND к ASSET на схеме. К тому же: harvest6 Пока вижу только одно решение объединить таблицы STOCK и BOND в одну, но правда она станет такой огромной и нечитабельной Если ASSET - это супертип, то надо объединять три таблицы ASSET, STOCK, BOND в одну, так как на схеме не показана существенная разница между акцией и облигацией. Далее, если типов ASSET всего два, то таблица ASSET_TYPE вполне себе заменяется обычным выпадающим списком со значениями. В результате всё это сворачивается в одну таблицу Excel ну просто элементарно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2020, 12:12 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
harvest6 ASSET - сущность-супертип, которая содержит в себе общие атрибуты для каждой из сущностей-подтипов ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2020, 12:21 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
Stanislav PЕсли ASSET - супертип, то она должна содержать все записи STOCK и BOND, а в STOCK и BOND должна входить информация только относящаяся к своему типу Верить этому Stanislav Pпроблема со стрелочками от STOCK и BOND к ASSET на схеме. Не нашел как в MySQL Workbench 8.0 CE как отразить категориальную связь Stanislav PЕсли ASSET - это супертип, то надо объединять три таблицы ASSET, STOCK, BOND в одну, так как на схеме не показана существенная разница между акцией и облигацией. Далее, если типов ASSET всего два, то таблица ASSET_TYPE вполне себе заменяется обычным выпадающим списком со значениями. На схеме не показана разница, но в тексте написано: harvest6две таблицы STOCK и BOND, каждая со своими характеристиками Общая характеристика пока только одна: валюта (не указана в схеме) Объединить три таблицы в одну - это один из вариантов решения, но получится большая таблица с кучей пустых записей. Типов ASSET может быть 15-20 ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2020, 12:23 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
Предполагаю, вот как-то так должно быть Это на логическом уровне Пока не совсем понимаю как реализовать это на физическом уровне ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2020, 12:31 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
Какой смысл обсуждать схему данных при полном отсутствии информации о домене, который эта схема должна представлять? Может у автора "BONDs' это апельсины, а "REESTR" это арбузы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2020, 12:51 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
harvest6 Предполагаю, вот как-то так должно быть Это на логическом уровне Пока не совсем понимаю как реализовать это на физическом уровне Ты лучше скажи по русски че ты хочешь, на пальцах, предметно... Для начала... Не нужно свои идеи воплощать в картинки, тем более ты не умеешь это делать... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2020, 19:47 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
Логический уровень 1. таблица INSTRUMENT содержит записи всевозможных финансовых инструментов с одним общим атрибутом валюта (CUR_ID) 2. таблица CURRENCY - список валют, таблица CURRENCY_RATE - курсы валют 3. таблица CLASS - таблица категорий финансовых инструментов (на текущий момент 2: акции (STOCK) и облигации (BOND), будет больше) 4. таблица ASSET портфель выбранных финансовых инструментов из таблицы INSTRUMENT 5. таблица REESTR содержит операции с финансовыми инструментами из портфеля ASSET, например, покупка или продажа 6. таблица OPERATION - это типы операций (покупка, продажа и др.) 7. таблица STOCK (акции) - перечень акций со своими характеристиками (капитал, финансовые показатели) 8. таблица STOCK_RATE - курс акций 9. таблица BOND (облигации) - перечень облигаций со своими характеристиками (номинал, дюрация и др.) Каким образом можно организовать связь между таблицами INSTRUMENT, BOND и STOCK на физическом уровне? Один из вариантов это объединить все три таблицы (INSTRUMENT, BOND, STOCK) в одну таблицу, но в таком случае будет большое количество пустых полей, поскольку характеристики таблиц BOND и STOCK между собой не пересекаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2020, 22:03 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
harvest6, Это уже что-то работающее ? Хочется Усовершенствовать ? Тогда вопрос - в чем проблема, где слабое место, что не так ? Или это стадия разработки ? Тогда нужна постановка задачи, например, - я хочу построить одноэтажный дом в чистом поле, а не набор слов типа: цемент, лопата, черепица, траншея, кирпич и т.д. В любом случае, чтобы советовать, нужно знать и понимать первостепенную задачу, а не ваше видение её решения... fkthat Какой смысл обсуждать схему данных при полном отсутствии информации о домене, который эта схема должна представлять? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2020, 03:26 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
CURRENCY_RATE - странная и опасная таблица. Во-первых: курс - это отношение покупки-продажи одной валюты к другой. То есть, у рубля один курс по отношению к доллару и другой по отношению к евро. Соответственно в ней должно быть два поля валют и поле курса. И это в свою очередь приводит к интересным вещам в плане реализации логики работы - какую валюту ставить в первое поле, а какую во второе? И как после этого писать запросы к БД, когда часть валют в первом поле, а другая часть во втором поле. Во-вторых, курс не статичен! Сейчас он такой, а через пять минут уже другой. А так как БД "проектируется" для финансовых операций, то нужно точно знать по какому курсу производить расчёт. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2020, 11:17 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
Stanislav PCURRENCY_RATE - странная и опасная таблица. В моем случае (основная валюта - российский рубль) никаких сложностей не возникает. А так, да, если делать возможность установки любой основной валюты возникает вопрос, но скорее это больше не к проектированию, а к приложению, которое будет работать с базой. 1. БД не проектируется для отображения именно биржевых курсов валют. Т.е. на каждую дату имеется только один курс иностранной валюты, выраженный в рублях, даже если это кросс-курс. По сути нужно знать эквивалентную рублевую стоимость актива, стоимость которого выражена в иностранной валюте. 2. Курс по которому производиться операция (покупка или продажа), т.е. стоимость актива в момент совершения операции учитывается в таблице REESTR (в иностранной валюте). 3. Стоимость актива, выраженного в иностранной валюте, учитывается в таблице STOCK_RATE. Таким образом мы имеем на конец операционного дня: стоимость актива в иностранной валюте, которая определяется моментом закрытия биржи и стоимость иностранной валюты в рублях, устанавливаемой ЦБ в определенный момент времени. Исходя из этого мы имеем на конец дня стоимость актива в рублях, ну и, соответственно, разницу между реальной стоимостью актива и суммой на его покупку, хоть в иностранной валюте, хоть в рублях. Надеюсь, смысл донес правильно)) А что касается физической реализации связи таблиц INSTRUMENT, STOC, BOND, CLASS в соответствии с логической моделью у меня пока тупик( ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2020, 21:13 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
harvest6 2. Курс по которому производиться операция (покупка или продажа), т.е. стоимость актива в момент совершения операции учитывается в таблице REESTR (в иностранной валюте). Если курс учитывается в таблице REESTR, тогда зачем таблица CURRENCY_RATE? Это бессмысленное дублирование информации. harvest6 3. Стоимость актива, выраженного в иностранной валюте, учитывается в таблице STOCK_RATE. А почему не в REESTR? Опять не нужное разделение и дублирование. Курс плавает сразу по трём таблицами! harvest6 А что касается физической реализации связи таблиц INSTRUMENT, STOC, BOND, CLASS в соответствии с логической моделью у меня пока тупик( Какова логическая модель? Только пожалуйста разговорным языком, без визуализации в схемах, а то опять могут появиться ошибки. И без перечисления списка таблиц и их назначения. Нужно описание физических вещей. Ибо, если исходить из описания выше, то CLASS - это тип неких финансовых сущностей. Людям проще понимать, когда тип, называют типом, а не классом. STOCK и BOND - это известные и определённые типы финансовых сущностей. Таблица INSTRUMENT в таком случае просто лишняя. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2020, 10:50 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
Stanislav PЕсли курс учитывается в таблице REESTR, тогда зачем таблица CURRENCY_RATE? Это бессмысленное дублирование информации. В таблице REESTR цена покупки актива (акции, облигации) в таблице CURRENCY_RATE - официальный курс валюты (доллар, евро) Stanislav PА почему не в REESTR? Опять не нужное разделение и дублирование. Курс плавает сразу по трём таблицами! в таблице STOCK_RATE - официальный курс актива (акции) Это ВСЕ РАЗНЫЕ ЗНАЧЕНИЯ !!! Stanislav PТаблица INSTRUMENT в таком случае просто лишняя. т.е. решения, кроме как учитывать все финансовые инструменты в одной таблице нет? Представляете сколько будет полей в такой таблице? и 90% будет пустых ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2020, 11:09 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
harvest6 в таблице CURRENCY_RATE - официальный курс валюты (доллар, евро А зачем он вообще в данном контексте нужен? Да и какой это тогда "официальный" курс - курс ЦБ на позавчера, котировка МБ, или вообще курс обменника урюпинского Колхозбанка? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2020, 11:57 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
harvest6 т.е. решения, кроме как учитывать все финансовые инструменты в одной таблице нет? Представляете сколько будет полей в такой таблице? и 90% будет пустых Решение есть, просто никто не знает как решать, когда нет информации. Из тех схем, которые выложены здесь, в которых кроме имени и ID нет ничего, не понятно, чем эти сущности отличаются и являются ли они сущностями вообще. Поэтому люди требуют словесного описания физических вещей, без применения таблиц. Примерно так: у человека есть финансовый портфель, в который он кладёт купленные акции, которые затем он может продать или получить дивиденды. Акции выпускают разные компании. В разные дни у акций могут быть цены покупки-продажи, отличающиеся от тех, по которым акции были куплены. Акции покупаются и продаются за рубли, но учёт стоимости ведётся в валюте которую выберет человек. Либо, если со словами плохо, можно просто создать схему, куда добавить сущности по-отдельности и их все учитываемые атрибуты (просто создать квадратик и в него атрибуты, без всяких стрелочек между ними). Дать описание этим атрибутам и попросить всё это перевести в таблицы со связями. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2020, 12:00 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
fkthatА зачем он вообще в данном контексте нужен? Да и какой это тогда "официальный" курс - курс ЦБ на позавчера, котировка МБ, или вообще курс обменника урюпинского Колхозбанка? Вы не понимаете что такое официальный курс валюты? Поясняю: это курс российского рубля, устанавливаемый Центральным Банком Российской Федерации по отношению к иностранным валютам на определенный период времени. Соответственно, таблица содержит официальные курсы, например, с 01 января 2015 по 31 декабря 2019. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2020, 12:20 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
harvest6 Вы не понимаете что такое официальный курс валюты? Так а на кой леший он тут? Если какой-то инструмент на определенной площадке стоит сейчас 139 бирманских тугриков за лот, то он просто стоит 139 бирманских тугриков за лот и сколько это было японских рупий в прошлый китайский новый год никого, поверь, вообще не интересует. Для любого трейдера эта цена это вообще просто цифры. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2020, 12:32 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
fkthatТак а на кой леший он тут? Если какой-то инструмент на определенной площадке стоит сейчас 139 бирманских тугриков за лот, то он просто стоит 139 бирманских тугриков за лот и сколько это было японских рупий в прошлый китайский новый год никого, поверь, вообще не интересует. Для любого трейдера эта цена это вообще просто цифры. Трейдеров, наверное, да, не интересует, а инвесторов еще как интересует. В конкретном примере, японца живущего в Японии еще как интересует сколько от потратил японских "рупий" на покупку актива стоимостью 139 бирманских тугриков и сколько этот актив стоит сейчас в тех же самых японских "рупиях" ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2020, 12:41 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
Stanislav PПоэтому люди требуют словесного описания физических вещей, без применения таблиц. Изначальный вопрос был следующий: Есть финансовые инструменты, принадлежащие разным категориям и обладающие различным набором характеристик. Каким образом можно реализовать их учет, кроме как в единой таблице. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2020, 12:53 |
|
Вопрос по проектированию базы
|
|||
---|---|---|---|
#18+
harvest6 Изначальный вопрос был следующий: Есть финансовые инструменты, принадлежащие разным категориям и обладающие различным набором характеристик. Каким образом можно реализовать их учет, кроме как в единой таблице. Любым, существует куча методик преобразования физических моделей в формат БД. Чтобы дальше не продолжать не слишком информационно полезную дискуссию то тебе подойдёт EAV (Entity, Attribute, Value) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2020, 12:58 |
|
|
start [/forum/topic.php?fid=32&msg=40023557&tid=1539825]: |
0ms |
get settings: |
11ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 155ms |
0 / 0 |