database

PL/SQL Komut Satırında Çıktı (Sonuç) Görüntülemek

Oracle veritabanı kullanıcısıysanız PL/SQL komut satırında (Command Line) bazı sonuçları görüntülemek isteyebilirsiniz. Bunun için dbms_output.put_line() fonksiyonu kullanılır.

Bazı araçlarda bu fonksiyonu kullandığımız halde sonuç görüntülenmeyebilir. Bu durumda serveroutput değişkenine on değerini atamamız gerekir.

SQL> set serveroutput on

Örneğin bir prosedür sonucunda "hosaf.org" yazdırmak istersek aşağıdaki şekilde yazmamız gerekecektir;

SQL> set serveroutput on
SQL> declare
  2    v_line varchar2(40);
  3  begin
  4    v_line := 'hosaf.org';
  5    dbms_output.put_line (v_line);
  6  end;
  7  /

hosaf.org
 
PL/SQL procedure successfully completed.

Bilgi kaynağı: http://www.dba-oracle.com/concepts/displaying_pl_sql_output.htm

Oracle'da (PL/SQL) Bir Satırın Varlık Bilgisini Alma İpucu

Bir veritabanı kaydının sadece varlığıyla yani olup olmadığıyla ilgileniyorsak ilk akla gelen strateji, count(*) yani kayıt sayısını alıp bu değerin sıfırdan büyük olup olmaması karşılaştırmasını yapmak.

KISI tablosunda GRUP alanı 1 olan kayıt var mı diye merak ettik diyelim.

select count(*) from KISI k where k.GRUP=1

Bu sorgu eğer KISI tablosunda GRUP alanı 1 olan çok fazla kayıt varsa uzun sürecektir. Halbuki biz sadece varlığını merak ettiğimiz için gereksizce beklemiş olma ihtimalimiz var.

Bu durumu çözmek için rownum anahtar kelimesini kullanabiliriz. rownum ile sorguyu daha da kısıtlayarak belli bir satır numarasından fazlasını almamayı sağlayabiliriz. Yani satır numarası 1 olan kaydın sayısını (count(*)) where koşulunda rownum=1 ile kısıtlayarak çekersek en az bir tane bu tipte kayıt olduğunu ya da hiç olmadığını anlayabiliriz;

select count(*) from KISI k where k.GRUP=1 and rownum=1

Bu sorgu sonucunda elimize ya 0 ya da 1 değeri gelecektir. 0 olduğunda herhangi bir kayıt sayılmamış yani hiç bu koşula uygun kayıt yok demektir. 1 ise belki birden fazla vardır fakat en azından bir tane bu koşula uygun kayıt vardır demektir. İlgilendiğimiz bilgi varlık olduğundan bu sorgu büyük kayıtlara sahip olabilecek tablolarda daha hızlı cevap verecektir.

Kaynak: https://stackoverflow.com/questions/1088156/quickest-query-to-check-for-...

Ubuntu'ya Mysql Sunucusu (Server) Kurmak

Konu:

MySQL hızlı, çok kanallı (multi-threaded), çok kullanıcılı, güçlü bir SQL veritabanı sistemi.

Kurulum

Normal şartlarda Ubuntu'yla beraber gelen MySQL sunucusunu bir şekilde sildiyseniz, tekrar yüklemek isteyebilirsiniz.
Ubuntu'da bu kurulumu gerçekleştirmek için aşağıdaki komutu bir terminal'de çalıştırmak gerekiyor:

sudo apt-get install mysql-server

Kurulum gerçekleşirken sizden bir root şifresi istenecek.

Kurulum bittikten sonra MySQL sunucusu otomatik olarak başlaması gerekiyor. Çalışıp çalışmadığını service ya da netstat komutuyla kontrol edebilirsiniz;

sudo service mysql status

Eğer bu komuta aşağıdaki gibi bir yanıt geliyorsa, servis olarak başlangıç yapılmış ve çalışıyor demektir:

