i have a table with : Prim_key Foreign_key1 Foreign_key2 and otherdata foreign_key1 is filled in if foreign_key2 is empty foreign_key2 is filled in if foreign_ket1 is empty Can I put an non-unique index on foreign_key1 : this will only take the filled in values of foreign_key1 in the index. Does is work the same way in sql-server and in other database like oracle,informix ? Can I put an non-unique index on Prim_key + Foreign_key1 ?what will it containt in the index? only the entries where Foreign_key1 is filled in Can I put n unique index in Prim_key+ Foreign_key1 ? Or must make asupplementary foreign_key3 which contains either foreign_key1 or foreign_key2,due tothe fact than one of the 2foreignkeys is filled in thanks.