Databasorganisationsmodeller. datakryptering


Varje databassystem implementerar ett eller annat datamodell, som definierar reglerna för generering av typer av datastrukturer som är tillåtna för systemet, möjliga operationer på sådana strukturer, klasser av dataintegritetsbegränsningar som representeras av systemet. Således sätter datamodellen gränserna för uppsättningen av alla specifika databaser som kan skapas med hjälp av detta system.

Beskrivningen av det valda ämnesområdet i termer av datamodellen gör att du kan få en databasmodell. Vanligtvis finns det tre nivåer av databasmodeller.

Mytologisk modell reflekterar information om ämnesområdet utan att fokusera på en specifik DBMS (eller ens på vilken typ av DBMS som är avsedd att användas). I detta avseende talar vissa författare om förekomsten av en infologisk modell av ämnesområdet, inte en databas.

Datalogisk databasmodell- en logisk nivåmodell, som är en visning av logiska relationer mellan dataobjekt, oavsett deras innehåll och lagringsmiljö. Denna modell är byggd i form av informationsenheter som är tillåtna i DBMS i den miljö som DB kommer att skapas av. Stadiet för att skapa denna modell kallas datalogisk eller logisk design.

Fysisk modell av databasenär byggd med hänsyn till möjligheterna att organisera och lagra data som tillhandahålls av DBMS och den mjuk- och hårdvaruplattform som används. Den definierar specifikt vilka lagringsenheter som används och hur data organiseras i lagringsmediet.

Vid design av en databas byggs först en infologisk modell, därefter en datalogisk och först efter den en fysisk. Dessa steg kommer att diskuteras mer i detalj i följande kapitel.

Men låt oss återgå till att titta på datamodeller. Olika författare tillhandahåller lite olika listor över befintliga datamodeller. Till exempel erbjuder den följande lista över datamodeller och tidsperioder när de viktigaste resultaten erhölls i utvecklingen av dem:

  • hierarkisk (eng. hierarkisk), sent 1960-tal och 1970-tal;
  • nätverk (eng. nätverk), 1970-talet;
  • relationella (eng. relationella), 1970-talet och början av 1980-talet;
  • "enhet - relation" ( engelsk enhet - relation), 1970-talet;
  • utökad relationell (eng. utökad relationell), 1980-talet;
  • semantisk (eng. semantiskt), sent 1970-tal och 1980-tal;
  • objektorienterad (eng. objektorienterad), sent 1980-tal - början av 1990-talet;
  • objektrelationell ( engelsk objektrelationell), sent 1980-tal - början av 1990-talet;
  • halvstrukturerad (eng. semi-strukturerad), sedan slutet av 1990-talet. tills nu.

De första som dök upp var datamodeller baserade på grafteori – hierarkiska och nätverksanslutna. De diskuteras mer i detalj nedan. Därefter kom den relationella datamodellen utvecklad av Edgar Codd, baserad på matematisk mängdteori. Idag är det det vanligaste, därför kommer det att övervägas mer detaljerat. Kapitel 4 och 5 ägnas åt ämnen relaterade till relationsmodellen och logisk design av relationsdatabaser.

Entitetsrelationsmodellen föreslogs av Peter Chen 1976 som ett enhetligt sätt att beskriva en domän. Som en oberoende datamodell (i enlighet med ovanstående definition) utvecklades den inte utan blev grunden för att skapa infologiska databasmodeller. Den infologiska designfasen diskuteras i kapitel 6.

Den semantiska modellen, liksom entitetsrelationsmodellen, används för att bygga infologiska modeller. Endast i detta fall representeras användardata som en uppsättning semantiska objekt. Semantiskt objektÄr en namngiven uppsättning attribut som tillräckligt beskriver ett separat fenomen (objekt, fenomen, etc.).

Objektorienterade och objektrelationella datamodeller uppstod som ett resultat av spridningen av det objektorienterade tillvägagångssättet inom programmering. Objektdatamodellen föreslår att man betraktar databasen som en uppsättning objekt med egenskaperna inkapsling, arv, etc. 1989 publicerades Object Oriented Database Systems Manifesto, och 1991 ODMG-konsortiet (från engelsk Object Data Management Group), som var engagerad i utvecklingen av standarder. Objektdatastandarden: ODMG 3.0 publicerades 2000 och gruppen upphörde med sin verksamhet 2001. Ungefär samtidigt pågick ett aktivt arbete med att anpassa relationsmodellen till kraven på ett objektorienterat förhållningssätt till mjukvaruutveckling, vilket ledde till uppkomsten av en objektrelationell datamodell. Objekttillägg introducerades senare i SQL-språkstandarden.

Semistrukturerad data avser data där någon struktur kan urskiljas, men den är inte tillräckligt strikt i jämförelse med relationella datastrukturer (eller strukturer av andra traditionella datamodeller). Det mest framträdande exemplet på semistrukturerad data är XML-dokument (från engelsk extensible Markup Language - extensible Markup Language). Giltig (eng. valid) XML-dokument måste överensstämma med ett visst beskrivningsformat (schema), där dokumentstrukturen, giltiga namn på element, attribut etc. specificeras. XML används ofta för att utbyta data mellan applikationer och stöds av många DBMS.

Kärnan i varje databas är datamodellen. Datamodell representerar en stor variation av datastrukturer, integritetsbegränsningar och datamanipuleringsoperationer. Med hjälp av datamodellen kan objekt i ämnesområdet representeras, förhållandet mellan dem. Datamodell är en samling av datastrukturer och deras bearbetningsoperationer. Ett modernt DBMS bygger på användningen av hierarkisk, nätverksbunden, relationell och objektorienterad datamodeller, en kombination av dessa modeller, eller på någon delmängd av dem.

Betrakta de tre huvudtyperna av datamodeller : hierarkisk, nätverk, relationella och objektorienterad.

Hierarkisk datamodell. En hierarkisk struktur är en samling av element som är sammanlänkade enligt vissa regler. Objekt kopplade till hierarkiska relationer bildar en riktad graf (inverterat träd). De grundläggande begreppen i den hierarkiska strukturen inkluderar: nivå, element (nod), länk. Den hierarkiska modellen organiserar data i en trädstruktur. Knut är en samling dataattribut som beskriver något objekt. På diagrammet av ett hierarkiskt träd ser noderna ut som grafens hörn. Varje nod på en lägre nivå är associerad med endast en nod på en högre nivå. Ett hierarkiskt träd har bara en vertex (trädets rot), som inte är underordnad någon annan vertex. Beroende (underordnade) noder finns på andra, tredje och andra nivåer. Antalet träd i databasen bestäms av antalet rotposter.

Nätverksdatamodell.

Nätverk modell betyder att representera data i form av en godtycklig graf. Fördelen med nätverks- och hierarkiska datamodeller är möjligheten till effektiv implementering när det gäller minnesförbrukning och effektivitet. Nackdelen med nätverksdatamodellen är den höga komplexiteten och stelheten hos databasschemat byggt på dess bas.

Relationellt datamodell. Begreppet relationell (engelsk relation) är förknippad med utvecklingen av den berömda amerikanska specialisten inom området databassystem E.F. Codda. Dessa modeller kännetecknas av enkel datastruktur, användarvänlig presentationsform i form av tabeller och förmågan att använda apparaten för algebra av relationer och relationsberäkningar för databehandling.

I matematikens språk definieras relationen på detta sätt. Låt det ges n uppsättningar D1, D2, ..., Dn. Då är R en relation över dessa mängder om R är en mängd ordnade mängder av formen , där d1 är ett element med D1, d2 är ett element med D2, ..., dn är ett element med Dn. Dessutom uppsättningar av formuläret kallas tupler, och mängderna D1, D2, ... Dn kallas domäner. Varje tupel består av element som är valda från sina domäner. Dessa element kallas attribut, och deras värden är attributvärden.

Så den relationella modellen är fokuserad på att organisera data i form av tvådimensionella tabeller, varav någon har följande egenskaper:

Varje tabellelement är ett dataelement;

Alla kolumner i tabeller är homogena, d.v.s. alla element i en kolumn är av samma typ (tecken, numerisk, etc.);

Varje kolumn har ett unikt namn;

Det finns inga identiska rader i tabellerna.

Tabeller har rader som motsvarar poster (eller tupler), och kolumner motsvarar relationsattribut (domäner, fält).

Följande termer är likvärdiga:

attityd, tabell, fil (för lokalDB);

tuppel,linje, inspelning;

attribut, kolumn, fält.

Objektorienterade databaser kombinera två datamodeller, relations- och nätverksmodeller, och används för att skapa stora databaser med komplexa datastrukturer.

En relationsdatabas är en uppsättning relationer som innehåller all nödvändig information och förenas av olika länkar.

DB övervägs normaliserats om följande villkor är uppfyllda:

Varje bord har en huvudnyckel;

Alla fält i varje tabell beror endast på huvudnyckeln;

Det finns inga dubbletter av värdegrupper i tabellerna.

För framgångsrikt arbete med flerbordsdatabaser är det som regel nödvändigt att upprätta länkar mellan dem. I detta fall används termerna "bastabell" (huvud) och "underordnad tabell". Relationen mellan tabeller beror på två fält, varav det ena är i bastabellen och det andra i det underordnade. Dessa fält kan ha ett värde som upprepas. Om värdet i det relaterade fältet för posten i bastabellen och i det underordnade fältet är detsamma, kallas dessa poster relaterade.

Det finns fyra typer av relationer mellan tabeller : en till en , en till många, många till en, många till många .

Attityd en till en innebär att varje inträde i ett tabellen motsvarar bara en poster i en annan tabell.

Ett till många förhållande betyder att ett posten från den första tabellen kan länkas med mer än en en post från en annan tabell.

Huvudbord Är en tabell som innehåller primärnyckel och är en del av ett i ett förhållande en till många.

Extern nyckel Är ett fält som innehåller samma typ av information i tabellen från sidan många.

Praktiskt arbete

Känd tre typer av databasbeskrivningsmodeller(Figur 3.7):

ü hierarkisk;

ü nätverk;

ü relationell.

Den största skillnaden mellan dem är arten av beskrivningen av relationer och interaktioner mellan objekt och attribut i databasen.

Fig 3.7. Grundläggande typer av datamodeller

1. Hierarkisk databasmodell avbildad som ett träd. Varje vertex motsvarar många instanser av poster som utgör en logisk fil. Topparna är placerade efter nivåer och är sammanlänkade av underordningsförhållanden. Den enda toppnivån är roten (Figur 3.8).

Fördelen med modellen är:

· Enkel konstruktion;

· Lätt att förstå kärnan i hierarkiprincipen;

· Tillgänglighet av industriella DBMS som stöder denna modell.

Nackdelär komplexiteten i operationer att inkludera information om nya databasobjekt i hierarkin och ta bort föråldrad information.

Ris. 3.8. Hierarkisk datamodell

2. Nätverksmodell beskriver elementära data och relationen mellan dem i form av ett orienterat nätverk. Det är ett sådant förhållande mellan objekt, när varje barn har mer än en källa och kan associeras med vilket annat element som helst i strukturen (Figur 3.9).

Nätverksstrukturer kan vara på flera nivåer och ha varierande grad av komplexitet.

Databasen som beskrivs av nätverksmodellen består av områden (områden - från poster och poster - från fält).

Nackdel Nätverksmodellen är dess komplexitet, möjligheten att förlora dataoberoende vid omorganisering av databasen. I takt med att nya användare, nya applikationer och nya typer av frågor dyker upp växer databasen, vilket kan leda till en kränkning av den logiska presentationen av data.

