Biblioteka zarządzania bazą danych
Deweloperzy | Rodrigo CO Rocha |
---|---|
Pierwsze wydanie | 2 lipca 2010 |
Wersja stabilna | 1.0 / 2 lipca 2010
|
Napisane w | C++ |
Typ | Wbudowane RDBMS |
Licencja | Powszechna Licencja Publiczna GNU |
Strona internetowa |
|
Biblioteka zarządzania bazą danych ( DBL ) to system zarządzania relacyjnymi bazami danych (RDBMS) zawarty w bibliotece programistycznej C++ . Kod źródłowy DBL jest dostępny na warunkach Powszechnej Licencji Publicznej GNU .
DBL został w pełni opracowany w ciągu dwóch tygodni jako wakacyjny projekt programistyczny.
Ma być łatwy i prosty w użyciu do programowania w C++.
Projekt
DBL jest biblioteką i staje się integralną częścią aplikacji. W przeciwieństwie do w modelu klient-serwer , które są samodzielnym procesem , z którym komunikuje się aplikacja. Oprogramowanie użytkowe wykorzystuje funkcjonalność DBL poprzez wywołania funkcji .
Przykładowe programy
Tworzenie prostej bazy danych
Jest to podstawowy program, który tworzy prostą bazę danych. Ponieważ jednak zadanie to należy wykonać zwykle raz, można to zrobić za pomocą interfejsu wiersza poleceń DBL .
0
#include "dbl.h" int main () { ścieżka ( "D: \\ " ); //ustaw ścieżkę do folderu, w którym będą przechowywane pliki database db ( "mydatabase" ); //mydatabase to nazwa bazy danych db . nowa_karta ( "klient" ); // utwórz nową tabelę o nazwie klient w bazie danych write ( db ); //zapisz strukturę bazy danych do pliku char pkey = 1 ; tabela * tab = db . get_tab ( "klient" ); //pobierz tabelę klienta z zakładki bazy danych -> add_col ( "cod" , INTEGER , 1 , pkey ); //dodaj do tabeli kolumnę cod -> add_col ( "name" , CHARACTER , 32 ); //dodaj kolumnę name do tabeli customer tab -> add_col ( "brithdate" , INTEGER , 3 ); tab -> add_col ( "płeć" , CHARACTER , 1 ); tab -> add_col ( "telefon" , INTEGER , 1 ); karta -> ustaw_strukturę (); napisz ( * tab. ); //zapisz strukturę tabeli do plików create_data_file ( * tab ); //utwórz plik danych tabeli zwrotu klienta ; }
- włączać<iostream.h>
int main() {
baza danych db("mojabaza danych"
Struktura biblioteki
Baza klas
Ta klasa przechowuje nazwę bazy danych i jej tabele. Główne funkcje to:
znak * nazwa (); // pobranie nazwy bazy danych char * name ( char * nazwa_bazy danych ); //ustaw nazwę bazy danych void new_tab ( char * tabname ); //utwórz nową tabelę table * get_tab ( char * tabname ); //zwróć wskaźnik do tabeli
Przydatne funkcje korzystające z bazy klas to:
pusty zapis ( baza danych i baza danych ); // zapisz strukturę bazy danych do znajomego pliku void read ( database & db ) ; //odczytaj strukturę bazy danych ze znajomego pliku void del ( baza danych & db ); //usuń bazę danych i jej tabele pliki friend void print ( database & db ); //wydrukuj bazę danych na ekranie
Tabela klas
Ta klasa przechowuje nazwę tabeli i jej strukturę, kolumny tabeli. Główne funkcje to:
0
znak * nazwa (); // pobranie nazwy tabeli char * name ( char * nazwa_bazy danych ); //ustaw nazwę tabeli void add_col ( kolumna & c ); //dodanie nowej kolumny do tabeli void add_col ( char * col_name , char col_type , int col_len = 1 , char pkey = ); kolumna * get_col ( int idx ); // pobierz kolumnę według jej indeksu column * get_col ( char * name ); // pobierz kolumnę według jej nazwy int num_col (); //pobierz liczbę kolumn w tabeli //dokończ strukturę tabeli. //Ta funkcja musi zostać wywołana po dodaniu wszystkich kolumn lub po odczytaniu struktury tabeli z pliku void set_structure (); wiersz nowy_wiersz (); // pobierz nowy wiersz ze strukturą tabeli
Przydatne funkcje korzystające z tabeli klas to:
pusty zapis ( tabela & t ); // zapisz strukturę tabeli do pliku void read ( table & t ); // odczytanie struktury tabeli z pliku znajomego void del ( table & t ); //usuń pliki tabeli, pliki nagłówków i danych void print ( table & t ); //wydrukuj tabelę na ekranie znajomego std :: ostream & operator << ( std :: ostream & o , table & t ); //wydrukuj strukturę tabeli int num_row ( table & t ); //pobierz liczbę wierszy w pliku danych tabeli
Rząd klasy
Ta klasa przechowuje kolumny tabeli i dane, które mają być przechowywane w pliku danych. Główne funkcje to:
pusty zestaw ( int idx , przechowywanie & s ); //ustaw przechowywanie kolumny według jej indeksu void set ( int idx , void * v ); //ustaw wartość, która ma być przechowywana w kolumnie przez jej indeks storage * get ( int idx ); // pobierz pamięć z kolumny a według jej indeksu
Przydatne funkcje korzystające z wiersza klasy to:
pusty zapis ( tabela & t , wiersz & r , int idx ); //zapisz dane w pliku danych tabeli void read ( table & t , row & r , int idx ); //odczytaj dane z pliku danych tabeli void del ( char * file , table & t , int idx ); //usuń dane z pliku danych tabeli
Przechowywanie klas
Ta klasa przechowuje kolumnę i wartość dla tej kolumny. Główne funkcje to:
znak * wartość (); // pobranie wartości przechowywanej przez obiekt void value ( void * val ); //ustaw wartość do zapisania void value ( char * val ); //ustaw wartość, która ma być przechowywana, łańcuch w stylu C i wszystkie funkcje kolumny klasy.
Przydatne funkcje korzystające z pamięci klasy to:
int get_int ( przechowywanie & s ); // pobierz przechowywaną liczbę całkowitą char get_char ( storage & s ); // pobranie zapisanego znaku bool get_bool ( storage & s ); // pobierz zapisywany bool float get_float ( storage & s ); // pobranie zapisanej liczby zmiennoprzecinkowej double get_double ( storage & s ); // pobranie zapisywanego dubletu
Kolumna klasy
Ta klasa przechowuje nazwę i strukturę kolumny. Główne funkcje to:
znak * nazwa (); //pobierz nazwę kolumny char * name ( char * n ); //ustaw nazwę typu char kolumny (); // pobierz typ kolumny char type ( char t ); //ustaw typ kolumny int length (); //pobierz długość tablicy, którą kolumna może pomieścić int length ( int len ); //ustaw długość tablicy, którą może pomieścić kolumna, len>0 void pkey ( char b ); //ustaw czy kolumna jest kluczem podstawowym czy nie (0 to fałsz, 1 to prawda) char pkey (); // pobierz, czy kolumna jest kluczem podstawowym, czy nie int total_size (); //pobierz całkowity rozmiar w bajtach, jaki może pomieścić kolumna
Indeks klas
Ta klasa przechowuje indeksy tabeli. Główne funkcje to:
int seek ( void * val ); //poszukaj wartości w indeksach int seek ( char * val ); //poszukaj w indeksach ciągu w stylu C
Przydatne funkcje korzystające z indeksu klasy to:
pusty zapis ( tabela i t , indeks i idx ); // zapisz indeksy tabeli do pliku void read ( index & idx ); //odczytaj indeksy z pliku
Interfejs wiersza poleceń DBL
Za pomocą programu interfejsu wiersza poleceń DBL można utworzyć bazę danych, tabelę i dodawać kolumny do tej tabeli, oprócz innych operacji, takich jak drukowanie.