Relationsdatabaser och hierarkiska databaser är två av de vanligaste typerna av databaser.
Databaser är datorprogram som lagrar data, eller "poster". Ännu viktigare är att de också beskriver hur dessa data relaterar till andra data i databasen. Det finns många olika typer av databaser, inklusive hierarkiska, nätverks-, relations- och objektorienterade. De tjänar alla olika syften och gör att deras register kan beskrivas på olika sätt.
Heirarkiska databaser
Hierarkiska databaser är några av de äldsta och enklaste typerna av databaser. De ordnar data i en "träd"-struktur, som liknar mappar och filer på en dator. Precis som en fil på en dator ligger i en mapp, har varje post i databasen en "förälder". Hierarkiskt ordnade data beskrivs ofta som att de endast har förälder/barn-relationer.
Dagens video
Problem med Heirachical Databaser
Även om den hierarkiska modellen är lämplig för enkla strukturer, är det lätt att se hur problem kan uppstå, eftersom varje "barn" bara kan ha en "förälder". Om databasen innehöll namnen på faktiska föräldrar och deras barn inom ett företag, skulle du inte kunna beskriva det faktum att båda föräldrarna till ett enda barn arbetade för det företag. På språket med databaser skulle detta vara en "många-till-en" (eller "många-till-många" om det är mer än ett barn inblandat) relation, och hierarkiska databaser beskriver dem inte bra.
Relationsdatabaser
Relationsdatabaser har inga problem med många-till-en- eller många-till-många-relationer. Deras poster är byggda som flera "tabeller" snarare än trädstrukturer, och varje post i en tabell har en unik identifierare. Ett företag kan sedan ha en tabell med namnen på alla föräldrar, en tabell med namnen på alla barn, och varje post på överordnad tabellen kan ha en relation med en (eller fler, eller inga) av de unika posterna på den underordnade tabellen – det förhållandet är "är förälder till". Möjligheten att ge poster sådana relationer är vad som ger relationsdatabaser deras namn.
Fördelar med relationsdatabaser
Relationsdatabaser förhindrar fel genom att tillåta en post att tillämpas på valfritt antal andra tabeller. En underordnad post skulle kunna användas i ett "är barn till"-förhållande, och samma post kan hänvisas till i en tabell över "barn som deltar företagspicknicken." Genom att förhindra dubbelarbete kan samma information användas på många olika sätt, utan att av misstag ändra en spela in.
Relationsdatabaser är också mycket bra för att tillhandahålla andra typer av data gömda i posterna, med hjälp av frågor skrivna i Structured Query Language eller SQL. Detta gör att du kan utforska databasen på sätt som inte är direkt uppenbara, som att hitta alla barn över en viss ålder, eller alla föräldrar med tre eller fler barn.
Använda hierarkiska databaser
Det kan tyckas som om relationsdatabaser är överlägsna hierarkiska, och det är sant att de är mer flexibla. Men sådan flexibilitet är inte alltid nödvändig för varje databas. Bibliotek använder hierarkiska databaser för att spela in sina böcker, eftersom Deweys decimalsystem är hierarkiskt till sin natur. En lista över kontakttelefonnummer kan vara mycket väl betjänad av en hierarkisk databas. En databas är ett verktyg, och det rätta verktyget för jobbet beror på det aktuella jobbet.