各路高人:怎样制定这个数据库方案?(50分)

  • 主题发起人 主题发起人 ohsee
  • 开始时间 开始时间
O

ohsee

Unregistered / Unconfirmed
GUEST, unregistred user!
对于数据库编程,我只用过table、sql、datasource、dbgrid这几个控件编了一个通信录,
对于sql强大的查询功能印象很深,特爽,美中不足的是用sql组合查询的结果编辑很麻烦,
反正自己用,将就着吧;但是现在想做一个程序,sql的美中不足将给我造成不小的麻烦,
因为想实现的功能:
使用此数据库的人员分成不同等级:根据用户帐号、用户权限及用户密码来决定他只能
访问某些记录,并且可以对这些记录进行编辑、修改、增加、查询、统计、删除等等一切
操作!而权限高的人员可以对数据库的所有记录进行这些操作。
我计划:使用主从表,但不知道是否可行?在实施之前先询问一下各位专家,以防前功尽弃!
我把当前的待答问题全看了一遍(13页哪,我们的网络很慢!苦哇!)没有找到很好的灵感,
只好提出了(想省点钱,不成耶)。
请问:1.使用哪些控件?
2.paradox数据库如何?
3.使用主从表如何?
4.实现的思路是啥?
因为我初涉数据库,这个问题对我来说挺难,论坛是藏龙卧虎之地,也许容易解决吧?
定价50元(不好意思),节衣缩食,攒点金子,以后我可能常常来此,请大家多多指教。


 
表:user,data,level
level表,把对应user的所有能操作的data记录的ID(包括userid)存进去


user表
userid username
data表
dataid datainfo
level表
level_userid level_dataid

选择的时候用
select datainfo from data,level,user where level.level_userid=user.userid and data.dataid in (level_dataid) and userid(userid)=输入的用户名或ID
上面一句有点乱,临时想的,不好意思
 
3张表搞定:
1。包含你实际数据的表table1,主键是tableid。
2。用户表users,主键是userid,字段可以是username,password等等。
3。权限分配表userrights,字段为userid(外键,对应users的userid),tableid(外键,
对应table1的tableid),canselect(是否能对纪录查询的标志),candelete(是否能对纪
录删除的标志),等等。。。
4。表table1和userrights是一对多(主从表)的关系,表users和表userrights是一对多
(主从表)的关系。
 
我想不要那么复杂,只要在你的data库和user库里面都加1个type字段,
那么在sql语句里只需要加1个 ...and type=:m_type...
然后给 m_type 赋 user库里定位的那个记录的 type 的值不就行了么?
而且,你可以把type的值分为很多情况,这样就可以控制多种不同权限
的查询了。我就是用paradox加sql做的!
 
to:笨笨了
如果出现这样的情况,记录1希望能被用户1查询,那按我的理解纪录1的type应该是1,
用户1的type也应该是1,记录1不希望被用户2访问,那用户2的type应该不为1。
这时我希望另一条纪录2能被用户1和用户2同时访问,怎么办?
 
用户1的type里是1,2
用户2的type里是2
记录1的type里是1
记录2的type里是2
再判断一下用户1或用户2的type里有没有,不就行了!
 
先谢谢各位的热心指点;不过进行编辑、修改、增加、查询、统计、删除等等一切
操作使用什么控件方便呢?
 
To:Junior
1.主键是在用desktop建立表是设置key时设置的,请问您说的外键是如何建立的?
您的思路我看明白了。
2.但是还有点问题:通过sql查询符合条件的记录后,如何进行
各种操作?因为通过联合查询的sql结果是不可编辑的。
第二个问题也向笨笨了和antdown咨询。再此感谢。


 
外键在DBD里 TableProperties里选Secondindexes (本来是invalidity checks)
 
多人接受答案了。
 
后退
顶部