数据库表结构设计

Ami121 2009-07-28 12:00:41
需求 :
注册用户表 设备表 下线用户表 下线用户,设备是只有注册用户才能添加的 下线用户具有管理设备,查看设备的权力,但没
有删除的权力,注册用户具有所有权力 。
现在是这样设计的:
注册用户表具有的键值:
用户名,密码,地址,电话,等一些基本信息,
设备表键值:
设备序列号,设备名称 ,设备信息,用户ID对应的是下线用户的ID,
下线用户具有的键值:
管理员ID,用户名,密码,管理权限(管理员,操作员,查看员),而且在这个表中 又将注册用户的用户名密码又添加了一

下线用户--装置关系表
装置ID
下线用户ID

感觉设计不合理 ,希望高手指点一下
...全文
287 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
inthirties 2009-07-28
  • 打赏
  • 举报
回复
你觉得什么地方不合理呀?

我觉得好像也没有什么出问题得地方,

就是
设备表,里用户ID对应的是下线用户的ID,这里不知道你们会不会出现一个设备多个下线用户使用得case,如果出现得话,就不号

下线用户--装置关系表
这个表,是描述得下线用户和设备得关系,那么还记得上面设备表里也有个用户id也是记得下线id,这里是不是有问题,是不是上面得用户id应该是创建这个设备得用户得id呀。

设计需要和你的需求一起进行建模,建模的方法和依据就是我们的数据库设计的里的三个范式。
majy 2009-07-28
  • 打赏
  • 举报
回复
就用一张用户表:
用户名,密码,地址,电话,
用户状态(1: 注册用户 2下线用户 3其他),
管理权限(管理员,操作员,查看员)
Ami121 2009-07-28
  • 打赏
  • 举报
回复
不错 谢谢啦
inthirties 2009-07-28
  • 打赏
  • 举报
回复
管理开发的书,可以看这里
http://groups.google.com/group/inthirties/files
Ami121 2009-07-28
  • 打赏
  • 举报
回复
inthirties
能不能推荐几本好的数据库书籍啊
inthirties 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 ami121 的回复:]
引用 14 楼 inthirties 的回复:
引用 12 楼 ami121 的回复:
修改了一下 在下线用户--装置关系表 多添加了一个键值装置管理状态
  注册用户表
  用户名,密码,地址,电话,等一些基本信息,
  设备表:
  设备序列号,设备名称 ,设备信息,用户ID对应的是下线用户的ID,
  下线用户具有的键值:
  管理员ID,用户名,密码,管理权限(管理员,操作员,查看员),而且在这个表中 又将注册用户的用户名密码又添加了一
  次
  下线用户--装置关系表
  装置ID
  下线用户ID
装置管理状态 创建,管理,查看三种状态


  下线用户--装置关系表
  装置ID
  下线用户ID
  如果考虑到你这个应用的话
加个主键id最好。

至于状态或者操作历史,都可以根据你们的需求对这个表扩展或者是分子表来做选择,还是根据上面提到的,数据库设计范式就是你的指导,有了模型,然后在考虑冗余和性能的矛盾问题。

感觉这个需求的主要问题 是用户设置方面的合理性 如何处理好注册用户,下线用户以及他们之间的关系 整个数据库的设计也就不难了
[/Quote]

是的,数据库建模式过程上是简单的,但是分析有效模型以及各模型的之间的关系这个是需要你的经验和对业务的熟悉程度的积累的。
Ami121 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 inthirties 的回复:]
引用 12 楼 ami121 的回复:
修改了一下 在下线用户--装置关系表 多添加了一个键值装置管理状态
注册用户表
用户名,密码,地址,电话,等一些基本信息,
设备表:
设备序列号,设备名称 ,设备信息,用户ID对应的是下线用户的ID,
下线用户具有的键值:
管理员ID,用户名,密码,管理权限(管理员,操作员,查看员),而且在这个表中 又将注册用户的用户名密码又添加了一

下线用户--装置关系表
装置ID
下线用户ID
装置管理状态 创建,管理,查看三种状态


下线用户--装置关系表
装置ID
下线用户ID
如果考虑到你这个应用的话
加个主键id最好。

至于状态或者操作历史,都可以根据你们的需求对这个表扩展或者是分子表来做选择,还是根据上面提到的,数据库设计范式就是你的指导,有了模型,然后在考虑冗余和性能的矛盾问题。
[/Quote]
感觉这个需求的主要问题 是用户设置方面的合理性 如何处理好注册用户,下线用户以及他们之间的关系 整个数据库的设计也就不难了
inthirties 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 ami121 的回复:]
修改了一下 在下线用户--装置关系表 多添加了一个键值装置管理状态
注册用户表
用户名,密码,地址,电话,等一些基本信息,
设备表:
设备序列号,设备名称 ,设备信息,用户ID对应的是下线用户的ID,
下线用户具有的键值:
管理员ID,用户名,密码,管理权限(管理员,操作员,查看员),而且在这个表中 又将注册用户的用户名密码又添加了一

