bugün
- sivilce için deneyimli yazar tavsiyeleri33
- 19 eylül 2026 trabzonspor galatasaray maçı29
- yazarların akşam yemekleri5
- claudian clouds33
- fusya semsiyeli yabanci'nın gerçek kimliği7
- alışkanlığı karakter sanmak2
- arkadaşlar ben olmasam ne yaparsınız6
- allah11
- victor osimhen2
- true'nun engelli olması6
- okan buruk9
- cumartesi gecesi sıkıcılığı2
- gocu'nun tınlamıyorım deyip yan hesaba geçmesi7
- amedspor maçından korkmak3
- sapık başlık açarken sapıklığa uğramak2
- sarapci koala hatayi33
- sözlük kızlarının kekleri24
- remote çalışırken slack te flört etmek2
- meriç dükalığı8
- tai lung8
- true ve g'i l d'e d l'i l y birlikteliği4
- sevgilisi yüzünden engelli kardeşini öldüren kız7
- başkalarının istediği gibi yaşamak2
- evliliğin bir tür mutualizm olduğu gerçeği2
- sevdiğiniz yazarlar8
- islam düşmanı olmak için israil'i desteklemek2
- seni tanıyorum3
- özürlü diyerek hakaret ettiğini sanmak4
- islamda namaz yoktur30
- çok yorgun geçirilen bir günün ardından2
- sözlükte kimin idamına evet dersiniz6
- seri eksicinin iq düzeyi4
- true'nun idrak yolları enfeksiyonu sorunu4
- insan kimse bakmıyorken yaptığı şeydir2
- uğurcan çakır3
- amedspor'un süper ligin lideri olması3
- var ekranı2
- fusya semsiyeli yabanci22
- moral olsun bik bik ime2
- gözünde büyüttüğün insanın çok da şey olmaması4
- gecenin şarkısı17
- okan çık hesap ver4
- kürdistan10
- seri eksiciyi köçek gibi oynatmak3
- icat edilmesi beklenen şeyler2
- galatasaray10
- sözlüğün ölü gibi olması5
- kadir inanır'ın mirası4
- dantelli sütyen takan erkek12
- habire124
Kısaltması DB. Örnek veritabanları; ORACLE, MYSQL, SQL Server, Access, Paradox, vb.
Excel'in kullanıcılar arasında görevi en çok karıştırılan yazılım olduğunu biliyoruz. Şu an birçok şirket çeşitli verilerini Excel ile tutuyor. Küçük veri kümelerinde bir sorun çıkmazken çok büyük veri kümeleri söz konusu olduğunda Excel ya da diğer bir hesap tablosu programı yetersiz kalabilir. Mesela okullarda kullanılan yönetim programlarının verileri Excel'de sakladığını hiç görmedim.
Yüzlerce öğrencinin notları, devamsızlık bilgileri ve kimlik bilgileri gibi verileri saklamak ve farklı zamanlarda farklı işlemler için çağırmak Excel ile oldukça zordur. Üstelik Excel'de her sayfada 65,000 kayıt ile sınırlısınız ama veritabanının sınırları çalıştığınız bilgisayara göre değişir. Örnekleri artırabiliriz ama işin özü şudur: Mutlaka düzenli şekilde saklamak ve çeşitli şekilde tekrar ulaşmak istediğimiz verilerimiz vardır.
Mutlak güvenlik hiçbir zaman mümkün olmasa da veritabanları uygun programlarla beraber kullanılınca etkin yedekleme teknikleri sayesinde çok daha güvenli hale gelirler. Buna ek olarak veritabanı üzerindeki farklı veri kümeleri için farklı kullanıcılara ya da kullanıcı gruplarına yetkiler atayarak istediğiniz kişilerin erişimini kısıtlayabilirsiniz.
Hangi veritabanı?
Microsoft'un Office paketi ile beraber gelen Access yazılımı şu an kullanılan en popüler veritabanı yönetim programıdır. Gerek Office paketine ödediğiniz dışında başka bir para ödeme zorunluluğunuzun olmaması gerekse kolay kullanımı Access'e başarıyı getiren etmenler olmuştur. Birçok küçük ve orta ölçekli işletmeler, web siteleri ve programlar Access ile oluşturulmuş veritabanı yapısı ile çalışmaktadır. iyi yönlerine rağmen Access'in çok büyük ölçekli projelerle başa çıkacak özelliklere sahip olmaması onun bu işlerde tercih edilmemesinin sebebidir. Fakat başlangıç için en iyi seçim Access olacaktır.
Bir diğer çok ileri seviye olmayan veritabanı sistemi de MySql'dir. MySql aslında Microsoft'un Access'ine karşı olarak piyasaya sunulmuştur. Özellikle web tasarımında nasıl Access ile ASP kullanılıyorsa, MySql ile de PHP kullanılarak etkin sonuçlar elde edilebilir. MySql bazı eksilerine rağmen Linux ile beraber ve ücretsiz olarak temin edilebilmesi ile popülerlik kazanmıştır.
Şimdi gelelim "babayiğit" veritabanı yönetim sistemlerine. Tabi ki burada da ilk söze Microsoft başlıyor ve bizi SQL Server yazılımı ile tanıştırıyor. SQL Server en küçükten en büyüğe kadar bütün kurumsal tabanlı isteklere yanıt verebilecek başarılı bir veritabanı yöneticisi. Farklı sürümleri ile farklı bütçelere hitap ediyor. Şu an piyasada en sık rastlanan program olması sanırım Microsoft tabanlı olmasında yatıyor.
SQL Server'dan sonra sahneye hemen Oracle'ı alıyoruz. Oracle güçlü yapısı ile en ileri veritabanı taleplerini bile karşılayabiliyor. Özellikle "Grid Computing" ile yönetim sayesinde veritabanının yükü farklı sunucu bilgisayarlarına yayılabiliyor.
Peki, bunların hangisi en iyi? Bu soruya kimse yanıt veremez. Hepsinin farklı kullanım alanları var ve hepsi alanlarında çok iyi. Benim önerim Access ile başlamanız. Böylece hem bütçeniz bir veritabanı yüzünden sarsılmaz hem de işlerinizi Access ile halledebilirsiniz.
Veritabanı Yapısı
Veritabanı aslında tek başına bir şey ifade etmez. Veritabanı, içerisindeki parçalar sayesinde işe yarar bir kavramı oluşturur. Bu kavramların en başında da "tablo" gelir. Access ile Excel'in karıştırılmasının yegane sebebi de zaten budur. Her iki program da tablolarla uğraşır.
Tabloların içerisinde ise alanlar bulunur. Excel'deki sütunları veritabanının alanlarına benzetebiliriz. Alanlar tek tip veriyi kaydetmek için kullanılır. Alanlar bir veritabanında verileri süzmek için en etkili araçlardır. Mesela kişilerin kimlik bilgilerinin tutulduğu bir tabloyu açtığımızda herhangi bir kişinin doğum tarihini öğrenmek için ilgili alana bakmamız yeterlidir. Böylece alanlar farklı veri tiplerinin karışmasını da engeller.
Gelelim Tasarıma
Buraya kadar biraz işin masal kısmını anlattık. Şimdi en çok soru gelen bölüme, etkin veritabanı tasarımına geçebiliriz. Veritabanı tasarımında da sizi başarıya götürecek altın kurallar var.
Normalleştirme: Veritabanı dilinde "normalization" olarak geçen kavram Türkçe için normalleştirme olarak çevrilebilir. Normalleştirmede temel amaç veritabanı ruhuna uygun tablolar tasarlamaktır. isterseniz daha detaylı anlatayım.
Çok çok basit bir örnek vereyim. Diyelim ki çalıştığınız yazılım şirketi bir ajanda programı geliştiriyor ve sizden kişi bilgilerini tutmak için bir veritabanı tasarlamanız istendi. Öncelikle sadece kendi işinize odaklanın. Verilerin veritabanından nasıl çekileceğini hiç düşünmeyin çünkü o programcıların işi. Siz sadece verilen saklanabileceği bir veritabanı oluşturacaksınız.
Oluşturmanız istenen veritabanında kişiler için adı, soyadı, doğum tarihi ve e-posta adresleri saklanacak olsun. Burada önemli yapılacakları sayarken hangi verileri çoğul eki kullanarak saydığınızdır. Dikkat ettiyseniz ben yukarıda adı, soyadı, doğum tarihi ve e-posta "adresleri" dedim. Kişinin adı, soyadı ve doğum tarihi tek olabilir ama e-posta adresi de tek olacak diye bir kural yok. Bu durumda ne yapacağız? Kişi tablosuna posta1, posta2, posta3 diye alanlar eklemek sadece geçici bir çözüm olur. Belki ileride 10 e-posta adresine sahip bir kişi eklemeniz gerekecek.
Burada normalleştirmenin ilk adımını atmalısınız. Tekrarlanabilecek veriler için ayrı bir tablo oluşturmak. Veritabanınıza KiSi_POSTA isimli yeni bir tablo koymalı ve kişilerin ID numaralarını buradaki posta adresleri ile ilişkilendirmelisiniz. Şimdi de iki yeni kavramla karşılaştık. ID ve ilişkilendirme.
Benzersiz Tanımlama: Veritabanı normalleştirme sürecinde en önemli duraklardan biri de "unique identification" yani benzersiz tanımlamadır. Bunu da bir örnekle açıklayayım.
Az önce bahsettiğim gibi bir veritabanınız var. Bu veritabanındaki Cankat Akdemir kişisinin doğum tarihini yanlış girdiğinizi fark ettiniz ve değiştirmeniz gerekti. Ama bir baktınız ki iki tane Cankat Akdemir var. Olamaz mı? Tabi sadece eş dost kaydettiğiniz bir veritabanı oluşturduysanız aradığınız kişiyi hemen bulabilirsiniz ama eğer ülkesel bazda çalışan bir kurumun adres defterini tutuyorsanız kimin kim olduğunu kestirmek zor olur.
Bu durumda herkese işin en başındayken benzersiz bir numara vermek çok iyi olur. Mesela T.C Kimlik Numarası aynı sebepten doğmuştur. Herkes kendini tek bir numara ile gösterebilmektedir.
Veri ilişkilendirme: Veri ilişkilendirme (data relation) de bir veritabanının normalleştirilmesi sürecinde atılan önemli bir adımdır.
Okul örneğine dönersek, bir sınıftaki öğrencileri başka bir sınıfa gönderdiğinizi varsayalım. Bilgisayar başına geçip sınıftaki tüm öğrencilerin kayıtlarını tek tek değiştirmek işkence olur. Bunun yerine SINIF_ODA isimli bir tablo yaratmalı ve hangi sınıfın hangi odada bulunduğunu buraya işlemelisiniz. Öğrenciler zaten oda olarak değil sınıf olarak kayıtlı olduğundan SINIF_ODA tablosunda istediğiniz sınıfın oda numarasını değiştirince öğrenciler de o odada görünürler.
Veri tabanı tasarlamak çok kolay olmasa da çok da zor değildir. Esas olan veritabanı tasarımınızı yıllar sonra çalışacak şekilde tasarlamaktır.
Bilgisayar programcılığı ve veritabanı tasarımcılığında işe asla bilgisayar ile başlanmaz. işin yüzde 60'ı kâğıt üzerinde halledilir. Özellikle veritabanı tasarlarken "X için Y" formülü normalleştirme kısmını kolaylaştırır. Mesela yukarı söz ettiğim, kişi listesi veritabanı için şöyle bir "X için Y" formülü uygulayabilirsiniz:
*Kişi için Ad
*Kişi için Soyad
*Kişi için Doğum Tarihi
*E-Posta için Kişi
Yapacağınız bu listede "için" sözcüğünden önceki sözcük değişince yeni tablo yaratacaksınız demektir. Bir diğer deyişle "için" sözcüğünden önceki kısım çok veri içerebilir fakat sonrası tektir. "E-Posta için Kişi" örneğine baktığımızda görüyoruz ki birden çok e-posta adresi olabilir ama bunlar tek kişiye aittir. Bunlara ek olarak aynı isimli kişiler de olabilir bunları ayırt etmek için benzersiz tanımlama kullanıyoruz.
Ben temel veritabanı kavramlarını en basit şekilde anlatmaya çalıştım. işler aslında bu kadar da kolay değil. ilişkisel veritabanında bir-çok, çok-çok gibi ilişkilendirmeler sağdan ve soldan eklemeli tablolar derken insanın kafası karışıyor. Düşünüyorum da, kendi yarattığımız şeyleri öğrenmek için ne kadar çok uğraşıyoruz.
Yüzlerce öğrencinin notları, devamsızlık bilgileri ve kimlik bilgileri gibi verileri saklamak ve farklı zamanlarda farklı işlemler için çağırmak Excel ile oldukça zordur. Üstelik Excel'de her sayfada 65,000 kayıt ile sınırlısınız ama veritabanının sınırları çalıştığınız bilgisayara göre değişir. Örnekleri artırabiliriz ama işin özü şudur: Mutlaka düzenli şekilde saklamak ve çeşitli şekilde tekrar ulaşmak istediğimiz verilerimiz vardır.
Mutlak güvenlik hiçbir zaman mümkün olmasa da veritabanları uygun programlarla beraber kullanılınca etkin yedekleme teknikleri sayesinde çok daha güvenli hale gelirler. Buna ek olarak veritabanı üzerindeki farklı veri kümeleri için farklı kullanıcılara ya da kullanıcı gruplarına yetkiler atayarak istediğiniz kişilerin erişimini kısıtlayabilirsiniz.
Hangi veritabanı?
Microsoft'un Office paketi ile beraber gelen Access yazılımı şu an kullanılan en popüler veritabanı yönetim programıdır. Gerek Office paketine ödediğiniz dışında başka bir para ödeme zorunluluğunuzun olmaması gerekse kolay kullanımı Access'e başarıyı getiren etmenler olmuştur. Birçok küçük ve orta ölçekli işletmeler, web siteleri ve programlar Access ile oluşturulmuş veritabanı yapısı ile çalışmaktadır. iyi yönlerine rağmen Access'in çok büyük ölçekli projelerle başa çıkacak özelliklere sahip olmaması onun bu işlerde tercih edilmemesinin sebebidir. Fakat başlangıç için en iyi seçim Access olacaktır.
Bir diğer çok ileri seviye olmayan veritabanı sistemi de MySql'dir. MySql aslında Microsoft'un Access'ine karşı olarak piyasaya sunulmuştur. Özellikle web tasarımında nasıl Access ile ASP kullanılıyorsa, MySql ile de PHP kullanılarak etkin sonuçlar elde edilebilir. MySql bazı eksilerine rağmen Linux ile beraber ve ücretsiz olarak temin edilebilmesi ile popülerlik kazanmıştır.
Şimdi gelelim "babayiğit" veritabanı yönetim sistemlerine. Tabi ki burada da ilk söze Microsoft başlıyor ve bizi SQL Server yazılımı ile tanıştırıyor. SQL Server en küçükten en büyüğe kadar bütün kurumsal tabanlı isteklere yanıt verebilecek başarılı bir veritabanı yöneticisi. Farklı sürümleri ile farklı bütçelere hitap ediyor. Şu an piyasada en sık rastlanan program olması sanırım Microsoft tabanlı olmasında yatıyor.
SQL Server'dan sonra sahneye hemen Oracle'ı alıyoruz. Oracle güçlü yapısı ile en ileri veritabanı taleplerini bile karşılayabiliyor. Özellikle "Grid Computing" ile yönetim sayesinde veritabanının yükü farklı sunucu bilgisayarlarına yayılabiliyor.
Peki, bunların hangisi en iyi? Bu soruya kimse yanıt veremez. Hepsinin farklı kullanım alanları var ve hepsi alanlarında çok iyi. Benim önerim Access ile başlamanız. Böylece hem bütçeniz bir veritabanı yüzünden sarsılmaz hem de işlerinizi Access ile halledebilirsiniz.
Veritabanı Yapısı
Veritabanı aslında tek başına bir şey ifade etmez. Veritabanı, içerisindeki parçalar sayesinde işe yarar bir kavramı oluşturur. Bu kavramların en başında da "tablo" gelir. Access ile Excel'in karıştırılmasının yegane sebebi de zaten budur. Her iki program da tablolarla uğraşır.
Tabloların içerisinde ise alanlar bulunur. Excel'deki sütunları veritabanının alanlarına benzetebiliriz. Alanlar tek tip veriyi kaydetmek için kullanılır. Alanlar bir veritabanında verileri süzmek için en etkili araçlardır. Mesela kişilerin kimlik bilgilerinin tutulduğu bir tabloyu açtığımızda herhangi bir kişinin doğum tarihini öğrenmek için ilgili alana bakmamız yeterlidir. Böylece alanlar farklı veri tiplerinin karışmasını da engeller.
Gelelim Tasarıma
Buraya kadar biraz işin masal kısmını anlattık. Şimdi en çok soru gelen bölüme, etkin veritabanı tasarımına geçebiliriz. Veritabanı tasarımında da sizi başarıya götürecek altın kurallar var.
Normalleştirme: Veritabanı dilinde "normalization" olarak geçen kavram Türkçe için normalleştirme olarak çevrilebilir. Normalleştirmede temel amaç veritabanı ruhuna uygun tablolar tasarlamaktır. isterseniz daha detaylı anlatayım.
Çok çok basit bir örnek vereyim. Diyelim ki çalıştığınız yazılım şirketi bir ajanda programı geliştiriyor ve sizden kişi bilgilerini tutmak için bir veritabanı tasarlamanız istendi. Öncelikle sadece kendi işinize odaklanın. Verilerin veritabanından nasıl çekileceğini hiç düşünmeyin çünkü o programcıların işi. Siz sadece verilen saklanabileceği bir veritabanı oluşturacaksınız.
Oluşturmanız istenen veritabanında kişiler için adı, soyadı, doğum tarihi ve e-posta adresleri saklanacak olsun. Burada önemli yapılacakları sayarken hangi verileri çoğul eki kullanarak saydığınızdır. Dikkat ettiyseniz ben yukarıda adı, soyadı, doğum tarihi ve e-posta "adresleri" dedim. Kişinin adı, soyadı ve doğum tarihi tek olabilir ama e-posta adresi de tek olacak diye bir kural yok. Bu durumda ne yapacağız? Kişi tablosuna posta1, posta2, posta3 diye alanlar eklemek sadece geçici bir çözüm olur. Belki ileride 10 e-posta adresine sahip bir kişi eklemeniz gerekecek.
Burada normalleştirmenin ilk adımını atmalısınız. Tekrarlanabilecek veriler için ayrı bir tablo oluşturmak. Veritabanınıza KiSi_POSTA isimli yeni bir tablo koymalı ve kişilerin ID numaralarını buradaki posta adresleri ile ilişkilendirmelisiniz. Şimdi de iki yeni kavramla karşılaştık. ID ve ilişkilendirme.
Benzersiz Tanımlama: Veritabanı normalleştirme sürecinde en önemli duraklardan biri de "unique identification" yani benzersiz tanımlamadır. Bunu da bir örnekle açıklayayım.
Az önce bahsettiğim gibi bir veritabanınız var. Bu veritabanındaki Cankat Akdemir kişisinin doğum tarihini yanlış girdiğinizi fark ettiniz ve değiştirmeniz gerekti. Ama bir baktınız ki iki tane Cankat Akdemir var. Olamaz mı? Tabi sadece eş dost kaydettiğiniz bir veritabanı oluşturduysanız aradığınız kişiyi hemen bulabilirsiniz ama eğer ülkesel bazda çalışan bir kurumun adres defterini tutuyorsanız kimin kim olduğunu kestirmek zor olur.
Bu durumda herkese işin en başındayken benzersiz bir numara vermek çok iyi olur. Mesela T.C Kimlik Numarası aynı sebepten doğmuştur. Herkes kendini tek bir numara ile gösterebilmektedir.
Veri ilişkilendirme: Veri ilişkilendirme (data relation) de bir veritabanının normalleştirilmesi sürecinde atılan önemli bir adımdır.
Okul örneğine dönersek, bir sınıftaki öğrencileri başka bir sınıfa gönderdiğinizi varsayalım. Bilgisayar başına geçip sınıftaki tüm öğrencilerin kayıtlarını tek tek değiştirmek işkence olur. Bunun yerine SINIF_ODA isimli bir tablo yaratmalı ve hangi sınıfın hangi odada bulunduğunu buraya işlemelisiniz. Öğrenciler zaten oda olarak değil sınıf olarak kayıtlı olduğundan SINIF_ODA tablosunda istediğiniz sınıfın oda numarasını değiştirince öğrenciler de o odada görünürler.
Veri tabanı tasarlamak çok kolay olmasa da çok da zor değildir. Esas olan veritabanı tasarımınızı yıllar sonra çalışacak şekilde tasarlamaktır.
Bilgisayar programcılığı ve veritabanı tasarımcılığında işe asla bilgisayar ile başlanmaz. işin yüzde 60'ı kâğıt üzerinde halledilir. Özellikle veritabanı tasarlarken "X için Y" formülü normalleştirme kısmını kolaylaştırır. Mesela yukarı söz ettiğim, kişi listesi veritabanı için şöyle bir "X için Y" formülü uygulayabilirsiniz:
*Kişi için Ad
*Kişi için Soyad
*Kişi için Doğum Tarihi
*E-Posta için Kişi
Yapacağınız bu listede "için" sözcüğünden önceki sözcük değişince yeni tablo yaratacaksınız demektir. Bir diğer deyişle "için" sözcüğünden önceki kısım çok veri içerebilir fakat sonrası tektir. "E-Posta için Kişi" örneğine baktığımızda görüyoruz ki birden çok e-posta adresi olabilir ama bunlar tek kişiye aittir. Bunlara ek olarak aynı isimli kişiler de olabilir bunları ayırt etmek için benzersiz tanımlama kullanıyoruz.
Ben temel veritabanı kavramlarını en basit şekilde anlatmaya çalıştım. işler aslında bu kadar da kolay değil. ilişkisel veritabanında bir-çok, çok-çok gibi ilişkilendirmeler sağdan ve soldan eklemeli tablolar derken insanın kafası karışıyor. Düşünüyorum da, kendi yarattığımız şeyleri öğrenmek için ne kadar çok uğraşıyoruz.
Gündemdeki Haberler
Güncel Önemli Başlıklar