标签: data-modeling

我如何建模(GitHub)相关的权限?

tl; dr:我如何实现像(例如)github的权限模型

更新以尝试解决@ philipxy的一些评论:

我打算实现一个类似于github的权限模型:

  1. 用户
  2. 用户可以成组
  3. 用户可以在组织中
  4. 团体可以在组织中
  5. 用户将被允许在资产,组或组织中执行任何C,R,U和D操作,如下所示:
    1. 允许那些(C,R,U,D)操作的个人用户
    2. 已被授予这些权限的组的成员
    3. 已被授予这些权限的组织的成员
      1. 或者作为该组属于具有权限的组织的组的成员
  6. 用户被授予读取权,因为资产/组/组织对匿名用户("公共")是可见的(可读)
  7. 用户还应具有一组权限,以表明他们是否可以对权限执行任何C,R,U或D(用户可以为其他用户,组创建权限[C,R,U,D]或组织)
    1. 用户可以为他们创建的任何资产,组或组织设置权限,或者为其授予权限的任何资产,组或组织设置权限.

这些权限将控制谁可以对站点中的资产,组和组织执行创建,读取,更新和删除(CRUD)操作.

大致如何对此进行建模?

显然我有这些模型:

  1. 财富
  2. 用户
  3. 组织

接下来是什么?

  1. 允许?
  2. PermissionType(捕获C/R/U/D)?

我正在使用节点中的mysql(通过sequelize),但我可以自己弄清楚具体的语法,我还没有想出如何在概念上做到这一点.

更多@ philipxy的观点:

你提议我做的更多的事情确实是我认为我正在寻求帮助的事情.也就是说,那些信息设计方法(NIAM,FCO-IM,ORM2,IDEF1X)正是我正在寻找的.我知道有关关系数据库实现(学习规范化和正常形式以及诸如此类的日子)的相当数量,但实际上指定业务需求并将其转换为可操作规范的过程是一项挑战.

  • ORM2 很难找到,因为名称冲突与模块的NodeJS的.:我已经下载了从NIAM维基百科页面链接的书籍
  • 现在使用NIAM似乎不太常见?
  • FCO-IM:我从他们的网站上下载了这本书
  • IDEF1X:看起来也很有趣

我想我要去拿一本数据库教科书.

更多关于谓词的工作:

  1. U 识别出一个 User
  2. A 识别出一个 Asset
  3. G 识别出一个 Group
  4. a User U可以是0或更多Groups G
  5. O 识别出一个 Organization
  6. a User U可以是0或更多Organizations O
  7. a Group G可以是0或更多Organizations O
  8. 资产A可以由a创建User U …

database database-design web-applications data-modeling relational-database

9
推荐指数
1
解决办法
1256
查看次数

如何从引用的架构中排除属性?

我有一个端点用于创建地址和一个用于更新地址。在 OpenAPI 规范中对此进行描述时,我想使用地址组件,这样我就不必两次指定地址。现在的问题是,用于更新的地址对象应该包含属性“id”,但用于创建的地址对象却没有。

所以基本上,我正在寻找一种方法来描述组件部分中的完整地址(包括 id 属性),然后引用创建端点,但不包括那里的“id”属性。

rest data-modeling swagger openapi

9
推荐指数
1
解决办法
8198
查看次数

用于存储事件的重复发生的细节的数据库的设计

我需要实现类似于Microsoft Outlook提供的功能,以使您的会议预约重复进行.我试图找出我将要求实现此功能的优化数据库设计.

该要求类似于用户输入的每个运行或任务也适用于诸如周期事件(每周,每月或每年)的安排.能否请您建议数据库模型 - 用于在DB中存储这些详细信息的表结构(带有约束),然后程序可以访问它以执行相应的任务.可以在以下链接中找到一些可能的调度程序详细信息的屏幕截图.

我们在后端运行了一个mysql DB来存储这些细节.一旦用户提交请求,具有请求细节的请求id就存储在表中,然后程序采取与其对应的动作.更清楚的是,用户的意图是运行sql脚本,获取值,然后对其执行统计分析.但是,由于oracle参考DB由许多用户动态更新,他希望以循环方式运行它并完成分析.请注意,mysql db和ref DB是不同的.

如果您需要任何其他细节,请告诉我.

sql database-design data-modeling

8
推荐指数
1
解决办法
3273
查看次数

使用存储在CoreData模型中的FetchRequests进行变量替换

我总是在代码中创建我的NSFetchRequests.现在我正在寻找Xcode GUI来构建一个获取请求并将其存储在模型中.

我正在关注Xcode文档中的一个示例.我向模型添加了一个获取请求,并且通过Modeling GUI创建的谓词是:

 firstName LIKE[c] "*SUBSTRING*"
Run Code Online (Sandbox Code Playgroud)

然后我用这两行检索该请求:

NSDictionary *substituionDictionary = [NSDictionary dictionaryWithObject:@"woody" forKey:@"SUBSTRING"];

NSFetchRequest *fetchRequest = [mom fetchRequestFromTemplateWithName:@"firstNameContains" substitutionVariables:substituionDictionary];
Run Code Online (Sandbox Code Playgroud)

生成的NSFetchRequest的NSLog输出:

(entity: Customer; predicate: (firstName LIKE[c] "*SUBSTRING*"); sortDescriptors: (null); limit: 0)
Run Code Online (Sandbox Code Playgroud)

..表示在返回存储的FetchRequest之前未替换变量.

