Beste svaret
Først, la meg bare rydde opp i noen terminologi. Et databasestyringssystem er programvare designet for å organisere og administrere data slik at de enkelt kan lagres på lang sikt, søkes (spørres), hentes og endres. En database er en forekomst av denne lagringen. Så analogt er et databasestyringssystem som bibliotekkortkatalogkonseptet, og en database er som et bestemt kabinett som holder kort på et bestemt bibliotek. Imidlertid vil jeg referere til det overordnede konseptet som «databaser», som folk flest gjør i samtaler.
Å kunne lagre og hente data høres ganske generisk ut, og det er sant. Det er akkurat det databaser er. De er en generalisert løsning som passer til behov som ofte oppstår i programvare. Nøkkelfunksjonen i en database er at den organiserer data på en eller annen måte som er ment å brukes av en applikasjon / virksomhet. Det er ikke bare en samling filer, det er også en måte å organisere dem i sammenheng med en applikasjon. Denne typen behov kommer opp hele tiden i programvare, spesielt internettapplikasjoner som krever vedvarende lagring og online tilgang. Hvis du for eksempel oppretter en e-posttjeneste, må du kunne lagre e-post permanent og la brukerne hente e-postene. Du må kunne søke og sortere e-postene. Du må kunne fortelle hvilke e-poster som tilhører hvilken bruker, og så videre. En database passer perfekt for dette.
Ganske mye hver programvare trenger for å lagre og få tilgang til data, men programvareingeniører velger ikke alltid å bruke en database. Så hvis de ikke alltid er nødvendige, hva formål tjener de, og hvordan vet de når de skal bruke en?
Vel igjen, jeg vil prøve å bruke en analogi, selv om den ikke vil være perfekt. Tenk deg at du skriver en kort tosidig forskningsoppgave for skolen. Du trenger bare å lese et par kapitler fra en lærebok om et emne du allerede er kjent med. I dette tilfellet kan du lese kapitlene, og deretter umiddelbart begynne å skrive papiret. Kanskje du vil henvise tilbake til læreboka etter behov . Kanskje du vil skrive noen notater på en oversikt. Uansett, ikke så farlig.
Anta at du må skrive en grundig undersøkt avhandling som skal være 50 sider lang. Du trenger å undersøke ved hjelp av et dusin lærebøker og sitere referanser. Nå trenger du definitivt å bli organisert. Du vil sannsynligvis ønske å være mer organisert og flittig med måten du skriver notater på, hvordan du bruker bokmerker i lærebøkene, og hvordan du skisserer papiret.
I det første scenariet er du super- organisert kan være litt overkill og kan redusere farten. I det andre scenariet, hvis du ikke var det organisert, ville du aldri kunne gjøre jobben ordentlig. Et sted mellom disse to scenariene er forskjellen mellom når et program skal bruke en database og når det sannsynligvis kan gjøre noe lettere. Det avhenger av scenariet og behovene til produktet / tjenesten.
På dette punktet er det naturlig å spørre hva er forskjellen mellom en database og et filsystem? De brukes begge til å lagre, organisere og hente data riktig?
Et filsystem (som systemet som lagrer og presenterer filer på datamaskinen din) gjør mye av det samme en database er designet for å gjøre. Den lagrer data på lang sikt. Det lar deg søke i dataene. Du kan hente dataene og nye data, endre eksisterende data og slette data.
Hovedforskjellen er at et filsystem ikke er ment å organisere dataene for et bestemt program eller forretningsformål. Den forstår ikke mye om strukturen til dataene enn hva den trenger for å kunne lagre og hente filer. Filene er ikke nødvendigvis relatert til hverandre. De er ikke nødvendigvis avhengige av hverandre eller har noen spesiell betydning med hensyn til hverandre. I datamaskinens filsystem har du MP3-filer, og kanskje skolepapirer du har skrevet, lagrer du videospill, e-post, og bilder fra kameraet ditt. Et filsystem hjelper deg med å organisere disse filene og bruke dem med forskjellige applikasjoner, men det er ingen sentral forståelse som knytter dem sammen. Dermed kan noen spørsmål om filsystemet være fornuftig, som «Hvor er min favoritt MP3?» «Hvilken fil er den største?» «Hvilken fil er den nyeste?» «Hvor er alle bildene mine fra i fjor?» Imidlertid er det andre spørsmål som ikke gir mening for et filsystem som «Er denne MP3 mer verdifull enn dette Word .doc?»
En database derimot, er ment å lagre data som alt, i det minste på en eller annen måte, er knyttet til noen felles formål. Dermed er databaser bra for å organisere informasjon på en måte som gjør det enkelt å svare på spørsmål som «Hvem er min mest verdifulle kunde?» «Hvilket produkt er det mest populære? «» Hvem er alle leverandørene, og hvem er alle kundene som er avhengige av at produkt A er tilgjengelig? «Osv.
Så for å bruke en analogi igjen, kan et filsystem være som arkivskapet ditt på hjem.Du bruker den til å lagre avgiftsdokumentene dine, vedlikeholdsregistrene for bilen din, barnas rapportkort, kvitteringer du vil henge på, regninger osv. Det holder tingene dine organisert slik at du vet hvordan du finner det, men ikke alt der inne er nødvendigvis relatert til alle andre ting der inne.
En database er mer som si, en haug med arkivskap på et regnskapskontor som bare har fakturaer. De er sannsynligvis alle organisert på en eller annen måte . Som alle fordringene er mot den ene veggen, og alle gjeldene på den andre. De kan bestilles etter dato, eller kanskje alfabetisk av betaleren eller betalingsmottakeren. Det kan være noen indeksfiler foran som forteller deg hvilket kabinett du skal se etter filer tilknyttet betalere som har et bestemt navn og kanskje en annen indeks etter telefonnummer, eller en annen indeks som viser alle fakturaer verdt over $ 200 000 eller noe. Filene er alle relatert til virksomheten og er organisert på en måte som er mer nyttig for formålet med virksomheten.
Svar
Spørsmålet var: Hvordan forstår du «Database»?
En database er et sett med informasjonselementer som er lagret på en strukturert måte på (for det meste) datamaskinlesbare medier med veldefinerte tilgangsveier til data. Vær oppmerksom på at informasjonen i seg selv ikke trenger å være strukturert.
Dermed, for å gi noen få eksempler:
- et sett med filer lagret på en datamaskin sammen med spesialiserte programvare for å få tilgang til informasjonen er en database.
- et sett med filmer lagret på en datamaskin sammen med en filmindeks og noe programvare for å finne og få tilgang til dem er en database.
- et sett av måledata i sanntid som strømmer inn til datamaskinen og lagres et sted, er en database.
- En database kan ha sin egen DBMS (RDBMS, HDBMS osv.) eller kan også være flat filbasert.