| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 821 人关注过本帖
标题:建表思路求助
只看楼主 加入收藏
一番宝瓶
Rank: 1
等 级:新手上路
帖 子:239
专家分:0
注 册:2007-7-14
收藏
 问题点数:0 回复次数:1 
建表思路求助
在VC中需要用到按照数据库动态建树。。。

比如树的形式是:

+语言
    -编程语言
       ●VB
      ●C++
    -自然语言
       ●汉语
       ●英语
         ...


普通节点只包含本身信息,而每个最小节点的语言都有具体属性。如节点自然语言包含的信息是“人类通过语音进行交流的方式,分为汉语和英语”,子节点汉语包含信息是“中国人使用的语言;汉字表示等”

我在数据库中建表的时候应该如何分配呢,象下面这样建好像不行

第一章表为语言,主键为“类别”,包含三行数据“编程语言”和“自然语言”

第二张表是自然语言,主键是“类别”包含两行数据“汉语”和“英语”,外键是语言类别,都属于自然语言

第三章表是编程语言,主键是“类别”包含两行数据“C++”和“VB “,外键是语言类别,都属于编程语言
。。。

达人们帮出出注意如何建表。  THX  
搜索更多相关主题的帖子: 思路 
2007-12-17 18:09
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
建议看看bom表.
[url]http://hi.[/url]

CREATE TABLE t(
    科目 NVARCHAR(60), --节点
    隶属 NVARCHAR(60), --父节点
)
INSERT INTO t VALUES(N'网络应用',N'计算机')
INSERT INTO t VALUES(N'网络安全',N'网络应用')
INSERT INTO t VALUES(N'网络编程',N'网络安全')
INSERT INTO t VALUES(N'图像设计',N'计算机')
INSERT INTO t VALUES(N'PHOTOSHOP',N'图像设计')
GO
CREATE FUNCTION dbo.TreeResult(@Parent NVARCHAR(60))
    RETURNS @T TABLE(科目 NVARCHAR(60),隶属 NVARCHAR(60),
                     Level INT,SORT NVARCHAR(1000))
AS
BEGIN
    DECLARE @Level INT
    SET @Level=1

    INSERT INTO @T SELECT 科目,隶属,@Level,隶属+科目
                   FROM t
                   WHERE 隶属=@Parent
    WHILE @@ROWCOUNT>0
    BEGIN
        SET @Level=@Level+1
        INSERT INTO @T SELECT a.科目,a.隶属,@Level,b.SORT+a.科目
                       FROM t a,@t b
                       WHERE a.隶属=b.科目 AND b.Level=@Level-1
    END
    RETURN
END
GO

SELECT Level,SPACE(2*(Level-1))+'|--'+科目 AS 科目
FROM dbo.TreeResult(N'计算机')
ORDER BY SORT

DROP TABLE t
DROP FUNCTION TreeResult

 

/*

Level       科目                                                                                         
----------- ---------------
1           |--图像设计
2             |--PHOTOSHOP
1           |--网络应用
2             |--网络安全
3               |--网络编程

(所影响的行数为 5 行)

*/

我的msn: myfend@
2007-12-17 18:17
快速回复:建表思路求助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016863 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved