Datatyper i relationsdatabaser. Huvudegenskaper hos relationsdatabasfält


En datamodell är en samling av datastrukturer och operationer för deras bearbetning. Med hjälp av datamodellen kan du visualisera objektens struktur och relationerna mellan dem. Terminologin för datamodeller kännetecknas av begreppen "dataelement" och "bindande regler". En datapost beskriver vilken uppsättning data som helst, och de bindande reglerna bestämmer algoritmerna för förhållandet mellan dataobjekt. Hittills många olika modeller data, men i praktiken finns det tre huvudsakliga sådana. Tilldela hierarkiska, nätverks- och relationsdatamodeller. Följaktligen talar de om hierarkiska, nätverks- och relationella DBMS.

О Hierarkisk datamodell. Hierarkiskt organiserad data förekommer i Vardagsliv Ofta. Till exempel är strukturen för en högskola en hierarkisk struktur på flera nivåer. En hierarkisk (trädliknande) databas består av en ordnad uppsättning element. I denna modell ursprungliga element generera andra element, och dessa element genererar i sin tur följande element. Varje barn har bara en förälder.

Organisationsscheman, materiallistor, innehållsförteckningar i böcker, projektplaner och många andra samlingar av data kan presenteras på ett hierarkiskt sätt. Integriteten för länkarna mellan förfäder och ättlingar upprätthålls automatiskt. Grundregel: ingen ättling kan existera utan sin förälder.

Den största nackdelen med denna modell är behovet av att använda hierarkin som lades i basen för databasen under designen. Behovet av konstant omorganisation av data (och ofta omöjligheten av denna omorganisation) ledde till skapandet av fler allmän modell- nätverk.

О Nätverksdatamodell. Den nätverksbaserade metoden för att organisera data är en förlängning av den hierarkiska metoden. Den här modellen skiljer sig från hierachic genom att varje genererat element kan ha mer än ett överordnat element. ■

Eftersom nätverksdatabasen direkt kan representera alla typer av relationer som är inneboende i data från motsvarande organisation, kan dessa data navigeras, utforskas och frågas. på alla möjliga sätt, det vill säga nätverksmodellen är inte länkad av bara en hierarki. Men för att skapa en fråga till en nätverksdatabas är det nödvändigt att fördjupa sig djupt i dess struktur (för att ha ett diagram över denna databas till hands) och att utveckla en mekanism för att navigera genom databasen, vilket är betydande nackdel denna DB-modell.

O Relationsmodell data. Grundidén bakom en relationsdatamodell är att representera vilken datauppsättning som helst som en tvådimensionell tabell. I sitt enklaste fall beskriver en relationsmodell en enda tvådimensionell tabell, men oftast beskriver denna modell strukturen och sambanden mellan flera olika tabeller.

Relationsdatamodell

Så syftet med informationssystemet är att bearbeta data handla om objekt den verkliga världen, med hänsyn tagen anslutningar mellan objekt. I DB-teorin kallas data ofta attribut och objekt - enheter. Objekt, attribut och koppling är grundläggande begrepp för I.S.

Ett objekt(eller entitet) är något som finns och märkbar, det vill säga ett objekt kan kallas det där "något" för vilket det finns ett namn och ett sätt att skilja ett liknande objekt från ett annat. Till exempel är varje skola ett objekt. Objekt är också en person, en klass på en skola, ett företag, en legering, en kemisk förening, etc. Objekt kan inte bara vara materiella föremål, utan också mer abstrakta begrepp som speglar den verkliga världen. Till exempel evenemang, regioner, konstverk; böcker (inte som trycksaker, utan som verk), teaterföreställningar, filmer; juridiska normer, filosofiska teorier m.m.

Attribut(eller given)- detta är någon indikator som kännetecknar ett visst objekt och har ett visst numeriskt, textuellt eller annat värde för en specifik instans av objektet. Informationssystem arbetar med uppsättningar av objekt utformade i relation till en given ämnesområde använder specifika attributvärden(data) för vissa objekt. Låt oss till exempel ta klasser i en skola som en uppsättning objekt. Antalet elever i en klass är givet som tar numeriskt värde(en klass har 28, en annan har 32). Klassnamnet är givet som tar textvärde(den ena har 10A, den andra har 9B, etc.).

