sql >> Database >  >> RDS >> Mysql

Sterke versus zwakke entiteiten MYSQL

Zoals je weet is Zwakke entiteit een tabel die geen primaire sleutel heeft maar de primaire sleutel van een zwakke entiteitenset wordt gevormd door de primaire sleutel van de sterke entiteitenset waarvan de zwakke entiteitenset bestaansafhankelijk is, plus de discriminator van de zwakke entiteitenverzameling.

De relatie tussen een zwakke entiteit en een sterke entiteitset wordt Identificerende relatie genoemd. In het voorbeeld dat in de bovenstaande afbeelding wordt genoemd, is leningbetaling de identificerende relatie voor de betalingsentiteit. Een zwakke entiteitset wordt weergegeven door een dubbel omlijnde doos en een corresponderende identificerende relatie door een dubbel omlijnde diamant zoals weergegeven in de afbeelding. Hier geven dubbele lijnen de totale deelname van een zwakke entiteit aan een sterke entiteit aan. Dit betekent dat elke betaling via een lening aan een rekening moet worden gerelateerd. De pijl van leningbetaling naar lening geeft aan dat elke betaling voor een enkele lening is. De discriminator van een zwakke entiteitenverzameling is onderstreept met stippellijnen in plaats van met ononderbroken lijn.

Laten we een ander scenario bekijken, waarin we de informatie van werknemers en hun gezinsleden willen opslaan. Elke werknemer kan nul tot n aantal personen ten laste hebben. Elke afhankelijke heeft een id-nummer en naam.

Laten we nu eens kijken naar de volgende database:

Er zijn drie medewerkers met E# als respectievelijk 1, 2 en 3.

Nu, in het geval van een afhankelijke entiteit kan het ID niet als primaire sleutel fungeren omdat het niet uniek is.

Dependent is dus een zwakke entiteitset met id als discriminator. Het heeft een totale participatie met de relatie "heeft", omdat er geen afhankelijke kan bestaan ​​zonder de werknemers (het bedrijf houdt zich bezig met werknemers).

Er moeten twee tabellen worden gemaakt boven het e-r-diagram. Dit zijn werknemers met E# als enkele kolom die als primaire sleutel fungeert. De andere tabel is van Dependent met kolommen E#, id en naam, waarbij de primaire sleutel de combinatie is van (E# en id).



  1. Best practices voor bitvlaggen in PHP

  2. Introductie van nieuwe functie - Spotlight Cloud Database-groeirapport

  3. Het gelijktijdige verzoek afhandelen terwijl u in de Oracle-database blijft?

  4. Authenticeren als een specifieke gebruiker in MySQL