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

relationel database design scenarie

Du kan ikke løse dette problem med dit nuværende design uden at indsætte en vis logik på enten trigger- eller applikationsniveau. FOREIGN KEY s kan ikke referere til mere end én tabel (jeg forstår, at dit design bruger én tabel pr. produktgruppe, hvis jeg tager fejl, så lad mig det vide). Derudover kan de ikke indeholde nogen betinget logik, så selvom du har en enkelt product_groups tabel kan du ikke oprette en FOREIGN KEY der kun tillader G1- og G2-posterne fra den tabel.

For at opnå dette med standardmæssige relationelle integritetsbegrænsninger, skal du have en ekstra tabel kaldet noget i stil med approvable_products som ville indeholde product_ids af de produkter, der er i gruppe et eller gruppe to.



  1. Hvordan forbinder man naturligt de to forespørgsler, der har med klausul?

  2. Uddrag tupler med specificerede fælles værdier i en anden kolonne i SQL

  3. MySQL ORDER BY højeste antal rækker i en anden tabel

  4. Oracle SQL - Sådan får du tællinger baseret på datoer i flere kolonner i ORACLE