Utvecklingen av relationsdatabaser började i slutet av 1960-talet, när de första tidningarna dök upp som diskuterade; möjligheten att använda bekanta och naturliga sätt presentation av data - de så kallade tabelldatalogiska modellerna.

Grundaren av teorin om relationsdatabaser anses vara en anställd hos IBM, Dr. E. Codd, som publicerade artikeln En relationsmodell av data för stora delade databanker(Relationsdatamodell för stora samlade databanker). Den här artikeln var den första som använde termen "relationsdatamodell". Teorin om relationsdatabaser, utvecklad på 70-talet i USA av Dr. E. Codd, har en kraftfull matematisk grund som beskriver reglerna för att effektivt organisera data. Den teoretiska grund som utvecklats av E. Codd blev grunden för utvecklingen av teorin om databasdesign.

E. Codd, som är matematiker till sin utbildning, föreslog att man skulle använda mängdteorin (union, skärningspunkt, skillnad, kartesisk produkt) för databehandling. Han bevisade att vilken datamängd som helst kan representeras som tvådimensionella tabeller av ett speciellt slag, känt inom matematiken som "relationer".

Relationellt En sådan databas betraktas där all data presenteras för användaren i form av rektangulära tabeller med datavärden, och alla operationer på databasen reduceras till manipuleringstabeller.

Bordet består av kolumner (fält) och strängar (skivor); har ett namn som är unikt i databasen. tabell reflekterar Objekttyp den riktiga världen (väsen), och var och en av henne sträng är ett specifikt objekt. Varje kolumn i en tabell är en samling värden för ett specifikt attribut för ett objekt. Värdena väljs från uppsättningen av alla möjliga värden för objektattributet, som kallas domän.

I sin mest allmänna form bestäms en domän genom att ange några bastyp data till vilka elementen i domänen hör, och ett godtyckligt logiskt uttryck applicerat på elementen i datan. Om, vid utvärdering av ett logiskt villkor på en datapost, resultatet är "sant", så tillhör denna post domänen. I det enklaste fallet definieras en domän som en giltig potentiell uppsättning värden av samma typ. Till exempel utgör uppsättningen av födelsedatum för alla anställda "födelsedatumdomänen", och namnen på alla anställda utgör "anställdas namndomän". Födelsedatumdomänen har en datatyp som lagrar information om tidpunkter, och domänen för anställds namn måste ha en teckendatatyp.

Om två värden kommer från samma domän kan du jämföra de två värdena. Till exempel, om två värden kommer från domänen för födelsedatum, kan du jämföra dem för att avgöra vilken anställd som är äldre. Om värdena är hämtade från olika domäner, då är deras jämförelse inte tillåten, eftersom det med all sannolikhet inte är vettigt. Till exempel kommer inget definitivt att komma ut av att jämföra en anställds namn och födelsedatum.

Varje kolumn (fält) har ett namn, som vanligtvis skrivs överst i tabellen. När du designar tabeller inom ett specifikt DBMS är det möjligt att välja för varje fält dess sorts, det vill säga definiera en uppsättning regler för att visa den, samt definiera de operationer som kan utföras på data som lagras i detta fält. Uppsättningarna av typer kan skilja sig åt för olika DBMS.

Fältnamnet måste vara unikt i tabellen, men olika tabeller kan ha fält med samma namn. Alla bord måste ha, av åtminstone, ett fält; Fälten är ordnade i tabellen i enlighet med ordningen på deras namn när den skapades. Till skillnad från fält har strängar inga namn; deras ordning i tabellen är inte definierad, och antalet är inte logiskt begränsat.

Eftersom raderna i tabellen inte är ordnade är det omöjligt att välja en rad efter dess position - det finns ingen "första", "andra", "sista" bland dem. Varje tabell har en eller flera kolumner, värdena som unikt identifierar var och en av dess rader. En sådan kolumn (eller kombination av kolumner) kallas primärnyckel(primärnyckel)... Ett konstgjort fält introduceras ofta för att numrera posterna i tabellen. Ett sådant fält kan till exempel vara dess ordningsföljd, vilket kan säkerställa att varje post i tabellen är unik. Nyckeln måste ha följande egenskaper.