mysql start/running, process 2565

Process numarası farklı olabilir.

netstat komutuyla ise:

sudo netstat -tap | grep mysql

Bu komuta ise şuna benzer bir yanıt gelmesi beklenir:

tcp        0      0 localhost:mysql         *:*                     LISTEN      2565/mysqld

Yine sağda görülen numara process numarasını ifade ettiği için farklı bir numara görülebilir.

Yapılandırma

Log dosyası, port numarası gibi temel ayarları /etc/mysql/my.cnf dosyası ile düzenleyebilirsiniz.

Kaynak ve daha detaylı bilgi için: https://help.ubuntu.com/12.04/serverguide/mysql.html

NodeJS Geliştiriciler için Ücretsiz MongoDB Eğitimi Başlıyor

Konu:


MognoDB'nin sahibi 10gen, Python ve Java geliştiricileri için düzenlediği ücretsiz MongoDB eğitimlerine NodeJS'i de katıyor ve 12 Ağustos'ta bu yeni eğitime başlıyor. Eğitimlere katılıp ödev ve sınavdan ortalama 65 alanlara sertifika veriliyor. Detaylı bilgi ve katılım için: https://education.10gen.com/courses/10gen/M101JS/2013_August/about

Ayrıca konu hakkında daha önceki yazılarıma da göz atabilirsiniz:

Daha önce de bahsettiğim bu MongoDB eğitimleri aslında genel olarak programlama diline pek fazla bağımlı değil. Genel olarak bir uygulama üzerinden örnekleme yapılmaya ihtiyaç olduğundan bir porgramlama dili kullanılıyor. İlk kurslarda bu dil Python olarak seçilmişti, daha sonra Java için de bazı metaryaller hazırlandı ve aynı videolar her iki eğitimde de kullanılmaya başlandı. Büyük ihtimalle NodeJS için olacak eğitimde de aynı videolar kullanılacak, sadece programlama gereken yerlerdeki videolar, Node kullanılan videolarla değiştirilecek.

Eğitimler çok faydalı. Dünyada çok kullanılmasına rağmen, yakın çevremde malesef NoSQL, MongoDB gibi kavramlar hakkında hiçbir bilgisi olmayan, ilişkisel veritabanından başka bir veritabanı teknolojisi bilmeyen yazılımcıların olması üzücü. Ama bilmemek değil, öğrenmemek ayıp demişler. Herkesi öğrenmeye davet ediyorum :)

Internetten Eğitimler

Konu:

Uzaktan eğitim kavramına farklı bir bakış açısı kazandıran internet üzerinden eğitimler MIT'nin derslerini internetten yayınlamasıyla başladı sanırım. Sonrasında farklı atılımlar gerçekleştiren kişiler/uygulamalar oldu. Dünyanın önde gelen üniversiteleri internet üzerinden dersler hazırladı. Bunlardan bildiklerimi burada paylaşacağım. Diğer uygulamalar da farklı şekillerde, farklı konular hakkında dersler veriyor. Böylece öğrenmek istediğiniz konuları ücretsiz olarak öğrenebilirsiniz. Geneli ücretsiz, aralarında ücretli olan dersler çıkabilir.

Genel olarak her türlü konuda, uzun soluklu, video anlatımlı, sınavlı, belirli zamanlı, üniversite dersleri gibi kurslar:

Yine her türlü konuda, sınavlı fakat zamandan bağımsız olanlar:

Programlama konularında "yaparak öğreten" siteler:

Spesifik konulardaki eğitimler:

İncelemediğim siteler;

İnternet üzerinden eğitim demişken Fatih projesi kapsamında hazırlanan Eğitim Bilişim Ağı (eba.gov.tr) video ve ders içeriklerini de unutmamak lazım.
Yeni sitelerden haberdar oldukça eklemeler yapmayı düşünüyorum.

Sayfalar

Subscribe to RSS - database