首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在数据库中保存三个权限级别

在数据库中保存三个权限级别
EN

Stack Overflow用户
提问于 2014-09-20 10:22:56
回答 1查看 132关注 0票数 2

在涉及两个以上级别的数据库中存储权限的最佳方法是什么?目前只有两个级别的权限,它们存储在一个桥接实体表中,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UID | Buildings | Floor
------------------------
 1  |  A, B, C  |  F9

还有另一个名为“异常”的表,它具有相同的结构,表示用户不应该对这些表拥有权限:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
UID | Buildings | Floor
------------------------
 1  |    null   |  C4

因此,在我上面的例子中,用户1有权进入F楼的9层,即A、B和C楼的所有房间,但C中的4楼没有权限。

新的要求是增加一个更细粒度的权限,房间在楼层。所以代码看起来像A1A,A1B等等。建筑物和房间总是字母顺序,楼层号码总是数字。I不能更改这些代码的格式,因为它们来自外部源.

处理这种情况最好的方法是什么?我知道Linux用一个字符串处理组和用户的文件权限,但在我的例子中有数千个空间听起来不可行,而且用户/组的事情也只有两个级别。

我已经考虑过添加一个名为Rooms的新列,并继续使用逗号分隔的字符串,但是有更好的方法吗?如果有关系,我使用的是MySQL。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-23 04:29:23

如果我必须实现这一点,我将使用一个包含三个列- uid、type和元素的表。Uid引用用户、类型(建筑物、楼层、房间)并构成建筑物或楼层或房间的代码元素。我通常会在每个access元素中为每个人插入一行。

我也可以变得更加大胆,如果我确信元素的格式遵循严格的模式。例如

建筑物只会有字母代码

楼层将有类似letter.number的代码

房间里会有像letter.number.letter这样的代码

在上述情况下,您可以使用一个只有uid和元素列的表,因为根据数据的格式,您可以提取元素的类型(如果是建筑物、楼层或房间)。您还可以进一步使用通配符存储访问:

进入C楼所有楼层和房间的通道: C*

进入B楼6楼所有房间: B6*

甚至是

进入所有楼层和建筑物的所有C室:**C

进入所有二楼:*2*

希望它能帮上忙

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

https://stackoverflow.com/questions/25951967

复制
相关文章
Python中lambda(),filter(),map()函数
参考链接: Python lambda (匿名函数) | filter, map, reduce
用户7886150
2021/01/12
1K0
如何使用Python的lambda、map和filter函数
Python lambda函数,又称匿名函数,与我们使用def…语句创建的函数不同,可以命名函数,lambda函数不需要名称。当需要一个快速且不需要经常重复使用的(通常是一个小的)函数时,它非常有用。单独使用Lambda函数可能没有太多意义。lambda函数的价值在于它在哪里与另一个函数(例如map()或filter())一起使用。
fanjy
2022/06/04
2.1K0
如何使用Python的lambda、map和filter函数
针对map的lambda
例如原来的: Steam.of(Maps.of("foo", "bar")) .map(e -> e.getKey() + e.getValue()) .findFirst(); 现在 Steam.of(Maps.of("foo", "bar")) .map(SerFunc.entryFunc((key, value) -> key + value)) .findFirst();
阿超
2023/05/22
2190
python map()函数和lambda表达式
python map(fun,[arg]+)函数最少有两个参数,第一参数为一个函数名,第二个参数是对应的这个函数的参数(一般为一个或多个list)。
用户7886150
2021/01/25
6090
lambda与函数式
前面两篇文章介绍了什么是响应式编程?和响应式流的特性,一味讲概念终是枯燥,还是上手敲一敲代码实在感受一下响应式编程的“手感”吧。
Java3y
2019/10/23
5270
lambda与函数式
1.3 Hello,reactive world 前面两篇文章介绍了响应式编程和响应式流的特性,一味讲概念终是枯燥,还是上手敲一敲代码实在感受一下响应式编程的“手感”吧。 (3)lambda与函数式——响应式Spring的道法术器 这一节,我们先了解一下lambda与函数式(已经了解的朋友可以直接跳到1.3.2),熟悉一下如何使用Reactor进行响应式编程,然后使用Spring Boot2,基于Spring 5的Webflux和Reactive Spring Data逐步开发一个“Hello world”
IT架构圈
2018/06/01
5040
【Python】函数进阶 ④ ( Lambda 匿名函数 | 具名函数与匿名函数 | Lambda 函数定义语法 )
在 Python 中 , 使用 def 关键字定义的函数 是 " 具名函数 " , 也就是有名字的函数 ;
韩曙亮
2023/10/11
3390
【Python】函数进阶 ④ ( Lambda 匿名函数 | 具名函数与匿名函数 | Lambda 函数定义语法 )
强大的匿名函数lambda使用方法,结合map、apply等
在Python中,lambda的语法形式如下: lambda argument_list: expression lambda是Python预留的关键字,argument_list和expression由用户自定义。
自学气象人
2022/11/14
1.6K0
强大的匿名函数lambda使用方法,结合map、apply等
Python的lambda表达式、filter、map、reduce等函数的用法
参考链接: Python lambda (匿名函数) | filter, map, reduce
用户7886150
2021/01/12
9590
[Python]中filter、map、reduce、lambda的用法
原文链接:http://blog.csdn.net/humanking7/article/details/45950985
祥知道
2020/03/10
6410
[编程经验]Python中的Lambda,Map, Reduce小结
今天要和大家分享的是Python匿名函数(anonymous functions),也叫lambda函数。匿名函数的意思就是说这个函数没有显式的函数名,因为一般在Python中定义函数的时候都是这个样子的,def function_name(参数列表): balabalaba。暂且把具有function_name的函数称作常规函数,而匿名函数就称作lambda函数。匿名函数没有显式的函数名,但是有显式的lambda标志,写了lambda的函数就可以称作匿名函数。一般情况大家不愿意用匿名函数(因为他 们不会用
用户1622570
2018/04/11
8500
python中的zip、lambda、map操作
python 中有几个比较酷炫的操作,比如:zip、lambda、map 一、zip操作 zip字面意思:拉链。这么记,把几个东西扔到一个包里,拉上拉链,就算打包好了。通俗点讲,就是把第1个参数,与第2个参数,按位置1个个对齐,组成一系列元组. x = (1, 2) y = ("a", "b") zip_result = zip(x, y) print(list(zip_result)) x = [4, 5, 6] y = ['d', 'e'] zip_result = zip(x, y) print(
菩提树下的杨过
2018/04/16
1K0
lambda函数
lambda函数就是我们常说的匿名函数,就是不用定义函数名,lambda更像是一个表达式,限制了程序的嵌套,是一个为编写简单的函数而设计的。
dogfei
2020/07/31
9340
python的lambda函数
在Python中,lambda函数是一种匿名函数,也被称为"小型"或"即时"函数。与常规的函数不同,lambda函数没有名称,并且通常用于单行代码的简单功能。它们的语法如下:
叶茂林
2023/07/30
2450
set map list 之间的关联关系
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
suveng
2019/09/17
4640
set map list 之间的关联关系
详细讲解:python中的lambda与sorted函数
python中的lambda函数可以接受任意数量的参数,但只能有一个表达式。也就是说,lambda表达式适用于表示内部仅包含1行表达式的函数。那么lambda表达式的优势就很明显了:
计算机与AI
2020/12/14
2.8K0
详细讲解:python中的lambda与sorted函数
java8之后的List与Map遍历(Lambda 表达式)
不要在foreach循环里进行元素的remove/add操作。remove元素请使用Iterator方式,如果并发操作,需要对Iterator对象加锁。
向着百万年薪努力的小赵
2022/12/01
6740
【Python】PySpark 数据计算 ① ( RDD#map 方法 | RDD#map 语法 | 传入普通函数 | 传入 lambda 匿名函数 | 链式调用 )
在 PySpark 中 RDD 对象 提供了一种 数据计算方法 RDD#map 方法 ;
韩曙亮
2023/10/11
7380
【Python】PySpark 数据计算 ① ( RDD#map 方法 | RDD#map 语法 | 传入普通函数 | 传入 lambda 匿名函数 | 链式调用 )
学习LAMBDA函数:将Excel公式转换为自定义函数(下)
引言:本文学习整理自microsoft.com,LAMBDA的真正的解决了Excel公式存在的先天不足,让Excel公式真正的强大起来了。
fanjy
2023/02/16
2.5K0
学习LAMBDA函数:将Excel公式转换为自定义函数(下)
点击加载更多

相似问题

Ethereum闹钟还活着吗?

30

钱包格栅攻击还存在吗?

10

紫红色的纸还真的吗?

10

瓦斯用完了,还能还吗?

10

坚固的还绳不十六进制吗?

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文