Migliore risposta
OQ: Cosè lesempio di database temporale?
Il database temporale è simile al database spaziale con la differenza che il database spaziale supporta i tipi di dati, le relazioni e le funzioni relative allo spazio mentre il database temporale è focalizzato sugli stessi relativi al tempo. Dire che il tipo di dati nel database temporale potrebbe essere “periodo di tempo” e lestensione del linguaggio (dal tipico SQL) potrebbe essere funzioni come within\_period, period\_overlap, period\_exclusive ecc. La chiave primaria nel database temporale può cambiare nel tempo (deve essere costante solo entro il periodo di time, non for always and ever).
Puoi in parte simulare un database temporale in un normale db relazionale avendo tutte le tabelle estese con colonne “date from” e “date to” che specificano da quando a quando fornite record è uninformazione valida. Ad esempio:
Mark, bionda, 2000–03–21, 2048–12–11
Mark, calvo, 2048–12–12, 2048–12–23
Mark, wigged, 2048–12–24,…
Il db temporale dovrebbe permetterti di fare di più. Ad esempio, dovresti essere in grado di affermare facilmente un vincolo univoco sul periodo di tempo nel significato di periodo non superato, che è più del semplice UQ (acconciatura, data da, data a).
Risposta
Per prima cosa, vorrei chiarire un po la terminologia. Un Database Management System è un software progettato per organizzare e gestire i dati in modo tale che possano essere facilmente archiviati a lungo termine, cercati (interrogati), recuperati e modificati. Un database è unistanza di questo archivio. Quindi, per analogia, un sistema di gestione del database è come il concetto di catalogo delle schede della biblioteca e un database è come un particolare armadietto che contiene le carte in una particolare biblioteca. Tuttavia, mi riferirò al concetto generale come “database”, come fa la maggior parte delle persone durante una conversazione.
Essere in grado di memorizzare e recuperare dati sembra piuttosto generico, ed è vero. È proprio quello che i database sono. Sono una soluzione generalizzata per soddisfare le esigenze che si presentano comunemente nelle applicazioni software. La caratteristica chiave di un database è che organizza i dati in un modo che deve essere utilizzato da unapplicazione / azienda. Non è solo una raccolta di file, ma anche un modo per organizzarli nel contesto di unapplicazione. Questo tipo di esigenza si presenta sempre nel software, in particolare nelle applicazioni Internet che richiedono archiviazione persistente e accesso online. Ad esempio, se crei un servizio di posta elettronica, devi essere in grado di archiviare le email in modo permanente e consentire agli utenti di recuperare le email. Devi essere in grado di cercare e ordinare le email. Devi essere in grado di dire facilmente quali e-mail appartengono a quale utente e così via. Un database è la soluzione ideale per questo.
Praticamente ogni software ha bisogno di memorizzare e accedere ai dati, ma gli ingegneri del software non scelgono sempre di utilizzare un database. Quindi, se non sono sempre necessari, cosa servono allo scopo e come fanno a sapere quando usarne uno?
Ebbene, di nuovo, cercherò di usare unanalogia, anche se non sarà perfetta. Immagina di scrivere un breve documento di ricerca di due pagine per la scuola. Hai solo bisogno di leggere un paio di capitoli di un libro di testo su un argomento che conosci già. In questo caso, potresti leggere i capitoli e quindi iniziare immediatamente a scrivere il documento. Forse farai riferimento al libro di testo se necessario . Forse annoterai qualche nota su uno schema. Comunque, non è un grosso problema.
Ora supponi di dover scrivere una tesi approfondita che sarà lunga 50 pagine. Avrai bisogno di fare ricerche usando una dozzina di libri di testo e citare riferimenti. Ora, avrai sicuramente bisogno di organizzarti. Probabilmente vorrai essere più organizzato e diligente sul modo in cui scrivi note, su come usi i segnalibri nei libri di testo e su come delinea il tuo articolo.
Nel primo scenario, essere super- organizzato potrebbe essere un po eccessivo e potrebbe rallentarti. Nel secondo scenario, se non fossi organizzato, non saresti mai in grado di svolgere il lavoro correttamente. Da qualche parte tra questi due scenari è la differenza tra quando unapplicazione dovrebbe utilizzare un database e quando potrebbe probabilmente fare qualcosa di più leggero. Dipende dallo scenario e dalle esigenze del prodotto / servizio.
A questo punto, è naturale chiedersi, cosa ” è la differenza tra un database e un file system? Sono entrambi utilizzati per memorizzare, organizzare e recuperare i dati, giusto?
Un file system (come il sistema che archivia e presenta i file sul tuo computer) lo fa molte delle stesse cose per cui è progettato un database. Memorizza i dati a lungo termine. Ti permette di cercare i dati. È possibile recuperare i dati e nuovi dati, modificare i dati esistenti ed eliminare i dati.
La differenza fondamentale è che un file system non è concepito per organizzare i dati per una specifica applicazione o scopo aziendale. Non comprende molto della struttura dei dati oltre a ciò di cui ha bisogno per essere in grado di memorizzare e recuperare i file. I file non sono necessariamente correlati tra loro.Non dipendono necessariamente luno dallaltro o hanno un significato particolare luno rispetto allaltro. Nel file system del tuo computer, hai MP3 e forse documenti scolastici che hai scritto, file di salvataggio di videogiochi, e-mail, e le immagini dalla fotocamera. Un file system ti aiuta a organizzare questi file e ad usarli con diverse applicazioni, ma non esiste una comprensione centrale che li leghi insieme. Pertanto, alcune domande potrebbero avere senso sul File System, come “Dovè il mio MP3 preferito?” “Qual è il file più grande?” “Qual è il file più recente?” “Dove sono tutte le mie foto dellanno scorso?” Tuttavia, ci sono altre domande che non hanno senso per un file system come “Questo MP3 è più prezioso di questo Word .doc?”
Daltra parte, un database ha lo scopo di memorizzare dati che tutto, almeno in qualche modo, si riferisce a uno scopo comune. Pertanto, i database sono utili per organizzare le informazioni in un modo che rende facile rispondere a domande come “Chi è il mio cliente più prezioso?” “Qual è il prodotto più popolare? “” Chi sono tutti i fornitori e chi sono tutti i clienti che dipendono dalla disponibilità del prodotto A? “Ecc.
Quindi, per usare ancora unanalogia, un file system potrebbe essere come il tuo archivio in a casa. Lo usi per archiviare i tuoi documenti fiscali, i registri di manutenzione della tua auto, le pagelle dei tuoi figli, le ricevute che vuoi appendere, le bollette, ecc. Mantiene le tue cose organizzate in modo che tu sappia come trovarle, ma non tutto ciò che cè è necessariamente correlato a ogni altra cosa lì dentro.
Un database è più come dire, un mucchio di schedari in un acc ufficio di ricevimento che detiene solo fatture. Probabilmente sono tutti organizzati in qualche modo. Come tutti i crediti contro un muro e tutti i debiti sullaltro. Potrebbero essere ordinati per data, o forse in ordine alfabetico per pagatore o beneficiario. Potrebbero esserci alcuni indici file nella parte anteriore che ti dicono in quale cabinet cercare i file associati ai pagatori che hanno un certo nome e forse un altro indice per numero di telefono, o un altro indice che elenca tutte le fatture che valgono più di $ 200k o qualcosa del genere. I file sono tutti correlati allattività e sono organizzati in un modo più utile per lo scopo dellattività.