• Nie Znaleziono Wyników

Przechowywanie danych

N/A
N/A
Protected

Academic year: 2021

Share "Przechowywanie danych"

Copied!
66
0
0

Pełen tekst

(1)

Kurs rozszerzony języka Python

pickle, SQL, no-SQL

Marcin Młotkowski

(2)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Plan wykładu

1 Przechowywanie obiektów

Pojedyncze obiekty Kolekcje obiektów

2 Relacyjne bazy danych

3 Przykład ORM: SQLAlchemy

Definiowanie klas/tabel Zapis i odczyt danych Różności

4 Systemy NoSQL w Pythonie

Systemy zorientowane na dokumenty Grafowe bazy danych

Bazy typu klucz–wartość

(3)

Przechowywanie obiektów

Relacyjne bazy danych Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Pojedyncze obiekty Kolekcje obiektów

Plan wykładu

1 Przechowywanie obiektów Pojedyncze obiekty Kolekcje obiektów

2 Relacyjne bazy danych 3 Przykład ORM: SQLAlchemy

Definiowanie klas/tabel Zapis i odczyt danych Różności

4 Systemy NoSQL w Pythonie

(4)

Przechowywanie obiektów

Relacyjne bazy danych Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Pojedyncze obiekty Kolekcje obiektów

Pakiet pickle

Pakiet implementujący serializację i deserializację obiektów.

Format1 natywny Pythona.

Użyteczny do przechowywania pojedynczych obiektów.

1A właściwie zbiór formatów

(5)

Przechowywanie obiektów

Relacyjne bazy danych Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Pojedyncze obiekty Kolekcje obiektów

Pakiet pickle

Pakiet implementujący serializację i deserializację obiektów.

Format1 natywny Pythona.

(6)

Przechowywanie obiektów

Relacyjne bazy danych Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Pojedyncze obiekty Kolekcje obiektów

Pakiet pickle

Pakiet implementujący serializację i deserializację obiektów.

Format1 natywny Pythona.

Użyteczny do przechowywania pojedynczych obiektów.

1A właściwie zbiór formatów

(7)

Przechowywanie obiektów

Relacyjne bazy danych Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Pojedyncze obiekty Kolekcje obiektów

Jak korzystać

importpicke

obj1 = {’uno’: [1],’duo’: [2,3], ’tres’: [4,5,6]} Zapis

withopen(’object.store’,’wb’) as fh: pickle.dump(obj1, fh)

Odczyt

withopen(’object.store’,’rb’) asfh: obj2 = pickle.load(fh)

(8)

Przechowywanie obiektów

Relacyjne bazy danych Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Pojedyncze obiekty Kolekcje obiektów

Co można przechowywać

wartości proste (True, False, liczby); listy, stringi, krotki, słowniki;

klasy, obiekty (spełniające pewne warunki), funkcje.

(9)

Przechowywanie obiektów

Relacyjne bazy danych Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Pojedyncze obiekty Kolekcje obiektów

json

importjson

(10)

Przechowywanie obiektów

Relacyjne bazy danych Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Pojedyncze obiekty Kolekcje obiektów

Uwagi

można używać kompresji;

podatność na ataki (niezaufane pliki), można skorzystać z podpisywania, np. HMAC;

jest sześć wariantów serializacji w zależności od wersji Pythona, można jawnie wskazywać której wersji się używa.

(11)

Przechowywanie obiektów

Relacyjne bazy danych Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Pojedyncze obiekty Kolekcje obiektów

Pakiet shelve

Pakiet do przechowywania w pliku większej ilości obiektów w postaci słownika.

kluczem zawsze jest string;

wartością jest obiekt zserializowany picklem;

korzysta z tzw. dbm’ow, narzędzi dostępnych w bibliotekach uniksowych.

(12)

Przechowywanie obiektów

Relacyjne bazy danych Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Pojedyncze obiekty Kolekcje obiektów

Wykorzystanie

importshelve

withshelve.open(’shelve’) asdb:

fori inrange(10):

db[’lista%i’% i] = [1,2,3, i] db.sync()

fork indb:

print(”{}:{}”.format(k, db[k])

(13)

Przechowywanie obiektów

Relacyjne bazy danych Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Pojedyncze obiekty Kolekcje obiektów

Shelve: uwagi

otwierając plik można wskazać, czy zapis ma być częsty (po zmianie/aktualizacji);

nie ma wielodostępu; trzeba się pilnować:

db[’lista’] = [1,2,3] db[’lista’].append(4) nie zmienia listy w db, ale

tmp = db[’lista’] tmp.append(4) db[’lista’] = tmp

(14)

Przechowywanie obiektów

Relacyjne bazy danych Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Pojedyncze obiekty Kolekcje obiektów

Po co mi to

Cache zapytań SQL

SELECT * FROM dz_transakcje WHERE status ... : 389 504

SELECT * FROM dz_programy’ : 868

select * from dz_kody_kasowe order by typ, i : 558

10-krotne przyspieszenie działania programu.

(15)

Przechowywanie obiektów

Relacyjne bazy danych

Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Plan wykładu

1 Przechowywanie obiektów

Pojedyncze obiekty Kolekcje obiektów

2 Relacyjne bazy danych

3 Przykład ORM: SQLAlchemy

Definiowanie klas/tabel Zapis i odczyt danych Różności

4 Systemy NoSQL w Pythonie

(16)

Przechowywanie obiektów

Relacyjne bazy danych

Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Silniki SQL

Oracle DB/2 MySQL PostgreSQL MSSQL ...

(17)

Przechowywanie obiektów

Relacyjne bazy danych

Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

DB API

Python Database API Specification

Zunifikowany interfejs dostępu do różnych systemów BD. Obecna wersja: 2.0.

(18)

Przechowywanie obiektów

Relacyjne bazy danych

Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Otwarcie połączenia z serwerem BD

connect(”parametry”) # zwraca obiekt Connection

MySQL importMySQLdb db = MySQLdb.connect(host=’localhost’, db=’testing’, user=’user’, passwd=’123456’)

(19)

Przechowywanie obiektów

Relacyjne bazy danych

Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Otwarcie połączenia z serwerem BD

connect(”parametry”) # zwraca obiekt Connection

MySQL importMySQLdb db = MySQLdb.connect(host=’localhost’, db=’testing’, user=’user’, passwd=’123456’)

(20)

Przechowywanie obiektów

Relacyjne bazy danych

Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Zamknięcie połączenia

db.close()

(21)

Przechowywanie obiektów

Relacyjne bazy danych

Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Komunikacja z bd

wysłanie zapytania wynik = db.cursor()

wynik.execute(’SELECT * FROM Studenci’)

pobranie wyniku row = wynik.fetchone() whilerow: printrow row = wynik.fetchone() Opcjonalnie wynik.close()

(22)

Przechowywanie obiektów

Relacyjne bazy danych

Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Komunikacja z bd

wysłanie zapytania wynik = db.cursor()

wynik.execute(’SELECT * FROM Studenci’)

pobranie wyniku row = wynik.fetchone() whilerow: printrow row = wynik.fetchone() Opcjonalnie wynik.close()

(23)

Przechowywanie obiektów

Relacyjne bazy danych

Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Wynik: obiekt klasy Cursor

Atrybuty wyniku:

description: opisuje kolumny

rowcount: liczba przetworzonych wierszy (np. INSERT czy UPDATE)

(24)

Przechowywanie obiektów

Relacyjne bazy danych

Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

DB API: dodatkowe informacje

Standardowe wyjątki:

Warning, DatabaseError, NotSupportedError, ...

(25)

Przechowywanie obiektów

Relacyjne bazy danych

Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

SQLite

’Plikowa’ baza danych, bez zewnętrznego serwera, żadnego kontaktu z adminem;

moduł: sqlite3

(26)

Przechowywanie obiektów

Relacyjne bazy danych

Przykład ORM: SQLAlchemy Systemy NoSQL w Pythonie

Użycie Sqlite

Dostęp importsqlite3 db = sqlite3.connect(”/tmp/temp.db”) albo Ciekawostka db = sqlite.connect(’:memory:’)

(27)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Plan wykładu

1 Przechowywanie obiektów

Pojedyncze obiekty Kolekcje obiektów

2 Relacyjne bazy danych

3 Przykład ORM: SQLAlchemy

Definiowanie klas/tabel Zapis i odczyt danych Różności

4 Systemy NoSQL w Pythonie

(28)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Po co SQLAlchemy

To zajęcia Pythona a nie z SQL’a!

Object–Relational Mapping (ORM)

Sposób odwzorowania świata obiektów w programie na świat relacyjny w bazie danych.

(29)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Po co SQLAlchemy

To zajęcia Pythona a nie z SQL’a! Object–Relational Mapping (ORM)

Sposób odwzorowania świata obiektów w programie na świat relacyjny w bazie danych.

(30)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Co daje nam ORM

Używając tylko Pytona możemy utworzyć tabele w bazie danych;

tworzyć, odczytywać, aktualizować i usuwać dane (CRUD: Create, Read, Update, Delete);

definiować różne sposoby komunikacji danych (leniwość/gorliwość, transakcyjność, etc).

(31)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

fromsqlalchemy.ext.declarativeimportdeclarative base

fromsqlalchemyimportTable, Column, Integer,

ForeignKey, String, DateTime Base = declarative base()

classOsoba(Base):

tablename =’Osoba’

id = Column(Integer, primary key=True) imie = Column(String(20), nullable=False) wiek = Column(Integer, default=18) created = Column(DateTime,

default=datetime.datetime.utcnow)

(32)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Każdy gdzieś mieszka

classAdres(Base):

tablename =’Adresy’

id = Column(Integer, primary key=True) email = Column(String)

miasto = Column(String)

@validates(’email’)

def validate email(self, key, value):

assert”@” invalue

returnvalue

(33)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Każdy gdzieś mieszka

classAdres(Base):

tablename =’Adresy’

id = Column(Integer, primary key=True) email = Column(String)

miasto = Column(String)

@validates(’email’)

defvalidate email(self, key, value):

assert”@” invalue

(34)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Związki między klasami/tabelami

Jedna osoba ma wiele adresów (One–To–Many):

classOsoba(Base):

tablename =’Osoba’

...

adresy = relationship(’Adres’)

classAdres(Base):

tablename =’Adres’

...

mieszkaniec = Column(Integer, ForeignKey(”Osoba.id”))

(35)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Utworzenie tabeli

fromsqlalchemyimportcreate engine

engine = create engine(’sqlite:///wyklad.db’, echo=True) Base.metadata.create all(engine)

(36)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Migracje

A co ze zmianą struktury bazy danych?

alembic

(37)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Migracje

A co ze zmianą struktury bazy danych?

(38)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Sesja

Operacje odbywają się w ramach sesji:

fromsqlalchemy.orm importsessionmaker

engine = create engine(’sqlite:///wyklad.db’, echo=True) Session = sessionmaker(bind=engine)

sesja = Session()

(39)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Dodawanie danych

o = Osoba(imie=’Debeściak’)

adr1 = Adres(email=’Joliot@Curie’, miasto=’Wrocław’) o.adresy = [adr1]

sesja.add(o) sesja.add(adr1) sesja.commit()

(40)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Odpytywanie

lista = sesja.query(Osoba).filter(Osoba.imie.in ([’Debeściak’]).all() lista = sesja.query(Osoba).filter(Osoba.imie ==’Debeściak’).all()

(41)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Usuwanie

(42)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Aktualizacja

o.imie =’Inne’

(43)

Przechowywanie obiektów Relacyjne bazy danych

Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Definiowanie klas/tabel Zapis i odczyt danych Różności

Uwagi

wycofywanie zmian: session.rollback(); na końcu dobrze jest zrobić sesja.close(); sesja nie jest dla wielu wątków;

są dedykowane warianty typów kolumn i zapytań związanych ze specyfiką poszczególnych silników.

(44)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Plan wykładu

1 Przechowywanie obiektów

Pojedyncze obiekty Kolekcje obiektów

2 Relacyjne bazy danych 3 Przykład ORM: SQLAlchemy

Definiowanie klas/tabel Zapis i odczyt danych Różności

4 Systemy NoSQL w Pythonie

Systemy zorientowane na dokumenty Grafowe bazy danych

Bazy typu klucz–wartość

(45)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

NoSQL

NOSQL (not only SQL)

Systemy baz danych o elastycznej strukturze danych. Czasem mówi się że są to ustrukturalizowane zasoby.

Do czego się używa

Proste, lecz wielkie bazy danych przetwarzane na wielu komputerach.

(46)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

NoSQL

NOSQL (not only SQL)

Systemy baz danych o elastycznej strukturze danych. Czasem mówi się że są to ustrukturalizowane zasoby.

Do czego się używa

Proste, lecz wielkie bazy danych przetwarzane na wielu komputerach.

(47)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Systemy zorientowane na dokumenty

Dokument

Dokument zawiera jakąś informację. Dokument może być w formacie XML, YAML, JSON, PDF, MS Office. Dokumenty nie muszą mieć jednego schematu.

Przykłady danych

Imie=”Adam”

Imie=”Janina”, Adres=”ul. Cicha 132 m. 16”, Dzieci=[”Staś”,

(48)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Systemy zorientowane na dokumenty

Dokument

Dokument zawiera jakąś informację. Dokument może być w formacie XML, YAML, JSON, PDF, MS Office. Dokumenty nie muszą mieć jednego schematu.

Przykłady danych

Imie=”Adam”

Imie=”Janina”, Adres=”ul. Cicha 132 m. 16”, Dzieci=[”Staś”,

”Krzyś”]

(49)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Inne cechy

Dokumenty mają unikatowe klucze (string, URI).

Wyszukiwanie

(50)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Inne cechy

Dokumenty mają unikatowe klucze (string, URI). Wyszukiwanie

Wyszukiwanie oparte na kluczu lub zawartości.

(51)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Przykłady systemów

(52)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

MongoDB

System MongoDB

system zorienowany na dokumenty; kolekcja: coś w rodzaju tabeli; nazwa modułu: pymongo;

wymaga uruchomionego serwera mongod.

(53)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Połączenie z bd

frompymongoimportConnection

connection = Connection() db = connection[”studenckie”]

(54)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Połączenie z bd

frompymongoimportConnection

connection = Connection()

db = connection[”studenckie”]

(55)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Połączenie z bd

frompymongoimportConnection

connection = Connection() db = connection[”studenckie”]

(56)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Kolekcje

Pobranie kolekcji (leniwe) kolekcja = db[”protokoly”]

# alternatywnie: kolekcja.protokoly

(57)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Dodanie elementu do kolekcji

importdatetime

python prot = {”prowadzacy”: ’Marcin Młotkowski’,

’przedmiot’: ’Zaawansowany kurs Pythona’,

’pracownie’: [’Marcin Młotkowski’,’Mateusz Lewandowski’],

’data’ : datetime.datetime.utcnow()}

kolekcja.insert(python prot) # Zwraca ObjectId(..)

(58)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Dodanie elementu do kolekcji

importdatetime

python prot = {”prowadzacy”: ’Marcin Młotkowski’,

’przedmiot’: ’Zaawansowany kurs Pythona’,

’pracownie’: [’Marcin Młotkowski’,’Mateusz Lewandowski’],

’data’ : datetime.datetime.utcnow()} kolekcja.insert(python prot)

# Zwraca ObjectId(..)

(59)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Wyszukiwanie elementów

forprotin kolekcja.find({’prowadzacy’: ’Marcin Młotkowski’ }): # prot jest słownikiem

(60)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Grafowe bazy danych

Dane są trzymane w postaci grafów: węzły reprezentują obiekty, a krawędzie: związki między obiektami.

(61)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Zastosowanie

(62)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Bazy danych typu klucz-wartość

Implementacje

BigTable (Google)

Apache Hadoop (Facebook, Amazon, HP, IBM, Microsoft) BerkeleyDB

dbm

(63)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

MapReduce

Map

Map( (klucz, wartość) ): przekształca każdą parę w listę par (kl, wart), a następnie łączy w grupy wartości związane z tym samym kluczem. Operacja jest wykonywana równolegle na każdej parze.

Reduce

Reduce(kl, lista(wartości)): operacja wykonywana na każdej grupie i dająca w wyniku listę kolejnych wartości.

(64)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

MapReduce

Map

Map( (klucz, wartość) ): przekształca każdą parę w listę par (kl, wart), a następnie łączy w grupy wartości związane z tym samym kluczem. Operacja jest wykonywana równolegle na każdej parze. Reduce

Reduce(kl, lista(wartości)): operacja wykonywana na każdej grupie i dająca w wyniku listę kolejnych wartości.

(65)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

Przykład (Hadoop)

# zliczanie słów we wszystkich dokumentach

frompydoop.pipesimportMapper, Reducer, Factory, runTask

classWordCountMapper(Mapper):

defmap(self, context):

words = context.getInputValue().split()

forw inwords:

context.emit(w,”1”)

classWordCountReducer(Reducer):

defreduce(self, context): s = 0

whilecontext.nextValue():

(66)

Przechowywanie obiektów Relacyjne bazy danych Przykład ORM: SQLAlchemy

Systemy NoSQL w Pythonie

HDFS: Hadoop Distributed File System

Rozproszony, skalowalny, przenośny, obsługujący replikację i wielkie pliki.

Cytaty

Powiązane dokumenty

W przypadku raportów i stron dostępu do danych główną metodą wprowadzenia wewnętrznej struktury jest grupowanie po wartościach pochodzących z jednej lub więcej kolumn. W wyniku

Źródło danych: Kwerenda Wszystko (złączenie tabel Firmy, Oferty, Stanowiska w ofercie, Wymagania, Słownik wymagań i Kategorie wymagań) dla głównego formularza (tu wyszukuje

SELECT Nazwa, Cena, Id_faktury, Ilosc FROM Towary INNER JOIN Pozycje ON Towary.Id_towaru = Pozycje.Id_towaru;... Wyświetl pracowników razem z przyjętymi przez

Do obiektu formularza o nazwie Pracownicy można się odwoływać w następujący

Jeśli użytkownik wprowadza do pola kombo nową wartość, której nie ma na stowarzyszonej liście rozwijanej i chce aby odpowiedni rekord został dopisany do tabeli bazy danych,

Recordset - obiekt reprezentujący cały zbiór rekordów z tabeli w bazie danych lub z wyniku zapytania na tabelach bazy danych. W danej chwili dostęp jest tylko do jednego

•Obiekt klasy SQLException reprezentuje błąd (wyjątek) związany z wykonywaniem instrukcji SQL na bazie danych... Przykład zastosowania interfejsu JDBC do bazy danych określonej

bazy danych po awarii, kompaktyfikację i naprawę uszkodzonego pliku bazy danych, konwersję z poprzednich wersji MS Access, szyfrowanie i odszyfrowanie pliku bazy