Figur 3.9. Nätverksdatamodell

3. Relationsdatabasmodellen representerar objekt och relationer mellan dem i form av tabeller, och alla operationer på data reduceras till operationer på dessa tabeller. Nästan alla moderna DBMS är baserade på denna modell.

Relationsmodell bygger på begreppet "relationer", och dess data bildas i form av tabeller. En relation är en tvådimensionell tabell som har ett eget namn, där det minsta handlingsobjektet som bevarar dess struktur är en tabellrad (tupel), som består av tabellceller - fält.



Varje kolumn i tabellen motsvarar endast en komponent i denna relation. Ur en logisk synvinkel representeras en relationsdatabas av en uppsättning tvådimensionella tabeller med olika ämnesinnehåll.

I en relationsdatabas stöder DBMS hämtning av information från databasen baserat på logiska länkar. När du arbetar med en databas behöver du inte programmera anslutningar med filer, vilket gör att du kan bearbeta alla datafiler med ett kommando och öka effektiviteten i databasprogrammering. På grund av minskningen av kraven på utvecklarnas kvalifikationer expanderar kretsen av databasanvändare avsevärt, informationsdatabaser har blivit DBMS-standarden för informationssystem.

Figur 3.10 Relationsdatamodell

Beroende på innehållet i relationen är relationsdatabaser:

ü objekt, som lagrar data om ett objekt, en instans av en enhet. I dem identifierar ett av attributen objektet unikt och kallas nyckeln till relationen, eller det primära attributet. Resten av attributen beror funktionellt på denna nyckel;

ü ansluten, i vilken nycklarna för flera objektrelationer lagras, enligt vilka länkar upprättas mellan dem.



Fördelarna med relationsmodellen:

· Enkel konstruktion;

· Tillgänglighet för förståelse;

· Förmågan att använda databasen utan kunskap om metoderna och metoderna för dess konstruktion;

· Dataoberoende;

· Flexibilitet i strukturen m.m.

Nackdelar med relationsmodellen:

· Låg prestanda jämfört med hierarkiska modeller och nätverksmodeller;

· Programvarans komplexitet;

· Redundans av element.

Under de senaste åren har objektorienterade databaser (OODB) fått ett ökande erkännande och utveckling.

Den grundläggande skillnaden mellan relationella och objektorienterade databaser är följande: i OODB är datamodellen närmare den verkliga världens enheter, objekt kan sparas och användas direkt, utan att sprida dem i tabeller, datatyper bestäms av utvecklaren och är inte begränsade till en uppsättning fördefinierade typer.

De traditionella tillämpningsområdena för objekt-DBMS är datorstödda designsystem (CAD), modellering och multimedia.

Object DBMS inkluderar ONTOS DBMS - en av ledarna för att regissera OODB, Jasmine. ODB-Jupiter är den första ryska produkten i sitt slag, ORACLE 8.0.

Kunskapsbaser är speciella datorsystem som bygger på generalisering, analys och bedömning av kunskaper hos högt kvalificerade experter.

Till exempel "ConsultantPlus", "Garant Service".

De viktigaste delarna av informationsteknologin som används i kunskapsbasen är:

Användargränssnitt,

Kunskapsbas,

Tolk,

Systemskapande modul,

Gränssnittet används för att mata in förfrågningar och kommandon i expertsystemet och ta emot utdata från det.

Utgången inkluderar inte bara själva lösningen, utan de nödvändiga förklaringarna, som kan vara av två typer:

1) på begäran, dvs. de som användaren kan få när som helst;

2) som användaren får redan vid ett beslut, d.v.s. hur lösningen erhålls (exempelvis hur det valda priset påverkar vinst och kostnader etc.).

