Normalizasyon

İlişkisel veritabanının temel amacı nasıl veri tekrarını önlemek ve esneklik kazandırmaksa, normalizasyon da tablolardaki tekrarları önlemek ve onlara esneklik kazandırmak için oluşturulmuş kurallar bütünüdür. Genellikle 1NF(1. Normal Form),2NF(2. Normal Form) ve 3NF(3. Normal Form) olmak üzere üç normalizasyon kuralı kullanılmaktadır. Aslında daha fazladır fakat bizim kullanacağımız bu kadar olacaktır.

Kendi çalışmamızdan örnek verelim. Aşağıda cari hesap tablosunu görüyoruz.

Okumaya devam et “Normalizasyon”

Veritabanı Tasarımında İlişki Çeşitleri

İlişkisel veritabanı neredeyse tüm veritabanlarında kullanıldığı için tasarımı ve normalizasyonu önemli bir konu. İyi bir ilişkisel veritabanı tasarımı yapmanın bir çok avantajı vardır. Tasarlanan ilişkisel veritabanın kalitesine paralel olarak kısaca sıralanacak avantajlar şunlardır :

  • Tekrarlanan verilerin azaltılması.
  • Veritabanı hakimiyetini yükseltmek.
  • İş yükünü azaltmak ve esneklik sağlamak.

İlişkisel veritabanlarında olabilecek üç çeşit ilişki vardır. Bunlar:

  • Bire Bir
  • Birden Çoğa
  • Çoktan Çoğa

şeklindedir.

Okumaya devam et “Veritabanı Tasarımında İlişki Çeşitleri”

DDL,DML ve DCL Komutları

DDL

Data Definition Language (DDL) ifadeleri veritabanındaki yapı tanımlamaları için kullanılır. Örnek olarak:

  • CREATE – Veritabanında nesne,tablo oluşturur
  • ALTER – Veritabanındaki tablolar üzerinde değişiklik yapılmasını sağlar. Örneğin nitelik eklemek, çıkarmak ve değiştirmek bu komut ile yapılır.
  • DROP-Tabloların/nesnelerin silinmesini sağlar.
  • TRUNCATE – Tablolardaki tüm kayıtları boşaltır.
  • COMMENT – Data dictionary’e yorum ekler.
  • RENAME – Nesne veya tablonun yeniden isimlendirilmesini sağlar.

Okumaya devam et “DDL,DML ve DCL Komutları”

İspanya’da Bıraktığım İzler…

Geçtiğimiz sene üniversitenin Erasmus programıyla, İspanya’ya stajımı yapmak için gitmiştim. Bu staj hakkında yazı yazamadım. Çünkü oralarla ilgili yazabileceğim çok yazı vardı. Toplu şekilde yazmak istediğim için hiç yazmadım. Fakat bir yerden başlamazsam yazma işi çok gecikeceği için en azından bir iz olarak bıraktığım logo tasarımını nasıl  yaptığımı anlatmak istiyorum. Neredeyse üzerinden bir yıl geçti ve o iz hala silinmedi.

Yeri gelmişken iş yerinden ve özelliklerinden biraz bahsetmek fena olmaz. Grupo Esfer firmasının borsa kısmı, Valencia’da Fransa caddesindeki gökdelenin 7 numaralı ofisindeydi. Mutfağı, tuvaleti hatta banyosu olan küçük bir ofis diyebiliriz. En güzel tarafı çalışma masalarının Valencia’nın Oceanografic Şehrine ve Bilim Müzesine bakmasıydı. Bunun dışında çalışma ortamı da insanı sıkmayacak şekilde dizayn edilmişti.

Biz ofise gittiğimizde çalışan olarak genellikle müdürler ve iki sekreter orada bulunuyordu. Stajyer olarak benim haricimde üç İtalyan ve bir Türk arkadaşım vardı. İtalyan grup excel üzerinde hesaplamalar yapıyorlardı. Biz iki Türk ise bilgisayarla ilgili verilen görevlere bakıyorduk. Diğer stajyerlerin bilgisayar ile ilgili bir problemleri olduğu zaman bize geliyorlardı.  Jose R. Alfanso bana görev veren ve orada müdür konumunda olan kişiydi. Patrondan çok arkadaş gibi davranıyordu ve yapılan işi takdir etmesini çok iyi biliyordu. Bu yüzden onunla hiç zorlanmadan çalıştık.

[nggallery id=4]

Okumaya devam et “İspanya’da Bıraktığım İzler…”

Raspberry Pi Sonunda Geldi!

Not: Bu yazının görselleri kaybolmuştur. Hatıra maksatlı olarak burada bulunmaktadır.

Raspberry Pi, her insanın fazla para ödemeden programlanabilir bir bilgisayara sahip olmasını, isteyen ve bu yolda çalışan bir organizasyondur. Özellikle çocukların kendi bilgisayarına sahip olmaları ve onun üzerinde programlama öğrenmelerini amaç edinmiştir. Organizasyon bu amacını gerçekleştirmek için biri 25, diğeri 35 dolardan satışa sunulan iki bilgisayar üretti. Ama forumlardan, internet ortamından gördüğüm kadarıyla çocuklardan çok büyüklerin ilgisi büyük. Raspberry Pi üzerinde Etherneti, USB portu, GPIO portuyla hazır olarak geldiği için hobicilerin, öğrencilerin, araştırmacıların dikkatini çekmeyi daha çok başarmış gibi görünüyor. Benim de daha çok GPIO portu dikkatimi çekti. Aklımda hep bir Arduino almak vardı. Daha çok ufak projeler için kullanmak istiyordum. Uzun süredir de araştırıyordum. Raspberry Pi’nin üzerine yerleştirilmiş olan genel amaçlı giriş çıkış portunu kullanarak bir çok proje yapılabildiğini görünce siparişi verdim ve sonunda geldi.

