Turbo DB Kullanımı

(2014-10-03 09:20)

No SQL DB olarak yazılan Turbo DB kullanımı gayet kolay ve kullanışlı olup hızlı sonuçlar almanızı, projelerinizde yüksek verim almanızı sağlar.

  • Herhangi Bir Veri Tabanından Turbo DB ye veri Aktarmak

Kullanmış olduğunuz veri tabanı ne olursa olsun Turbo DB ye verileriniz aktarıp kullanabilirsiniz. Örneğin Mysql için;

class Turbo extends CI_MODEL{
 function __construct(){
  parent :: __construct();
  $this->load->database();
  $this->load->model('turbodb');
 }
 function export(){
  $sql='SELECT * FROM TBL_URUNLER WHERE date_added > '.date('Y-m-d').' ORDER BY name ASC';
  $data=$this->turbodb->import('products',$sql);#products isimli dosya tablo adımız olarak depoladık.
  if($data){
   return true;
  }else{
   return false;
  }
 }

}
  • Veri Tabanına Veri Ekleme İşlemi (insert)

Veri tabanına veri eklerken tıpkı Codeigniter ile diğer veri tabanlarına veri ekler gibi sadece class ismi değişecek şekilde data gönderebilir ekleme yapabilirsiniz. Bunun için insert metodunu kullanacağız. V-1 e göre V-2 de insert() metodu daha kullanışlı bir hal almıştır ve daha güvenli bir data depolama imkanı sağlanmıştır.
V-1 için;

class Turbo extends CI_MODEL{
 function __construct(){
  parent :: __construct();
  $this->load->database();
  $this->load->model('turbodb');
 }
 function insert(){
  $query = $this->turbodb->insert('products',array(
     'name'=>'I-Phone 6 Plus',
     'price'=>'2.500',
     'description'=>'Ürün Stoklarla Sınırlı Olup Kısa Süreli Kampanya İle Satışa Sunulmuştur',
     'keywords'=>'I-Phone 6, I-Phone 6 Plus, Apple',
     'adet'=>'150',
     'dateadded'=>date('Y-m-d')
    )
  );
  if($query){
   return true;
  }else{
   return false;
  }
 }

}
  • Veri Tabanında Veri Güncelleme (update)

Veri tabanında güncelleme işlemi aynen diğer veri tabanı driverlarında olduğu gibi yapılmaktadır. 3. parametre olarak where koşulunun gönerilmesi tavsiyemdir.

class Turbo extends CI_MODEL{
 function __construct(){
  parent :: __construct();
  $this->load->database();
  $this->load->model('turbodb');
 }
 function update(){
  $query = $this->turbodb->update('products',array(
     'name'=>'I-Phone 6 Plus',
     'price'=>'2.500',
     'description'=>'Ürün Stoklarla Sınırlı Olup Kısa Süreli Kampanya İle Satışa Sunulmuştur',
     'keywords'=>'I-Phone 6, I-Phone 6 Plus, Apple',
     'adet'=>'150',
     'dateadded'=>date('Y-m-d')
    ),array('id'=>55)
  );
  if($query){
   return true;
  }else{
   return false;
  }
 }

}
  • Veri tabanından veri silme işlemi (delete)

Veri silme işlemi de update kadar basit biş işlem olup, 2. parametre olarak where koşulu gönderilmelidir.

class Turbo extends CI_MODEL{
 function __construct(){
  parent :: __construct();
  $this->load->database();
  $this->load->model('turbodb');
 }
 function delete(){
  $delete=$this->turbodb->delete('products',array('id'=>55));
  if($delete){
   return true;
  }else{
   return false;
  }
 }

}
  • Veri tabanındaki tabloya sütun ekleme ve çıkarma işlemi

Verilerin belli bir düzen içerisinde saklanabilmesi ve sağlıklı bir analiz yapılabilmesi için tablo yapısının korunması gerekmekte ve yapılan değişikliklerin kalıcı bir nitelik taşıdığının bilincinde olmak gerekir. Saklanan tabloya alan ekleme çıkarma işlemi tüm datalar üzerinde yapılmaktadır.

class Turbo extends CI_MODEL{
 function __construct(){
  parent :: __construct();
  $this->load->database();
  $this->load->model('turbodb');
 }
 function alter(){
  #alan ekler
  $alter=$this->turbodb->alter('products',array('satis_fiyati','alis_fiyati','kdv'));
  if($alter){
   return true;
  }else{
   return false;
  }
 }
 function drop_alter(){
  #alan siler
  $drop_alter=$this->turbodb->drop_alter('products',array('satis_fiyati','alis_fiyati','kdv'));
  if($drop_alter){
   return true;
  }else{
   return false;
  }
 }
}
  • Veri Tabanında Sorgulama Yapma İşlemleri (get, get_where)

Veri tabanında sorgulama 3 şekilde gerçekleşmektedir. 1. get() ile tüm dataları alırız veya 2. get_where ile koşula uyan dataları alırız. 3. ise search ile arama yaparak data listeleriz.

class Turbo extends CI_MODEL{
 function __construct(){
  parent :: __construct();
  $this->load->database();
  $this->load->model('turbodb');
 }
 function get(){
  $get=$this->turbodb->get('products');
  if($get){
   return $get;
  }else{
   return false;
  }
 }
 function get_where(){
  $get_where=$this->turbodb->get_where('products',array('id'=>'55','name'=>'I-Phone 6 Plus'));
  $count=count($get_where);
  if($count>0){
   return $get_where; # sorgulamada tam koşul eşitliği istenmezse
   #return $this->turbodb->result;   veya sorgulamada tam koşul eşitliği isternise
  }else{
   return false;
  }
 }
}
  • Veri Tabanında Arama Yapma Sphinx (search)

Veri tabanında hızlı arama yapmak için sphinx tipinde array sonuç döndüren search metodu kullanılmaktadır.

class Turbo extends CI_MODEL{
 function __construct(){
  parent :: __construct();
  $this->load->database();
  $this->load->model('turbodb');
 }
 function search(){
  $tablo='products';
  $array=$this->turbodb->get($tablo);
  $aranacak="I-Phone";
  $search=$this->turbodb->search($array,array('keywords','description','name'),$aranacak);
  $count=count($search);
  if($count>0){
   return $search;
  }else{
   return false;
  }
 }
}