Wprowadzenie do baz danych

Sprawne importowanie danych z pandas

Amany Mahfouz

Instructor

Relacyjne bazy danych

  • Dane o encjach są organizowane w tabelach
  • Każdy wiersz (rekord) to jedna instancja encji
  • Każda kolumna zawiera informacje o atrybucie
  • Tabele mogą być powiązane unikalnymi kluczami
  • Obsługują więcej danych, wielu użytkowników i kontrolę jakości danych
  • Typy danych są określone dla każdej kolumny
  • SQL (Structured Query Language) służy do pracy z bazami danych
Sprawne importowanie danych z pandas

Popularne relacyjne bazy danych

Logo Microsoft SQL Server

Logo Oracle

  • Bazy SQLite to pliki komputerowe

Logo PostgreSQL

Logo SQLite

Sprawne importowanie danych z pandas

Łączenie z bazami danych

  • Proces dwuetapowy:
    1. Nawiązanie połączenia z bazą danych
    2. Wykonanie zapytania do bazy

Ilustracja bazy danych

Sprawne importowanie danych z pandas

Tworzenie silnika bazy danych

Logo SQLAlchemy

  • Funkcja create_engine() z sqlalchemy tworzy silnik do obsługi połączeń z bazą
    • Wymaga ciągu URL wskazującego bazę danych
    • Format URL dla SQLite: sqlite:///filename.db
Sprawne importowanie danych z pandas

Zapytania do baz danych

  • pd.read_sql(query, engine) – wczytuje dane z bazy danych
  • Argumenty
    • query: ciąg znaków z zapytaniem SQL lub nazwą tabeli
    • engine: obiekt połączenia/silnika bazy danych
Sprawne importowanie danych z pandas

Przegląd SQL: SELECT

  • Służy do pobierania danych z bazy
  • Podstawowa składnia:
    SELECT [column_names] FROM [table_name];
    
  • Pobranie wszystkich danych z tabeli:
    SELECT * FROM [table_name];
    
  • Styl kodu: słowa kluczowe WIELKIMI LITERAMI, średnik (;) kończy instrukcję
Sprawne importowanie danych z pandas

Pobieranie danych z bazy

# Load pandas and sqlalchemy's create_engine
import pandas as pd
from sqlalchemy import create_engine

# Create database engine to manage connections engine = create_engine("sqlite:///data.db")
# Load entire weather table by table name weather = pd.read_sql("weather", engine)
Sprawne importowanie danych z pandas
# Create database engine to manage connections
engine = create_engine("sqlite:///data.db")

# Load entire weather table with SQL weather = pd.read_sql("SELECT * FROM weather", engine)
print(weather.head())
       station                         name  latitude  ...   prcp  snow  tavg tmax  tmin
0  USW00094728  NY CITY CENTRAL PARK, NY US  40.77898  ...   0.00   0.0         52    42
1  USW00094728  NY CITY CENTRAL PARK, NY US  40.77898  ...   0.00   0.0         48    39
2  USW00094728  NY CITY CENTRAL PARK, NY US  40.77898  ...   0.00   0.0         48    42
3  USW00094728  NY CITY CENTRAL PARK, NY US  40.77898  ...   0.00   0.0         51    40
4  USW00094728  NY CITY CENTRAL PARK, NY US  40.77898  ...   0.75   0.0         61    50

[5 rows x 13 columns]
Sprawne importowanie danych z pandas

Czas na ćwiczenia!

Sprawne importowanie danych z pandas

Preparing Video For Download...