Unikhet. Inga två distinkta tuplar har ett förhållande vid något tillfälle. samma värde för en kombination av attribut som ingår i nyckeln. Det vill säga att det inte kan finnas två rader i tabellen som har samma identifikationsnummer eller passnummer.

Minimalitet. Inget av attributen som ingår i nyckeln kan exkluderas från nyckeln utan att bryta mot unikheten. Det betyder att det inte är nödvändigt att skapa en nyckel som innehåller både passnummer och identifikationsnummer. Det är tillräckligt att använda något av dessa attribut för att unikt identifiera tupeln. Du bör inte heller inkludera ett icke-unikt attribut i nyckeln, det vill säga det är förbjudet att använda en kombination av ett identifikationsnummer och en anställds namn som nyckel. Genom att utesluta medarbetarens namn från nyckeln kan du fortfarande identifiera varje rad unikt.

Varje relation har åtminstone en möjlig nyckel, eftersom helheten av alla dess attribut uppfyller unikhetsvillkoret - detta följer av själva definitionen av relationen.

En av de möjliga nycklarna väljs slumpmässigt i som primärnyckel. Resten möjliga nycklar, om några, tas för alternativa nycklar. Om du till exempel väljer ett identifikationsnummer som primärnyckel, kommer passnumret att vara en alternativ nyckel.

Relationen mellan tabeller är en väsentlig del av den relationella datamodellen. Hon får stöd främmande nycklar.

När man beskriver en relationsdatabasmodell för samma koncept används ofta olika termer, beroende på beskrivningsnivå (teori eller praktik) och system (Access, SQL Server, dBase). Tabell 2.3 sammanfattar de termer som används.

Tabell 2.3. Databasterminologi

Databasteori ____________ Relationsdatabaser _________ SQL Server __________

Relationstabell Tabell

Tuple Record Row

Attributfält _______________ Kolumn

Relationsdatabaser

Relationsdatabasär en uppsättning relationer som innehåller all information som måste lagras i databasen. Det vill säga, databasen representerar den uppsättning tabeller som krävs för att lagra all data. Relationsdatabastabeller är logiskt relaterade till varandra Designkrav för en relationsdatabas kan sammanfattas i några regler.

О Varje tabell har ett unikt namn i databasen och består av rader av samma typ.

О Varje tabell består av ett fast antal kolumner och värden. Mer än ett värde kan inte lagras i en kolumn i en rad. Om det till exempel finns en tabell med uppgifter om författare, publiceringsdatum, upplaga etc. så får kolumnen med författarens namn inte innehålla mer än ett efternamn. Om boken är skriven av två eller flera författare måste du använda ytterligare tabeller.

О Ingen tidpunkt kommer det att finnas två rader i tabellen som duplicerar varandra. Rader måste skilja sig åt med minst ett värde för att unikt kunna identifiera en rad i tabellen.

О Varje kolumn tilldelas ett namn som är unikt i tabellen; en specifik datatyp ställs in för det så att homogena värden (datum, efternamn, telefonnummer, pengar, etc.) placeras i denna kolumn.

О Databasens fullständiga informationsinnehåll representeras i form av explicita värden av själva data, och denna presentationsmetod är den enda. Till exempel är relationen mellan tabeller baserad på data som lagras i motsvarande kolumner, och inte på grundval av några pekare som artificiellt definierar relationer.

О När du bearbetar data kan du fritt referera till vilken rad eller kolumn som helst i tabellen. Värdena som lagras i tabellen lägger inte några begränsningar på ordningen i vilken data nås. Kolumnbeskrivning,

Relationsdatabasär en databas baserad på en relationsdatamodell (RDM).

I hjärtat av RMD är begreppet en relation, eller relationell (relation, engelska, därav termen relationsdatabaser). För att arbeta med relationsdatabaser använd relationell DBMS... Användningen av relationsdatabaser föreslogs av Dr. Codd från IBM 1970. Dessa modeller kännetecknas av enkel datastruktur, användarvänlig tabellpresentation och förmågan att använda den formella apparaten för algebra av relationer och relationskalkyl för databehandling.

