1: đặt khóa chính của quan hệ ở đầu một thành khóa ngoại của quan hệ ở đầu , được hiểu theo quan hệ một nhiều.
Các quan hệ giữa các bảng đã đáp ứng được tính chặt chẽ của một cơ sở dữ liệu, quan hệ một – nhiều bảo đảm cho tính tồn tại của dữ liệu. Nếu khóa chính không có chứa thông tin thì sẽ không thể có thông tin trên khóa ngoại, tránh được trường hợp dữ liệu bị nhập sai sót trên khóa ngoại.
Như trường hợp nếu không có mã số truy cập GenbankACC (là khóa chính) trong bảng tblGenbank thì sẽ không có trình tự micorsatellite của mã số đó (là khóa ngoại) trong bảng tblSSR và một mã GenbankACC sẽ có nhiều trình tự SSRs (được trình bày ở bảng 4.2). Tương tự đối với các trường hợp khác cũng vậy sẽ tạo nên sự thống nhất trong cơ sở dữ liệu, tránh việc dư thừa và trùng lắp dữ liệu.
Tuy nhiên khi nhập liệu CSDL sinh học khác với những cơ sở dữ liệu bình thường (khác mã số nhân viên nhưng có thể trùng tên, các đặc điểm riêng), CSDL sinh học không nên có những trường hợp trùng lắp như vậy, nên cần thiết lập các bẫy lỗi để hạn chế việc này. Thí dụ như 2 bảng:
Bảng dữ liệu tblSSR, trường hợp trùng lắp mã SSR là không xảy ra vì nó là khóa chính, nhưng có thể có trường hợp khác đã mã SSR nhưng trùng mã truy cập, loại motif,… và đặc biệt là vị trí bắt đầu (không thể có trường hợp trùng vị trí bắt đầu của trình tự microsatellite trong cùng một mã số truy cập genbank mặc dù đã khác mã số SSR).
Bảng tblStrain khi đã khác mã giống nhưng cần hạn chế trường hợp trùng tên giống.
Để giảm bớt sự trùng lắp này chúng tôi đã thêm vào thuộc tính duy nhất (Unique) trong một số trường hợp để hạn chế việc dư thừa dữ liệu khi nhập bằng tay.