Professional Documents
Culture Documents
Bazy danych: Bazy danych typu dbm Bazy danych w architekturze klient-serwer
Interfejs uytkownika
Logika aplikacji
Baza danych
Dostpne moduy
Dostp do BD
import anydbm db = anydbm.open('/tmp/plik', 'c') db['jeden'] = 'one' db['trzy'] = 'three' del db['trzy'] db.close()
Przegldanie
Wady
Powd
db.iteritems()
Dwie metody obiektu db: first() next() Zwracaj par (klucz, warto)
B-drzewa
Numerowane rekordy
Ciekawostka
Pakiet shelve: pliki s sownikami kluczami s stringi, warociami: obiekty (rwnie listy itp) sync()
Przykad
import shelve db = shelve.open('dane.db') db['lista'] = [2,3,5,7,11] db.close()
Zunifikowany interfejs dostpu do rnych silnikw relacyjnych baz danych Wersja 1.0 i 2.0
Otwarcie poczenia z bd
Funkcja connect('parametry') zwraca obiekt connection.
Przykad (MySQL)
Zamknicie
db.close()
Zapytanie SQL
aplikacja
Lista wierszy
Odczytanie wyniku
Atrybuty kursora
description: lista opisw poszczeglnych kolumn odpowiedzi rowcount: liczba wierszy w odpowiedzi lub liczba przetworzonych wierszy (w przypadku INSERT czy UPDATE)
DB API
DB API definiuje take list wyjtkw wraz z zaleceniem, kiedy dany wyjtek jest zgaszany.
SQLite
'Dyskowa' baza danych nie wymaga zewntrznego serwera, nie wymaga kontaktu z adminem itp. sqlite (lub sqlite3): API do SQLite Sqlite implementuje DB API 2.0
Przykad
Zaoenie tabeli
kursor = db.cursor() kursor.execute('''create table Ksiegozbior (Autor text, Tytul text, RokWyd int, cena real)''') kursor.commit()
Wstawienie rekordu
Odczyt danych
Ciekawostka
db = sqlite.connect(':memory:')
KONIEC