下线用户--装置关系表
装置ID
下线用户ID
装置管理状态 创建,管理,查看三种状态
[/Quote]

下线用户--装置关系表
装置ID
下线用户ID
如果考虑到你这个应用的话
加个主键id最好。

至于状态或者操作历史,都可以根据你们的需求对这个表扩展或者是分子表来做选择,还是根据上面提到的,数据库设计范式就是你的指导,有了模型,然后在考虑冗余和性能的矛盾问题。
xjwy 2009-07-28
  • 打赏
  • 举报
回复
学习
Ami121 2009-07-28
  • 打赏
  • 举报
回复
修改了一下 在下线用户--装置关系表 多添加了一个键值 装置管理状态
注册用户表
用户名,密码,地址,电话,等一些基本信息,
设备表:
设备序列号,设备名称 ,设备信息,用户ID对应的是下线用户的ID,
下线用户具有的键值:
管理员ID,用户名,密码,管理权限(管理员,操作员,查看员),而且在这个表中 又将注册用户的用户名密码又添加了一

下线用户--装置关系表
装置ID
下线用户ID
装置管理状态 创建,管理,查看三种状态
Ami121 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 inthirties 的回复:]
什么表和什么表是多对多的呀。

设备表--下线用户关系表
这个当然是多对多的,


设备表-注册用户表
这个是多对一的。 一个注册用户可以创建多个设备,而一个设备只有一个创建者。
[/Quote]
对 你说的没错
那我这个下线用户--装置关系表
下线用户ID
设备ID 就应该被创建
majy 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ami121 的回复:]
都放在一张表不太合适吧
注册用户有十多个键值 需要填写的
而下线用户的键值就只有几个需要填写的
难道在添加下线用户时把其他键值都空着
[/Quote]

用一张表方便维护,也方便统计,字段空着有什么关系,他就是空的嘛。
inthirties 2009-07-28
  • 打赏
  • 举报
回复
什么表和什么表是多对多的呀。

设备表--下线用户关系表
这个当然是多对多的,


设备表-注册用户表
这个是多对一的。 一个注册用户可以创建多个设备,而一个设备只有一个创建者。
Ami121 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ami121 的回复:]
引用 5 楼 inthirties 的回复:
设备表,里用户ID对应的是下线用户的ID,

这里有问题了,应该是注册用户id,而不是下线用户ID,

其他的好像没有什么问题了。

哦 写错了 是注册用户ID
[/Quote]
不对 应该是下线用户ID
因为这两个表是多对多的关系在 而且注册用户的信息也写入到了下线用户表中 设备表与下线用户之间在建立一个表
设备表--下线用户关系表
设备ID
下线用户ID

inthirties 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 ami121 的回复:]
引用 5 楼 inthirties 的回复:
设备表,里用户ID对应的是下线用户的ID,

这里有问题了,应该是注册用户id,而不是下线用户ID,

其他的好像没有什么问题了。

哦 写错了 是注册用户ID
[/Quote]

其他的地方,看不出有什么大的逻辑问题,

你觉得有问题是哪个地方?你自己可以提出来,大家一起讨论讨论。
Ami121 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 inthirties 的回复:]
设备表,里用户ID对应的是下线用户的ID,

这里有问题了,应该是注册用户id,而不是下线用户ID,

其他的好像没有什么问题了。
[/Quote]
哦 写错了 是注册用户ID
inthirties 2009-07-28
  • 打赏
  • 举报
回复

设备表,里用户ID对应的是下线用户的ID,

这里有问题了,应该是注册用户id,而不是下线用户ID,

其他的好像没有什么问题了。
Ami121 2009-07-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 inthirties 的回复:]
你觉得什么地方不合理呀?

我觉得好像也没有什么出问题得地方,

就是
设备表,里用户ID对应的是下线用户的ID,这里不知道你们会不会出现一个设备多个下线用户使用得case,如果出现得话,就不号

下线用户--装置关系表
这个表,是描述得下线用户和设备得关系,那么还记得上面设备表里也有个用户id也是记得下线id,这里是不是有问题,是不是上面得用户id应该是创建这个设备得用户得id呀。

设计需要和你的需求一起进行建模,建模的方法和依据就是我们的数据库设计的里的三个范式。

[/Quote]
一个用户可能对应多个多个设备 一个设备可以被多个下线用户管理 查看 但是只有注册用户具备设备的修改删除权限
Ami121 2009-07-28
  • 打赏
  • 举报
回复
都放在一张表不太合适吧
注册用户有十多个键值 需要填写的
而下线用户的键值就只有几个需要填写的
难道在添加下线用户时把其他键值都空着

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