请教数据库设计与其DBTree如何实现问题(100分)

  • 主题发起人 主题发起人 nzfsoft
  • 开始时间 开始时间
N

nzfsoft

Unregistered / Unconfirmed
GUEST, unregistred user!
要求如下:
A表为学校的汇总表。内存放本地区总共有那几所学校。
B表为各个学校的专业设置表。表示某学校有那些专业
C表为某专业的班级表。表示此专业有那些班级。
D表为学生信息表。E表为学生家长信息表

其中ABC三表都是由最终用户可维护。
当用户选择到专业时,右边出现班级中所有同学的信息与其家长信息。。
而且用户可以把学生从一个班到另一个班,以方便调班。
(注意:学生信息表可能上百万,请考虑处理时间)

请教如何设计数据库,及用何种DBtree来实现树结构,如何实现拖动
 
选择专业,应该出现班级的呀?选择班级,才会出现学生信息.
可以首先装入学校汇总表,其它的不装入.
点击某个学校,装入该学校的专业设置.
点击某个专业,出现该专业的班级.
反正只装入相关信息,其它的不装入.
比如,你专业A,那么只装入A的班级信息,而专业B的,不装入。
 
需要帮助到什么程度?
生成速度,可以考虑用TDCTree第三方控件。
生成树速度是TTreeView的n倍块。
树性结构需要数具有一定结构。
操作实在不难,有问题问明确点。
 
lstclass的dbtreeview可以实现我的目标吗?数据库如何设计?
初学delphi请大家多多指教
 
说实话,我对dbtree不懂,是第一次做。。。。。惭。。。。
 
要是能给我devExpress dbtree或lstclass的如我要求的例程,就好了。。。。。
 
我没用过devexpress dbtree,但用过dbtreelist,也是一种树形控件。
对你的应用没多大问题,只是设置几个属性就行了。
这些控件一般都带有demo,一看就会。
 
就拿你讲的dbtreelist来讲吧。最起码它无法从数据库中取数据。。。。。
 
LstClass 的 DBTree可以实现我的要求吗?
 
LstClass 有自带的例子程序,你自己看看合适否啊?怎么去问人啦?[:)]
 
呵,自己不能写个树吗???
搜索一下,大富翁上有源码
 
各位大哥 不要考我了。给我直接讲一讲吧。
 
表的结构
A表为学校的汇总表。school
ID, Name
B表为各个学校的专业设置表。表示某学校有那些专业 specialty
ID, SchoolID, Name
C表为某专业的班级表。表示此专业有那些班级。class
ID, SpecialtyID, Name
D表为学生信息表。Student
ID, ClassID, Name
E表为学生家长信息表 StudenParent
ID, StudentID, Name
这里建立表的关系是:
school
|--specialty
|--class
|--Student
|--StudenParent

关于树节点数据结构的基本要求是:
SelfID, ParentID, NodeText
这里的SelfID就是表中的ID, PrentID就是对应关系中上级表的ID。
如果你要使用DBTree一类的控件,你就要考虑用存储过程生成一张
SelfID, ParentID, Name的表和上面提到的树节点数据结构对应
(如何生成这个结果集请看这个:http://www.delphibbs.com/delphibbs/dispq.asp?lid=1198089)

考虑速度,只生成到这一步即可:.
school
|--specialty
|--class
当Class被点击时再做Query

 
还有其他的办法吗????继续。。。。
 
blue_morning:非常感谢你,你的SQL我看了。
可如何运用到我的里面,并形成DBTREE所需的树形数据表我依然不知道如何生成。
因为我的数据有好多张表。

另外,学生姓名与家长信息不是上下级关系,而是通过选择学号得到的具体最终内容。
 
也就是讲,我如何在服务器端创建存储过程,用来合并我那几张表。
并形成符合 DBTREE所需的记录集?

我这个并不清楚如何具体来做。请继续教我。。。。
 
>>LstClass 的 DBTree可以实现我的要求吗?

应该可以实现.我曾用它显示过数据.在这三个库文件内必须设置好关连的字段.使用时
再设置第一个库文件及最后的一个库文件就可以了.不过在编辑方面我倒没有用过...
 
一般来说DBTree都有二个生成树字段的属性:
KeyField ->SelfID
ParentField ->ParentID
你先做一张表如:
SelfID ParentID Name
-------------------------
1 0 One
2 1 Two
3 2 Three
4 3 Fore
然后找个树控件先把这个表按树显示出来,
再来考虑用存储过程如何生成表。
 
后退
顶部