27 Nisan 2018 Cuma

Veritabanında Anahtarların Farkı


    Bu başlıkta sizlere uzun zamandır (yaklaşık 3 yıl)  taslakta kalan veri tabanında anahtarlardan bahsedeceğim. Hepiniz az çok bir şeyler biliyorsunuzdur ama okumaya devam edin, eminim bilmediğiniz birkaç şey çıkacak, bazılarınız ise akıllarındaki sorulara cevap bulacak.

    Yazıda örnek olması için bir tane tablomuz olsun;

                    Öğrenci ( TCNO, Ad, Soyad, Şehir, Doğum Tarihi, Cep Telefonu Numarası)   

burada virgülle ayrılan her kelime bir sütunu temsil ediyor.

Primary Key (Birincil Anahtar):  Bu anahtar çeşidi, bir tablodaki bir satırı diğerlerinden ayırabilecek güçte olan bir anahtardır.

  • Primary key bir sütun veya birkaç sütundan oluşabilir. (Birkaç sütundan oluşabilmesi için hiçbir sütunun tek başına o satırı(kaydı) diğerlerinden ayıramıyor olması gerekir.)
  • Primary key  hiçbir şüpheye yer bırakmadan o satır için benzersiz (unique) olmalıdır.

 Bu tablodaki her kaydı birbirinden ayırmak için yani ingilizce tabirle "uniquely identify" etmek için bir sütun seçmemiz gerekli.

  1. TCNO primary key olabilir, çünkü her bir kaydın (öğrencinin) TCNOları kesinlikle farklıdır.
  2. Cep telefonu numarası primary key olabilir, çünkü her kaydın ( öğrencinin) cep telefonu numarası kesinlikle farklıdır.
    Bu tabloda diğer sütunlar bir satırı (öğrenciyi) diğerlerinden ayıramaz yani diğer satırlarda da aynı değerler olabilir. Örneğin "Şehir" sütunundan gidersek, birden fazla öğrenci aynı şehirden geliyor olabilir. 

Not: Eğer herbir öğrencinin farklı şehirlerden geldiğine ve geleceğine eminsek o zaman "Şehir" sütununu primary key yapabiliriz çünkü o zaman Zonguldak şehrinden gelen öğrenciyi bulmak istersek bize sadece 1 tane satır (öğrenci) gelecek.

Candidate Key (Aday Anahtar): Candidate key demek primary key olabilecek bir key demektir.
Primary key özelliğini sağlayan sütün veya sütunların oluşturduğu küme candidate key kümesidir.
  • Candidate key bir sütun veya birkaç sütundan oluşabilir. (Birkaç sütundan oluşabilmesi için hiçbir sütunun tek başına o satırı(kaydı) diğerlerinden ayıramıyor olması gerekir.)
  • Candidate key  hiçbir şüpheye yer bırakmadan o satır için benzersiz (unique) olmalıdır.
Yukarıdaki tablodaki  candidate keyler ise şunlardır;
  1. TCNO
  2. Cep Telefonu Numarası
Primary key, candidate keyler arasından seçilmiş bir keydir. Burada istersek TCNO yu primary key yapabiliriz, istersek de cep telefonu numarasını. Seçim bize kalmış.



                               (Küme içindeki her bir yıldız bir primary key i temsil etmekte)

Super Key (Süper Anahtar):  Bu anahtar çeşidi de bir satırı diğer satırdan ayırır. Herbir primary key ve candidate key bir super keydir.

   Gördüğünüz gibi super key kümesi candidate kümesini kapsıyor. Yani her primary key, candidate key birer super keydir.

 Yukarıdaki tablodaki kayıtları ayırmak için primary key kullanmıştık. Tanım olarak primary key en az sütunla kayıtları ayırması gerekir (tercihen bir sütun, eğer bir sütun ayırmaya yetmiyorsa birden fazla sütun kullanabiliriz)  Peki ya birden fazla sütunla da bu kayıtları ayıramaz mıyız?

Örneğin bir satırı TCNO ile ayırabiliyoruz peki TCNO ve Ad sütunlarını da kullanamaz mıyız? Elbette kullanabiliriz, zaten TCNO tek başına yeterken bir de Ad filtresi ekliyoruz. 

Bu şekilde oluşturabileceğimiz kümeler birer super keydir.

Kümenin birkaç elamanı şöyle; { (TCNO), (TCNO,Ad), (TCNO, Soyad),  (TCNO, Şehir), (TCNO, Doğum Tarihi), (TCNO, Cep Telefonu Numarası), (TCNO, Ad, Soyad), (TCNO, Ad, Şehir) .......}

Gördüğünüz gibi bir satırı(öğrenciyi) ayırabilecek tüm kombinasyonlar kümesi super key kümesi oldu.

