节目表
-------------
节目编号
节目名称
节目描述
...
节目附件表
-------------
节目编号    --对应节目表的节目编号字段
附件序号    --指示附件的排列顺序
附件类型    --指示附件为图片或文本
附件编号    --指示附件对应的ImgId或TextID

解决方案 »

  1.   

    Program(节目表)
      (programId,kind(类别:图片或文本),itemId(图片Id 或 文本Id))
      

  2.   

    Program(节目表)
      (programId,kindID,memo)
    Pic(图片表)
    (PicID,KindID,PicUrl,PicMemo)
    Text(文本表)
    (TxtID,KindID,TxtUrl,TxtMemo)可以建立外键关系,但是如果有其他项目要用图片的话,那么可以不建立。方便以后比如,有其他表要用到图片和文本的话,那么增加关联就可以了!
      

  3.   

    如果是要查询此节目中的所有图片和文本的话,那么就你可以考虑使用视图,或者使用连接三表。
    查看所有节目的所有图片
    create view Look_Picture(ProgramID,PicID,PicUrl,PicMemo)
    as
    select a.ProgramID,b.PicID,b.PicUrl,b.PicMemo
    from Program a,Pic b
    where a.KindID=b.KindID
    go用连接的方式要快点,因为on的方式比where要快
    select a.ProgramID,b.PicID,b.PicUrl,b.PicMemo
    from Program a
    inner join Pic b
    on a.KindID=b.KindID
      

  4.   

    libin_ftsafe(子陌红尘) 的结构比较好,一个节目对应多条节目附件表的记录,能够达到楼主要的效果.
      

  5.   

    up:libin_ftsafe(子陌红尘) 的设计思路,可行