Till kunskapsbas inkluderar de fakta som kännetecknar problemområdet, såväl som deras logiska samband. Den centrala länken här är reglerna, som kan uppgå till tusentals även i den enklaste uppgiften med expertsystem. Reglerna bestämmer handlingsordningen i en specifik situation när ett visst villkor är uppfyllt.

Tolk i viss ordning utför bearbetningen av kunskap i databasen. Ytterligare block används också: databas, beräkningsblock, inmatning, datakorrigering.

Modul för att skapa system tjänar till att skapa en uppsättning regler, göra ändringar i dem. Här kan både speciella algoritmiska språk (LISP, Prolog) och skal av expertsystem användas.

Användningen av skal av expertsystem anses vara mer perfekt, d.v.s. mjukvaruverktyg fokuserade på att lösa ett specifikt problem genom att skapa en motsvarande kunskapsbas. Denna väg är vanligtvis snabbare och mindre tidskrävande.

Kontrollfrågor

1. Vad är skillnaden mellan information och data?

2. Hur uttrycks lämpligheten av informationen?

3. Vilka är tecknen på klassificeringen av ekonomisk information.

4. Vad är informationsstruktur?

5. Hur skiljer sig indikatorn från rekvisita?

6. Ange informationens huvudsakliga egenskaper.

7. Vad ingår i informationsstödet?

8. Vad är skillnaden mellan informationsstöd utanför maskinen och informationsstöd ombord?

9. Vilka klassificerare finns det och för vilket syfte utvecklas klassificerare?

10. Vad är syftet med streckkodning? Vad är dess egenskaper?

11. Definiera begreppen "klassificerare" och "koder".

12. Hur skiljer sig automatiserade databanker från kunskapsbaser?

13. Vad ingår i automatiserade databanker?

14. Hur skiljer sig klient-server-arkitekturen från fil-server-arkitekturen?

15. Ange de viktigaste egenskaperna hos DBMS.

16. Vad betyder dataintegritet?

17. Beskriv typerna av databasbeskrivningsmodeller.

4.informationsteknik inom förvaltning och ekonomi

Teman:logiska databasmodeller, objekt- och postidentifiering, postsökning.

1. Hierarkiska och nätverksdatamodeller.

Kärnan i varje databas är datamodellen. En datamodell är en samling av datastrukturer och deras bearbetningsoperationer. Enligt metoden för att upprätta länkar mellan data särskiljs de hierarkiska, nätverks- och relationsmodeller.

Hierarkisk modell låter dig bygga databaser med en trädstruktur. I dem innehåller varje nod sin egen datatyp (entitet). På den översta nivån av trädet i denna modell finns en nod - "roten", på nästa nivå är noderna associerade med denna rot, sedan noderna associerade med noderna på den föregående nivån, etc., dessutom kan varje nod bara ha en förfader (Fig. 1)

Att söka efter data i ett hierarkiskt system börjar alltid från roten. Sedan görs en nedstigning från en nivå till en annan tills önskad nivå uppnås. Att flytta genom systemet från en post till en annan sker med hjälp av länkar.

Användningen av länkar för att organisera åtkomst till enskilda delar av strukturen tillåter inte att förkorta sökproceduren, som är baserad på sekventiell uppräkning. Sökproceduren blir effektivare om en viss övergångsordning till nästa element i trädet är förinställd.

De främsta fördelarna med den hierarkiska modellen är enkelheten att beskriva de hierarkiska strukturerna i den verkliga världen och den snabba exekveringen av frågor som motsvarar datastrukturen, men de innehåller ofta överflödiga data. Dessutom är det inte alltid bekvämt att starta sökningen efter nödvändig data från roten varje gång, och det finns inget annat sätt att navigera i databasen i hierarkiska strukturer.

Hierarkiska mönster är vanliga inom många områden, men i många fall kräver en enskild post mer än en vy eller är kopplad till flera andra. Resultatet är vanligtvis mer komplexa strukturer än trädstrukturer. I en nätverksstruktur kan vilket element som helst länkas till vilket annat element som helst. Exempel på nätverksstrukturer visas i fig. 2

