数据库表中,同一个库的表中能不能有一个表中的非主键出现在另一个表中的主键,这样好吗,还是不可以
其实我很想用ID做主键,可是有人不同意,硬要说不可能所有的表都用ID做主键,所以出现以不情况
打个比方
T_Computer     (IP(主键) UserName ComputerName)
T_HardHistory  (ComputerName(主键) HardName HardSort ChangeTime User_ID)
这样行吗,只要行就可以谢谢各位!!

解决方案 »

  1.   

    那可不可以这样呢?
    T_Computer    (ComputerName(主键) UserName IP) 
    T_HardHistory  (ComputerName(主键) HardName HardSort ChangeTime User_ID) 请告之,谢谢
      

  2.   

    --可以
    IF OBJECT_ID('T_HardHistory')IS NOT NULL DROP TABLE T_HardHistory
    GO
    IF OBJECT_ID('T_Computer')IS NOT NULL DROP TABLE T_Computer
    GO
    CREATE TABLE T_Computer    (IP VARCHAR(20) PRIMARY KEY,UserName VARCHAR(10), ComputerName VARCHAR(10) UNIQUE) CREATE TABLE T_HardHistory  (ComputerName VARCHAR(10) PRIMARY KEY FOREIGN KEY REFERENCES T_Computer( ComputerName),
     HardName VARCHAR(10), HardSort VARCHAR(10), ChangeTime DATETIME, [User_ID] VARCHAR(10)) 
      

  3.   

    --也可以
    IF OBJECT_ID('T_HardHistory')IS NOT NULL DROP TABLE T_HardHistory
    GO
    IF OBJECT_ID('T_Computer')IS NOT NULL DROP TABLE T_Computer
    GO
    CREATE TABLE T_Computer    ( ComputerName VARCHAR(10) PRIMARY KEY,UserName VARCHAR(10),IP VARCHAR(20) ) CREATE TABLE T_HardHistory  (ComputerName VARCHAR(10) PRIMARY KEY FOREIGN KEY REFERENCES T_Computer( ComputerName),
     HardName VARCHAR(10), HardSort VARCHAR(10), ChangeTime DATETIME, [User_ID] VARCHAR(10))