Veritabanı Tasarımı
Amaç UID (eşsiz tanımlayıcı), ilişkisel veritabanı için çok önemlidir. Bir varlığın elemanlarından birini diğerlerinden ayırt yarayan bir veya birkaç değerin birleşimidir. Doğru niteliği veya nitelikleri ve ilişkileri belirlemek herhangi bir Veritabanı tasarımcısının sahip olması gereken bir özelliktir. Eşsiz tanımlayıcı bir dosya içerisinde kaydınızı, kartlar arasında belirli bir kaydı, depoda paketinizi veya veritabanında belirli bir veri parçasını bulmanızı sağlar. 2
Basit UID Birleşik UID Tek bir nitelikten oluşan UID basit UID dir. Bununla beraber, bazen tek bir nitelik bir varlığın durumlarını eşsiz olarak ayırt etmeye yetmez. Eğer UID niteliklerin birleşiminden oluşuyorsa bu tip UID birleşik UID dir. 3
Yapay UID ler Yapay UID ler gerçek dünyada olmayan ancak sistemde tanıma amacıyla oluşturulan şeylerdir. İnsanlar Numarayla doğmazlar ancak pek çok sistemde kişileri tanımak için eşsiz numaralar verilir. Öğrenci numarası, müşteri numarası gibi. 4
Yapay UID ler (devam ) Ayakkabılar bir renge, bir numaraya, bir tipe sahiptir. Ancak tanımlayıcı bir numaraya sahip değildir. Bunula beraber, bir ayakkabı mağazası her bir ayakkabı çiftini eşsiz bir şekilde ayırt etmek için onlara eşsiz bir numara atayacaktır. 5
Yapay UID Örneği Bir ÖĞRENCİ yi eşsiz olarak nasıl ayırt edebiliriz. Adı ve soyadı bilgisi yeterli olur mu? Sadece birleşim eşsiz olduğundan eminsek olabilir. Çoğunlukla yapay bir nitelik oluşturup bunu eşsiz tanımlayıcı olarak belirlemek basit ve doğru bir yaklaşımdır. UID hem yapay hem de birleşik olabilir. 6
Çizgili İlişkilerde UID Bazen UID bir nitelik ve ilişkinin birleşiminden oluşabilir. HESAP varlığının UIDsi nedir? Yapay mıdır? Birleşik midir? İki kişi aynı banka numarasına sahip olabilir, ancak farklı bankalarda. Bankalr arası para transferinde hesap numarasına ilave olarak banka dolaşım numarasına da ihtiyaç bulunmaktadır. 7
Çizgili İlişkili Kesişim Varlığının UID Daha önce gördüğümüz gibi M:M ilişkilerin çözümlemesi kesişim varlığı ile orijinal varlıklar arasında çizgili ilişkiler oluşmasına sebep olur. Bu örnekte, ÇALMA LİSTESİ nin UID si PROGRAM ve ŞARKI dan oluşur. İlişkilerdeki çizgiler buna işaret eder. 8
İlişkili Kesişim Varlığının Yapay UID si Kesişim Varlığının UID si olarak kendini oluşturan varlıkların çizgili ilişkilerinin kullanılması yerine yapay UID kullanılabilir. 9
İlişkili Kesişim Varlığının Yapay UID si (devam ) Her ÜRETİCİ bir veya daha fazla ÜRÜN üretebilir (ayakkabı, gömlek, pantolon, vb.). Her ÜRÜN bir veya daha fazla ÜRETİCİ tarafından üretilebilir (Nike ayakkabı, Adidas ayakkabı gibi). 10
İlişkili Kesişim Varlığının Yapay UID si (devam ) KATALOG ÜRÜNÜ bu çokaçok ilişkiyi çözümler. Katalogdaki bir ürün üretici no ve ürün no tarafından eşsiz olarak tanımlanabilir. İlişkiler çizgili değil çünkü katalog no yapay UID olarak oluşturuldu. 11
Aday (candidate) UID ler Bazen iki veya daha fazla potansiyel UID bulunabilir. Örneğin, bir e-ticaret sitesinden ürün sipariş ettiğinizde, çoğunlukla size bir müşteri numarası verilir ve e-mail adresinizi girmeniz istenir. Bunların her biri sizi eşsiz olarak ayırt eder ve UID olarak seçilebilir. Bunların ikisi aday UID dir. Sadece aday UIDlerin biri gerçek UID olarak seçilir. Bu birincil (primary) UID olarak adlandırılır. Diğer UIDler ikincil (secondary) UID olarak adlandırılır. 12
Aday (candidate) UID ler (devam ) Öğrenci no, bu iki ÖĞRENCİ varlığının birincil UID dir. Birinci varlık sadece bir ikincil UID ye sahipken, ikinci varlık iki adet ikincil UID ye (bir tanesi birleşik) sahiptir. 13
Tanımlama: Veritabanı ve Gerçek Dünya Eşsiz tanımlayıcı bir varlığa ait bir durumu diğer durumlardan ayırt etmemizi sağlar. Daha sonra göreceğiniz gibi bunlar veritabanındaki birincil anahtarlar (primary key) olacaktır. Birincil anahtar veritabanındaki belirli bir kayıta erişmenizi sağlar. Bununla beraber, gerçek dünyada bazen bir şeyi bir diğerinden ayırt etme bu kadar kolay olmayabilir. 14