Nätverksstruktur kan beskrivas med hjälp av käll- och underordnade element. Det är bekvämt att representera det så att de genererade elementen ligger under de ursprungliga.

Det är önskvärt att skilja mellan enkla och komplexa nätverksstrukturer.

Om ett informationsobjekt är associerat med en hel uppsättning andra objekt, eller alla objekt är associerade med alla, så kallas en sådan struktur komplex.

Till exempel är en elevgrupp kopplad till alla elever i gruppen. Eller i exemplet med en utbildningsinstitution i fig. 3 varje lärare kan undervisa många (teoretiskt alla) elever, och varje elev kan lära sig av många (teoretiskt alla) lärare. Eftersom detta naturligtvis är omöjligt i praktiken måste vi tillgripa vissa restriktioner.


Vissa strukturer innehåller loopar. En cykel är en situation där föregångaren till en nod samtidigt är dess efterföljare. Relationen "original - genererad" bildar alltså en sluten slinga. Till exempel producerar en anläggning olika produkter. Vissa produkter tillverkas i andra underleverantörsfabriker. Tillverkning av flera föremål kan kopplas till ett kontrakt. Representationen av dessa relationer bildar en cykel.

Ibland är objekt kopplade till andra objekt av samma typ. Denna situation kallas en loop. I fig. 4 visar två ganska vanliga situationer där gångjärn kan användas. Arrayen av anställda specificerar länkarna som finns mellan vissa anställda. En ytterligare komplikation har införts i materiallistdatabasen: vissa noder består själva av noder.

Separationen av nätverksstrukturer i enkla och komplexa strukturer är nödvändig eftersom komplexa strukturer kräver mer komplexa metoder för fysisk representation. Detta är inte alltid en nackdel, eftersom en komplex nätverksstruktur kan (och i de flesta fall bör) omvandlas till en enklare form.

Användningen av hierarkiska modeller och nätverksmodeller påskyndar tillgången till information i databasen. Men eftersom varje dataelement måste innehålla referenser till några andra element, krävs betydande resurser av både disk- och huvuddatorminne. Bristen på huvudminne saktar naturligtvis ner bearbetningshastigheten. Dessutom kännetecknas sådana modeller av komplexiteten i att implementera ett databashanteringssystem (DBMS).

2. Identifiering av objekt och register

I, attribut hänvisa till(beteckna) och tillskriva dem värden.

Vid bearbetning av information hanterar användaren en uppsättning objekt, fastighetsinformation var och en måste sparas (spelas in) som data, så att när du löser problem kan du hitta dem och utföra nödvändiga transformationer.

Sålunda kännetecknas varje tillstånd av ett objekt av en uppsättning attribut som har några av värdena i detta ögonblick. Attribut är fixerade på något materialmedium i formuläret uppgifter. Inspelning- en uppsättning (grupp) av formaliserade dataobjekt(attributvärden presenterade i ett eller annat format). Attributvärde identifierar föremål, dvs. användningen av ett värde som ett sökattribut tillåter en att implementera ett enkelt urvalskriterium baserat på ett jämförelsevillkor.

Ett enskilt objekt är alltid unikt, så posten som innehåller data om det måste också ha en unik identifierare, och inget annat objekt måste ha samma identifierare. Eftersom en identifierare är kärnan i en varas värde krävs i vissa fall mer än en vara för att säkerställa unikhet. Till exempel, för entydig identifiering av register om läroplanens discipliner, är det nödvändigt att använda elementen SEMESTER och DISCIPLINENS NAMN, eftersom det är möjligt att undervisa i en disciplin under olika terminer.

