首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >5星级的数据库模式和Sql

5星级的数据库模式和Sql
EN

Stack Overflow用户
提问于 2014-07-03 01:10:01
回答 1查看 3.7K关注 0票数 2

要求:

代码语言:javascript
复制
1. All "Users" have 5 fixed set of same "Services" which they are supposed to rate.
2. Given the userId, display all the Services and their corresponding "Ratings". 
3. Rating would be from a scale of 1 - 5 only
4. Ratings can be updated anytime by the user for any of his Service.

我不是SQL/DB专家,我在堆栈中提出了这个问题,我从Raj这里得到了ER Model of User Ratings的答案。

这是ER I的最后定稿(开放供更正)。

My Fetch查询:获取所有服务及其对应的userId (例如userId = 1)

代码语言:javascript
复制
SELECT service.service_id, service.name, usr.ratings 
FROM services service, 
     ratings ratings, 
     userservices_ratings usr,
     user user,
     user_services us
where 
    us.userid = user.uid and 
    us.serviceid = service.serviceid and
    usr.usid = us.id and
    usr.rid = ratings.rid and
    user.id = 1
  1. 上述查询将返回所有服务和评级,只有当用户已经对该服务进行评级时。对于未分级的服务,不要将其设置为结果集。因此,我假设我应该预先填充未分级服务的默认值,比如0?
  2. 所有用户都会一直有固定的5个服务集,每当创建用户时,我是否会编写触发器来创建他的条目到User_Services表中?
  3. 如果用户if = 1,serviceId = 1的rates =3,那么create/update查询看起来如何?
  4. 架构中有缺陷吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-02 06:14:34

您可以在这里选择分级架构的标准格式,https://schema.org/Rating可以从中选择所需的列。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24543479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档