Databaser: grundläggande begrepp. Begreppet en databas och vad en databas är Ett meddelande om vad en databas är

Vad är en databas inom datavetenskap

Inom datavetenskap är begreppet en databas en uppsättning data för informationsnätverk och användare, lagrad i en speciell, organiserad form. Typen av datalagring bestäms av den givna strukturen (schemat) för databasen och reglerna för dess hantering.

I sig är databaser värdelösa om det inte finns något sätt att hantera dem. Med databashantering menar vi möjligheten att individuellt eller kollektivt lägga till information, sortera den, helt eller delvis kopiera och flytta den samt kombinera två eller flera databaser. För att hantera databaser har programvaruprodukter skapats som är databasprogramvara. De kallas DBMS – databashanteringssystem.

Vad är DBMS och SQL

Det här är vad konsumenterna, det vill säga du och jag, sysslar med. Moderna DBMS låter dig bearbeta inte bara texter eller grafik, utan även mediafiler (ljud- och videofiler).

Varje mjukvaruprodukt har sitt eget språk som den styrs med. DBMS är inget undantag. Ett av huvudspråken för att kommunicera med ett DBMS är SQL (strukturerat frågespråk).

Det är värt att notera att DBMS, beroende på hur de används, är uppdelade i enanvändare (för en användare - en lokal dator) och flera användare (för nätverk).

Jag är säker på att du inte tror att det finns en universell DBMS. Och det stämmer, det finns dussintals av dem. I det här avsnittet kommer vi att begränsa oss till att arbeta med den gratis och vanligaste MySQL DBMS.

MySQL DBMS

MySQL DBMS fungerar bara med relationsdatabaser. Relationsdatabaser är de enklaste att lära sig initialt. Dessutom används de på alla hosting och servrar för massanvändning.

Det återstår att definiera begreppet en relationsdatabas. Det här är enkla tabeller som har informationsrader och kolumner. Skärningspunkten mellan en rad och en kolumn kallas en cell. Hela databasen består av flera eller många tabeller, och alla tabeller interagerar med varandra.

En databas är en strukturerad samling av data som kan redigeras och nås, uppdateras eller raderas. Beroende på deras organisatoriska synsätt, typ av innehåll och volym kan databaser klassificeras i olika typer.

Om du planerar att arbeta som databasadministratör bör du vara bekant med några verktyg som Oracle, SQL server och Sybase, eftersom relationsdatabasen är den vanligaste av alla databaser.

Data är vilken bit information som helst, medan en databas definieras som en integrerad uppsättning logiskt relaterade data som lagras i elektroniska filer (poster) för enkel åtkomst. Att lagra data i en databas ger användaren tillgång till information för olika ändamål.

Databaser är elektroniska arkiveringssystem som lagrar data i form av fält, poster etc. Vissa databaser kan ge åtkomsträttigheter som gör att användaren kan utföra olika operationer som att redigera, uppdatera, radera osv.

Nedan finns en klassificering av databaser beroende på lagringsändamål och kapacitet.

Analytiska databaser är skrivskyddade. De används främst på Internet, där du kan se en samling av föremål som finns, men de kan inte ändras. Du kan tänka på dessa som inventeringskataloger. Det bästa exemplet på att använda analytiska databaser är vilken onlinebutik som helst som har en produktkatalog och data om dem. Informationen som lagras i analytiska databaser utvinns huvudsakligen från driften av interna eller externa databaser. De väljer och redigerar främst data som ofta används för att leda en organisation. Det uttrycks i form av en sammanfattning av en organisations eller en anställds aktiviteter, eller försäljning, marknadsföringsrapporter etc. Huvudsyftet med en analytisk databas är att låta användaren analysera data, beroende på förvaltningspolicyer.

Det är en digital databas som lagrar data i en tabell i form av rader och kolumner. Varje rad har en unik nyckel. Detta hjälper till att länka en tabell till en annan (vilket kallas en främmande nyckel). I allmänhet har varje objekt en tabell - rader, en instans av den och kolumnerna har värden tilldelade instansen. I denna typ av databas lagras och hämtas all data med hjälp av "relationer", som inte bara är samlingar av tabeller; därav namnet "relationsdatabaser".