Ovanstående schema representerar attributivt sätt att identifiera föremålets innehåll. Hon är naturlig nog att välstrukturerad(faktiska) uppgifter. Dessutom hänvisar strukturerad inte bara till formen av datapresentation (format, lagringsmetod), utan också till hur användaren tolkar värdet(värdet på parametern presenteras inte bara i en fördefinierad form, utan åtföljs vanligtvis av en indikation på storleken på kvantiteten, vilket gör att användaren kan förstå dess betydelse utan ytterligare kommentarer). Således antyder de faktiska uppgifterna möjligheten att deras direkt tolkning.

Denna metod är dock praktiskt taget inte lämplig för identifiering dåligt strukturerad information, associerade med objekt som har perfekt natur. Sådana objekt definieras ofta logiskt och indirekt – genom andra objekt. Naturliga eller konstgjorda används för att beskriva dem. Följaktligen, för att förstå innebörden, måste användaren använda lämpliga språkregler och ha viss information för att identifiera och associera den mottagna informationen med tillgänglig kunskap. Det vill säga processen att tolka denna typ av data har förmedlad natur och kräver användning av ytterligare information, och sådan som inte nödvändigtvis finns i en formaliserad form i databasen.

3. Sök poster

En programmerare eller användare måste kunna komma åt enskilda poster eller enskilda dataelement som han behöver.

För att göra detta kan du använda följande metoder:

Ställ in maskinens dataadress och läs av värdet i enlighet med det fysiska postformatet. Detta är de fall då programmeraren måste vara "navigatören".

Berätta för systemet namnet på posten eller dataobjektet som det vill hämta och eventuellt organisationen av datamängden. I det här fallet kommer systemet självt att göra ett val (enligt det tidigare schemat), men för detta måste det använda extra information om datastrukturen och uppsättningens organisation. Sådan information kommer i huvudsak att vara redundant i förhållande till objektet, men kommunikation med databasen kommer inte att kräva programmerarens kunskap från användaren.

Som nyckel-, som ger tillgång till posten, kan du använda identifieraren - en separat datapost. Nyckel, som identifierar en post unikt, anropas primär (huvudsak).

I händelse av att nyckel- identifierar någon grupp av poster som har en viss gemensam egendom, nyckel- kallad sekundär (alternativ)... En datauppsättning kan ha flera sekundära nycklar, vars behov bestäms av kravet på att optimera processerna för att hitta poster med motsvarande nyckel.

Ibland används identifieraren sammansatt kedjad nyckel- flera dataelement, som tillsammans, till exempel, säkerställer att varje post i en datauppsättning är unikt identifierad.

I detta fall kan nyckeln lagras som en del av posten eller separat. Till exempel bör nyckeln för poster med icke-unika attributvärden lagras separat för att eliminera redundans.

Det introducerade konceptet med en nyckel är logiskt och bör inte förväxlas med den fysiska implementeringen av nyckeln - index, ge tillgång till poster som motsvarar individuella nyckelvärden.

Ett sätt att använda en sekundär nyckel som indata är att organisera en inverterad lista, vars ingång innehåller ett nyckelvärde tillsammans med en lista över matchande post-ID:n. Data i indexet är ordnade i stigande eller fallande ordning, så algoritmen för att hitta det önskade värdet är ganska enkel och effektiv, och efter att ha hittat värdet lokaliseras posten av pekaren för den fysiska platsen. Nackdelen med ett index är att det tar upp extra utrymme och måste uppdateras varje gång en post raderas, uppdateras eller läggs till.

I det allmänna fallet kan en inverterad lista byggas för vilken tangent som helst, inklusive en sammansatt.

I samband med sökuppgifter kan vi säga att det finns två huvudsakliga sätt att organisera data: Det första sättet är den direkta organiseringen av arrayen, det andra är inversen av det första. Den direkta organisationen av arrayen är bekväm för sökning med villkoret "Vilka är egenskaperna för det angivna objektet?", Och inverterat - för sökning med villkoret "Vilka objekt har den angivna egenskapen?"







2021 gtavrl.ru.