表の請求書があります - PK は year+document_type_id+number です (これは現在の番号付けであり、変更できません)。したがって、データは次のようになります。
year document_type_id number
2013 351 1
2013 351 2
2013 352 1
ここで、2 番目のタイプの番号付けを開発する必要があります - テーブルinvoices_2 - PK は year+market_id+cash_register_id+number (これは、法律で禁止されている一部の請求書の番号付けです)、FK はinvoices_year+invoices_document_type_id+invoices_number です。
請求書 - 請求書_2 は 1 -> 0..1 の関係である必要があります。
問題は、invoices_2 テーブルにこれがある可能性があることです (これを削除したい - いくつかの PK+FK の組み合わせを使用しますか?):
year market_id cash_register_id number invoices_year inovices_document_type invoices_number
2013 1 1 1 2013 351 1
2013 1 1 2 2013 351 1
ご覧のとおり、使用している請求書 2013-351-1 は、invoices_2 テーブルに複数回追加できますが、これは禁止する必要があります。
http://www.sqlfiddle.com/#!3/6b42c/1を参照してください。