PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Desain basis data - bidang yang dapat dibatalkan

Salah satu opsi, sangat dinormalisasi adalah membuat tabel lebih mirip

create table notifications( 
    notification_id serial primary key, 
    date_created timestamp not null default now(), 
    title_id text not null, 
    message_id text not null, 
    icon text not null default 'logo' 
); 

create table usernotifications
(
    notification_id integer references notifications,
    user_id integer references users
);

create table groupnotifications
(
    notification_id integer references notifications,
    group_id integer references groups
);

create table companynotifications
(
    notification_id integer references notifications,
    company_id integer references companies
);

di mana entri hanya ada di tabel notifikasi (pengguna/perusahaan/grup) yang relevan untuk setiap notifikasi yang diberikan.

(Saya tidak berpikir ada yang salah dengan kunci asing yang dapat dibatalkan dalam situasi di mana itu menunjukkan bahwa kunci asing adalah opsional, tetapi beberapa kunci asing dengan tipe yang sama memberikan kesan desain yang didenormalisasi)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Skala &Mainkan! &Peningkatan otomatis Slick &PostgreSQL

  2. postgreSQL.app :buat database

  3. Bagaimana cara menggunakan pengaturan tcp_keepalives di Postgresql?

  4. Mustahil untuk Menginstal permata PG di mac saya dengan Mavericks

  5. PostgreSQL menggunakan nilai dari baris sebelumnya jika tidak ada