I RMBD är den huvudsakliga strukturella enheten tabell (förhållande). Relationsmodellen fokuserar på att organisera data i form av tvådimensionell tabeller... Varje relationstabell är tvådimensionell array och har följande egenskaper:

Varje tabellelement är ett dataelement;

Alla kolumner i tabellen är homogena, d.v.s. alla element i kolumnen har samma typ(numerisk, tecken, etc.) och längd;

Varje kolumn har ett unikt namn;

Det finns inga identiska rader i tabellen;

Ordningen på rader och kolumner kan vara godtycklig.

Relationer presenteras i form av tabeller, vars rader motsvarar uppgifter och kolumnerna är attribut relationer, domäner, fält. Varje rad lagrar data om ett objekt, och varje fält karakteriserar en av objektets parametrar. Varje tabell måste ha ett unikt databasnamn.

Ett fält, vars varje värde unikt identifierar motsvarande post, anropas enkel nyckel (nyckelfält). Om poster är unikt identifierade av värden i flera fält, har en sådan databastabell en sammansatt nyckel. Om det inte finns något sådant fält måste det anges på konstgjord väg. För att länka två relationstabeller måste den första tabellens nyckel inkluderas i den andra tabellens nyckel (nycklarna kan sammanfalla); annars måste du gå in i strukturen för den första tabellen den främmande nyckeln - nyckeln för den andra tabellen.

32 grundläggande databasmodeller (DB)

DB- en strukturerad uppsättning information relaterad till ett ämnesområde eller flera närliggande områden. Alla befintliga databaser kan byggas på olika principer, vilka kännetecknas av konceptet med en databasmodell.

DB-modell definierar sättet för kommunikation mellan objekt i databasen, sättet att lagra information på mediet (i datorns minne), sättet att extrahera och presentera data. DB-modeller: 1) hierarkisk, 2) nätverk, 3) relationell.

1) Hierarkisk ( först golv. 60s) var avsedd för lagring av databaser på papper och magnetband. Kommunikationsstruktur mellan data är baserad på teorin om räkningen och visas som ett träd (inverterat). dec. objekt skapar trädnoder, dvs. är på dekomp. nivåer i hierarkin. Anslutningar beskrivs i kategorierna far-son eller anfader-ättling. Varje nod på den i-te nivån i hierarkin hänvisar till en nod på i-1-nivån (i> 1), som en son relaterar till en far, eller en far till en son, nämligen en son kan vara en far , och en far kan vara en eller flera söner, dvs ... ett objekt på denna i:e nivå hänvisar till objekt på i + 1 nivå, som 1 till många (1: N, 1: ∞). nackdelar: 1) användaren måste känna till trädets struktur, annars är det svårt att hämta data; 2) sökning krävs. data börjar alltid från roten och navigerar sedan genom trädets grenar.



2) Nätverk(andra hälften av 60-talet) för att minska effekterna av brister tidigare modell... Main skillnad från hierarkisk: det kan finnas en relation mellan objekt som finns både på samma nivå i hierarkin och på olika. Detta ledde till en ökad hastighet för datahämtning. Dock substantiv fel: användaren måste känna till strukturen för ett sådant träd.

Grundläggande brist på två modeller: mycket svag matematisk bas.

3) Relationellt, som bygger på den utvecklade apparaten av två grenar av matematiken: teorin om relationer (mängder) och teorin om predikat. Mängdlära förknippas med formalisering av procedurer för att analysera logiska förhållanden. Det finns en tvådimensionell uppsättning i den, som kallas en relation (relation). I denna modell grundläggande byggsten yavl-Xia tabell (relation). Varje tabell måste ha ett unikt namn för en given databas på ryska eller med lat. brev.

Relationellt datorbas, precis som alla andra baser, är en IS schematiskt representerad:

DBMS(databashanteringssystem) - specialiserad mjukvaruverktyg(skal) eller plattform med vilken användaren implementerar alla tillhandahållna funktioner (operationer) på data. Funktioner: inmatning (infoga), modifiering (ändring), extrahering (urval), radering av data.

