Bästa svaret
Låt mig först rensa upp en del terminologi. Ett databashanteringssystem är en mjukvara som är utformad för att organisera och hantera data så att de enkelt kan lagras på lång sikt, sökas (efterfrågas), hämtas och modifieras. En databas är en instans av denna lagring. Så analogt är ett databashanteringssystem som bibliotekskortkatalogkonceptet, och en databas är som ett visst skåp som håller kort i ett visst bibliotek. Jag kommer dock att hänvisa till det övergripande konceptet som ”databaser”, som de flesta gör i samtal.
Att kunna lagra och hämta data låter ganska generiskt, och det är sant. Det är precis vad databaser är. De är en generaliserad lösning för att passa behov som ofta uppstår i programvaror. Nyckelfunktionen i en databas är att den organiserar data på något sätt som är tänkt att användas av en applikation / verksamhet. Det är inte bara en samling filer, det är också ett sätt att organisera dem inom ramen för någon applikation. Denna typ av behov kommer hela tiden upp i programvara, särskilt internetapplikationer som kräver ihållande lagring och onlineåtkomst. Om du till exempel skapar en e-posttjänst måste du kunna lagra e-postmeddelanden permanent och låta användare hämta e-postmeddelandena. Du måste kunna söka och sortera e-postmeddelandena. Du måste kunna enkelt berätta vilka e-postmeddelanden som tillhör vilken användare och så vidare. En databas passar perfekt för detta.
Nästan alla programvaror behöver lagra och komma åt data, men mjukvaruutvecklare väljer inte alltid att använda en databas. Så om de inte alltid behövs, vad syfte tjänar de, och hur vet de när de ska använda en?
Nåväl, jag ska försöka använda en analogi, även om den inte kommer att vara perfekt. Tänk dig att du skriver ett kort, tvåsidigt forskningsarbete för skolan. Du behöver bara läsa ett par kapitel från en lärobok om ett ämne som du redan känner till. I det här fallet kan du läsa kapitlen och sedan omedelbart börja skriva papperet. Kanske kommer du att hänvisa till läroboken efter behov . Kanske kommer du att skriva några anteckningar på en översikt. Oavsett, ingen stor sak.
Antag nu att du måste skriva en grundligt undersökt avhandling som kommer att vara 50 sidor lång. Du kommer att behöva undersöka med ett dussin läroböcker och citera referenser. Nu kommer du definitivt att behöva ordna dig. Du kommer troligtvis att vilja vara mer organiserad och flitig om hur du skriver anteckningar, hur du använder bokmärken i läroböckerna och hur du skisserar ditt papper.
I det första scenariot är du super- organiserad kan vara lite av en överdrift och kan sakta ner dig. I det andra scenariot, om du inte var så organiserad, skulle du aldrig kunna göra jobbet ordentligt. Någonstans mellan dessa två scenarier är skillnaden mellan när en applikation ska använda en databas och när den förmodligen kan göra något lättare. Det beror på scenariot och behoven hos produkten / tjänsten.
Vid denna tidpunkt är det naturligt att fråga, vad ” är skillnaden mellan en databas och ett filsystem? De används båda för att lagra, organisera och hämta data rätt?
Ett filsystem (som det system som lagrar och presenterar filer på din dator) gör mycket av samma saker som en databas är utformad för att göra. Den lagrar data på lång sikt. Det låter dig söka i data. Du kan hämta data och nya data, ändra befintlig data och radera data.
Huvudskillnaden är att ett filsystem inte är avsett att organisera data för ett specifikt program eller affärssyfte. Det förstår inte mycket om strukturen på data förutom vad den behöver för att kunna lagra och hämta filer. Filerna är inte nödvändigtvis relaterade till varandra. De beror inte nödvändigtvis på varandra eller har någon speciell betydelse med avseende på varandra. I din dators filsystem har du MP3-filer, och kanske skolpapper du har skrivit, sparar videospel, e-postmeddelanden, och bilder från din kamera. Ett filsystem hjälper dig att organisera dessa filer och använda dem med olika applikationer, men det finns ingen central förståelse för att knyta ihop dem. Således kan vissa frågor ställa till filsystemet meningsfullt, som ”Var är min favorit MP3?” ”Vilken fil är störst?” ”Vilken fil är den senaste?” ”Var är alla mina bilder från förra året?” Det finns dock andra frågor som inte är meningsfulla för ett filsystem som ”Är denna MP3 mer värdefull än detta Word .doc?”
En databas å andra sidan är avsedd att lagra data som alla, åtminstone på något sätt, avser något gemensamt syfte. Således är databaser bra för att organisera information på ett sätt som gör det enkelt att svara på frågor som ”Vem är min mest värdefulla kund?” ”Vilken produkt är den mest populära? ”” Vilka är alla leverantörer och vilka är alla kunder som är beroende av att produkt A är tillgänglig? ”Etc
Så för att använda en analogi igen kan ett filsystem vara som ditt arkivskåp på Hem.Du använder den för att lagra dina skattehandlingar, underhållsposter för din bil, dina barns rapportkort, kvitton som du vill hänga på, räkningar etc. Det håller dina saker ordnade så att du vet hur du hittar det, men inte allt där inne är nödvändigtvis relaterat till alla andra saker där inne.
En databas är mer som säg, en massa arkivskåp på ett redovisningskontor som bara har fakturor. De är troligen alla organiserade på något sätt . Liksom alla fordringar är mot ena väggen och alla skulder på den andra. De kan beställas efter datum eller kanske alfabetiskt av betalare eller betalningsmottagare. Det kan finnas några indexfiler på framsidan som berättar vilket skåp du ska titta efter för filer som är associerade med betalare som har ett visst namn och kanske ett annat index efter telefonnummer, eller ett annat index som listar alla fakturor värda över 200 000 $ eller något. Filerna som alla är relaterade till verksamheten och är organiserade på ett sätt som är mer användbart för företagets syfte.
Svar
Frågan var: Hur förstår du ”Databas”?
En databas är en uppsättning informationsobjekt som lagras på ett strukturerat sätt på (mestadels) datorläsbart media med väldefinierade åtkomstvägar till data. Observera att informationen i sig inte behöver struktureras.
Således, för att ge några exempel:
- en uppsättning filer som lagras på en dator tillsammans med specialiserade programvara för att komma åt informationen är en databas.
- en uppsättning filmer som lagras på en dator tillsammans med ett filmindex och en del programvara för att hitta och komma åt dem är en databas.
- en uppsättning mätdata i realtid som strömmar in till datorn och lagras någonstans är en databas.
- en databas kan ha sin egen DBMS (RDBMS, HDBMS etc) eller kan också vara platt filbaserad.