0

私は Ruby on Rails を使用していますが、この質問はどのデータベース設計にも当てはまると思います。独自の権限システムを開発しようとしています。

ユーザーが編集できるものの配列を持つのは設計が悪いのでしょうか? つまり、 aには の値を持つ または の値をUser持つ の列があります。can_edit[Articles, Events, Costs]User can_view[All]

そして、何が編集されているかをチェックするだけです。それともこれはデザインが悪いのでしょうか?

4

1 に答える 1

2

一般に、データベースの設計は適切に正規化する必要があります。つまり、1 つの行に複数の値を格納するべきではありません。テーブルが 3 つあるデザインの方が、はるかに優れたサービスを提供できる可能性があります。

  • Permission列がpermission_idありpermission_type、有効な権限が一覧表示されます
  • Useruser_id列があり、値のユーザーをリストします
  • User_Permission2 つの間のマッピング テーブルです。列permission_iduser_id両方があり、それぞれPermissionUserテーブルへの外部キーとして定義されています
于 2012-06-09T21:20:48.360 に答える