Okumaya devam et “Raspberry Pi Sonunda Geldi!”

Logisim

Logisim devre elemanlarını çizmeye ve simüle etmeye yarayan, Mantık Devreleri, Bilgisayar Mimarisi gibi derslerde kullandığımız açık kaynaklı bir programdır. Buna alternatif ücretli programlar vardır. Onlarla tam devre çizim ve simülasyonu yapılabiliyor. Fakat Elektrik-Elektronik öğrencisi değilseniz, işin mantığını öğrenmek istiyorsanız Logisim size yetecektir.

Örneğin bir bitlik bir hafıza hücresini aşağıdaki gibi çizdiğimizde nasıl çalıştığını Logisim sayesinde daha iyi anlayabiliriz. Burada Read/Write anahtarı “0” olduğunda girişteki değer D flip-flopuna yazılır, “1” olduğunda ise okuma işlemi gerçekleşir.

Okumaya devam et “Logisim”

Jflap Türkçe Kaynak

Otomata Teorisi dersinde Jflap üzerinde pratik yapmamız gerekiyordu. Fakat programın nasıl kullanılacağıyla ilgili Türkçe kaynak sıkıntısı vardı. Hocamız odev olarak Jflap kullanım klavuzu yapmamızı istedi. Ben de birebir çeviri yerine her konu başlığı altında ne anlatılmak istenmişse teker teker deneyip, çeviriden çok da ayrılmadan toplam 255 sayfalık bir klavuz hazırladım.

Klavuz sadece Jflap değil aslında, Otomata Teoriyle ilgili aşağı yukarı tüm konuları kapsıyor. Otomata ile ilgili örnekleri bir program üzerinde denemenin daha öğretici olduğunu düşünüyorum. Bu yüzden Otomata çalışırken klavuzdan faydalanmanız çok büyük yarar sağlayacaktır. Bu çalışma için sadece “Jflap Kullanım Klavuzu” değil, esasında “Jflap ile Otomata Teorisi” demek daha doğru olur. Jflap CC lisanslı bir program olduğu için hiçbir ücret ödemeden bu programı kullanabilirsiniz. Otomata Teori, konularını anlamanızda büyük yardımı olacaktır.

Okumaya devam et “Jflap Türkçe Kaynak”

Jflap’ta Silme ve Multiple Run

Durumları ve Geçişleri Silmek

Silme işlemi alışa geldiğimiz programlardan biraz farklıdır. Araç çubuğundan silme aracı   seçilir. Silinmek istenen durum ya da geçişin üzerine çift tıklama yapılmasıyla birlikte silme işlemi gerçekleşir.

Çoklu Dizgeleri Sonlu Durum Otomatında Denemek

Program elimizdeki dizgeleri FA üzerinde denememize de izin veriyor. Bunun için “Input” menüsü altından Multiple Run seçeneğini seçiyoruz.

 

Çoklu Çizge Sekmesini Açmak

Okumaya devam et “Jflap’ta Silme ve Multiple Run”

Jflap’ta Başlangıç ve Son Durumları Tanımlamak, Geçişleri Oluşturmak

Not: Bu yazı miras yazı olarak burada bulunmaktadır. https://drive.google.com/open?id=0BwvPLd0pnaCvZ1VETm1qMHBkTVU adresinden JFLAP Türkçe klavuzunu indirebilirsiniz. Zaten orada bu bilgiler mevcuttur.

Keyfi olarak q0 bizim başlangıç durumumuz olsun. Bu durumumuzu tanımlamak için önce araç çubuğundan özellik düzenleme aracını  seçiyoruz. Daha sonra oluşturduğumuz q0 ‘ın üzerine gelip sağ tıklıyoruz. Sonuçta aşağıdaki gibi bir görüntü ortaya çıkacaktır.

Durum Menüsü

Açılan pop-up menüden initial’i seçtiğimizde q0 başlangıç durumu olacaktır. Sol tarafında ok işareti belirecektir.

Okumaya devam et “Jflap’ta Başlangıç ve Son Durumları Tanımlamak, Geçişleri Oluşturmak”

Linux Yaz Kampı ’12

Linux Yaz Kampı için başvurular başladığında sınavlarımız vardı. Bütünlemeye kalıp kalmayacağımız belli değildi. Eğer bir kaç dersten bütünlemeye kalırsak ya Bolu’dan gidip gelmek zorunda kalacaktık, ya yarıda bırakıp LKD’nin kara listesine adımızı yazdıracaktık, ya da hiç katılmayacaktık. Bizim için gerçekten riskli bir karardı. Özellikle beni bu kampta cezbeden, sonunda bir yazılım üretip bunu da GPL lisansıyla yayınlama vaadiydi. Sadece teorik bir eğitim olsa ve sonunda da katılım sertifikası verilen bir kamp olsaydı, bütünlemeye kalma riski varken muhtemelen katılmazdım.

Okumaya devam et “Linux Yaz Kampı ’12”