2435

Sıfırdan Uygulamalı SQL Veri Tabanı Dersleri: MySQL & MsSQL

Veritabanı Nedir?

SQL dersleri serimizin bu bölümünde veri tabanı nedir, öğrenelim.

Veritabanı Nedir?

Uygulamalarımızın kalıcı veri deposu veri tabanı olarak adlandırılır. 

Veritabanı Türleri

Veritabanları yapısal olarak 2 grup altında ele alınabilir; SQL veritabanları ve NoSQL veritabanları.

SQL Veritabanları

Verilerin tablolarda saklandığı ilişkisel veritabanı türüdür. 

  • Veriler tablolarda saklanır.
  • Excel tablolarındaki gibi düzenlenir.
  • SQL sorgulama dilini kullanır.
  • Tablo hazırlarken tablo normlarına uygun hareket etmemiz gerekir.

Sql veritabanı servislerine MsSQL, MySQL, Oracle, PostgreSQL, SQLite veritabanı servisleri verilebilir.

NoSQL veritabanları

Verilerin json formatında koleksiyonlarda saklandığı veritabanı türüdür.

  • Veriler koleksiyonlarda saklanır. 
  • Veriler json formatında saklanır.
  • Sorgulama platformdaki kütüphane aracılığıyla yapılır.

Nosql veritabanı servislerine Firebase ve MongoDb verilebilir.

 

Veritabanları herhangi bir programlama diline (uygulama geliştirme platformu) özel değildir. Örneğin; Asp.net ya da django uygulaması her hangi bir veritabanı servisini kullanabilir. Burada önemli olan uygulama geliştirme platformu (asp.net yada django) ile veritabanı servisi arasındaki ara yazılımın olmasıdır.

Örneğin; asp.net ile mysql veritabanı sağlayıcına bağlanabilmemiz için mysql connector ismindeki ara yazılımın projeye yüklenmesi gerekiyor. Mysql resmi web sitesinden herhangi bir programlama dili için gereken ara yazılımı indirebilirsiniz.

Aşağıdaki linki inceleyiniz.

https://dev.mysql.com/downloads/

Ya da python uygulamasından MongoDb servisine bağlanmak için PyMongo yazılımın kullanılması gerekiyor.

Server ve Serverless Veritabanları

Veritabanları server tabanlı ve server tabanlı olmama (serverless) durumuna göre ikiye ayrılır.

Server Tabanlı Veritabanı Servisleri

Server tabanlı veritabanı servisleri sürekli çalışan ve internet ortamında ulaşılabilen servislerdir. 

Server tabanlı bir veritabanı servisine bağlanmak için server adresi, kullanıcı adı, parola ve veritabanı ismine ihtiyacımız vardır. Bu bilgilere sahip olan herhangi bir uygulama bu veritabanına bağlantı sağlayabilir. 

Bir veritabanı servisi altında birçok veritabanı oluşturulabilir. Dolayısıyla aynı server adresine sahip olan ancak kullanıcı adı, parola ve veritabanı isimleri farklı olan veritabanlarından bahsedebiliriz.

Örneğin bir firmanın mobil uygulaması, web uygulaması ayrı ayrı aynı veritabanına bağlanıp veri sorgulayabilir. 

Server tabanlı servislere örnek olarak Mssql, MySql, Oracle ya da Firebase verilebilir.

Serverless Veritabanı Servisleri

Server altında oluşturulmayan veritabanı türleridir. Örneğin bir uygulamaki verileri excel içerisinde saklarsanız aslında serverless veritabanı kullanmış olursunuz. Excel dosyasının bir adresi yoktur. Hangi uygulama klasöründe ise o uygulama o excel dosyasına ulaşıp içindeki verileri okuyabilir.

Ancak excel dosyası içinde verilerimizi saklamıyoruz çünkü excel sql sorgulama dilini desteklemez. Serverless veritabanına örnek olarak Access ve Sqlite veritabanı örnek verilebilir.

Örneğin; bir not defteri uygulamasını düşünelim. Uygulamada kayıt ettiğiniz bilgiler sadece o telefondanmı ulaşılabilsin ya da not defteri uygulamasını kurduğunuz her cihazdan mı ulaşılabilsin? Ya da online ve offline oyunları düşünebilirsiniz.