ISDB har en viktig komponent - databasadministratören, som ansvarar för säkerheten och värdet av data, upprättandet av dekomp. användarrättigheter etc.

Varje tabell består av fält och rader. Varje linje lagrar data om ett objekt, och varje fält egenskap är en av parametrarna (attributen) för detta objekt. I ett separat fält m. data av endast en typ. Ett av attributen eller fälten måste identifiera varje objekt i tabellen. Detta betyder att detta fält inte ska innehålla dubbletter av värden (varje värde är unikt). Om detta villkor är uppfyllt, fältet kallas nyckel(med tabelldatanyckeln). Varje tabell måste ha ett nyckelfält. Denna nyckel kallas huvudnyckeln. Om en nyckel består av värden för mer än ett fält, kallas det sammansatt. Företräde ges till enkel nyckel... Om det inte finns där, skrivs det in på konstgjord väg (till exempel ett nummer).

Databas (DB) - det är en namngiven uppsättning av strukturerad data relaterad till ett specifikt ämnesområde och avsedd för lagring, ackumulering och bearbetning med hjälp av en dator.

Relationsdatabas (RDB)är en uppsättning relationer, vars namn sammanfaller med namnen på schemat i databasschemat.

Grundläggande koncept relationsdatabaser:

· Data typ- typen av värden för en viss kolumn.

· Domän(domän) - uppsättning av alla tillåtna värden attribut.

· Attribut(attribut) - rubriken på tabellkolumnen som kännetecknar objektets namngivna egenskap, till exempel studentens efternamn, beställningsdatum, kön på den anställde etc.

· Tuple- en tabellrad, som är en samling värden av logiskt relaterade attribut.

· Attityd(relation) - en tabell som återspeglar information om objekt i den verkliga världen, till exempel om studenter, beställningar, anställda, boende, etc.

· Primärnyckel(primärnyckel) - ett fält (eller en uppsättning fält) i en tabell som unikt identifierar var och en av dess poster.

· Alternativ nyckelÄr ett fält (eller en uppsättning fält) som inte matchar primärnyckeln och som unikt identifierar en instans av en post.

· Extern nyckelÄr ett fält (eller en uppsättning fält) vars värden matchar de befintliga primära nyckelvärdena i en annan tabell. När två tabeller länkas samman länkas den andra tabellens främmande nyckel till den första tabellens primärnyckel.

· Relationsdatamodell (RMD)- dataorganisation i form av tvådimensionella tabeller.

Varje relationstabell måste ha följande egenskaper:

1. Varje post i tabellen är unik, dvs. uppsättningen värden över fälten upprepas inte.

2. Varje värde skrivet i skärningspunkten mellan en rad och en kolumn är atomär (oskiljbar).

3. Värdena för varje fält måste vara av samma typ.

4. Varje fält har ett unikt namn.

5. Ordningen på posterna är inte väsentlig.

Huvudelementen i databasen:

Fält- en elementär enhet för logisk organisation av data. Följande egenskaper används för att beskriva fältet:

· Namn, till exempel efternamn, förnamn, patronym, födelsedatum;

· Skriv till exempel sträng, tecken, numerisk, datum;

· Längd, till exempel, i byte;

· Precision för numeriska data, till exempel två decimaler för att visa bråkdelen av ett tal.

Inspelning- en uppsättning värden av logiskt relaterade fält.

Index- ett sätt att påskynda sökningen efter poster, som används för att upprätta relationer mellan tabeller. Tabellen som indexet används för kallas indexerad. När du arbetar med index måste du vara uppmärksam på organisationen av indexen, som ligger till grund för klassificeringen. Ett enkelt index representeras av ett enda fält, eller logiskt uttryck bearbeta ett fält. Sammansatt index representeras av flera fält med möjlighet att använda olika funktioner... Tabellindex lagras i en indexfil.


DataintegritetÄr ett sätt att skydda data med länkfält, vilket gör det möjligt att upprätthålla tabeller i ett konsekvent (konsekvent) tillstånd (det vill säga förhindra förekomsten av poster i den underordnade tabellen som inte har motsvarande poster i den överordnade tabellen).