Kısaca özetlemek gerekirse bir satırı ayırabilen tüm anahtarların birleşimi super key kümesi ve bu kümenin her bir elamanı super keydir.


 Peki, her şey güzel, super key nedir ve super key kümesini nasıl oluşturacağımızı artık biliyoruz. Ya candidate key kümesi? Candidate key kümesini oluştururken içine koyacağımız elemanların gerçekten candidate key olup olmadığını nasıl anlarız?

Çok basit, bunun için candidate key elemanının alt kümesi var mı ve varsa bu küme super key kümesinin içinde var mı buna bakarız. Eğer varsa o bir candidate key değildir.

Umarım yazım size faydalı olmuştur, herhangi bir sorunuz veya yazıda düzeltmemi istediğiniz bir yer varsa çekinmeden yazabilirsiniz.


22 Ocak 2018 Pazartesi

Android Studio File Templates




File templates make our lives much more easier. When we do same thing again and again we usually copy and paste. This causes some pain, so file templates save us from it.

1) Right click on your package which your adapter will go in.



2) Click green plus icon on top of left


3) Give it a name and fill your template. For example my template which is RecyclerViewAdapter is at this gist: gist.github.com/furkanozbay/9d70cce1beed91a11e70e4254988d992



4) Create your adapter with template


5) Give names




  And your adapter is created.



 Thanks for Franks Rebecca to teach us the way. I have added a little bit from myself

30 Eylül 2016 Cuma

Cisco Switchler İçin Arayüz Uygulaması



       Merhabalar, bu yazımda size yaptığım ufak bir programdan bahsedeceğim. Network departmanında çalışmamdan bu yana switchlere uzaktan bağlanıp değişiklik yapmak zaman alıyordu özellikle aynı değişikliği birden fazla cihaza yapmak bayağı zaman alıyordu.  Aslında HP Imc yazılımından toplu komut basılabiliyordu ama arada sıkıntı çıkardığından kendim bir şeyler yazmaya karar verdim ve github'a koydum.

                                                        Github Proje Linki

22 Ağustos 2015 Cumartesi

Tortoise Git

     Bu yazımda size git kullanımını kolaylaştırmak için tasarlanmış Tortoise Git uygulamasından bahsedeceğim.

    Git kullananlar bilir, terminale sürekli komut yazarsınız. Örneğin uzak repositorye kodunuzu yollamanız için commit edip pushlamanız hatta gerekiyorsa başka birkaç komut daha yazmanız gerekir git terminaline. Tortoise git ile artık bunlara gerek kalmıyor. Arayüzü sayesinde bütün git işlemlerini kolaylıkla ve hızla gerçekleştirebiliyoruz.

 Tabii soranlar olacaktır GitHub da arayüzlü bir uygulama yaptı, neden bunu kullanalım?  Tortoise git sağ tık menüsüne yerleşiyor ve istediğiniz klasör için repo oluşturabiliyorsunuz ve en güzeli de proje klasörünüzde değişiklik olduğunda küçük bir ikon yerleşiyor klasöre değişiklik var anlamında. Eğer değişiklik yok her şey senkronize haldeyse yeşil bir tik ikonu yerleşiyor.

Velhasıl Tortoise Git uygulaması çok işlevsel ve bir o kadar da boyutu küçük. Kullanmanızı tavsiye ederim.

8 Mart 2015 Pazar

Ücretsiz Office 365 ve OneDrive 1 TB Depolama Alanı


    Microsoft üniversite öğrencilerine Office 365 ve 1 TB OneDrive depolama alanını ücretsiz veriyor.  Tek yapmanız gereken http://products.office.com/tr-tr/student  adresine tıklayıp üniversite mailinizi yazmak.

   Ne yazık ki bazı üniversite öğrencileri yararlanırken diğerleri yararlanamıyor. Ben Örgün Anadolu Mailimi yazdım ve oldu. Sanırım bir hesapla 5 ayrı cihaza Office 365 kurulumu yapabiliyorsunuz. Bu cömertliğinden dolayı Microsoft'a teşekkür ediyoruz :)

28 Şubat 2015 Cumartesi

Women Techmakers Eskişehir


  7 Mart Cumartesi Osmangazi Üniversitesi'nde Women Techmakers etkinliği yapılacak ve dolu dolu geçeceğe benziyor, katılmanızı tavsiye ediyorum. Etkinlik hakkında resmi bilgiler ise şöyle;

