sql >> Database teknologi >  >> RDS >> Mysql

Tabeller, hvis eneste formål er at angive en delmængde af en anden tabel

Hvorfor en separat tabel for det. Hvorfor ikke bare oprette en BIT/Boolean feltet siger IsMedical og indstil det til TRUE for medicinske medarbejdere i employee bord som

/* Defines a generic employee */
CREATE TABLE employees (
    id      INT PRIMARY KEY AUTO_INCREMENT,
    name    VARCHAR(100) NOT NULL,
    IsMedical BIT(1)
);

Sig på den måde, om du ønsker at få alle medicinske medarbejdere fra Employee bord; du skal bare lave et enkelt filter i WHERE tilstand, der siger WHERE IsMedical = true . Hvorimod, hvis du går efter en separat tabel, skal du udføre en INNER JOIN med medical_employees og employees bord, som jeg mener ville være dyrere og unødvendigt.



  1. Oracle SQL rækkefølge efter i underforespørgselsproblemer!

  2. MySQL PÅ DUBLIKAT NØGLEOPDATERING for flere rækker indsæt i enkelt forespørgsel

  3. Hvilken kolonne skal det klyngede indeks sættes på?

  4. PostgreSQL:Advarsel:Konsol kodetabel (437) adskiller sig fra Windows kodetabel (1252)