Baru-baru ini saya belajar tentang bagaimana hubungan didefinisikan dalam database di tempat kerja, dan bertanya-tanya apakah ini merupakan praktik standar.
Katakanlah kita memiliki dua proses: Proses A, dan Proses B. Proses B tergantung pada hasil dari Proses A, jadi ada hubungan yang perlu didefinisikan antara proses B berjalan dan proses A berjalan. Inilah bagaimana hubungan didefinisikan:
TableProcessA:
Id
dan
TableProcessB:
Id
ProcessAId
Sekarang, sampai titik ini, hal-hal masuk akal bagi saya, tetapi kemudian hal-hal menjadi sedikit aneh bagi saya dan pemahaman saya tentang desain tabel. Setiap kali sebuah baris dibuat di TableProcessA atau TableProcessB, sebuah fungsi disebut yang menciptakan id unik secara global untuk masing-masing. Jadi pada dasarnya, semua bidang Id di TableProcessA dan TableProcessB tidak akan berisi kecocokan apa pun karena ID tidak hanya unik untuk tabelnya, tetapi ke seluruh database.
Pertanyaan saya adalah, bagaimana standarnya ini? Saya dibesarkan dengan gagasan bahwa setiap tabel harus hanya memiliki id autoincrementing yang unik hanya untuk tabel dan bukan seluruh database.