Förfrågan- en formulerad fråga till en eller flera sammanlänkade tabeller, innehållande kriterierna för datasampling. Begäran görs på ett strukturerat språk SQL-frågor(Structured Query Language). Som ett resultat av att hämta data från en eller flera tabeller kan många poster erhållas, så kallade en vy.

Datapresentation- en namngiven fråga för dataurval (från en eller flera tabeller) sparad i databasen.

En vy är i huvudsak en tillfällig tabell som är resultatet av en fråga. Själva förfrågan kan riktas till separat fil, rapport, tillfällig tabell, tabell på disk osv.

Rapportera- en komponent i systemet, vars huvudsakliga syfte är beskrivning och utskrift av dokument baserat på information från databasen.

generella egenskaper arbeta med RDB:

Den vanligaste tolkningen av den relationella datamodellen tycks vara Date, som återger den (med olika finesser) i praktiskt taget alla hans böcker. Enligt Date består den relationella modellen av tre delar som beskriver olika aspekter av det relationella förhållningssättet: den strukturella delen, manipulationsdelen och den integrerade delen.

I den strukturella delen av modellen är det fixerat att den enda datastruktur som används i relationsdatabaser är en normaliserad n-är relation.

Manipulationsdelen av modellen hävdar två grundläggande mekanismer för att manipulera relationsdatabaser - relationalgebra och relationskalkyl. Den första mekanismen är huvudsakligen baserad på klassisk mängdteori (med vissa förfinningar), och den andra - på den klassiska logiska apparaten i första ordningens predikatkalkyl. Observera att huvudfunktionen för manipulationsdelen av relationsmodellen är att ge ett mått på relativiteten för ett visst relationsdatabasspråk: ett språk kallas relationellt om det inte har mindre uttrycksfullhet och kraft än relationalgebra eller relationskalkyl.


28. ALGORITMISKA SPRÅK. ÖVERSÄTTARE (TOLKAR OCH KOMPILATÖRER). ALGORITMISKT SPRÅK BASIC. PROGRAMMETS STRUKTUR. IDENTIFIERINGAR. VARIABLER. OPERATÖRER. BEHANDLING AV EN OCH TVÅDIMENSIONELLA ARRASER. ANVÄNDARFUNKTIONER. DELPROGRAM. ARBETA MED DATAFILER.

Språk hög nivå - ett programmeringsspråk, vars begrepp och struktur är lämpliga för mänsklig uppfattning.

Algoritmiskt språk(Algorithmic language) - programmeringsspråk - artificiellt (formellt) språk designat för att skriva algoritmer. Programmeringsspråket specificeras av dess beskrivning och implementeras i formuläret specialprogram: kompilator eller tolk. Exempel på algoritmiska språk är Borland Pascal, C ++, Basic, etc.

Grundläggande begrepp för ett algoritmiskt språk:

Språksammansättning:

Vanligt talat språk har fyra grundläggande element: symboler, ord, fraser och meningar. Algoritmiskt språk innehåller liknande element, endast ord kallas elementära konstruktioner, fraser - uttryck, meningar - operatorer.

Symboler, elementära konstruktioner, uttryck och operatorer utgör en hierarkisk struktur, eftersom elementära konstruktioner är bildade av en sekvens av symboler.

Uttryckär sekvensen elementära strukturer och symboler,

Operatör- en sekvens av uttryck, elementära konstruktioner och symboler.

Språkbeskrivning:

Beskrivningen av symboler består i att lista de giltiga symbolerna för språket. Beskrivningen av elementära strukturer förstås som reglerna för deras bildande. Beskrivningen av uttryck är reglerna för bildandet av alla uttryck som är meningsfulla i ett givet språk. Beskrivningen av operatörer består av att beakta alla typer av operatörer som är tillåtna på språket. Beskrivningen av varje element i språket ges av dess SYNTAX och SEMANTIK.

Syntaktisk definitioner fastställer reglerna för att konstruera språkelement.

Semantik definierar innebörden och reglerna för att använda de delar av språket som syntaktiska definitioner har givits för.

