-2

優れたデータベース設計の構築に問題があります。第1条には許可グループ1、2、3があります

ユーザーは権限グループ2および4に属しています

したがって、このユーザーは記事1を参照する必要があります。ただし、この場合はORを使用しないようにSQLを設計できますか。

何百万もの記事がある場合、それはORで良いでしょう。

表の記事Articleid名

テーブル権限IDArticleidPermissionGroup

テーブルuserpermissionIdUserid Permissiongroup

このようなもの。

4

1 に答える 1

1

提供した限られた詳細で何をしようとしているのかを正確に伝えることは困難ですがJOIN、ユーザーが記事にアクセスできるかどうかをテーブルで確認できるはずです。

select u.username,
  p.articleId
from users u
inner join userpermission up
  on u.userid = up.userid
inner join permissions p
  on up.permissiongroup = p.permissiongroup
inner join articles a
  on p.articleid = a.articleid

JOINを使用すると、権限に基づいてユーザーとユーザーがアクセスできる記事を返すことができます。

于 2013-02-10T19:18:16.307 に答える