Anda benar - #1 adalah pilihan terbaik.
Memang, saya akan mempertanyakannya pada pandangan pertama (karena pintasan) tetapi mengetahui aturan bisnis untuk memastikan seorang karyawan hanya terkait dengan satu perusahaan - masuk akal.
Selain itu, saya akan memiliki kunci asing yang menghubungkan companyid di tabel karyawan ke companyid di tabel kantor. Jika tidak, Anda mengizinkan seorang karyawan untuk berhubungan dengan perusahaan tanpa kantor. Kecuali jika itu dapat diterima...
Pemicu adalah pilihan terakhir jika hubungan tidak dapat ditunjukkan dalam model data, dan melayani logika dari aplikasi berarti logika terpusat - tidak ada peluang untuk data buruk terjadi, kecuali seseorang menjatuhkan batasan (yang berarti Anda memiliki masalah yang lebih besar ).