Språksymboler- dessa är de viktigaste odelbara tecknen, i form av vilka alla texter på språket är skrivna.

Elementära konstruktionerär de minsta enheterna i ett språk som har en oberoende betydelse. De är bildade av språkets grundläggande symboler.

Uttryck i algoritmiskt språk består av elementära konstruktioner och symboler, den anger regeln för att beräkna ett visst värde.

Operatör frågar Full beskrivning några åtgärder som ska vidtas. För beskrivning komplex handling en grupp operatörer kan behövas.

I detta fall kombineras operatörerna till Sammansatt operatör eller Blockera. Handlingar, ges av operatörer exekveras på data. Algoritmiska meningar som ger information om datatyper kallas deklarationer eller icke-körbara operatorer. En uppsättning beskrivningar och operatorer kombinerade av en enda algoritm bildar ett program på ett algoritmiskt språk. I processen att lära sig ett algoritmiskt språk är det nödvändigt att skilja det algoritmiska språket från det språk med vilket beskrivningen av det studerade algoritmiska språket utförs. Vanligtvis kallas målspråket helt enkelt språket, och språket som beskrivningen av målspråket ges kallas Metaspråk.

Översättare - (English translator - translator) är ett översättareprogram. Den konverterar ett program skrivet på ett av högnivåspråken till ett program som består av maskininstruktioner.

Ett program skrivet på ett algoritmiskt språk på hög nivå kan inte köras direkt på en dator. Datorn förstår endast språket i maskininstruktionerna. Följaktligen måste ett program på ett algoritmiskt språk översättas (översättas) till kommandospråket för en specifik dator. Sådan översättning utförs automatiskt av speciella översättningsprogram skapade för varje algoritmiskt språk och för varje typ av dator.

Det finns två huvudsakliga sätt att streama - sammanställning och tolkning.

1.Kompilering: Kompilator(engelsk kompilator - kompilator, samlare) läser hela programmet som helhet, gör dess översättning och skapar en komplett version av programmet i maskinspråk, som sedan exekveras.

kompilering hela originalprogrammet omvandlas omedelbart till en sekvens av maskininstruktioner. Därefter exekveras det resulterande programmet av datorn med tillgängliga initiala data. Fördelen med denna metod är att översättningen utförs en gång, och (flera) exekveringen av det resulterande programmet kan utföras med hög hastighet... Samtidigt kan det resulterande programmet ta upp mycket utrymme i datorns minne, eftersom en språkoperatör under översättningen ersätts av hundratals eller till och med tusentals instruktioner. Dessutom är felsökning och modifiering av det översatta programmet mycket svårt.

2. Tolkning: Tolk(Engelsk tolk - tolk, tolk) översätter och kör programmet rad för rad.

tolkningar det ursprungliga programmet lagras i datorns minne nästan oförändrat. Tolkprogrammet avkodar påståendena originalprogram en i taget och säkerställer omedelbart att de utförs med tillgängliga data. Det tolkade programmet tar lite plats i datorns minne och är lätt att felsöka och modifiera. Men exekveringen av programmet är ganska långsam, eftersom alla operatörer tolkas i tur och ordning vid varje exekvering.

Kompilerade program går snabbare, men tolkade program är lättare att fixa och ändra

Varje specifikt språk är antingen inriktat på sammanställning eller tolkning, beroende på vilket syfte det skapades för. Till exempel brukar Pascal användas för att lösa ganska komplexa problem där hastigheten på programmen är viktig. Det är därför givet språk vanligtvis implementeras med en kompilator.

Å andra sidan skapades BASIC som ett språk för nybörjare, för vilka programkörning rad för rad har obestridliga fördelar.

Ibland finns det både en kompilator och en tolk för samma språk. I det här fallet kan du använda tolken för att utveckla och testa programmet och sedan kompilera det felsökta programmet för att påskynda exekveringen.

Relationsdatabaser lagrar data som tabeller med rader och kolumner. Varje tabell har sin egen fördefinierade uppsättning namngivna fält. Kolumner med tabeller i en relationsdatabas kan innehålla skalärdata av en fast typ, som siffror, strängar eller datum. Tabeller i en relationsdatabas kan länkas i en en-till-en- eller en-till-många-relation. Antalet rader med poster i tabellen är obegränsat, och varje post motsvarar en separat enhet.

