Kadir's profileKadir CamogluBlogLists Tools Help

Blog


    SQL'de Doğru Veri Tipini Seçmek

    Bazen bazı bilgileri saklarken metinsel veri tipi mi yoksa sayısal veri tipi mi kullansak daha iyi olur diye tereddütte kaldığınız olabilir. Örneğin T.C. Vatandaşlık numarası tamamen rakamlardan oluşmuştur ve sabit uzunluktadır.  11 rakamdan oluşan vatandaşlık numaralarını char(11) veri tipiyle tanımlanan bir alanda tutmak mümkündür.

    Aslında temel olarak matematiksel işlemlerde ve sayısal karşılaştırmalarda kullanmayacağımız bilgileri sayısal veri tipleriyle kayıt etmemize gerek yoktur.  Ancak diğer taraftan her bir kayıtta vatandaşlık numarası için 11 baytlık yer tutacak olan bu veri tipi yerine daha az yer tutacak bir alternatif bulmak, bazen çok büyük sayılarda kayıt içeren veri tabanları için gerekli olabilir.

    Örneğin vatandaşlık numarası için 11 basamaklı tam sayı değerleri depolayabilen bigint veri tipini kullanabilirsek, sırf bu alanda kayıt başına 3 bayt kazanmış oluruz. Bu da yaklaşık 70 milyon mevcut nüfusu olan Türkiye’de , kabaca 30 milyon civarında da eski kayıtlar olduğunu varsayarsak, 100 milyon kayıtta 300 milyon bayt, yani 300 MegaBayt alan demektir.

    İyi düşünmek lazım!

    SQL IDENTITY FONKSİYONU

    IDENTITY()

    Fonksiyonun, tablo oluşturulurken alanlarda kullanılan IDENTITIY ile benzer bir işlevi vardır. SELECT ... INTO deyimlerinde kullanılır ve içine veri girilerek oluşturulacak olan yeni tabloya bir Identity alanı oluşturarak bu eklenen alana sıralı değerlerin otomatik olarak eklenmesini sağlar.

    SELECT      IDENTITY(int,1,1) ID

                ,FirstName AD

                ,LastName  SOYAD

          INTO #Kisiler

          FROM Person.Contact

    GO

     

    SELECT TOP 5 * FROM #Kisiler

     

     

    (19972 row(s) affected)

     

    ID          AD                                                 SOYAD

    ----------- ------------------------------ ---------------------

    1           Gustavo                        Achong

    2           Catherine                      Abel

    3           Kim                            Abercrombie

    4           Humberto                       Acevedo

    5           Pilar                          Ackerman

     

    (5 row(s) affected)

    T.C. Kimlik No - Kimlik Paylaşım Sistemi

     T.C. İçişleri Bakanlığı Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü tarafından bir kaç yıldır hizmete sunulan Xml Web Servisleri artık ücretli.
     

    Gigabyte - Terabyte - Petabyte

    Kilobyte, Megabyte, Gigabyte derken, artık ev kullanıcıları bile 100'lü Gigabyte'larda sabit disk kullanır oldular. Kurumsal firmalarda ise Gigabyte'ın bin katı büyüklükte olan Terabyte'lardan zaten bir süredir bahsediliyor.
    Merak edenler için Kilobyte'tan başlayarak adı konulmuş en büyük depolama alanına kadar olan büyüklük birimleri şöyle.
     

    KiloByte

    KB

    1024 Byte

    210

    MegaByte

    MB

    1024 KiloByte

    220

    GigaByte

    GB

    1024 MegaByte

    230

    TeraByte

    TB

    1024 GigaByte

    240

    PetaByte

    PB

    1024 TeraByte

    250

    ExaByte

    EB

    1024 PetaByte

    260

    ZettaByte

    ZB

    1024 ExaByte

    270

    YottaByte

    YB

    1024 ZettaByte

    280

    Regular Expression - Kurallı İfadeler

    Türkçe'ye "Kurallı İfadeler" olarak çevirebileceğimiz "Regular Expression", bir karakter dizisi içerisinde, belirli bir kalıba/kurala uyan bölümleri bulmak için kullanılır. Karakter, pozisyon, tekrarlama vb uyuşmaları zengin bir altyapı sayesinde kolayca bulmamızı, bulunan metni almamızı ya da değiştirmemizi sağlar.
    En yaygın kullanımı, kullanıcı girişlerinin kontrolüdür. Kullanıcının e-mail girmesini istediğimiz bir alana metin@metin.xxx formatında girmesini denetlemek sizin de tahmin edeceğiniz gibi temel string işlemleriyle neredeyse imkansızdır.
    Konuyla ilgili benim söyleyeceklerim şimdilik bu kadar. Regular Expression başlı başlına ciddi bir başlıktır ve bunun için ayrıca kitaplar yazılmıştır. Asıl paylaşmak istediğim şeyse, eğer Regular Expression ile ilgileniyorsanız, kolaylıkla kendi kalıplarınızı oluşturabileceğiniz, hazır kalıplarla hızlıca yol alabileceğiniz ve hatta Regular Expression'ı öğrenmenizi sağlayacak ücretsiz bir uygulama.
     
     
    Teşekkürler Roy Osherove.

    Tün Veritabanları İçin Connection String'ler

    Veritabanı üzerine bir uygulama yazıyorsanız, öncelile veritabanına bağlanmanız gerekir. Bunun için de connection string'e ihtiyacınız olur. Eğer bağlanacağınız veritabanı Access ya da Sql Server ise işiniz kolay. Ama ya ulaşmanız gereken veri Excel, Exchange, ActiveDirectory, Interbase ya da Paradox kaynaklarından birindeyse...
     
    En çok merak edilen veri kaynakları için ciddi bir yaklaşımla hazırlanmış bir sitede aradığınızı bulabileceğinizi umuyorum:
     

    SQL Connection String İncelikleri

    Uygulamalarda kullandığımız ConnectionString metninin basit bir bağlantın yapmanın ötesinde de özellikleri var.
     
    Minimum parametreyle standart bir connection için yazılması gereken connection string metni aşağıdaki gibidir.
    connectionString="Data Source=MSSQL1;Database=AdventureWorks;Integrated Security=true;";
     
    Eğer bağlantıyı Windows hesabınızın yetkileriyle değil de bir SQL hesabının yetkisiyle yapmak istiyorsanız, aşağdaki metni kullanın.
    connectionString="Data Source=MSSQL1;Database=AdventureWorks;User ID=bir_kullanici;pwd=xyz;";
     
    Eğer network trafiği nedeniyle uygulamanızın veritabanı bağlantısı "connection timeout" hatası vererek kesiliyorsa, "Connection Timeout" parametresini ekleyin. Parametrenin varsayılan değeri 15 saniyedir. Bu değer sunucuya bağlanmak için en fazla ne kadar zaman harcanacağını belirler. Örneğin connection timeout değerini 30 yaparsanız, sunucuya bağlanmak için 30 sn boyunca beklenir ve sunucudan cevap gelmezse hata verir.
    connectionString="Data Source=MSSQL1;Database=AdventureWorks;User ID=bir_kullanici;pwd=xyz;Connection Timeout=30;";
     
    Uygulamanızın SQL sunucusu bileşenlerinde (SQL Management Studio, SQL Server Profiler) uygulamanızı adıyla takip etmek istiyorsanız, "Application Name" parametresini kullanın.
    connectionString="Data Source=MSSQL1;Database=AdventureWorks;User ID=bir_kullanici;pwd=xyz;Application Name=Benim Uygulamam;";
     
    SQL 2005 ile gelen yeni özelliklerden biri olan ASENKRON işlemler yapabilmek için "Async" parametresini kullanın.
    connectionString="Data Source=MSSQL1;Database=AdventureWorks;User ID=bir_kullanici;pwd=xyz;Async=true;";
     
    Yine SQL Server 2005 ile gelen yeniliklerden biri olan "multiple active result sets" (MARS)'ı kullanmak içinse "MultipleActiveResultSets" parametresine true değerini atamak gerekir.
    connectionString="Data Source=MSSQL1;Database=AdventureWorks;User ID=bir_kullanici;pwd=xyz;MultipleActiveResultSets=true;";
     
     
     

    Microsoft Sertifikalarını Yükseltelim mi? Yenisini mi Alalım?

    Bugünlerde sıkça duymaya başladığım sorulardan biri de, MCAD ya da MCSD sertifikasyon sürecine başlamış ancak tamamlayamamış arkadaşlardan geliyor. Diyorlar ki:
    Önceki sertifikasyonu tamamlayıp, yeni kuşak sertifikaları upgrade sınavlarıyla almak mı avantajlı, yoksa eski sertifikaları almaktan vazgeçip, direkt olarak yeni sertifikaların sınavlarına mı girsek?
     
    Aslında tabii ki herkes ve her durum için geçerli tek bir doğru yok. Microsoft MCTS ve MCPD ile birlikte, MCAD ve MCSD sertifikalarının geçerliliğini sürdüreceğini söylüyor. Ancak bunun ne zamana kadar süreceği konusunda bir fikram yok. Benim önerim, eski sertifikalarını tamamlamak için çok fazla sınav kalmadıysa, eskisini de yenisini de alın. Ancak MCAD ya da MCSD olmak için daha yolun başındaysanız direkt yeni sertifikasyondan başlarsanız daha az yorulursunuz.

    GadgetCup2006 Sonuçlandı.

    Atakan KESLER (Microsoft Teknik Bölge Direktörü), Selçuk UZUN (Microsoft Teknik Bölge Direktörü), Eminay YURTSEVEN (Microsoft Akademik Program Müdürü), Halil GÖKOĞLU (Microsoft İstemci Ürün Müdürü), Mehmet EMRE (Microsoft ISV Program Müdürü) nin jüri üyeliğini yaptığı GadgetCup2006'nın birincisi İstanbul Teknik Üniversitesi öğrencisi Eren Baydemir oldu.
     
     
     
    İstanbul'un değişik noktalarına yerleştirilmiş kamera görüntülerini, anlık hava durumu bilgileri ile kullanıcıya sunan ve canlı kamera hizmetini veren diğer şehirlere de kolayca adapte edilebilecek bir Gadget tasarlamıştı Eren, HP Pavilion dv5196ea Notebook'un sahibi oldu.
     
     
    Kazananların tam listesi aşağıdaki gibi:
    Sıra İsim Açıklama

    1

    Eren BAYDEMİR

    İstanbul'un değişik noktalarına yerleştirilmiş kamera görüntülerini, anlık hava durumu bilgileri ile kullanıcıya sunan ve canlı kamera hizmetini veren diğer şehirlere de kolayca adapte edilebilecek bir Gadget.

    2

    Burak SARICA

    Farklı kaynaklardan Amerikan doları ve Euro kurlarını görüntüleyebilen, ve seçilen kaynakla çapraz kur hesabı yapabilen bir gadget.

    3

    Ersin ÖZTÜRK

    Türkiye illerininin hava tahmini gösterebilen küçük ama kullanışlı bir gadget.

    4

    Handan KİRİŞÇİ

    Kullanıcıların çeşitli sözlük kaynaklarında kolayca, tek bir yerden arama başlatabildikleri bir gadget.

    5

    Nezih TINAS

    Gerek lokal bilgisayar üzerindeki gerekse uzaktaki bir bilgisayar üzerindeki video dosyalarından bir video listesi yapılarak, videoların listedeki sırayla görüntülenmesini sağlayan, böylece gerek televizyon kanallarını, gerek klipleri çalışmanızı bölmeden bir kenardatakip edebilmenizi, işinizi eğlenceli halde getirmenizi sağlayan bir gadget tasarladım.

    Microsoft'un Tüm Sınavlarında %25 İndirim

    Microsoft'un 70-XXX sınavlarının tamamında (MCP, MCSA, MCSE, MCDBA, MCAD, MCSD, MCTS, MCPD, MCITP) VUE üzerinden sınava kayıt olduğunuzda geçerli olacak ve size %25 indirim sağlayacak olan kod, 31 Aralık 2006 ya kadar geçerli.
     
    Sınav indiriminden yararlanabilmek için internet üzerinden ya da sınav merkezinden kayıt yaptırırken aşağıdaki kodu Voucher Number alanına girin.
     
    MSWS6E13391F
     
     

    SQL Server 2005 SP2 CTP

    SQL Server 2005 SP2'nin CTP (The Community Technology Preview) sini hala kurmadıysanız, bir an önce aşağıdaki linkten indirerek kurun derim. Management Studio'da yapılan iyileştirmeler ve tüm yapıdaki geliştirmelerle birlikte daha başarılı bir SQL 2005'e kavuşuyoruz.
     
     
    Unutmayın CTP ler gerçek çalışma ortamlarına (production environment) kurulmak için geliştirilmiyorlar. Daha çok teknoloji uzmanlarının incelemesi için geliştirilmiş, son haline çok yakın sürümler oluyorlar.

    FTP Sunucularına Erişim

    Siz de benim gibi IE 7.0 kuranlardansanız, bir ftp sunucusuna bağlandığınızda hata mesajiyla karşılaşmış olmalısınız. Eğer çok sık ftp kullanmıyorsanız, yeni bir ftp programı kurmak istemiyorsunuzdur. E peki eskiden gayet güzel bir biçimde ftp upload yapabildiğimiz Internet Explorer bu işi artık yapmıyorsa durumu nasıl çözeriz?
     
    Sorunu çözmenin en kolay yolu Windows Explorer'ı ftp client olarak kullanmaktır. Ancak ben illa da IE ile bağlanmak istiyorum diyorsanız, aşağıdaki linki takip edin.