13 puan yazan GN⁺ 2024-07-25 | Henüz yorum yok. | WhatsApp'ta paylaş

Giriş

Bu veritabanı tasarımı eğitiminde, karmaşık gerçek dünya projeleri için veritabanı tablolarının nasıl tasarlanacağı gösteriliyor. Google Calendar'ın bir klonu tasarlanacak. Bu seri, "Database Design using Minimal Modeling" kitabındaki yaklaşımı açıklıyor. Önce takvim verilerini tanımlayan eksiksiz bir mantıksal model kurulacak, ardından bu mantıksal modele dayanarak tablo tasarımına geçilecek.

Hedef okur kitlesi

Bu kitabın amacı, belirsiz bir fikirden veritabanı tablolarının eksiksiz tanımına geçişte yardımcı olmak. Metnin ilk 3/4'lük bölümü yalnızca veritabanları hakkında genel bir anlayış gerektiriyor ve mantıksal modeli açıklıyor. Son 1/4'lük bölüm ise mantıksal modelden fiziksel tablo yapısına nasıl geçileceğini anlatıyor.

İçindekiler

  • Giriş
  • Bu kitabın yaklaşımı
  • Problem tanımı
  • Part 1: Temel tüm gün etkinliği
  • Part 2: Zamana dayalı etkinlik
  • Part 3: Tekrarlanan tüm gün etkinliği
  • Part 4: Takvim sayfasını render etme
  • Part 5: Zamana dayalı etkinliklerin takvim sayfasında render edilmesi
  • Part 6: Şimdiye kadarki eksiksiz mantıksal model
  • Part 7: SQL tablo oluşturma
  • Sonuç
  • Sonraki adımlar

Bu kitabın yaklaşımı

İnsanlar çoğu zaman tablo tasarımıyla başlar, ancak burada farklı bir yaklaşım izleniyor. Önce mantıksal model yazılıyor ve veri öznitelikleri ile varlıklar arasındaki ilişkiler tanımlanıyor. Mantıksal model netleştirildikten sonra fiziksel tablolar tasarlanıyor.

Problem tanımı

Google Calendar'ın temel özellikleri uygulanacak. Kullanıcıyla ilgili veriler minimum düzeyde ele alınacak. Etkinlikler başlık, açıklama, konum gibi özniteliklere sahip. En karmaşık kısım ise zaman ve tarih.

Part 1: Temel tüm gün etkinliği

Anchor

Önce anchor'ları bulmak gerekiyor. Anchor bir varlıktır; örneğin User ve Event. Anchor'lar ID ve sayımı yönetir.

Kullanıcı öznitelikleri

Kullanıcı için minimum veri modelleniyor. Örneğin e-posta.

Tüm gün etkinliği öznitelikleri

Etkinlik adı, başlangıç tarihi ve bitiş tarihi saklanmalı.

Link

Belirli bir kullanıcının belirli bir etkinliği oluşturduğu bilgisinin nerede saklanacağına karar vermek gerekiyor. Bu, bir öznitelik olarak değil bir link olarak ele alınıyor.

Part 2: Zamana dayalı etkinlik

Saat dilimi

Saat dilimleri birçok ülke ve bölgede kullanılır. Saat dilimi tanımları zaman zaman değişir. Saat dilimiyle ilgili asgari bir model uygulanacak.

Saat dilimi öznitelikleri

Saat diliminin insanlar tarafından okunabilir adı saklanacak.

Zamana dayalı etkinlik öznitelikleri

Etkinlik adı, başlangıç saati ve bitiş saati saklanacak. Yerel saat kullanılacak.

Link

Saat dilimi ile zamana dayalı etkinlik arasındaki link tanımlanıyor.

Tarih etkinlikleri ile zaman etkinlikleri arasındaki benzerlikler

İki etkinlik türü arasındaki benzerlikler değerlendirilecek. Mantıksal modelleme sayesinde kararlar ertelenebilir.

Part 3: Tekrarlanan tüm gün etkinliği

Öznitelik #1, periyot

Etkinliğin ne kadar sık tekrarlandığına ilişkin öznitelik tanımlanıyor.

Öznitelik #2, iç içe geçmiş öznitelikler

Tekrarlanan etkinliğin periyodu tanımlanıyor.

Öznitelik #3

Aylık etkinlikler için, aynı günde mi yoksa aynı haftanın gününde mi tekrarlandığı tanımlanıyor.

Haftanın günü: mikro anchor

Haftanın gününün nerede saklanacağına karar veriliyor. Yeni bir anchor tanıtılıyor.

Link

Haftanın günü ile etkinlik arasındaki link tanımlanıyor.

Tamamlanma kontrolü

Modellemenin tamamlanıp tamamlanmadığını doğrulamak için ilk gereksinimler yeniden gözden geçiriliyor.

Tekrar sınırı: daha fazla iç içe geçmiş öznitelik

Etkinliğin ne zamana kadar tekrarlanacağına ilişkin öznitelik tanımlanıyor.

Part 4: Takvim sayfasını render etme

Şimdiye kadar takvimin kayıt tutma kısmı ele alındı. Şimdi kullanıcının takvim haftalık görünümünü göstermek gerekiyor.


GN⁺ Özeti

Bu eğitim, karmaşık veritabanı tasarımını adım adım açıklayarak yeni başlayanların da kolayca anlayabilmesini sağlıyor. Google Calendar'ın temel işlevleri modellenerek gerçek projelere uygulanabilecek faydalı bir örnek sunuluyor. Mantıksal modelleme sayesinde veritabanı tasarımındaki hatalar önleniyor ve fiziksel tablo tasarımına doğal bir geçiş süreci anlatılıyor. Benzer işlevlere sahip projeler arasında Microsoft Outlook Calendar da yer alıyor.

Henüz yorum yok.

Henüz yorum yok.