Annonse
For en programmerer eller en teknologientusiast er konseptet med en database noe som kan tas for gitt. Kanskje har du lest Christian's guide til hvordan MySQL fungerer for WordPress En trinnvis MySQL-veiledning for WordPress-bloggere som er selv vertHvis du er en blogger, er sjansen stor for at du bruker WordPress. Det er to måter du kan bruke WordPress på, ideelt for de som har teknisk kunnskap og de som ikke har det. Den første er å ... Les mer , eller artikkelen min om bruk SQLite Database Browser Lær SQL Eller lag en enkel database med SQLite Database BrowserHar du noen gang funnet deg selv i behov av en database, men du har ikke råd til Microsoft Access, og du har absolutt ikke råd til å installere og betjene en Oracle-server hjemme. Enten målet ditt er ... Les mer å lære hvordan du bruker en enkel database. For mange mennesker er imidlertid konseptet med en database litt fremmed. SQL-samtaler, spørringer, tabeller, poster, nøkler - alle disse begrepene og mer utgjør feltet for databasedesign og databehåndtering, og det er ikke så mye som er enkelt med det.
På den annen side trenger ikke begrepet en relasjonsdatabase - i enkleste form - egentlig være for komplisert. Før du antar at dette ikke er noe du trenger å vite, bør du tenke på at omtrent hver dag i livet ditt samhandler du med en database av en eller annen form. Når du tar penger ut av minibanken, kjøper en vare ved å bruke det hyppige shopperkortet eller merke på treningsstudioet, fyller du faktisk noen tabeller eller bord inne i en database.
Så hvorfor skal du bry deg? Vel, fordi når du først setter pris på hvordan en database fungerer og hvordan data som ser ut til å være helt uavhengige, kan korreleres med andre data, vil du begynne å virkelig sette pris på - og forhåpentligvis være mer forsiktig - om hvordan disse sammenkoblingene kan komme tilbake til å hjemsøke du.
Hvordan visste det andre klesselskapet å sende deg en katalog med formell slitasje mindre enn to uker etter at du nettopp kjøpte en dress? Hvordan visste bilforhandleren tre år etter at du kjøpte en bil, at garantien nærmest er oppe og å gi deg et tilbud om utvidet garanti? Det handler om spørsmål, sammenhenger mellom data og å gjøre noe med resultatene. Det er magien i en database.
Slik fungerer en database
Så hvis du er en databaseadministrator, eller en programmerer som kan skrive en SQL-setning med lukkede øyne, vil dette innlegget sannsynligvis kjede deg til tårer. Men hvis du er helt ny på begrepet databaser, eller du er nysgjerrig på hvordan de kan være en del av livet ditt uten at du engang vet det, så er dette artikkelen for deg.
For å forklare hvordan en database fungerer, skal jeg faktisk bruke Excel. Excel er et utmerket verktøy for å lage et regneark, men et regneark er ganske enkelt en samling av det som vil bli kalt “tabeller” i en database. En tabell er akkurat slik det høres ut, en tabell full av data som er organisert etter felt.
I eksempelet vårt vil vi late som dette er databasen til et treningsstudio. Dette fiktive treningsstudioet har medlemskap, og vi kan late som om enkelttabellen ovenfor er informasjonen som blir befolket hver gang et nytt medlem melder seg på helsestudio. En del av påmeldingsprosessen veier inn, slik at klubben kan hjelpe deg med å komme opp med nye måter å håndtere vekten og helsen din på. Faktisk har helsestudioet faktisk en kjempeflott kafé med helsekost på menyen, medlemmene kan ta seg en matbit av noe sunt rett etter en treningsøkt, eller ta en drink rett før.
Siden dette er en veldig høyteknologisk klubb, har de også lagt til en annen tabell i databasen. Denne neste tabellen får nye data lagt til hver gang et medlem kjøper noe på helsekafékaféen. Denne transaksjonen (en annen databaseterm for addisjon eller subtraksjon av en post) finner sted rett ved registeret. Du vil merke at mellom de to tabellene er det noen lignende data, som medlemsnavnet. Det er også unike data, som transaksjons-ID og dato og klokkeslett.
De unike dataene hjelper til med å holde all informasjon organisert, mens de vanlige dataene mellom alle tabellene er det som hjelper programmerere til å koble-til-prikkene, så å si. Jeg vil vise deg noen logikk som går inn på det om et øyeblikk, men først må klubben legge til den stadig voksende databasen. Når medlemmene kommer inn i klubben eller forlater klubben, er det klart at de trenger å bruke klubb-ID-en for å "merke" ut og ut ved hjelp av den digitale skanneren. Denne handlingen fylles ut ennå en annen bord. Denne nye tabellen holder ganske enkelt oversikt over når medlemmet sjekket inn og sjekket ut av helsestudio.
Så, der har du det. En veldig enkel database som helsestudioet satt sammen. Tre grunnleggende bord med veldig unike bruksområder. Den ene er påmeldingslisten for medlemskap, den andre er en oversikt over kjøp av helsestudiobutikker, og den tredje er påloggings- og avmeldingstidene for hvert medlem. Dette er alt tilsynelatende ikke relatert informasjon, ikke sant?
Vel, det magiske ved en relasjonsdatabase er at du kan hente ut informasjon fra hver av disse tabellene og deretter korrelere dem sammen for å komme med noen virkelig interessante data. La oss for eksempel si at klubben ønsker å finne ut hva slags mat de tyngste medlemmene spiser på kafeen. De kunne lett finne ut av dette ved å kjøre en "spørring" mot databasen og be medlemskapets påmeldingstabell om vekten til medlemmer over en viss vekt - la oss si 200 pund. Deretter ber du kafébordet om kjøp for kjøp av folk som er over 200 pund.
Når du kjører en slik "spørring" mot en database, gir den resultatene i en slags "midlertidig" ny tabell. Slik ser et så nytt bord ut. Det er en oversikt over hva klubbens tyngste medlemmer kjøpte for å spise og drikke på helsestudioskafeen.
Spørrespråket er faktisk ganske enkelt, for noe av denne art. I Microsoft Access, for eksempel hvis medlemstabellen kalles “medlemskap” og kafétabellen er “kjøp”, kan spørringen se ut dette: “VELG kjøp.medlem, kjøp.beskrivelse, kjøp.dato FRA kjøp HVOR medlemskap.navn == innkjøp.navn OG medlemskap.vekt> 200”
Når du begynner å se på informasjonen som er samlet inn i helsestudioet, kan du se hva slags ting klubben kan finne ut av. Har folk som logger seg på bestemte tider av døgnet en tendens til å kjøpe mer på kafeen? Har folk i bestemte aldersgrupper en tendens til å sjekke inn oftere på bestemte tider av døgnet? All denne informasjonen vil hjelpe en bedrift å implementere ting som reklame eller markedsføringskampanjer.
Andre typer databaser
Nå som du vet hvordan en database fungerer, hva slags databaser kan du komme over i løpet av hverdagen din? Vel, uansett når du besøker de fleste blogger eller nettsteder, og enten legger ut en kommentar eller logger på, samhandler du med en database. Når det gjelder WordPress ser databasen noe slik ut.
Som du ser, er det en haug med tabeller - 15 i dette tilfellet - for å inneholde alle slags informasjon som brukerinformasjon, postinformasjon, kommentarer og mer. Dette er ryggraden i en WordPress-blogg, og mange andre avanserte nettsteder har lignende databasestøtter.
Når du åpner et av disse tabellene, som for eksempel innleggstabellen, kan du se at all informasjonen som blir vist på den faktiske websiden er lagret rett i en database.
Hvis du i det hele tatt er en spiller, har du sannsynligvis hatt en interaksjon med en database. Noen spill er mer avhengig av en back-end-database, og sannsynligvis er de mest databasekrevende spillene flerspillers online spill. For eksempel, hvis du er kjent med det enorme online romspillet OGame, er det et eksempel på et slikt online spill som er enormt avhengig av en database for å kjøre showet. Bare spillelisten for noen av verdenene er tydelig lagt ut akkurat som du kan forvente i en hvilken som helst databasetabell.
Spilldatabaser inneholder alt fra brukerresultater og bragder til aktuell statistikk over spillelementer eller sammenhenger mellom karakterer, objekter og mer. Mange spill ville ikke være mulig i det hele tatt hvis det ikke var for back-end-databasen for å kjøre showet.
Et annet sted du helt sikkert har kommet over en database er når du handler online. Ser du de pent formaterte produktresultatene som er oppført på Amazon etter at du har spurt etter et produkt?
Ja, de ble trukket ut fra en database ved å bruke en spørring som eksemplet jeg viste ovenfor (om enn litt mer komplisert selvfølgelig). Og når du går foran og bestemmer deg for å gå videre med det Amazon-kjøpet, kan du være sikker på at kjøpsdetaljene og historien din inneholder nok et bord i Amazons massive database.
Et annet sted du kanskje ikke mistenker, avhenger av en database, er ditt eget dataregister. Dette kalles faktisk en "hierarkisk" database, fordi som du kan se når du blar gjennom registeret, blir informasjonen lagret i mer av et hierarki enn det er et relasjonsformat. Forutsetningen er imidlertid den samme.
Folk kan faktisk skrive opp spørsmål for å hente ut informasjon fra systemregisteret som ser ut som databaseforespørsler, bortsett fra oppslagstabellen som er brukt er et nøkkelnavn og "verdinavn" er de faktiske dataene som er lagret i databasen for det nøkkel.
Så du trenger ikke egentlig å vite hvordan du programmerer en database eller til og med hvordan du bruker en, men ved å være klar over datamengdene som disse databasene kan lagre, og hvor lett de kan brukes til å korrelere informasjon som virker veldig distinkt i den virkelige verden, kan du holde deg oppmerksom på hvilken type informasjon du kanskje vil dele (eller ikke dele) med bedrifter.
Hjalp denne forklaringen til databasedesign med å forstå hvordan de fungerer i ditt eget liv? Er du overrasket over hvor enkelt det er å koble-til-prikkene for ting du gjør hver dag? Del dine egne tanker om databaser i kommentarfeltet nedenfor.
Bildetillegg: Symbolisk datautveksling via Shutterstock
Ryan har en BSc-grad i elektroteknikk. Han har jobbet 13 år innen automatisering, 5 år innen IT, og er nå en applikasjonsingeniør. Han var tidligere administrerende redaktør for MakeUseOf, han snakket på nasjonale konferanser om datavisualisering og har blitt omtalt på nasjonal TV og radio.