仪器类型表
-----------------------
仪器类型编号    PK
仪器类型名称
仪器类型描述
...
仪器信息表
-----------------------
仪器类型编号    FK  --仪器类型表(仪器类型编号)
仪器编号       PK
仪器名称
仪器描述
仪器参数1
仪器参数2
...
仪器读数表
-----------------------
仪器编号       FK  --仪器信息表(仪器编号)
测读时间
仪器读数1
仪器读数2 
...

解决方案 »

  1.   

    libin_ftsafe:
      PK仪器类型编号和FK仪器编号是怎样确立层级关系的,设为外部键吗?
      

  2.   

    表结构设计
    ----------------------------------------------------------------
    A:  类型表  (类型ID,名称,描述)
        类型ID    主键(作为B表的外键)B:  明细表  (仪器ID,所属类型ID,仪器名称,描述,参数1,参数2..更多字段)  
        仪器ID    主键
        所属类型ID外键,与A表的类型ID对应关联
    ----------------------------------------------------------------
      

  3.   

    谢谢libin_ftsafe和wwh999,
    大概清楚怎么做了,原来一直看书看的迷迷糊糊的。
    我刚学SQL Server 以后请你们多多指教。
      

  4.   

    --生成测试用数据
    use pubs
    go
    CREATE TABLE 类型表(类型ID INT,类型名称 varchar(20),类型描述 varchar(30))
    INSERT INTO 类型表 SELECT 1,'工控测绘','工控测绘的描述性文字'
    UNION ALL SELECT 2,'数控设备','描述项'CREATE TABLE 仪器表(仪器ID INT,所属类型ID INT,仪器名称 varchar(10),仪器描述 varchar(30),出产编号 varchar(10),参数1 varchar(10),参数2 varchar(10))
    INSERT INTO 仪器表 SELECT 1,1,'仪器1','描述项','NO.1','BGK4400','0+450'
    UNION ALL SELECT 2,1,'仪器2','描述项','BGK4400','NO.2','0+455'
    UNION ALL SELECT 3,1,'仪器3','描述项','BGK4400','NO.3','0+460'
    GO
    CREATE TABLE 测试表(自动序号 INT IDENTITY(1,1),仪器ID INT,测试时间 datetime ,读数1 Decimal(10,2),读数2 Decimal(10,2))
    INSERT INTO 测试表 SELECT 1,GETDATE(),4104.4,7.8
    INSERT INTO 测试表 SELECT 2,GETDATE(),4105,7.8
    INSERT INTO 测试表 SELECT 3,GETDATE(),4103,7.8 GO
    --查询效果演示
    SELECT * FROM 类型表
    SELECT * FROM 仪器表
    SELECT * FROM 测试表SELECT 类型名称 AS 仪器种类,仪器名称,出产编号,参数1,参数2,测试时间,读数1,读数2
    FROM 类型表 A,仪器表 B,测试表 C
    WHERE A.类型ID=B.所属类型ID AND B.仪器ID=C.仪器ID
    GO
    --删除测试用数据
    DROP TABLE 类型表,仪器表,测试表
      

  5.   

    已经结贴了?   算了,还是贴出来...刚才闲了一会儿,就把整个结构写上让你看看...
    ------------------------------------------------------------------------------
    上面的语句执行的结果,你看看,希望能有所帮助,不枉我一翻狂敲键盘啊...呵呵!
    类型ID        类型名称                 类型描述                           
    ----------- -------------------- ------------------------------ 
    1           工控测绘                 工控测绘的描述性文字
    2           数控设备                 描述项(所影响的行数为 2 行)仪器ID        所属类型ID      仪器名称  仪器描述       出产编号       参数1        参数2        
    ----------- ----------- ----- ---------- ---------- ---------- ---------- 
    1           1           仪器1   描述项        NO.1       BGK4400    0+450
    2           1           仪器2   描述项        BGK4400    NO.2       0+455
    3           1           仪器3   描述项        BGK4400    NO.3       0+460(所影响的行数为 3 行)自动序号        仪器ID        测试时间                                                   读数1          读数2          
    ----------- ----------- ------------------------------------------------------ ------------ ------------ 
    1           1           2006-07-19 15:34:00                                    4104.40      7.80
    2           2           2006-07-19 15:34:00                                    4105.00      7.80
    3           3           2006-07-19 15:34:00                                    4103.00      7.80(所影响的行数为 3 行)
      

  6.   

    上面是三张表,,查询可以用我楼上的楼上的那里面的查询语句,得到结果:
    仪器种类                 仪器名称  出产编号       参数1        参数2        测试时间                                                   读数1          读数2          
    -------------------- ----- ---------- ---------- ---------- ------------------------------------------------------ ------------ ------------ 
    工控测绘                 仪器1   NO.1       BGK4400    0+450      2006-07-19 15:34:00                                    4104.40      7.80
    工控测绘                 仪器2   BGK4400    NO.2       0+455      2006-07-19 15:34:00                                    4105.00      7.80
    工控测绘                 仪器3   BGK4400    NO.3       0+460      2006-07-19 15:34:00                                    4103.00      7.80(所影响的行数为 3 行)