Я создаю базу данных, используя SQL Server 2008 для хранения цен ценных бумаг, которые торгуются на нескольких рынках.
Для данного рынка все ценные бумаги имеют одинаковый календарь праздников. Тем не менее, праздничные календари отличаются от рынка к рынку.
Мне нужны следующие четыре таблицы: Рынок , GoodBusinessDay , Security и SecurityPriceHistory , и я хочу применить это SecurityPriceHistory не имеет строк для рабочих дней, когда рынок, на котором была продана ценная бумага, был закрыт.
Поля в таблицах:
Рынок: MarketID (PK), MarketName
GoodBusinessDay: MarketID (FK),
SettlementDate (пара является ПК)
Безопасность: SecurityID (PK), MarketID
(FK), SecurityName
SecurityPriceHistory: это
вопрос - мое предпочтение
SecurityID, SettlementDate,
SecurityPrice
Как я могу определить таблицы таким образом и гарантировать, что для каждой строки в SecurityPriceHistory есть соответствующая строка в GoodBusinessDay ?
Если я добавил столбец для MarketID в SecurityPriceHistory . Я мог видеть, как я мог сделать это с двумя внешними ключами (один указывает на Security и один указывает на GoodBusinessDay ), но это не похоже на правильный способ сделать это .