Python SQLAlchemy ile Veritabanı Yapısı Oluşturma ve Kullanımı

0 Yanıt 31 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
Giriş ve Temel Kavramlar

Python dünyasında veritabanı işlemlerini kolaylaştırmak ve kodun okunabilirliğini artırmak amacıyla SQLAlchemy en çok tercih edilen ORM (Object-Relational Mapping) kütüphanelerinden biridir. Bu kütüphane, veritabanı ile Python nesneleri arasında köprü kurar ve hem SQL sorguları yazmadan hem de daha kontrollü bir yapıyla veri yönetimi sağlar.

SQLAlchemy'nin temel yapı taşları, declarative sistemi kullanılarak tanımlanan modellerdir. Bu modeller, veritabanındaki tabloları temsil eder ve her model sınıfı, o tablonun yapısını belirler. Model sınıflarında kullanılan alanlar ise, tablonun kolonlarını ve veri tiplerini gösterir.

Veritabanı Yapısının Oluşturulması

İşte temel adımlar:
  • Bağlantı kurulumu: SQLAlchemy, create_engine() fonksiyonu ile veritabanına bağlantı sağlar. Örneğin, SQLite kullanımı oldukça yaygındır:
    KOD
    1engine = create_engine('sqlite:///ornek.db')


  • Temel sınıfın tanımlanması: declarative_base() fonksiyonu ile temel sınıf oluşturulur.
    KOD
    12from sqlalchemy.ext.declarative import declarative_base  
    Base = declarative_base()


  • Model sınıfının tanımlanması:
    Her model, Base sınıfından türetilir ve kolonlar Column() fonksiyonları ile tanımlanır. Örneğin, bir kullanıcı tablosu:
    KOD
    1234567from sqlalchemy import Column, Integer, String
    
    class Kullanici(Base):
        [b]tablename[/b] = 'kullanicilar'
        id = Column(Integer, primary_key=True)
        isim = Column(String(50))
        mail = Column(String(100))
    


  • Veritabanı tablolarının oluşturulması:
    Base.metadata.create_all() fonksiyonu, tanımlı modellerden veritabanında tabloları oluşturur.
    KOD
    1Base.metadata.create_all(engine)


    Veri İşlemleri ve Sorgulama

    Veri ekleme, güncelleme ve sorgulama işlemleri, SQLAlchemy’nin ORM fonksiyonları ile gerçekleştirilir. Örneğin, yeni kullanıcı eklemek:
    KOD
    12345678from sqlalchemy.orm import sessionmaker
    
    Session = sessionmaker(bind=engine)
    session = Session()
    
    yeni_kullanici = Kullanici(isim='Ali', mail='ali@example.com')
    session.add(yeni_kullanici)
    session.commit()


    Sorgulama ise, query() fonksiyonu ile yapılır:
    KOD
    1kullanicilar = session.query(Kullanici).filter_by(isim='Ali').all()


    Bu yapı, veritabanı işlemlerini hem daha okunabilir hem de güvenli hale getirir.

    Bütün bu temel yapı ve işlemler, Python ve SQLAlchemy ile veritabanı yönetimini anlamak ve uygulamak için başlangıç noktasıdır. Bu yapıya uygun olarak farklı ilişkisel veritabanı sistemleriyle uyumlu, ölçeklenebilir ve modüler uygulamalar geliştirilir.

    Veritabanı yapılarını ve kullanım detaylarını derinlemesine öğrenmek, uygulamalı örneklerle pekiştirilerek, projelerde etkin biçimde kullanılabilir.
  • Yanıt vermek için giriş yapmış olmalısınız.

    0 alıntı seçildi