テーブルを含むようにデータベースを設計してreference
おり、列type
はいくつかの事前定義された値 (例: 、、book
など) の 1 つです。時間の経過とともに可能な値の範囲を拡大するつもりです (たとえば、タイプを見逃したことに気付いた場合は、それを入力できるようにしたいと考えています)。movie
magazine
academic_paper
最も簡単な解決策は、型を表す文字列をテーブルに格納することです。しかし、これは多くの無駄なスペースをもたらすように思えます。
reference_types
私が考えたもう1つの解決策は、type
列が外部キーで参照する新しいテーブルを作成することです。これには、有効な外部キーを確保するという追加の利点があるようです (コードのどこかで「magzine」を誤って入力しないようにするため)。文字列比較よりも高速です) だけでなく、参照型が必要な場合は常に結合が必要になるため、アプリケーションが少し遅くなり、おそらくこれらの余分な結合のためにロジックが複雑になります。
この問題のスキーマ設計についてどう思いますか?