Operativa databaser lagrar information som är nödvändig för organisationens verksamhet. Detta är i princip all information om en specifik person eller anställd, avdelning eller objekt. Därför kallas de också för databasdomän. Således är dessa databaser baserade på organisationens funktionella linje.

Dessa databaser lagrar all information på ett ställe - centraliserad datorkraft. Användare på olika platser kan komma åt dessa data via ett datornätverk. Exempel kan vara en dator, server, processor etc. Fördelarna med denna typ av databas är dess kostnadseffektivitet och lagring av all data på ett ställe, vilket ökar dataintegriteten. Verksamheten beror dock på nätverksanslutning.

Distribuerade databaser är organisatoriska databaser som är fördelade över olika geografiska platser. Databaser kan antingen vara gemensamma för alla webbplatser eller endast specifika för en lokal webbplats. Distribuerade databaser tas bort från motsvarande myndighet på den lokala webbplatsen. Anledningen till att den här typen av databas utvecklades är att parallellisera utförandet av arbete, fördela uppgifter och därigenom minska den totala tiden.

Slutanvändardatabaser

Slutanvändardatabaser är databaser vars resultat är resultatet av olika operationer som användaren utför på olika databaser. De innehåller information om organisationens slutanvändare. Sådana databaser används för att ge sammanfattande information om alla transaktioner i en organisation. Detta är snabbare än att använda livedatabaser, även om de senare kan tjäna samma syfte. Exempel är kalkylblad, Word-dokument eller nedladdade filer.

Externa databaser

Externa databaser avser online-åtkomst till externa, proprietära data. Denna åtkomst är i stort sett gratis och tillgänglig från kommersiella onlinetjänster. Därför kallas de också "kommersiella databaser". Dessa databaser är vanligtvis för externa användare som inte har råd att underhålla en enorm databas. Exempel inkluderar tillgång till information om en specifik person eller deras adress/telefonnummer via onlinekataloger.

Hypermedia databaser

När du surfar på Internet ser du webbsidor som innehåller bilder, videoklipp, länkar, grafik, multimediafiler osv. Denna information hämtas från hypermediadatabaser. De inkluderar en samling sammankopplade multimediawebbsidor där information lagras online och data kan nås av flera användare samtidigt.

Datalager

Som namnet antyder är ett datalager en stor samling data som extraheras från olika andra databaser. Dessa data kan användas av vilken som helst av ledningspersonalen till slutanvändaren. Data uttrycks huvudsakligen som redigerbar och skärmad information.

Beroende på mängden data kan databaser delas in i tre huvudtyper.

Allmänna databaser

Allmänna databaser är databaser som erbjuder information om icke-numeriska enheter. Syftet med sådana databaser är att tillhandahålla all nödvändig information till användaren om vilket ämne som helst han letar efter. De används främst för forskningsarbete.

Disciplinspecifika databaser

Disciplinspecifika databaser liknar allmänna databaser, men informationen de innehåller är mer organiserad. Denna typ av databas är användbar för specialister inom ett visst område.

Ämnesspecifika databaser

Ämnesspecifika databaser fokuserar endast på ett specifikt ämne. De används främst för akademiska ändamål. Information finns vanligtvis i form av vetenskapliga artiklar från tidskrifter m.m.

Det finns ett stort antal programmeringsspråk som hjälper dig att komma åt olika typer av databaser. Otaliga operationer kan utföras på data med dessa språk. Således låter databaser dig lagra, visa, komma åt och uppdatera data när som helst.

Du kanske ännu inte vet vad som ingår i konceptet med en databas, men att du ständigt använder dem är helt säkert. Varje gång du söker efter något i en sökmotor använder du en databas. När du anger ditt användarnamn och lösenord för att logga in på en tjänst jämförs de med värdena som lagras i databasen för denna tjänst.

Trots att vi ständigt använder databaser är det fortfarande oklart för många vad de egentligen är. Och det beror delvis på att samma databastermer används av människor för att definiera helt olika saker.

Låt oss förstå termerna och koncepten för databaser:

Databas- en uppsättning information lagrad på något ordnat sätt. Du kan jämföra en databas med ett skåp där dokument lagras. Med andra ord är en databas ett datalager. Databaser i sig skulle inte vara av intresse om det inte fanns några databashanteringssystem (DBMS).

