Wat is het geneste set -model?
Het geneste setmodel is ook bekend als het gemodificeerde pre -order Tree Traversal -algoritme en is een manier om hiërarchische gegevens in relationele databases op te slaan. Dit model heeft het voordeel dat ze zeer snelle toegang bieden en kan het best worden geïmplementeerd in hiërarchieën die vaker worden gelezen dan geschreven. Elk knooppunt binnen het informatiemodel krijgt twee nummers die als attributen worden opgeslagen. Het op zoek gaan naar het geneste set -model is vrij eenvoudig omdat beide waarden kunnen worden gebruikt om de nodige gegevens eruit te halen. Het maken van invoegingen, deleties, bewegingen en updates zijn echter veel omslachtiger omdat ze de knooppunten kunnen hernummeren.
meestal gebruikt om geneste sets of hiërarchische informatie in de vorm van bomen te vertegenwoordigen, werd het geneste setmodel geïntroduceerd door Joe Celko. Een boom is in dit geval een gegevensstructuur die een aantal gekoppelde knooppunten bevat. Een ouderknooppunt kan bijvoorbeeld verbinding maken met verschillende onderliggende knooppunten, en deze structuur wordt via de boom door verschillende Lev herhaaldels.
bomen zijn een geweldige manier om informatie in een bepaalde volgorde op te slaan in een relationele database, een gegevensset die gegevens opslaat, afhankelijk van de gemeenschappelijke kenmerken. Productinformatie in het voedselgedeelte van een winkel kan bijvoorbeeld beginnen met voedsel, vertakken in fruit, groenten en vlees. Fruit kan verder worden onderverdeeld in bessen, meloenen en appels en groenten in knollen, greens en anderen, en vlees in varkensvlees, schapenvlees en kalfsvlees.
Een relationele database slaat al deze informatie op in een gemakkelijk te begrijpen vorm, en een genest set-model kan de boomstructuur efficiënt worden beheerd. Met behulp van het bovenstaande voorbeeld zou het rootknooppunt voedsel zijn, dat wordt weergegeven door twee waarden. Gezien de linkerwaarde voor voedsel als 1, krijgen de andere items in de boom een nummer links in volgorde. Fruit zou een waarde van 2 aan de linkerkant krijgen, bessen zouden 3 zijn, enzovoort. De VALues worden vervolgens aan de rechterkant toegewezen en werken helemaal door de boom, onderaan, door elke tak totdat de laatste waarde is toegewezen aan voedsel aan de rechterkant.
Elk item in de boom eindigt met twee waarden, zeg lft voor links en rgt voor rechts, die kunnen worden gebruikt om ze te identificeren en hun relatie met andere items aan te geven. Als fruit bijvoorbeeld een waarde van 2 en 15 heeft, zijn alle knooppunten met linkerwaarden groter dan 2 en rechterwaarden minder dan 15 afstammelingen van de fruitboom 2-15. Het wordt eenvoudig om in één keer informatie over alle vruchten uit te trekken, omdat deze waarden in een enkele query naar de database kunnen worden gespecificeerd.
Dit model is uitstekend voor het opslaan van informatie die vaak toegankelijk is, maar inserties, deleties en het opnieuw ordenen van informatie in het geneste set -model worden erg vervelend. Het herschrijven van indexen en het herberichten van de informatie kan ervoor zorgen dat de database crasht, vooral als de boom groeit om honderdduizenden te bevattens van knooppunten. Het geneste set -model is het beste voor lichte contentbeheersystemen met minimale invoegingen en wijzigingen. Invoegingen kunnen veel sneller worden gedaan in het geneste intervalmodel omdat het de positie van elk knooppunt in de boom opslaat met behulp van drijvende puntdecimalen terwijl het ook coderde voor de padinformatie.