那么,如何指定在Xcode数据建模获取请求谓词生成器GUI中输入的文本将在运行时由NSFetchRequest替换:fetchRequestFromTemplateWithName:substitutionVariables:?

谢谢!

伍迪

cocoa core-data data-modeling nspredicateeditor nsfetchrequest

8
推荐指数
1
解决办法
2892
查看次数

cakePHP数据模型具有多个外键到同一个表

基于cakePHP的数据模型约定,为了设置外键,我将指定一个列,其中source_table后跟一个_id.

我有一个帐户和一个account_messages表.现在,当我需要对同一个帐户表进行2次外键引用时,会出现复杂情况.具体来说,我需要跟踪TO字段中的account_id和消息中FROM字段中的account_id.

从docs/bakery,我会指定account_id ..但是我会为第二个引用指定什么?!?

这可能并且仍然受益于cakePHP的魔法代码吗?

任何见解将不胜感激.

RY

php cakephp data-modeling

8
推荐指数
1
解决办法
5955
查看次数

Redis多列范围查询

我有用户作为Redis Hashes,并希望根据工资和年龄找到类似的用户(给定特定用户).

<user>
  <id>101</id>
  <name>Neo</name>
  <age>30</age>
  <salary>300</salary>
  ....
</user>
Run Code Online (Sandbox Code Playgroud)

因此,在这种情况下,我需要找到接近我的年龄和工资的用户,这些用户都在某个给定的限度内接近我的工资.在SQL中,我会假设做类似的事情

SELECT id, abs(age - 30) as agediff, abs(salary - 300) as saldiff FROM
 USERS WHERE 
(age BETWEEN 25 35) AND (salary BETWEEN 250 350) ORDER BY agediff ASC, saldiff ASC
Run Code Online (Sandbox Code Playgroud)

我们可以这样做,比如说使用ZINTERSTORE,结果集合是按照SQL中的用户相似性排序的吗?

database-design data-modeling redis

8
推荐指数
1
解决办法
4240
查看次数

设计营业时间SQL表

我正在设计一个SQL表来存储商店的营业时间.

有些商店的营业时间非常简单:周一至周日上午9:30至晚上10:00

其他人则稍微复杂一点.请考虑以下情形:

Monday:  Open All Day
Tuesday: 7:30AM – 2:30PM & 4:15PM – 11:00 PM 
Wednesday: 7:00PM – 12:30 AM (technically closing on Thursday morning)
Thursday: 9:00AM – 6:00PM
Friday: closed.
Run Code Online (Sandbox Code Playgroud)

你会如何设计表格?

编辑

小时将用于显示商店是否在用户选择的时间打开.

不同的表可以处理任何异常,例如假期.

商店营业时间不会每周变化.

sql database-design data-modeling

8
推荐指数
1
解决办法
2726
查看次数

在RDF中建模等效的数据库NULL

我想知道是否有一种标准或普遍接受的方式来表示数据库中用于RDF数据的等效NULL.

更具体地说,我感兴趣的是一种方法来区分属性p的值o的以下情况(p是谓词,o RDF三元组的对象):

  1. 该值不适用,即属性p不存在或在上下文中没有意义.
  2. 价值是未知的,即它应该在那里,但我们不知道它.
  3. 该值不存在,即该属性没有值(例如,活着的人的死亡年份).
  4. 例如,当不允许数据使用者访问它时,该值是可见的.

null rdf data-modeling linked-data

8
推荐指数
2
解决办法
1050
查看次数

为休息通信cassandra建模帐户

我需要在cassandra中为帐户(名字,姓氏,电子邮件作为用户名等)以及当前活动的令牌建模.

我最初的想法是创建account_by_email哪些将通过带有静态列的电子邮件分区的瘦行,并且通过access_token(可能是TTL)进行聚类,并且总是可以根据当前电子邮件找到访问令牌.

但是我们要求客户端仅在登录后发送,access_token并且基于它必须从DB中提取当前用户.

我可以创建一个表,其中电子邮件将被分区,access_token但是作为开销和许多分区的接口.然后我就可以收到电子邮件access_token并通过电子邮件获得用户.

任何更好的想法和方法,它接缝这是常见的用例但是当cassandra用作存储时我找不到任何建模细节?

data-modeling cassandra

8
推荐指数
1
解决办法
102
查看次数

如何在 Power BI 的日期层次结构中包含“时间”

我正在 Power BI 中处理一份报告。我的数据模型中的一个表收集传感器数据。它具有以下列:

  • 串行(int) 即 123456789
  • 时间戳(日期时间)即 12/20/2016 12:04:23 PM
  • 读数(十进制)即 123.456

每隔几分钟就会添加一条新记录,其中包含传感器的当前读数。

Power BI 自动为日期时间列创建层次结构,其中包括年、季度、月和日。因此,当您向报告添加视觉对象时,您可以轻松深入到每个级别。

我想在层次结构中包含数据的“时间”部分,以便您可以在“天”之后再向下钻取一层,并查看该时间段的详细读数。

我已经使用 CALENDARAUTO() 函数设置了一个日期表,添加了所有适当的列,并将其与我的读数表相关联,以便按日期汇总数据 - 效果很好。但它不包括“时间”维度。

我查看了以下 SO 问题,但它们没有帮助:

由 Azure 数据仓库提供支持的 Power BI 中基于时间的钻取

在 PowerBI 中创建时间因素

我也找到了这篇文章,但它令人困惑:

Power BI 日期和时间维度工具包

有任何想法吗?

谢谢!

datetime data-modeling powerbi

8
推荐指数
3
解决办法
2万
查看次数