Python ile Uygun Veritabanları

Merhabalar,
İnternette Python için birçok veritabanı bulunuyor ancak ben hangisini öğrenmenin daha mantıklı olabileceğini sormak istiyorum. İstediklerim doğrultusunda bir veritabanı var mı, bunu merak ediyorum.

İstediğim veritabanını şöyle ifade edebilirim:

  • En az iki farklı cihazın aynı veritabanından veri alabilmesi veya veri yükleyebilmesi (yani local olmaması)
  • Bedava olması
  • GUI (Graphical Users’ Interface) aplikasyonlarıyla ile uygun olması, sorunsuz çalışması.
  • Öğrenmesinin ve kullanmasının zor olması büyük bir problem değil ama kolay olması fena olmaz.

Daha önce yerel veritabanı olarak SQLite 3 ile bolca uğraştım ve eğer yanılmıyorsam diğer veritabanlarının kullanımı da birbirlerine benzer (en azından bakmış olduğum birkaç tanesinin).

Ne önerirsiniz, ne öğrenmek daha iyi olur? Şimdiden teşekkür ederim, iyi çalışmalar!

Veritabanını dile göre değil yaptığın işe göre seçmen gerekli.

  • Bir veritabanının local olmasını yüklü olduğu bilgisayarın ağ kuralları belirler. Örneğin bir sunucuya veritabanı kurup onu dışarıdan iletişime kapatırsan local olur veya kendi bilgisayarında bulunan veritabanını dışarıya açablirsin.
  • Genelde birçok veritabanı ücretsiz ve ücretli sürümü vardır.
  • Her veritabanı için GUI yazılımı resmi veya 3. parti olarak bulabilirsin. (Navicat, Datagrip, Mysql workbench)
    Benim tavsiyem mysql olur çünkü kurulum ve kullanımı en azından PostgreSQL’e göre daha kolaydır ve ihtiyaçlarının hepsini karşılar.
1 Like

Cevabınız ve verdiğiniz bilgiler için teşekkürler. Yalnızca doğru mu merak ediyorum, 1. maddede söylediğinizi baz alarak, bilgisayarda bulunan veritabanını dışarıya açmak aslında bilgisayarı bir sunucuya (servere) dönüştürmek manasına geliyor değil mi?

Evet kendi bilgisayarin sunucuya dönüşür.

Ben ozellikle MySQL kullanilmamasini tavsiye ediyorum cunku kendisi bir suru noktada standartlara uymuyor, diger database’lerde gorulmeyen kendine has sacmaliklara sahip ve (cogunlukla database’lere yeni girmis insanlar tarafindan kullanilinca da) insanlara buyuk yanlislar ogretiyor. Hatali veya beklenmedik girdiye karsi tutumu ise kullaniciya hata vermek yerine sessizce yanlis seyi yapmak.

Modern bir veritabani sistemi neye benzer gormek icin PostgreSQL’e bakilabilir. Kendisi (son baktigimda) SQL standartlarina en cok uyan database olmakla birlikte ic calismalarini da anlatan guzel dokumentasyona sahip.

2 Likes

Öncelikle cevabınız için teşekkürler.

@mehmetkıran Bey, MySQL’i tercih etmemi söylediğinden beri MySQL ile çalıştım, uğraştım. Ancak önümde biraz daha yol var gibi gözüküyor.

Dokümentasyon kısmında PostgreSQL bir adım önde gibi geldi bana. MySQL’in dokümantasyonuna bakarsanız, en azından daha önce bu kadar komplex bir veritabanı ile uğraşmayanlar için, kısaca benim için zor gözükmüştü çünkü çok fazla farklı versiyonu, tipi, özellikleri var.

MySQL öğrenmek için izlediğim bir video serisi var ve bitirmek üzereyim. Onları bitirdikten sonra PostgreSQL’e de bakacağım. Kararımı ikisinin de genel mantığını ve kullanımlarını öğrendikten sonra vereceğim.

Aslında hepsini öğrenmek isterdim ancak yapmakta olduğum TÜBİTAK projesinin raporunda mantıklı ve açıklayıcı şeyler yazmam lazım. Dokümantasyona önem vermemin bir diğer nedeni de o.

Yeniden teşekkürler, iyi günler.

Kullanmanda buyuk bir sakinca yok. Genel mantik olarak diger DBMS’lerden farkli degil fakat sacmaliklari cok cabuk karsina cikiyor; ogrendigin her seyi (bilhassa sacma gelenleri) “belki normalde boyle degildir” diye supheyle almakta fayda var.

Postgres dokumentasyon olarak isik yillari ileride. MySQL query’lerimizi optimize edebilmek icin PostgreSQL manueline (ve ayni database’in PostgreSQL kopyasina) danistigimi bilirim – MySQL’in EXPLAIN'i pek bir dandik.