只能建两个TABLE,象 jiezhi(西域浪子)的冗余太多。
或者:
   
处方编号 code  varchar2(12)
病人编号 ID    varchar2(8)
主治医师 doctor varchar2(8)
药方     YF   varchar2(2048)---足够大, {药品编号,名称,产地,分类}
里面的结构、分界符自己定义,如:YF的值
{“1001”,“阿司匹林”,“杭州.....”,“A”}{“1003”,“土霉素”,“永州.....”,“B”}
编程有点繁,要insert、UPDATE时要组织和SELECT是要解析
              

解决方案 »

  1.   

    to biggenie(白开水) 我很同意zhangshunshi(宇轩)的方案3600个纪录不是问题!
    1、这个几个表很“窄“,I/O负载小
    2、可以优化数据库的性能 索引/分区
      

  2.   

    记录多没关系,我们可以按照日期(如月份),建立分区表,如果记录比较大还可以考虑按天分区,然后建立局部分区索引,速度问题可以解决注:我们可以考虑在某一时间段,历史数据还要转储(可以建立历史记录表),可以缓解数据量大的问题。我做过HIS,数据处理时还利用了临时表和中间表。
      

  3.   

    关联表建相同结构的多张
    处方明细1
    处方明细2
    处方明细3
    处方明细4
    处方明细5
    用来存放不同时间段的处方,如:处方明细1(存放2001年的)处方明细2(存放2002年的)
    然后创建视图 create view 处方明细 as select * from 处方明细1
     union all
    select * from 处方明细2 ..
    不需要查询的数据就从视图中删除。需要的时候再加入。