“Women Teachmakers” Eskişehir’de Sizleri Bekliyor
Mart ayında Uluslararası Kadınlar Günü dolayısıyla dünyanın birçok yerinde düzenlenen Women Teachmakers (WTM) etkinliklerinin Eskişehir ayağı 7 Mart’ta Osmangazi Üniversitesi’nde gerçekleşecek.
 Women Techmakers Eskişehir’de kadınlar ve erkekler bir arada, kadınların BT (Bilişim Teknolojileri) ekosistemindeki yerini tartışıp, BT sektöründe karşılaştıkları problemleri ve deneyimleri paylaşıp son gelişmelerinden haberdar olabilecekler.
Oturumlar ile başlayacak olan etkinlik öğle yemeğinin ardından paralel atölyeler ile devam edecek. Program planı ise şu şekilde:
 10:00 - 13:15 / 5 adet oturum ve oturum aralarında sandbox programı bulunmakta.
 14:00 - 16:00 / 3 Adet paralel atölye gerçekleşecek. (aynı saatler içerisinde sadece 1 atölyeye kayıt olabilirsiniz.)
 16:30 - 18:30 / 3 adet paralel oturum daha gerçekleşecek. (aynı saatler içerisinde sadece 1 atölyeye kayıt olabilirsiniz.)
 18:00 - 18:45 / Sandbox & Networking
18:45 - 19:30 / Quiz Night

 Atölyeler sayesinde teknik alanda ilerlemek isteyen katılımcılar ile çalışmalar yapılmış olacak. Teknik konulara ilgi duymayan aynı zamanda teknoloji ile yakından ilgilenen katılımcılar için ise sandbox alanları ve mini atölyeler oluşturuldu.

 Sandox alanında katılımcılar için birçok fırsat mevcut. En güzel CV hazırlayan üç kişiye staj ve iş imkanı sağlanacak.  İlk kez Google marketinin merkezinden yani Dublin’den bir Googler Anadolu şehrindeki bir etkinliğe katılmış olacak ve yakından tanışma şansınız olacak. Google Türkiye ekibinden isimler de bizlerle olacak!
Fuaye alanında da ilgi çekici standlar ile eğlenebileceksiniz! Etkinlikte Maker Panayırı olacak. Robot yapımı üzerine yarışmalara katılan kız öğrencilerin projeleri sergilenecek. Bu da demek oluyor ki birbirinde güzel robotlar size ev sahipliği yapacak! Pankek robotu, 3Drone, 3D reader, quadcopter, Google Glass, Carboard (3 kişi'ye de hediye edilecek), akıllı saatler, Android TV,  Oculus Rift gibi son teknoloji ürünleri etkinlikte sizleri bekliyor olacak. Tüm gün boyunca Pankek robotundan çilek soslu pankek yiyebilirsin :)

Atölyelerden sonra etkinlik katılımcıları ile konuşmacılar, Nestle, Redbull ve kahve ikramlarıyla fuaye alanında bir araya gelecek. Katılımcılar Quiz Night için en az 3 en fazla 5 kişilik takımlarını oluşturacak ve saatler 18:45’i gösterdiğinde Quiz Night başlayacak. Ana salonda  yansıtılan sorulara takımlar halinde cevap vererek Quiz Night yarışmasına katılabilir ve eğlenerek öğrenebilirsniz. Yarışmanın sonunda dereceye giren gruplara ödüller verilecek. Ödüller etkinlik web sitesinden duyrulacak.

Etkinlik ücretsiz olup kadın erkek herkese açıktık.
Etkinliğe Evetbrite üzerinden kayıt olabilirsiniz. Etkinliğe kayıt olduktan hemen sonra sınırlı sayıda katılımcı kabul eden atölyelere katılmak için de kayıt olmayı unutmayın!

Hep birlikte eğlenmeye ve öğrenmeye bekliyoruz! 
GDG Eskisehir ekibi 
DevFest Student

31 Ocak 2015 Cumartesi

Çizgi Tagem Ücretsiz Eğitim Videoları

      Dün Çizgi TAGEM'den mail aldım. Tübitak Ulakbim ile birlikte toplam 1400 Saat ve 16,872 videoluk ücretsiz eğitim hazırlamışlar. İçeriklerin birçoğu yabancı ama Türkçeleştirmişler. Eğitimler öyle eften püften içerikler değil. Stanford Üniversitesi, Harvard Üniversitesi, İstanbul Teknik Üniversitesi, Berkeley Üniversitesi, Genova Üniversitesi, Hamburg Üniversitesi, MIT Massachusetts Institute of Technology Üniversitesi, Microsoft, Adobe, CompTIA, Texas Instruments, STMicroelectronics, Altera gibi önemli kurumlardan alınma içerikler. Ayrıca bu eğitimlerden sonra bilginizi resmileştirmek için sertifika da veriyorlar.
 
İlgili sayfa için; Çizgi TAGEM Eğitim