Databashanteringssystemär en uppsättning språk- och mjukvaruverktyg som ger åtkomst till data, gör att de kan skapas, ändras och raderas, säkerställer datasäkerhet osv. I allmänhet är ett DBMS ett system som låter dig skapa databaser och manipulera information från dem. Och det ger denna tillgång till DBMS-data genom ett speciellt språk - SQL.

SQLär ett strukturerat frågespråk vars huvudsakliga syfte är att tillhandahålla ett enkelt sätt att läsa och skriva information till en databas.

Så det enklaste schemat för att arbeta med en databas ser ut ungefär så här:

Baserat på typen av användning delas DBMS in i enanvändare (designad för att skapa och använda en databas på en persondator) och multianvändare (designad för att fungera med en enda databas på flera datorer anslutna till lokala nätverk). I allmänhet kan uppdelningen efter användningens karaktär representeras av följande schema:

Utan att gå in på närmare detaljer, noterar vi att antalet DBMS som används idag är i dussintals. De mest kända DBMS för enanvändare är Microsoft Visual FoxPro och Access, fleranvändare är MS SQL Server, Oracle och MySQL.

I dessa lektioner kommer vi att använda MySQL DBMS. För det första är det gratis, och för det andra är det en de facto-standard bland ryska värdleverantörer. Men mer om det senare, men låt oss nu gå tillbaka till grunderna. Definitionen av en databas säger att det är information som är organiserad på något sätt. Hur beställs de egentligen? Detta kommer att diskuteras i nästa lektion.

Varje webbplatsägare vet att för att webbplatsen ska fungera korrekt behöver du inte bara filer med sidkod, utan även databaser. Databashanteringssystem (DBMS) används för att interagera med databaser. I den här artikeln vill jag prata om databaser och DBMS, vilka typer som finns och hur de skiljer sig från varandra.

Databas

En databas är en specifik uppsättning data, som i regel är sammankopplade med en förenande egenskap eller egenskap (eller flera). Dessa data är organiserade till exempel alfabetiskt. Överflödet av olika data som kan placeras i en enda databas leder till många variationer i vad som kan registreras: användarens personliga data, register, datum, beställningar och så vidare. Om du till exempel har en webbutik kan din webbplatsdatabas innehålla prislistor, en katalog över varor eller tjänster, rapporter, statistik och kundinformation.

Först och främst är detta bekvämt eftersom information snabbt kan matas in i en databas och lika snabbt hämtas vid behov. Om i början av utvecklingen av webbutveckling alla nödvändiga data måste skrivas i sidkoden, nu finns det inget sådant behov - den nödvändiga informationen kan begäras från databasen med hjälp av skript. Särskilda algoritmer för att lagra och hämta information som används i databaser gör att du kan hitta den nödvändiga informationen bokstavligen på en bråkdel av sekunder – och när du arbetar i virtuellt utrymme är hastigheten på resursen viktigare än något annat.

Förhållandet mellan information i databasen är också viktigt: att ändra en rad kan leda till betydande förändringar på andra linjer. Att arbeta med data på det här sättet är mycket enklare och snabbare än om ändringarna bara påverkade en plats i databasen.

Detta betyder dock inte att varje sajt måste ha en databas - om du till exempel har en visitkortsajt och du inte lägger upp någon ny information på sajten, behöver du helt enkelt inte en databas. Det enklaste sättet att göra en enkel webbplats är att skapa en .

Databashanteringssystem

Som du kan gissa från namnet, är ett databashanteringssystem (eller DBMS för kort) programvara som används för att skapa och arbeta med databaser. Huvudfunktionen för ett DBMS är datahantering (som kan vara antingen i externt eller i RAM). DBMS stöder nödvändigtvis databasspråk och är också ansvarig för att kopiera och återställa data efter eventuella fel.

När det gäller klassificeringen av databaser är olika alternativ möjliga.
Du kan till exempel dela databaserna med datamodeller: hierarkisk (har en trädstruktur), nätverk (liknar strukturen till hierarkiska), relationell (används för att hantera relationsdatabaser), objektorienterad (används för objektdatamodellen) och objektrelationell (någon sorts sammansmältning av relationsdatabaser). och objektorienterad typ av databaser).

