Saya seorang pemula dalam database. Saya membaca sekitar dan menemukan bahwa mungkin bukan ide yang bagus untuk menggunakan alamat email sebagai kunci utama karena perbandingan string lebih lambat yang mempengaruhi kinerja dalam gabungan kompleks dan jika email berubah saya harus mengubah semua kunci asing yang membutuhkan banyak usaha.
Tetapi jika tabel pengguna saya mengharuskan setiap pengguna untuk memiliki alamat email dan masing-masing alamat email tersebut harus unik, apakah menambahkan indeks unik pada kolom email sudah cukup? Karena bidang unik afaik memungkinkan nilai nol, sedangkan saya meminta setiap pengguna memiliki alamat email, tidak mengizinkan nilai nol. Apakah ada sesuatu yang saya lewatkan di sini? Atau saya kira membuat kolom email unik dan memastikan selama validasi data di server bahwa pengguna memasukkan alamat email sehingga setiap pengguna memiliki satu?