为这段代码授予哪些特权(SQL)(测试分配)



更新应用程序组接受= '是的'

查询成绩>3.9分的学生的成绩

所以问题是要授予一个需要成功运行这段代码的用户什么特权。

我猜是:

UPDATE权限在Application上,SELECT在Application上,SELECT在Student上,所以UPDATE在Student上不需要。

问题询问是否需要SELECT on Application(?)(因为WHERE部分)并且是否需要UPDATE on Student(我很确定这一个是no)。

还有一个问题:

查询:DELETE Student WHERE stID NOT IN (SELECT stID FROM Application)

问题:下列哪些特权是不需要的?a)删除Student

b)选择学生

c)在应用程序上删除

d)选择应用程序

这些答案主要是我需要确定的东西,只是想问一下你的意见。

UPDATE权限在Application上,SELECT在Application上,SELECT在

没错。

问题询问是否需要SELECT on Application (?) (Because ofWHERE部分)

由于WHERE子句,在Application上需要

SELECT权限。像这样的更新语句

update application set accepted = 'yes';

不需要SELECT权限

和UPDATE on Student required(我很确定这个是no)。

没有人试图更新学生。不需要在Student上使用UPDATE权限

所有这些都很容易测试。安装一个免费的开源数据库,比如PostgreSQL。召开两次会议。在一台计算机上以超级用户身份连接,在另一台计算机上以测试用户身份连接。使用超级用户会话授予和撤销权限,使用测试会话执行查询。