Pengantar basis data

Pemasukan Data yang Efisien dengan pandas

Amany Mahfouz

Instructor

Basis Data Relasional

  • Data tentang entitas diorganisasi dalam tabel
  • Setiap baris/rekaman adalah instance entitas
  • Setiap kolom menyimpan atribut
  • Tabel dapat ditautkan lewat kunci unik
  • Mendukung lebih banyak data, banyak pengguna serentak, dan kontrol kualitas data
  • Tipe data ditentukan per kolom
  • SQL (Structured Query Language) untuk berinteraksi dengan basis data
Pemasukan Data yang Efisien dengan pandas

Basis Data Relasional Umum

Logo Microsoft SQL Server

Logo Oracle

  • Basis data SQLite adalah file komputer

Logo PostgreSQL

Logo SQLite

Pemasukan Data yang Efisien dengan pandas

Menghubungkan ke Basis Data

  • Proses dua langkah:
    1. Buat koneksi ke basis data
    2. Kueri basis data

Klipart basis data

Pemasukan Data yang Efisien dengan pandas

Membuat Engine Basis Data

Logo SQLAlchemy

  • create_engine() milik sqlalchemy membuat engine untuk menangani koneksi basis data
    • Memerlukan URL string basis data untuk dihubungkan
    • Format URL SQLite: sqlite:///filename.db
Pemasukan Data yang Efisien dengan pandas

Mengkueri Basis Data

  • pd.read_sql(query, engine) untuk memuat data dari basis data
  • Argumen
    • query: String berisi kueri SQL untuk dijalankan atau nama tabel untuk dimuat
    • engine: Objek mesin koneksi/basis data
Pemasukan Data yang Efisien dengan pandas

Tinjauan SQL: SELECT

  • Digunakan untuk mengambil data dari basis data
  • Sintaks dasar:
    SELECT [column_names] FROM [table_name];
    
  • Untuk mengambil semua data dalam tabel:
    SELECT * FROM [table_name];
    
  • Gaya kode: kata kunci HURUF BESAR, titik koma (;) untuk mengakhiri pernyataan
Pemasukan Data yang Efisien dengan pandas

Mengambil Data dari Basis Data

# Muat pandas dan create_engine dari sqlalchemy
import pandas as pd
from sqlalchemy import create_engine

# Buat engine basis data untuk mengelola koneksi engine = create_engine("sqlite:///data.db")
# Muat seluruh tabel weather berdasarkan nama tabel weather = pd.read_sql("weather", engine)
Pemasukan Data yang Efisien dengan pandas
# Buat engine basis data untuk mengelola koneksi
engine = create_engine("sqlite:///data.db")

# Muat seluruh tabel weather dengan 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]
Pemasukan Data yang Efisien dengan pandas

Ayo berlatih!

Pemasukan Data yang Efisien dengan pandas

Preparing Video For Download...