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.
TCNO primary key olabilir, çünkü her bir kaydın (öğrencinin) TCNOları kesinlikle farklıdır.
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;
TCNO
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.
Daha fazla okuyun
22 Ocak 2018 Pazartesi
Android Studio File Templates
02:31 android studio file templates, file templates example, file templates nedir, what is android studio file templates Yorum yok
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
Daha fazla okuyun
30 Eylül 2016 Cuma
Cisco Switchler İçin Arayüz Uygulaması
16:20 Yorum yok
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
Daha fazla okuyun
22 Ağustos 2015 Cumartesi
Tortoise Git
06:36 git, github, tortoise git, vcs Yorum yok
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.
Daha fazla okuyun
8 Mart 2015 Pazar
Ücretsiz Office 365 ve OneDrive 1 TB Depolama Alanı
01:43 office 365, onedrive, ücretsiz Yorum yok
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 :)
Daha fazla okuyun
28 Şubat 2015 Cumartesi
Women Techmakers Eskişehir
02:37 eskişehir, gdg, techmakers, women Yorum yok
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
Daha fazla okuyun
31 Ocak 2015 Cumartesi
Çizgi Tagem Ücretsiz Eğitim Videoları
13:27 çizgi tagem, görsel eğitim, tübitak 2 Yorum
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
Daha fazla okuyun
Sosyal Ağlar
Popüler
Etiketler
Blog Arşivi
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 şe...
Multitasking ve Multithreading
Baktım da bu konu hakkında açıklayıcı ve anlaşılabilir yazı bulmak pek de kolay değil. Önceki bilgilerimi de katarak ufak bi...
(Yenilendi) Pencereye(JFrame) Resim Ekleme
Bu yazıda JFrame içine nasıl resim/fotoğraf ekleriz onu göstereceğim. Görüldüğü gibi çok basit. Sadece ImageIcon ve paint...
Wireshark İle Ağ Dinleme
Bilgi departmanlarında çalışanlar için sniffer programları vazgeçilmezdir, her daim ellerinin altında bulunurlar. Bu yazımda da uzun zam...
Tortoise Git
Bu yazımda size git kullanımını kolaylaştırmak için tasarlanmış Tortoise Git uygulamasından bahsedeceğim. Git kullananlar bili...
Java'da Reflection Kütüphanesi
Genelde Java'da çalışma zamanında test yapmak için kullanılan Reflection(yansıma) kütüphanesini kullanarak yapabileceğimiz...
İlişkisel Veri Tabanı Yönetim Sistemi(RDBMS)
Öncelikle veri tabanı yönetim sistemi nedir onu açıklayalım. Veri Tabanı Yönetim Sistemi (VTYS) , veri tabanlarının kurulmasında,...
Big O Notasyonu
Kısaca sınav öncesi bir tekrar adına yazayım dedim. Şimdi şöyle bir metodumuzun olduğunu düşünelim; public void denem...
Kriptoloji Nedir?
Blogda her zaman ödev paylaşıyorum fakat artık biraz araştırma ve bilgi verme vakti geldi :) Bu yazımda kriptolojiden ve çeşit...
Ç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. ...
Tag
java jframe resim 4.ödev Türkçe kelime actionlistener android android studio file templates ağ ağ dinleme binary search tree bst ceng anadolu ceng anadolu java dosya dosya işlem driver genius ekle eskişehir evaluator events expression f.lux file templates example file templates nedir flux gdg git github gömme görsel eğitim göz sağlığı hazır görsel ilişkisel infix to postfix içerik java beans java bst java collections java jframe java kelime java reflection javada dosya kelime kontrol kriptoloji low level mouselistener multitasking multithreading nesneye new windows office 365 onedrive oop programlama rdbms rsa rsa algoritması rsa şifreleme semantic sniffing stock pictures techmakers tortoise git try catch try catch yapısı java tübitak vcs veri tabanı vs what is android studio file templates windows 10 wireshark wireshark kullanımı wireshark nedir women yeni activity yönelik çizgi tagem ücretsiz