Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Desain database MySQL untuk beberapa alamat pelanggan dan alamat default

Dalam pandangan saya, Anda membuat ini terlalu rumit. Tidak perlu membuat skema alamat Anda terlalu dinormalisasi. Sebagian besar sistem yang saya lihat menangani beberapa alamat pelanggan memiliki tabel pelanggan seperti milik Anda, dan kemudian memiliki tabel alamat, sebagai berikut:

 customer_id
 address_ordinal  (small number for each customer: 0,1,2,3 etc).
 primary    (boolean)
 address_1
 address_2
 locality   (city, village, etc)
 province   (state, etc)
 postcode   (zip, postcode etc)
 country

customer_id adalah kunci asing untuk customer meja. Kunci utama adalah gabungan dari (customer_id , address_ordinal ). primary kolom true jika alamatnya adalah yang utama.

Mengenai pertanyaan Anda tentang pemasok, Anda mungkin ingin membuat tabel umum yang disebut "kontak", dan memberikan id_kontak pelanggan dan pemasok Anda.

Jika sistem Anda berisi tabel referensi (mungkin sesuatu yang Anda beli dari pemasok data) yang berisi baris (kode pos, lokalitas, provinsi), Anda dapat menggunakannya untuk membantu mengisi tabel alamat Anda. Namun Anda harus menghindari memaksa alamat Anda untuk hanya berisi kode pos hard-code:tabel referensi tersebut cepat usang.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara memasukkan mysql ke dalam fungsi php?

  2. Gabungkan 2 Array dan Jumlahkan Nilainya (Kunci Numerik)

  3. Menghindari Pertanyaan Bersarang

  4. Membandingkan nilai tanggal CURDATE() dengan bidang stempel waktu penuh

  5. Perbaiki "ERROR 1136 (21S01):Jumlah kolom tidak sesuai dengan jumlah nilai pada baris 1" saat Memasukkan Data di MySQL