Eller, om uppdelningen baseras på var finns DBMS?, kan de delas in i lokala - hela DBMS finns på en dator och distribuerat - delar av databashanteringssystemet finns på flera datorer.

Filserver, klientserver och inbäddad - det här är namnen DBMS bär om vi delar dem med sätt att komma åt databaser. Filserver DBMS anses för närvarande vara föråldrade; I princip används klient-serversystem (DBMS som finns på servern tillsammans med själva databasen) och inbäddade system (som inte kräver separat installation).

Informationen som lagras i databaser är inte begränsad till text- eller grafikfiler - moderna versioner av DBMS stöder även ljud- och videofilformat.

I den här artikeln kommer jag att fokusera på DBMS som används för att lagra information från olika webbresurser.

Varför behövs dessa DBMS? Förutom deras huvudfunktion - att lagra och systematisera en enorm mängd information - låter de dig snabbt behandla kundförfrågningar och tillhandahålla färsk och relevant information.

Detta gäller även för ändringar du gör – istället för att ändra information i varje fil på sajten kan du ändra den i databasen, och då kommer den korrekta informationen direkt att visas på varje sida.

Relationellt DBMS och SQL-språk

Relationella och objektrelationella DBMS är bland de vanligaste systemen. De är tabeller där varje kolumn (kallas ett "fält") är ordnad och har ett specifikt unikt namn. Sekvensen av rader (de kallas "poster" eller "poster") bestäms av sekvensen i vilken informationen matas in i tabellen. I detta fall kan bearbetning av kolumner och rader ske i valfri ordning. Tabeller med data är sammanlänkade av speciella relationer, tack vare vilka du kan arbeta med data från olika tabeller - till exempel kombinera dem - med en fråga.

För att hantera relationsdatabaser används ett speciellt programmeringsspråk - SQL. Förkortningen står för "Structured query language", översatt till ryska som "strukturerat frågespråk".

Kommandona som används i SQL är indelade i de som manipulerar data, de som definierar data och de som manipulerar data.

Schemat för att arbeta med databasen ser ut så här:


MySQL

MySQL är en av de mest populära och utbredda DBMS, som används i många företag (till exempel Facebook, Wikipedia, Twitter, LinkedIn, Alibaba och andra). MySQL är en relations-DBMS som är fri programvara: den distribueras under villkoren i GNU Public License. Vanligtvis definieras detta databashanteringssystem som ett bra, snabbt och flexibelt system som rekommenderas för användning i små eller medelstora projekt. MySQL har många olika fördelar. Till exempel stöder den olika typer av tabeller: både de välkända MyISAM och InnoDB, och de mer exotiska HEAP och MERGE; dessutom växer antalet stödda typer ständigt. MySQL kör alla kommandon snabbt - kanske är det nu det snabbaste DBMS som finns. Ett obegränsat antal användare kan arbeta med detta databashanteringssystem samtidigt, och antalet rader i tabeller kan vara lika med 50 miljoner.

Eftersom MySQL i jämförelse med vissa andra DBMS stöder färre funktioner är det mycket lättare att arbeta med det än till exempel med PostgreSQL, vilket kommer att diskuteras nedan.

Den första versionen av MySQL släpptes redan 1995, och sedan dess har det funnits flera efterföljande utgåvor, som var och en medför betydande förändringar.

För att arbeta med MySQL används inte bara text, utan även grafiskt läge. Detta är möjligt tack vare phpMyAdmin-applikationen: du behöver inte ens känna till SQL-kommandon för att fungera i applikationen, och du kan administrera din databas direkt via din webbläsare.

Generellt kan noteras att MySQL är valet för den som behöver ett DBMS för ett litet eller medelstort projekt, snabbt och enkelt att använda och utan administrationssvårigheter.


PostgreSQL

Detta fritt distribuerade databashanteringssystem tillhör den objektrelationella typen av DBMS. Precis som med MySQL är PostgreSQL baserad på SQL-språket, men till skillnad från MySQL stöder PostgreSQL SQL-2011-standarden. Detta DBMS har inga begränsningar för den maximala storleken på databasen, inte heller för de maximala posterna eller indexen i tabellen.

