Selezione di un programma per scrivere un database. Programmi gratuiti per lo sviluppo e l'amministrazione di database Applicazione per lavorare con i database

introduzione

Banca dati (DB) - si tratta di una raccolta denominata di dati che riflette lo stato degli oggetti e le loro relazioni nell'area tematica.

DBMS –è un programma per computer responsabile della creazione, modifica, eliminazione e in generale dell'archiviazione di database (DB) o raccolte di record di dati.

Funzioni del DBMS:

1. Determinazione della struttura del database da creare, sua inizializzazione e caricamento iniziale.

2. Fornire agli utenti la possibilità di manipolare i dati (selezione dei dati necessari, esecuzione di calcoli, sviluppo di un'interfaccia di input/output, visualizzazione).

3. Garantire l'indipendenza logica e fisica dei dati.

4. Proteggere l'integrità logica del database.

5. Tutela dell'integrità fisica.

6. Gestione delle autorizzazioni utente per accedere al database.

7. Sincronizzazione del lavoro di diversi utenti.

8. Gestione delle risorse dell'ambiente di storage.

9. Supporto alle attività del personale di sistema.

Capitolo 1

1.1.Tipi di DBMS:

Relazionale

I DBMS relazionali sono il tipo più comune di sistemi di gestione di database al momento. Sono davvero facili da usare. I DBMS relazionali hanno questo nome perché... memorizzano i dati ordinati in tabelle. Il modello relazionale si basa sulla memorizzazione di dati ordinati in colonne e righe. I dati possono essere collegati all'interno della stessa tabella o su tabelle diverse. Tipologie relazionaliDBMS potrebbero avere prestazioni inferiori rispetto ad altri tipi di sistemi di gestione di database, ma non hanno la potenza di elaborazione e i problemi di ricerca della memoria dei PC moderni. I dati in questo tipo di DBMS vengono archiviati in una forma definita con precisione e vengono generalmente gestiti utilizzando il linguaggio di programmazione SQL (Structured Query Language). Puoi anche specificare i tipi più popolari di DBMS: Oracle, MSSqlServer, IBMDB2, PostgreSQL e molti altri.

Sistemi di gestione di database di file flat

I DBMS FlatFile sono forse i più semplici di tutti. A volte sono anche chiamati modello piatto. L'idea è quella di avviare un'unica applicazione che contenga le impostazioni del programma e il formato del modello di archiviazione originale. I file flat in righe e colonne formattate presuppongono che ogni elemento in un particolare modello contenga le stesse informazioni. Un esempio ben noto di questo tipo di DBMS è CSV (Comma Separated Values) e un altro sono tabelle come MS Excel.

Gerarchico

I DBMS gerarchici si basano sul modello dell'albero genealogico. Qui gli elementi solitamente hanno una relazione uno-a-molti ed è bene memorizzare informazioni con una descrizione degli elementi, caratteristiche, ecc. Qui puoi memorizzare un libro con capitoli e versetti. Tipi gerarchiciDBMS può essere utilizzato per archiviare database con brani, ricette, modelli di telefono e in generale tutto ciò che può essere archiviato in un formato annidato. I tipi gerarchici di sistemi di gestione dei database possono avere un'efficienza inferiore quando si lavora con vari oggetti reali. Un esempio di tipi DBMS gerarchici è un documento XML.

Rete

I sistemi di gestione dei database di rete utilizzano un modello di dati simile a quello gerarchico. La differenza principale è che la struttura di un DBMS di rete consente a molti genitori di avere molti figli. Tipi di rete di DBMS si basano su record e insiemi e utilizzano SQL per il loro lavoro. I sistemi di gestione di database basati su rete tendono ad essere altamente flessibili, ma sono stati utilizzati raramente dopo gli anni '60 e '70. Nella ricerca dell'elemento richiesto, il programma richiedente esamina tutti gli elementi installati, il che può risultare troppo complicato. Questo tipo di sistemi di gestione di database è stato praticamente sostituito da quelli relazionali.

Scegliere un programma per scrivere un database

Nel mio lavoro del corso, ho utilizzato un database relazionale utilizzando Microsoft Access.

accesso Microsoft– uno dei DBMS più diffusi per il sistema operativo Microsoft Windows. Inoltre, Access DBMS è una potente piattaforma di sviluppo con un ambiente integrato flessibile e funzionale. Microsoft Access può essere utilizzato come strumento per lo sviluppo e la distribuzione di sistemi informativi aziendali su vasta scala.

Access utilizza quanto segue tipi di campo principali:

testo: destinato a informazioni di testo e numeri quando non è necessario eseguire operazioni matematiche con essi;

numerico: destinato ai numeri quando utilizzato nei calcoli matematici;

PROMEMORIA: progettato per memorizzare testo o commenti arbitrari (lunghezza fino a 64.000 caratteri);

monetario: progettato per memorizzare numeri che rappresentano importi monetari;

appuntamento: progettato per memorizzare informazioni su data e ora;

contatore: uno speciale campo numerico progettato per aggiungere automaticamente un numero univoco per il record corrente nella tabella dati.

logico: progettato per memorizzare solo due valori “True” e “False”;

Campo oggetto OLE: destinato alla memorizzazione di oggetti creati da altre applicazioni (disegni, grafici, diagrammi).

In Microsoft Access esistono diversi modi per selezionare solo i dati necessari durante la ricerca di un valore specifico, un singolo record o un gruppo di record.

Utilizzando la finestra di dialogo CercaÈ facile trovare record specifici o valori specifici nei campi. Quando viene trovata ciascuna occorrenza dell'elemento richiesto, viene spostata tra i record. Se è necessario sostituire valori specifici trovati durante la ricerca, è necessario utilizzare la finestra di dialogo Sostituisci.

Richieste consentire di lavorare con un insieme specifico di record che soddisfano le condizioni specificate per una o più tabelle di database. Quando si esegue una query, diventa possibile lavorare in modo indipendente con questo insieme di record in un modulo o oggetto specifico nella visualizzazione tabella.

Ordinamento rende possibile organizzare le righe in una tabella in base al contenuto di una o più colonne. Per ordinare, selezionare il campo in base al quale verrà eseguito l'ordinamento e fare clic sul pulsante “Ordinamento crescente” o “Ordinamento decrescente” sulla barra degli strumenti.

Filtrazione consente di isolare e visualizzare temporaneamente un insieme specifico di record che soddisfano determinate condizioni. Per filtrare, seleziona i dati in base ai quali desideri filtrare e fai clic sul pulsante "Filtra per selezionati" sulla barra degli strumenti. Per modificare il filtro utilizzare il pulsante “Cambia filtro”. Per impostare condizioni più dettagliate per il filtraggio nel menu “Registra”, utilizzare il comando “Filtro” e il sottocomando “Filtro avanzato”. Per applicare un filtro normale o avanzato, utilizza il pulsante "Applica filtro" sulla barra degli strumenti.

capitolo 2

Formulazione del problema

Lo scopo del database dell'hotel è automatizzare il processo di contabilità e analisi dei dati dell'hotel.

Attività risolte durante l'utilizzo del database:

Archiviazione e recupero di dati sui dipendenti dell'hotel;

Archiviazione e recupero di informazioni sui clienti dell'hotel;

Memorizzazione e recupero di informazioni sui numeri;

Memorizzazione dei dati sulle prenotazioni, check-in, check-out dei clienti e calcolo del pagamento per l'alloggio

Calcolo e analisi delle informazioni sulla ricezione del pagamento per l'alloggio da parte dei clienti della società;

Cerca informazioni sulle voci principali: camere prenotate, check-in del periodo, check-out del periodo.

Creazione della banca dati

Per creare un database MS Access è stato utilizzato il Designer tabella, che consente di determinare la struttura della tabella richiesta.

Per visualizzare informazioni complete sullo stato dell'hotel, sulle aree delle sue attività e sulla rendicontazione del lavoro svolto, sono state create le seguenti tabelle:

1. "Dipendenti"

La tabella presenta i seguenti campi: codice dipendente(campo chiave) - tipo di dati: contatore; Nome e cognome– tipo di dati: testo, dimensione – 50, facoltativo, nessuna corrispondenza consentita; Data di nascita–tipo di dati: data\ora, facoltativo; formazione scolastica– tipo di dati: master di sostituzione – set di dati fisso (superiore, secondario); titolo di lavoro–maestro delle sostituzioni (elenco dei posti disponibili); indirizzo– tipo di dati: testo, dimensione-50, facoltativo; telefono– tipo di dati: numerico, campo facoltativo; stipendio– tipo di dati: monetario, formato campo – rubli, facoltativo. La tabella in modalità progettazione è simile alla seguente:

2. "Posizioni"

Questa tabella ha i seguenti campi: codice lavoro– contatore (campo chiave); titolo di lavoro– tipo di dato: testo (insieme di posizioni principali).

3. "Numeri"

Questa tabella ha i seguenti campi: codice numerico– contatore del tipo di dati (campo chiave); categoria– tipologia dati: anagrafica ambienti (singola, doppia, junior suite, lusso)

Campi: codice categoria– tipo di dati: contatore (campo chiave), numero- testo; categoria– maestro delle sostituzioni (numeri); Numero di posti– tipo di dato: intero numerico lungo, facoltativo; numero di stanze- simile; Informazioni aggiuntive– tipo di dati: MEMO; costo al giorno– tipo di dati: monetario, formato – rubli, facoltativo.

5. “Stato del numero”

Campi: codice numerico– contatore, campo chiave; numero- materiale di sostituzione del tipo di dati (un campo simile dalla tabella "Categorie di stanze"); dipendente(cameriera) - responsabile delle sostituzioni (da una query sulla tabella “dipendenti”, con la condizione di selezione “cameriera”), campi - prenotazione, check-in, check-out– tipo di dato: data\ora, campo facoltativo; cliente – master di sostituzione (dalla tabella “Clienti”).

6. "Clienti"

Campi: Codice cliente Nome e cognome– tipo di dati: testo, dimensione del campo - 50, obbligatorio; Data di nascita- tipo dati: data\ora, obbligatorio; pavimento- capo produzione (marito, mogli); tipo di documento– master di produzione (passaporto, licenza militare, carta d'identità), obbligatorio; serie- testo, obbligatorio; numero– numerico, obbligatorio; rilasciato da– testo, dimensione del campo – 50, obbligatorio, data di rilascio– data/ora, obbligatorio.

Campi: codice figlio– tipo di dato: contatore (campo chiave); Codice cliente– tipo di dati: procedura guidata di sostituzione (un campo simile dalla tabella “clienti”); Nome e cognome– tipo di dati: testo, dimensione del campo – 50; Data di nascita– tipo di dati: data\ora.

Lo schema dei dati è simile a:

Le tabelle Stato Camera e Dipendenti sono collegate tramite una richiesta di Dipendenti, con la condizione di selezione “cameriera”.

Per facilità d'uso, sono state create query per il database Hotel.

Richiesta n.1 – “Prenotazione”

Nella riga Condizione di selezione viene inserita la seguente condizione:

>=[s]E<=[по]

Cioè la selezione dei campi per un certo periodo di tempo.

Le query 2 e 3 sono state create in modo simile.

Richiesta n.2 - “Check in nelle camere”

Richiesta n.3 – “Check-out camere”

Richiesta n. 4 – “Clienti con figli”.

La query in modalità progettazione è simile alla seguente:

Questa richiesta sistematizza le informazioni sulla presenza di figli nei clienti, necessaria per determinati sconti, vantaggi, ecc.

Richiesta n. 5 – “Pagamento per l’alloggio”.

La richiesta contiene un'espressione che riflette il calcolo del costo della vita per ciascun cliente.

Richiesta n. 6 – “Pagato il mese”.

La richiesta contiene un'espressione che riflette il calcolo del costo della vita per ciascun cliente:

Pagamento per l'alloggio: (Stato della camera. Check-out - Stato della camera. Check-in + 1) * Categorie di camere [Costo al giorno].

Oltre a selezionare i campi per il periodo.

Richiesta n. 7 – “Pagamento del palinsesto”.

Simile alla richiesta 6, tranne che per la scelta del periodo per la selezione dei campi. Sulla base dei dati di questa query, vengono creati grafici per l'analisi e tabelle pivot.

Richiesta n. 8 – “Richiesta Posizioni”.

Richiesta con condizione di selezione per dipendenti “cameriera”. Utilizzato per sostituire i dati nella tabella Stato numero.

La creazione di queste query semplifica notevolmente le attività di reporting dell'hotel, sistematizza comodamente le informazioni e consente di utilizzarle rapidamente e apportare modifiche. Di seguito l'elenco delle richieste:

I rapporti sono i seguenti:

Il lavoro con il database inizia aprendo il modulo Hotel:

A sinistra sono presenti i pulsanti per l'apertura dei report, a destra per l'inserimento e la visualizzazione dei dati sulle principali posizioni.

Ad esempio, il modulo Informazioni sulla camera ha il seguente aspetto:

Qui puoi vedere tutte le informazioni sulla camera d'albergo, nonché un elenco di tutte le camere. Quando seleziono una posizione, possiamo immediatamente vedere tutte le informazioni sulla camera. Nell'angolo in basso a sinistra sono presenti pulsanti per facilitare il lavoro con i record. In alto a destra c'è un pulsante per aprire il modulo Inserisci la categoria della camera.

Utilizzando il pulsante Prenotazione Check-in Check-out, apriremo il form:

Che ha tre schede:

Informazioni sulle camere – informazioni complete sulle camere disponibili;

Dinamica degli incassi – dinamica degli incassi per numero:

Riepilogo del pagamento – riepilogo del pagamento per camera:

Il pulsante Dipendenti dell'hotel apre il seguente modulo:

Qui è possibile visualizzare le informazioni sui dipendenti e inserire le informazioni necessarie.

Con l'aiuto della visualizzazione dei report, vengono risolti i compiti di ricerca di informazioni sullo stato delle camere: prenotazione, check-in, check-out, oltre a riflettere le informazioni di pagamento e visualizzare una ricevuta per il cliente.

Pertanto, questo database risolve i compiti assegnati.

Conclusione

Durante i lavori del corso è stato creato il database “Hotel”. Questo database è destinato ai dipendenti in quanto semplifica il processo di assistenza clienti.

Questo database include: tabelle, query, moduli e report, nonché una finestra di esecuzione automatica per facilità d'uso.

Letteratura:

1. Data, K., J. Introduzione ai sistemi di database. 6a ed. - A.; M., San Pietroburgo: “Williams”, 2000. – 848 p.

2. Khomonenko A.D., Tsygankov V.M., Maltsev M.G. Banche dati: libro di testo per istituti di istruzione superiore/Ed. prof. INFERNO. Khomonenko. – San Pietroburgo: stampa CORONA, 2002. – 672 p.

3. V.V. Korneev, A.F. Gareev, S.V. Vasyutin, V.V. Banche dati del Reich. Elaborazione intelligente delle informazioni. – M.: Conoscenza, 2001.- 496 p.

4. Prag K., Irwin M., “Access User Bible for Windows 2000”, K.: Dialectics, 2001 – 576 pp..

5. Garnaev A.S., “VBA Self-Teacher”, San Pietroburgo, 1999. – 104 p.

6. Microsoft Access 2010. Sviluppo di applicazioni utilizzando un esempio reale - G. Gurvits - 496p.

7. Progettazione della banca dati. DBMS di Microsoft Access. Libro di testo - N. N. Grinchenko, E. V. Gusev, N. P. Makarov - 240 p.

8. Accesso 2007. Uso efficace - V. E. Koshelev - 590 p.

Quasi ogni organizzazione ha il proprio database. Ebbene, anche i siti Web li utilizzano per rendere il lavoro con le informazioni più facile e semplice. Ti permettono infatti di fare calcoli senza problemi, di trovare rapidamente i dati necessari e, in generale, mettono semplicemente ordine in qualsiasi informazione.

Spesso i programmatori sono coinvolti nella loro creazione, perché si tratta di un processo complesso che viene insegnato negli istituti di istruzione superiore. Ci sono anche molte lezioni, corsi e set di programmi per creare software per lo sviluppo di database, una varietà davvero grande, puoi facilmente confonderti. Questo articolo parlerà di alcuni software di base per lo sviluppo di database.

A proposito di SQL

SQL è un linguaggio di programmazione utilizzato per creare database. Se lo installi sul tuo computer e inizi a creare un database, non sarà del tutto conveniente. Ciò è dovuto al fatto che SQL stesso non dispone di una shell grafica e le query al database devono essere inviate tramite la riga di comando. Per questo motivo sono comparsi vari tipi di programmi che semplificano lo sviluppo di database. Vale comunque la pena imparare le basi di questa lingua. All'improvviso è necessario effettuare una sorta di richiesta, ma il programma non funziona correttamente.

accesso Microsoft

Questo programma per la creazione di database è sicuramente familiare a molti. Dopotutto, è disponibile nel pacchetto software Microsoft Office. Questo programma è uno dei più facili da imparare, perché praticamente non è necessaria la conoscenza del linguaggio di programmazione SQL. Puoi solo indicare quale query effettuare e il programma stesso creerà una query SQL.

Per quanto riguarda la pertinenza del programma. Fino ad ora, i database di molte organizzazioni vengono realizzati utilizzando Microsoft Access. In effetti, il programma in sé è molto semplice, c'è un'interfaccia intuitiva. Inoltre, le basi per lavorare in Access vengono insegnate anche a scuola e nei corsi junior college!

PhpMyAdmin

Access, ovviamente, è un buon programma, ma se hai bisogno di un database per un sito web, non basterà. Allora PhpMyAdmin viene in soccorso. Questo è un programma molto utile per creare database. L'installazione su un computer richiede del tempo e durante l'installazione è facile fare qualcosa di sbagliato e non funzionerà. Pertanto, quando si installa questo programma per creare database, è necessario seguire rigorosamente le istruzioni. Ma un altro vantaggio di PhpMyAdmin è che puoi accedervi via Internet come un sito web! Ad esempio, supponiamo che tu abbia un sito Web che funziona su WordPress. Avrà un database. E se disponi di un sito Web su un buon hosting, molto probabilmente il lavoro con i database verrà eseguito tramite PhpMyAdmin ed è possibile accedervi tramite il pannello di controllo dell'hosting.

Un altro programma per creare database. È gratuito, ma esiste anche una versione a pagamento con funzionalità migliorate. In questo programma è facile creare connessioni con le tabelle e, in generale, è semplicemente conveniente lavorarci. Un altro vantaggio è la possibilità di visualizzare graficamente il database. La maggior parte delle persone preferisce questo programma quando lavora con i database. In linea di principio, PhpMyAdmin non ha capacità inferiori, ma è comunque più progettato per lavorare con i database dei siti Web.

Questo articolo ha discusso i principali programmi per la creazione di database. In effetti, ce ne sono moltissimi, quindi ognuno sceglie uno strumento per se stesso, ma se ti stai appena abituando e vuoi esplorare quest'area, allora ti consigliamo di lavorare con MySQL WorkBench. Una volta apprese le basi di SQL, non farà più una differenza significativa per te il luogo in cui lavori, perché le query sono le stesse ovunque. È anche conveniente che, dopo aver creato un database in un programma, sia possibile aprirlo tramite un altro software, anch'esso progettato per funzionare con il database. Quando crei software con un database, non puoi fare a meno di questa conoscenza. Inoltre, avendo padroneggiato SQL, puoi persino creare il tuo software per lo sviluppo e la modifica dei database.

  • Sviluppo per Android,
  • SQLite
    • Esercitazione
    • Modalità di recupero

    Ciao a tutti! Mi chiamo Oleg e sono un programmatore Android amatoriale. Un dilettante perché al momento sto guadagnando soldi programmando in una direzione completamente diversa. E questo è un hobby al quale dedico il mio tempo libero. Purtroppo non conosco nessun programmatore Android e traggo tutte le mie conoscenze di base dai libri o da Internet. In tutti i libri e gli articoli su Internet che ho letto, la creazione di un database per un'applicazione dedica pochissimo spazio e, infatti, l'intera descrizione si riduce alla creazione di una classe che sia un'erede SQLiteOpenHelper e successiva implementazione del codice SQL nel codice Java. A parte il fatto che otteniamo codice scarsamente leggibile (e se nella nostra applicazione compaiono più di 10 tabelle, ricordare tutte queste relazioni tra le tabelle è un inferno), allora in linea di principio possiamo vivere, ovviamente, ma in qualche modo non vogliamo A.
    Ho dimenticato di dire la cosa più importante, puoi dire che questo è il mio primo tentativo di scrivere qui. E quindi andiamo.

    Sulla eterna domanda: perché?

    Ad essere sincero, sinceramente non so perché libri e articoli sulla programmazione per Android non descrivano gli strumenti per progettare l'architettura dei database e alcuni modelli per lavorare con i database nella fase della loro creazione. Sembrerebbe facile aggiungere solo un paio di pagine a un libro o scrivere un articolo separato (come sto facendo ora), ma no. In questo articolo esaminerò brevemente gli strumenti che utilizzo nel mio lavoro e più in dettaglio il codice responsabile della creazione iniziale del database, che dal mio punto di vista sembra più leggibile e conveniente.


    Se la nostra applicazione ha più di 5 tabelle, allora sarebbe una buona idea utilizzare qualche strumento per la progettazione visiva dell'architettura del database. Dato che per me questo è un hobby, utilizzo uno strumento completamente gratuito chiamato Oracle SQL Developer Data Modeler (puoi scaricarlo).

    Questo programma ti consente di disegnare visivamente tabelle e costruire relazioni con esse. Molti errori di progettazione dell’architettura del database possono essere evitati con questo approccio progettuale (te lo sto già dicendo come programmatore di database professionista). Sembra qualcosa del genere:

    Dopo aver progettato l'architettura vera e propria, si procede alla parte più noiosa, che consiste nel creare il codice SQL per creare le tabelle. Per risolvere questo problema, utilizzo già uno strumento chiamato SQLiteStudio (che a sua volta può essere scaricato qui).

    Questo strumento è un analogo di prodotti noti come SQL Naviagator, Toad ecc. Ma come suggerisce il nome, è progettato per funzionare con SQLite. Ti consente di creare visivamente un database e ottenere il codice DDL delle tabelle create. A proposito, ti consente anche di creare visualizzazioni, che puoi utilizzare anche nella tua applicazione, se lo desideri. Non so quanto sia corretto l'approccio all'utilizzo delle visualizzazioni nei programmi Android, ma le ho utilizzate in una delle mie applicazioni.

    È un dato di fatto, non utilizzo più strumenti di terze parti e poi la magia inizia con Android Studio. Come ho scritto sopra, se iniziamo a implementare il codice SQL nel codice Java, l'output che otterremo sarà un codice scarsamente leggibile e quindi scarsamente estensibile. Pertanto, inserisco tutte le istruzioni SQL in file esterni che si trovano nella mia directory risorse. In Android Studio assomiglia a questo:


    Informazioni sulle directory db e dati

    All'interno della directory risorse Ho creato due directory db_01 E dati_01. I numeri nei nomi delle directory corrispondono al numero di versione del mio database con cui lavoro. Nella directory db Memorizzo gli script SQL per creare tabelle stesse. E nella directory dati Vengono memorizzati i dati necessari per il riempimento iniziale delle tabelle.


    Ora diamo un'occhiata al codice all'interno di my DBHelper che utilizzo nei miei progetti. Innanzitutto, le variabili di classe e il costruttore (nessuna sorpresa qui):

    TAG finale statico privato String = "RoadMap4.DBHelper"; String mDb = "db_"; String mData = "dati_"; Contesto mContesto; int mVersione; public DBHelper(Contesto contesto, Nome stringa, versione int) ( super(contesto, nome, null, versione); mContext = contesto; mVersion = versione; )
    Ora il metodo onCreate e qui diventa più interessante:

    @Override public void onCreate(SQLiteDatabase db) ( ArrayList tabelle = getSQLTables(); for (Tabella String: tabelle)( db.execSQL(tabella); ) ArrayList > dataSQL = getSQLDatas(); per (HashMap hm: dataSQL)( for (String table: hm.keySet())( Log.d(TAG, "insert into " + table + " " + hm.get(table)); long rowId = db.insert(table, null, hm.get(tabella));
    Logicamente è diviso in due cicli, nel primo ciclo ricevo un elenco di istruzioni SQL per creare un database e poi le eseguo, nel secondo ciclo riempio già con i dati iniziali le tabelle precedentemente create. Quindi, primo passo:

    ArrayList privato getSQLTables() (ArrayList tabelle = nuovo ArrayList<>(); Lista di array files = nuovo ArrayList<>(); AssetManager assetManager = mContext.getAssets(); Stringa dir = mDb + mVersion; try ( String listFiles = assetManager.list(dir); for (String file: listFiles)( files.add(file); ) Collections.sort(files, new QueryFilesComparator()); BufferedReader bufferedReader; String query; String line; for (String file: files)( Log.d(TAG, "file db is " + file); bufferedReader = new BufferedReader(new InputStreamReader(assetManager.open(dir + "/" + file))); query = ""; while ((line = bufferedReader.readLine()) != null)( query = query + line; ) bufferedReader.close(); tables.add(query) ) catch (IOException e) ( e.printStackTrace(); ) return tavoli; )
    Qui tutto è abbastanza semplice, leggiamo semplicemente il contenuto dei file e concateniamo il contenuto di ciascun file in un elemento dell'array. Tieni presente che sto ordinando l'elenco dei file, poiché le tabelle possono avere chiavi esterne, il che significa che le tabelle devono essere create in un determinato ordine. Utilizzo la numerazione nei nomi dei file e con l'aiuto di essa li ordinamento.

    La classe privata QueryFilesComparator implementa Comparator ( @Override public int compare(String file1, String file2) ( Integer f2 = Integer.parseInt(file1.substring(0, 2)); Integer f1 = Integer.parseInt(file2.substring(0, 2)); return f2 .confronta(f1);
    Compilare le tabelle diventa sempre più divertente. Le mie tabelle sono piene non solo di valori codificati, ma anche di valori provenienti da risorse e chiavi UUID (spero di arrivare un giorno a una versione di rete del mio programma in modo che i miei utenti possano lavorare con dati condivisi). La struttura dei file con i dati iniziali è simile alla seguente:


    Nonostante i miei file abbiano l'estensione sql, non c'è codice sql all'interno, ma qualcosa del genere:

    Priorità
    pri_id:UUID:UUID

    pri_name:string:normal
    pri_color:colore:colorVerde
    pri_default:int:1
    priorità
    pri_id:UUID:UUID
    pri_object:string:object_task
    pri_name:string:hold
    pri_color:colore:colorBlu
    pri_default:int:0
    priorità
    pri_id:UUID:UUID
    pri_object:string:object_task
    pri_name:string:importante
    pri_color:colore:colorRosso
    pri_default:int:0
    priorità
    pri_id:UUID:UUID

    pri_name:string:normal
    pri_color:colore:colorVerde
    pri_default:int:1
    priorità
    pri_id:UUID:UUID
    pri_oggetto:string:oggetto_progetto
    pri_name:string:hold
    pri_color:colore:colorBlu
    pri_default:int:0
    priorità
    pri_id:UUID:UUID
    pri_oggetto:string:oggetto_progetto
    pri_name:string:importante
    pri_color:colore:colorRosso
    pri_default:int:0

    La struttura del file è così: faccio una chiamata di funzione diviso(":") in relazione ad una riga e se ottengo che la sua dimensione è 1, significa il nome della tabella in cui devono essere scritti i dati. Altrimenti sono i dati stessi. Il primo campo è il nome del campo nella tabella. Il secondo campo è il tipo in base al quale determino cosa devo scrivere proprio in questo campo. Se si tratta di un UUID, significa che devo generare un valore UUID univoco. Se stringa significa che devo estrarre un valore stringa dalle risorse. Se è a colori, ancora una volta, è necessario estrarre il codice colore dalle risorse. Se int o text, converto semplicemente questo valore in int o String senza alcun movimento fisico. Il codice stesso è simile al seguente:

    ArrayList privato > getSQLDatas() (ArrayList > dati = nuovo ArrayList<>(); Lista di array files = nuovo ArrayList<>(); AssetManager assetManager = mContext.getAssets(); Stringa dir = mData + mVersion; try ( String listFiles = assetManager.list(dir); for (String file: listFiles)( files.add(file); ) Collections.sort(files, new QueryFilesComparator()); BufferedReader bufferedReader; String line; int separator = 0 ; ContentValues ​​cv = null; String nameTable = null; String packageName = mContext.getPackageName(); ehm; for (Stringa file: file)( Log.d(TAG, "file db is " + file); bufferedReader = new BufferedReader(new InputStreamReader(assetManager.open(dir + "/" + file))); while ((riga = bufferedReader.readLine()) != null)( campi = line.trim().split(:"); if (fields.length == 1)( if (flag == true)( hm = new HashMap<>(); hm.put(nomeTabella, cv); dati.add(hm); ) // nome della tabella nomeTabella = line.trim(); cv = new ContentValues(); Continua;

  • ) else ( if (fields.equals("UUID"))( cv.put(fields, UUID.randomUUID().toString()); ) else if (fields.equals("color") || campi.equals( "string"))( int resId = mContext.getResources().getIdentifier(fields, campi, packageName); Log.d(TAG, campi + " " + resId); switch (campi)( case "color": cv. put(campi, resId); break; case "stringa": cv.put(campi, mContext.getString(resId)); altrimenti if (campi.equals("testo")) .put(campi, campi); ) else if (fields.equals("int"))( cv.put(fields, Integer.parseInt(fields)); ) ) flag = true; ) bufferedReader.close(); ) ) catch (IOException e) ( e.printStackTrace(); ) restituisce i dati; )
  • MySQL

    Molte aziende creano varie applicazioni ricche di funzionalità per facilitare la gestione, lo sviluppo e l'amministrazione dei database.

    La maggior parte dei database relazionali, ad eccezione di MS Access, sono costituiti da due componenti separati: un "back-end" in cui vengono archiviati i dati e un "front-end" - l'interfaccia utente per interagire con i dati. Questo tipo di progettazione è piuttosto intelligente perché parallelizza un modello di programmazione a due livelli che separa il livello dei dati dall’interfaccia utente e consente al mercato del software di concentrarsi direttamente sul miglioramento dei propri prodotti. Questo modello apre la porta a terze parti per creare le proprie applicazioni per interagire con diversi database.

    Su Internet chiunque può trovare numerosi prodotti per lo sviluppo e l'amministrazione di database MySQL. Abbiamo deciso di raccogliere i 10 strumenti più popolari in un unico articolo in modo che tu possa risparmiare tempo.

    1. Banco da lavoro

    Il primo posto spetta di diritto allo strumento Workbench (sviluppato da Sun Systems/Oracle), che può essere eseguito su piattaforme Microsoft Windows, Mac OS X e Linux. Workbench combina lo sviluppo e l'amministrazione del database ed è il successore di DBDesigner4. MySQL Workbench

    distribuito con licenza gratuita - Community Edition e con abbonamento annuale a pagamento - Standard Edition. Quest'ultimo include funzionalità aggiuntive che possono migliorare significativamente la produttività sia degli sviluppatori che degli amministratori di database.

    Il costo è gratuito.

    • Cosa rende popolare Workbench?
    • la presenza di un meccanismo semplice e funzionale per la creazione di relazioni tra i campi della tabella, tra i quali viene implementata una relazione “molti-a-molti” con la possibilità di creare una tabella di relazioni;
    • la funzione Reverse Engineering permette di ripristinare la struttura delle tabelle e delle relazioni da quella precedentemente implementata e memorizzata sul server database;
    • la presenza di un editor di query SQL, che consente, quando inviato al server, di ricevere una risposta in forma tabellare e altre funzionalità.

    2. Navicat

    Secondo posto Navicat(sviluppato da PremiumSoft CyberTech Ltd) è uno strumento per lo sviluppo e l'amministrazione di database che funziona su qualsiasi server MySQL a partire dalla versione 3.21. Per MySQL, Navicat è disponibile per l'esecuzione su piattaforme Microsoft Windows, Mac OS X e Linux.

    I prezzi dei prodotti vanno da $ 199 a $ 379.

    Cosa rende popolare Navicat?

    • Disponibilità di un progettista di query visive;
    • la possibilità di importare, esportare e eseguire il backup dei dati;
    • capacità di creare report;
    • Tunneling SSH e HTTP;
    • migrazione e sincronizzazione di dati e struttura;
    • strumento di pianificazione delle attività e altre funzionalità.

    3. PHPMyAdmin

    PHPMyAdminè un'applicazione open source gratuita progettata per amministrare il DBMS MySQL. PHPMyAdmin è un'interfaccia web con la quale puoi amministrare il server MySQL, eseguire comandi e visualizzare il contenuto di tabelle e database tramite un browser.

    Il costo è gratuito.

    Cosa rende popolare PHPMyAdmin?

    • la capacità di gestire il DBMS MySQL senza inserire direttamente comandi SQL;
    • come pannello di controllo PHPMyAdmin offre la possibilità di amministrare database dedicati;
    • sviluppo intensivo;
    • la possibilità di integrare PHPMyAdmin nei propri sviluppi grazie alla GNU General Public License e altre funzionalità.

    4.dbForge Studio per MySQL

    dbForge Studio per MySQL- uno strumento interessante sia per gli utenti MySQL che per gli sviluppatori di database. Con il suo aiuto, puoi facilmente automatizzare il lavoro di routine e risparmiare tempo. Oggi, dbForge Studio per MySQL è disponibile in tre edizioni: Express, Standard e Professional, che ti consentono di scegliere lo strumento di cui hai bisogno. Puoi utilizzare dbForge Studio per MySQL sia nella versione commerciale che in quella gratuita.

    Esistono sia versioni gratuite che a pagamento, quest'ultima al prezzo di $ 49,95 (edizione standard) e $ 99,99 (edizione professionale).

    Cosa rende popolare dbForge Studio?

    • disponibilità di fondi per l'amministrazione centralizzata;
    • strumenti di confronto di database;
    • profilatore di query visive;
    • la capacità di gestire i privilegi degli utenti;
    • disponibilità di un Database Designer, che consente di costruire diagrammi visivi;
    • lavoro migliorato con progetti di database e altre funzionalità.

    5.HeidiSQL

    HeidiSQLè uno strumento gratuito per la gestione di database. Una degna alternativa a PHPMyAdmin, che ti consente di creare e modificare tabelle, visualizzazioni, trigger, procedure, nonché visualizzare e modificare dati. HeidiSQL offre anche la possibilità di esportare dati sia in un file SQL che negli appunti su altri server.

    Il costo è gratuito.

    Cosa rende popolare HeidiSQL?

    • la possibilità di connettersi al server utilizzando la riga di comando;
    • la possibilità di ottimizzare e ripristinare in batch le tabelle;
    • la possibilità di modificare colonne, indici e chiavi esterne di tabelle, modificare il corpo e i parametri delle procedure SQL, trigger, ecc.;
    • facile formattazione di SQL non ordinato;
    • sincronizzazione delle tabelle tra diversi database e altre funzionalità.

    6. Maestro SQL per MySQL

    Maestro SQL per MySQL- uno strumento per l'amministrazione, lo sviluppo e la gestione dei DBMS più diffusi. Una comoda interfaccia grafica consente di eseguire query e script SQL, gestire i privilegi degli utenti, esportare e creare copie di backup dei dati.

    A seconda della licenza selezionata e del caso d'uso, il costo di questo strumento varia da $ 99 a $ 1.949.

    Cosa rende popolare SQL Maestro per MySQL?

    • supporto per le versioni del server MySQL dalla versione 3.23;
    • Disponibilità di un progettista di database;
    • la possibilità di modificare, raggruppare, ordinare e filtrare i dati;
    • generatore di query visive;
    • Tunneling SSH e HTTP;
    • Editor BLOB e altre funzionalità.

    7. Gestore EMS SQL per MySQL

    EMS SQL Manager per MySQLè uno strumento di sviluppo e amministrazione di database che supporta varie funzionalità di MySQL e funziona con tutte le versioni di MySQL precedenti alla 3.23. Con il suo aiuto, hai la possibilità di modificare visivamente, importare ed esportare database, eseguire script SQL, gestire i privilegi degli utenti, progettare visivamente database MySQL.

    Esiste una versione a pagamento e gratuita dell'applicazione. Quest'ultimo presenta una serie di limitazioni funzionali. Il costo della versione a pagamento varia tra 95 e 245 dollari USA.

    Cosa rende popolare EMS SQL Manager per MySQL?

    • Supporto dati UTF8;
    • facile gestione di vari oggetti MySQL;
    • compatibile con tutte le versioni dalla 3.23 alla 6.0 compresa;
    • disponibilità di strumenti grafici e testuali per la generazione di query;
    • Tunneling SSH e HTTP;
    • comodo progettista di report e altre funzionalità.

    8. SQLyog

    SQLyogè uno degli strumenti più potenti che combina le funzionalità di MySQL Administrator, PHPMyAdmin e alcuni altri strumenti per l'amministrazione e lo sviluppo di database. SQLyog funziona su piattaforme Microsoft Windows e Windows NT. e Linux usando Wine.

    Sono disponibili sia versioni gratuite che a pagamento di SQLyog. La versione a pagamento costa da 99 a 1.499 dollari (varia a seconda del numero di utenti e della licenza, con o senza supporto).

    Cosa rende popolare SQLyog?

    • comodo generatore di query;
    • possibilità di sincronizzazione dei dati;
    • Supporto Unicode;
    • SSH e HTTP, tunneling HTTPS;
    • spegnimento automatico “intelligente”;
    • completamento intelligente del codice e altre funzionalità.

    9. Gestore DBTools

    Gestore strumenti DB- un'applicazione di gestione dei dati con supporto integrato per MySQL, PostgreSQL, MSAccess, MSSQL Server, Oracle e altri database. Piattaforme supportate: Windows 2000, XP, Vista, 7.

    DBTools Manager è disponibile nelle versioni gratuita (Standard) e a pagamento (Enterprise). Il costo è di $ 69,90 per licenza, con sconti disponibili per l'acquisto di più licenze.

    Puoi saperne di più e acquistare DBTools Manager qui

    I database in Delphi sono scritti per automatizzare il lavoro in varie aree di attività aziendale, ad esempio per organizzare informazioni e sistemi di riferimento. Nell'industria, i programmi Delphi consentono di allontanarsi dal lavoro di routine con i supporti cartacei. E, come sai, quando le informazioni vengono archiviate su carta, ci vorrà molto tempo per l'ordinamento, la ricerca o qualsiasi altra operazione, poiché dovrai rivedere tutto manualmente.

    Quando disponi di un database già pronto in Delphi, non è necessario dedicare il tuo tempo a studiare e scrivere il codice di programma per un corso o una tesi sulla programmazione di database. Sono disponibili molti progetti di database completati che ti consentono di scrivere il tuo lavoro ottenendo un buon voto. Un'ampia selezione di progetti sul database Access in Delphi 7 ti consentirà di scegliere il progetto più adatto per la protezione, come fonti come contabilità del prodotto, contabilità del programma, ecc. Esistono anche progetti con database MySQL e InterBase.

    Aree in cui vengono utilizzati i database

    • Istituzioni educative statali;
    • Censimento della popolazione. Tale database consente alle autorità speciali di calcolare rapidamente le statistiche sulla popolazione del paese. Ad esempio, puoi effettuare un confronto in base al numero di residenti nei diversi anni della città selezionata. Mantenere un database di dipendenti che eseguono giri agli indirizzi assegnati.
    • Organizzazioni commerciali. Tra queste figurano le imprese municipali (unitarie), le cooperative di produzione, le società commerciali e le aziende agricole.
    • Imprese commerciali;
    • Agenzia immobiliare;
    • Agenzie di viaggio;
    • e altre imprese.


    
    Superiore