För en programmerare eller en teknologisk entusiast är begreppet databas något som verkligen kan tas för givet. Kanske har du läst den kristna guiden om hur MySQL fungerar för WordPress Ett steg för steg MySQL-handledning för självhäftande Wordpress Bloggers Ett steg för steg MySQL-handledning för självhäftande Wordpress Bloggers Om du är en bloggare, är chansen är att du använder WordPress. Det finns två sätt på vilka du kan använda WordPress, idealisk för dem med viss teknisk kunskap och de som saknar. Den första är att ... Läs mer eller min artikel om att använda SQLite Databas Browser Lär dig SQL eller skapa en enkel databas med SQLite databasbläddrare Lär dig SQL eller skapa en enkel databas med SQLite databasbrowser Har du någonsin hittat dig i behov av en databas, men du har verkligen inte råd med Microsoft Access, och du har säkert inte råd att installera och driva en Oracle-server hemma. Om ditt mål är ... Läs mer om hur du använder en enkel databas. Men för många är begreppet en databas i sig lite utländsk. SQL-samtal, frågor, tabeller, poster, nycklar - alla dessa villkor och mer utgör databasdesign och databashantering, och det är inte så mycket som är enkelt om det.
Å andra sidan behöver inte begreppet relationsdatabas - i enklaste form - vara alltför komplicerat. Innan du antar att detta inte är något du behöver veta, anser att ungefär varje dag i ditt liv du interagerar med en databas med någon form. När du tar ut pengar från bankomaterna, köper en vara med ditt vanliga shopper-kort, eller märker in på gymmet, fyller du faktiskt ett bord eller tabeller i en databas.
Så varför ska du bry dig? Tja, för när du uppskattar hur en databas fungerar och hur data som verkar vara helt oberoende kan korreleras med andra data kommer du verkligen att uppskatta - och förhoppningsvis varna mer - hur de sammankopplingar kan komma tillbaka för att hemsöka dig.
Hur visste det andra klädföretaget att du skickade en katalog med formellt slitage mindre än två veckor efter att du just köpt en kostym? Hur kände bilhandlaren tre år efter att du köpt en bil, att garantin är nästan uppe och att du skickar ett erbjudande om en förlängd garanti? Det handlar om frågor, korrelationer mellan data och gör något om resultaten. Det är en databas magi.
Hur en databas fungerar
Så om du är en databasadministratör eller en programmerare som kan skriva ett SQL-uttalande med dina ögon stängda, kommer det här inlägget troligen att leda dig till tårar. Men om du är helt ny på begreppet databaser eller är du nyfiken på hur de kan vara en del av ditt liv utan att du ens vet det, då är det här artikeln för dig.
För att förklara hur en databas fungerar, kommer jag faktiskt att använda Excel. Excel är ett utmärkt verktyg för att skapa ett kalkylblad, men ett kalkylblad är helt enkelt en samling av vad som skulle kallas "tabeller" i en databas. En tabell är exakt vad det låter som, en tabell full av data som är organiserad av fält.
I vårt exempel kommer vi att låtsas att detta är en gymnas databas. Detta fiktiva gym har medlemskap, och vi kan låtsas att det enkla bordet ovan är den information som blir befolkade när en ny medlem registrerar sig hos hälsoklubben. En del av registreringsprocessen väger in, så att klubben kan hjälpa dig att hitta nya sätt att hantera din vikt och hälsa. Faktum är att hälsoklubben faktiskt har ett fantastiskt café med hälsokost på menyn, medlemmarna kan ha en bit att äta av något hälsosamt strax efter ett träningspass eller ta en drink precis innan.
Eftersom det här är en mycket högteknologisk klubb, har de också lagt till ett annat bord i sin databas. I nästa tabell får du nya uppgifter varje gång en medlem köper något på Healthfood Café. Denna transaktion (en annan databasperiod för addition eller subtraktion av en post) sker direkt i registret. Du kommer märka att mellan de två tabellerna finns det några liknande data, som medlemsnamnet. Det finns också unika data, som transaktions-ID och datum och tid.
De unika uppgifterna hjälper till att hålla all information organiserad, medan de vanliga uppgifterna mellan alla tabellerna är det som hjälper programmerare att ansluta-prickar, så att säga. Jag ska visa dig en logik som går in i det på ett ögonblick, men först måste klubben lägga till den ständigt växande databasen. Självklart, när medlemmar kommer in i klubben eller lämnar klubben, måste de använda deras klubb-id för att "märka" in och ut med hjälp av den digitala scannern. Denna åtgärd fyller ut ytterligare en tabell. Det här nya bordet håller helt enkelt reda på när medlemmen checkat in och checkat ut från hälsoklubben.
Så där har du det. En mycket enkel databas som hälsoklubben sätter ihop. Tre grundläggande bord med mycket unika användningsområden. En är registreringslistan för medlemskap, den andra är en rekord för köp av hälsoklubbaffärer, och den tredje är inloggnings- och anmälningstiden för varje medlem. Dessa är alla till synes orelaterade uppgifter, eller hur?
Tja, en relationsdatabas magi är att du kan extrahera information från varje av dessa tabeller och sedan korrelera dem tillsammans för att komma med några riktigt intressanta data. Låt oss till exempel säga att klubben vill ta reda på vilken sorts mat de tyngsta medlemmarna äter på caféet. De kunde enkelt räkna ut detta genom att köra en "fråga" mot databasen, fråga medlemskapets registreringstabell för medlemmarnas vikt över en viss vikt - låt oss säga 200 pund. Då skulle du fråga köpet inköpstabellen för inköp av de personer som är över 200 pund.
När du kör en sådan "fråga" mot en databas, ger den resultatet i en slags "tillfällig" ny tabell. Så här ser ett sådant nytt bord ut. Det är en lista över vad klubbens tyngsta medlemmar köpte för att äta och dricka på hälsoklubben.
Frågespråket är faktiskt ganska enkelt, för något av detta slag. I Microsoft Access, till exempel om medlemskapstabellen kallas "medlemskap" och köpet av köpköp är "köp", kan frågan se ut så här: "VÄLJ köp.medlem, köp.skrivning, inköp.date FRÅN köp WHERE medlemskap .name == köpnamn och membership.weight> 200 "
Nu när du börjar titta på informationen som samlas in i hälsoklubben, kan du se vilka typer av saker klubben kan räkna ut. Har folk som loggar in vid vissa tider på dagen brukar köpa mer på kaféet? Har folk i vissa åldersgrupper tenderar att checka in oftare vid vissa tider på dagen? All denna information kommer att hjälpa ett företag att genomföra saker som reklam eller marknadsföringskampanjer.
Andra typer av databaser
Nu när du vet hur en databas fungerar, vilka typer av databaser kanske du stöter på under ditt vardagsliv? Tja, helst du besöker de flesta bloggar eller webbplatser, och antingen posta en kommentar eller logga in, du interagerar med en databas. I fallet med WordPress ser databasen ut så här.
Som du kan se finns det en massa bord - 15 i det här fallet - för att hålla all slags information som användaruppgifter, postinformation, kommentarer och mer. Detta är ryggraden i en WordPress-blogg, och många andra avancerade webbplatser har liknande databasback-ends.
När du öppnar ett av de tabellerna, till exempel posttabellen, kan du se att all information som visas på den aktuella webbsidan lagras precis inuti en databas.
Om du är en spelare alls har du antagligen haft interaktioner med en databas. Vissa spel är starkare beroende av en backend-databas, och förmodligen är de mest databasintensiva spelen multiplayer online-spel. Om du till exempel är bekant med det massiva online-rymdspelet OGame, är det ett exempel på ett sådant online-spel som är enormt beroende av en databas för att köra showen. Bara spelarelistan för någon av världarna är tydligt utformad precis som du förväntar dig i en databastabell.
Speldatabaser håller allt från användares betyg och prestationer till aktuell spelartikelstatistik eller relationer mellan karaktärer, objekt och mer. Massor av spel skulle inte vara möjligt alls om det inte var för backend-databasen att köra showen.
En annan plats som du säkert har stött på en databas är när du handlar online. Se de snygga formaterade produktresultaten som finns listade på Amazon efter att du har kört en fråga om en produkt?
Yup, de var extraherade från en databas, med hjälp av en fråga som det exempel jag visade ovan (om än lite mer komplicerat förstås). Och när du går vidare och bestämmer dig för att gå vidare med det Amazon-köpet, kan du vara säker på att dina inköpsdetaljer och historia fyller ytterligare ett bord i Amazons massiva databas.
En annan plats som du kanske inte misstänker beror på en databas är ditt eget datorregister. Det här kallas faktiskt en hierarkisk databas, för som du kan se när du bläddrar i registret, lagras informationen i mer av en hierarki än det är ett relationellt format. Men förutsättningen är densamma.
Människor kan faktiskt skriva upp frågor för att extrahera information från systemregistret som bara ser ut som databasfrågor, förutom att "Lookup" -tabellen som används är en KeyName och "ValueName" är den faktiska data som lagras i databasen för den nyckeln.
Så du behöver inte riktigt veta hur man programmerar en databas eller ens hur man använder en, utan genom att vara medveten om de datamängder som dessa databaser kan lagra, och hur lätt kan de användas för att korrelera information som verkar mycket distinkt i den verkliga världen kan du vara uppmärksam på vilken typ av information du kanske vill dela (eller inte dela) med företag.
Gjorde denna förklaring av databasdesignen att förstå hur de fungerar i ditt eget liv? Är du förvånad över hur lätt det är att ansluta-prickarna till saker som du gör varje dag? Dela dina egna tankar om databaser i kommentarfältet nedan.
Bildkrediter: Symbolisk datautbyte via Shutterstock