Om vi ​​pratar om fördelarna med PostgreSQL, så är dessa naturligtvis tillförlitligheten av transaktioner och replikeringar, möjligheten till arv och enkel utökbarhet. PostgreSQL stöder olika tillägg och programmeringsspråksvarianter som PL/Perl, PL/Python och PL/Java. Det är också möjligt att ladda C-kompatibla moduler.

Många noterar att, till skillnad från MySQL, har detta DBMS bra och detaljerad dokumentation som ger svar på nästan alla frågor.

Att det är ett större DBMS än MySQL indikeras också av att PostgreSQL periodvis jämförs med ett så kraftfullt datahanteringssystem som Oracle.

Allt detta gör att vi kan prata om PostgreSQL som en av de mest avancerade DBMS för tillfället.


SQLite

För närvarande är detta en av de mest kompakta DBMS; den är också inbäddad och relationell. SQLite låter dig lagra all data i en fil och, på grund av sin lilla storlek, kännetecknas den av avundsvärd prestanda. SQLite skiljer sig markant från MySQL och PostgreSQL i sin struktur: motorn och gränssnittet för detta DBMS finns i samma bibliotek - och det är detta som gör att du kan köra alla frågor mycket snabbt. Andra DBMS (MySQL, PostgreSQL, Oracle, etc.) använder klient-server-paradigmet när interaktion sker via ett nätverksprotokoll.

Nackdelar inkluderar avsaknaden av ett användarsystem och möjligheten att öka produktiviteten.

SQLite kan rekommenderas för användning i projekt där du snabbt behöver kunna migrera en applikation och det inte finns något behov av skalbarhet.


Orakel

Denna DBMS är av den objektrelationella typen. Namnet kommer från namnet på företaget som utvecklade detta system, Oracle. Tillsammans med SQL använder DBMS en procedurtillägg som kallas PL/SQL, såväl som Java-språket.

Oracle är ett system som har varit stabilt i årtionden, så det väljs av stora företag för vilka tillförlitlighet för återställning efter fel, en strömlinjeformad säkerhetskopiering, förmågan att skala och andra värdefulla funktioner är viktiga. Dessutom ger detta DBMS utmärkt säkerhet och effektivt dataskydd.

Till skillnad från andra DBMS är kostnaden för att köpa och använda Oracle ganska hög, och detta är ofta ett betydande hinder för dess användning i små företag. Detta är förmodligen också anledningen till att Oracle bara ligger på 6:e plats i 2016 års DBMS-ranking i Ryssland.



MongoDB

Detta DBMS är annorlunda genom att det är utformat för att lagra hierarkiska datastrukturer, och därför kallas det dokumentorienterat (det är en dokumentlagring utan att använda tabeller eller scheman). MongoDB är öppen källkod.

Med hjälp av en identifierare kan du utföra snabba operationer på ett objekt; Denna DBMS fungerar också bra i komplexa interaktioner. Först och främst talar vi om prestanda - i vissa fall kommer en applikation skriven i MongoDB att köras snabbare än samma applikation med SQL, eftersom MongoDB tillhör klassen NoSQL DBMS och använder istället för SQL ett objektfrågespråk, som är mycket lättare än SQL.

Men detta språk har också sina begränsningar, och därför bör MongoDB användas i de fall där det inte finns något behov av komplexa och icke-triviala val.

Istället för en slutsats

Att välja ett DBMS är en viktig punkt när du skapar din resurs. Utgå från dina uppgifter och förmågor, försök och experimentera för att hitta exakt det alternativ som passar bäst.

DB är en akronym som står för "databas" eller "databaser" (beroende på sammanhanget). I den här artikeln kommer vi att titta på vad det/de är, vad de är och var de används. Vi kommer också att diskutera om DBMS och DB är samma sak eller inte.

Terminologi

En databas är en strukturerad lagring av information. En databas kan också innehålla vissa uppgifter, med villkoret att de måste beställas. Var och en av oss har arbetat med en databas minst en gång, men kanske inte ens har känt till den; till exempel när vi anger en sökfråga vänder vi oss till en storskalig databas för specifik information.