Relationsdatabaser är nu dominerande. Hierarkiska strukturer och nätverksstrukturer för databaser är ett minne blott och ger vika för relationsdatabaser, under vilka de flesta moderna DBMS är byggda (MS SQL Server, MS Access, InterBase, FoxPro, PostgreSQL, Paradox och andra).

Detaljer

Relationsmodellen fokuserar på att organisera data i form av tvådimensionella tabeller. Varje relationstabell är en tvådimensionell array och har följande egenskaper:

  • Varje tabellelement är ett dataelement
  • Varje kolumn har sitt eget unika namn
  • Det finns inga identiska rader i tabellen
  • Alla kolumner i en tabell är homogena, det vill säga alla element i en kolumn är av samma typ
  • Ordningen på rader och kolumner kan vara godtycklig

Relationella DBMS fokuserade på implementering av operativa databehandlingssystem är mindre effektiva i uppgifter analytisk bearbetningän flerdimensionella databaser. Detta beror för det första på förekomsten av ganska strikta begränsningar som införs av den befintliga implementeringen av SQL-språket. Ett exempel på en sådan begränsning i verkligheten är antagandet att data i en relationsdatabas är oordnade (eller mer exakt, slumpmässigt ordnade). Samtidigt kräver deras beställning ytterligare tid som läggs på sortering varje gång databasen öppnas. V analytiska system datainmatning och hämtning sker i stora portioner. I sin tur förblir uppgifterna oförändrade efter att de kommit in i databasen lång period tid. Och här är det mer effektivt att lagra data i form av delvis denormaliserade tabeller, där inte bara granulära utan även förberäknade aggregerade värden kan lagras för att öka prestandan. Och för navigering och sampling kan specialiserade adresserings- och indexeringsmetoder baserade på antagandet om låg variabilitet och låg rörlighet för data i databasen användas. Det här sättet att organisera data kallas ibland förberäknad, och understryker därigenom dess skillnad från den normaliserade relationella metoden, som involverar dynamisk beräkning. av olika slag totaler (aggregering) och upprätta länkar mellan attribut från olika tabeller (join-operationer).

Huvudsakliga nackdelar

Förutom den låga effektiviteten, som nämndes tidigare, inkluderar nackdelarna med traditionella relationella DBMS det faktum att som den huvudsakliga och ofta den enda mekanismen som ger snabbsökning och ett urval av individuella rader i tabellen (eller i relaterade genom främmande nycklar tabeller) används vanligtvis olika modifieringar av index baserade på B-träd. Denna lösning visar sig vara effektiv endast vid bearbetning av små grupper av poster och hög intensitet av datamodifiering i databaser.

Relationella DBMS:er kanske aldrig lämnar scenen, men dagarna för deras regeringstid är definitivt räknade, säger Paul Creel, som publicerade en artikel om det i InfoWorld i september 2011. Han citerar analytikern Robin Blore, som hävdar att arkitekturen för relationella DBMS är moraliskt föråldrad, eftersom den skapades i en tidigare era och inte uppfyller moderna krav.

Relationella DBMS dominerar fortfarande system för bearbetning av finansiella transaktioner, men idag tar företag i allt högre grad nya NoSQL-arkitektur DBMS - horisontellt skalbara, distribuerade och utvecklade i öppen källa... Exempel på sådana system är Hadoop, MapReduce och VoltDB. Forrester-analytiker uppskattar att cirka 75 % av data i företag antingen är semistrukturerad information (XML, E-post och EDI), eller ostrukturerad (text, bilder, ljud och video), och endast 5 % av denna data lagras i relations-DBMS, och resten lagras i databaser av andra typer eller i form av filer, och kan inte bearbetas av relationssystem.

Enligt Blore kan relationsdatabaser "dö utan att någon märker det" - till exempel om Oracle i sin databas helt enkelt ersätter SQL-motorn med NoSQL. Analytikern tror att en sådan mekanism kan vara en av de befintliga kolumnära DBMS:erna.







2021 gtavrl.ru.