DBMS är en annan förkortning som står för I generell mening representerar de olika mjukvarulösningar med vilka du kan organisera databasdata. Det innebär att fylla databasen med information, organisera den, ta bort den, kopiera den, analysera den och mycket mer.

Typer av databas

I teorin finns det flera typer av dem. Det finns:

  • Relationsdatabaser (från det engelska ordet relation, som översätts som "anslutning") kännetecknas av relationer och uttrycks som en uppsättning sammanhängande enheter. De senare presenteras i form av tabeller som innehåller databasdata. Detta är det vanligaste
  • Hierarkisk - anslutningar på nivån "förfader-ättling", "överordnad-underordnad".
  • Nätverk - en gren från den tidigare typen.
  • Objektorienterad, som direkt arbetar med motsvarande metodik

Låt oss titta på var och en av dem mer i detalj, längs vägen och uppehålla oss vid databasens huvudidéer och koncept.

DB är en tallrik?

I sin vanliga presentation är de inte svåra att förstå - det här är skyltar med information. För förtydligande kan du ringa efter hjälp på ett mycket välkänt DBMS från Microsoft - Access, som ingår i deras vanliga kontorsapplikationssvit.

Relationsdatabastabeller har poster (rader) och fält (kolumner). De förra innehåller direkt information, data, de senare innehåller beskrivningar av exakt vad posterna betyder. Till exempel är fältet "namn", posten är "Katerina".

Värdetyper anges för fält. De kan vara numeriska, tecken, datum, tid, etc. Dessutom måste varje tabell ha ett nyckelfält - poster i det identifierar data unikt.

Det bör förstås att själva databasen inte är en tabell. Databasen kan lagra från ett till flera hundra tabeller, beroende på mängden och variationen av information.

Relationer mellan tabeller

För att säkerställa anslutningar mellan tabeller har DBMS datascheman. Det finns kopplingar:

  • "En-till-en" - varje tabellpost motsvarar endast en post från en annan tabell.
  • "En-till-många" och "många-till-många". En post kan motsvara flera från den relaterade tabellen samtidigt. Och vice versa (för det andra alternativet).
  • "Många-till-många". Det är redan lätt att gissa att i det här fallet, för flera rader, kan flera rader i en annan tabell väljas för anslutning (en sådan anslutning är organiserad med hjälp av en mellantabell och två anslutningar av ovanstående typ).

Rör sig upp och ner

Hierarkiska databaser har en mycket tydligare struktur än relationella. De kännetecknas av strikt lydnad. Det finns ett rotelement - "toppen", från vilken underordnade förgrenar sig - "arvingar" eller "ättlingar". En hierarkisk databas är en databas med en trädstruktur, där varje nod endast kan ha en förfader.

Denna typ är bekväm att använda för att bygga informationsförråd av en redan beställd struktur: till exempel en databas för en militär enhet eller en filhanterare. Nackdelen är oförmågan för en nod att ha mer än en förfader, såväl som komplexiteten i databaslogiken.

Expanderande anslutningar

Nätverksdatabaser har blivit en lösning på bristen hos hierarkiska databaser, som nämndes precis ovan. Den enda skillnaden mellan denna typ och den tidigare var förhållandet "många-till-många", som i det här fallet manifesteras i det faktum att precis som en förfader kan ha många arvingar, så kan de, ättlingarna, komma från flera noder på en gång.

Tabellvisningsmetod

Även om tabeller i första hand är associerade med relationsdatabaser, kan både hierarkiska databaser och nätverksdatabaser också representeras som tabeller. Den största skillnaden mellan dessa typer är just i principen att konstruera strukturen: relationella, jämfört med de andra två, är mycket friare och mindre ordnade.

Objektorienterad typ

Den sista typen som betraktas, objektorienterad, är den minst vanliga. Detta beror på att det är mycket högt specialiserat. Komplexa datastrukturer i en sådan databas bildar ett objekt och fungerar direkt med objektorienterade programmeringsspråk. De utvecklades på åttiotalet av förra seklet och har ännu inte vunnit mycket popularitet på grund av deras komplexitet och inte särskilt höga prestanda.

Läser in...Läser in...