Veri Modelleri Tasarımcısı
Veri modelleri tasarımcısını kullanarak veritabanı oluşturma
Veri tabanı tasarımı
Kendi veritabanınızı tasarlamanın zamanı geldi. Bunu yapmak için sol paneldeki Database sekmesine gidin.
Veri modelleri
Veritabanındaki veriler özel tablolar (modeller) şeklinde saklanır. Ve zaten bir modelimiz olduğunu fark edebilirsiniz. Yetkilendirme modülünün bir parçasıdır ve varsayılan olarak her projeye dahildir. Bu sayede uygulamanın yeni kullanıcıları oluşturulur ve mevcut kullanıcılar yönetilir. Ama şimdi onun çalışması üzerinde durmayacağız, kendi modelimizi oluşturacağız.
Bir harita servisi geliştirdiğimizi hayal edin. Ülkeler hakkında bilgi içeren bir model oluşturalım. Oluşturmak için tuvalin boş bir alanına sağ tıklayıp Create empty model.
Oluşturmak için sadece modelin adını belirtmemiz gerekiyor. Kursun diğer modüllerinde otomatik olarak uç noktaların oluşturulması ve kullanıcı arayüzü öğeleri ile ilgileneceğiz.
Model alanları
Lütfen oluşturulduktan hemen sonra modelin 4 alan içerdiğini unutmayın. Bunlar, varlığı modelin ilk oluşturulmasını ve daha fazla kullanılmasını büyük ölçüde basitleştiren sistem alanlarıdır.
ID (integer) - Benzersiz tanımlayıcı, birincil anahtar. Tablodaki her yeni giriş için otomatik olarak oluşturulur ve yinelenenlerin olmamasını sağlamaya yöneliktir. Bir tablodaki bir kaydı benzersiz bir şekilde tanımlayabilmeniz kimliğine göredir. Değeri 1'den başlar ve her yeni giriş için otomatik olarak 1 artar.
CreatedAt (datetime) - Kaydın tabloda oluşturulduğu saat.
UpdatedAt (datetime) - Girişin en son değiştirildiği saat.
DeletedAt (datetime) - Girişin silindiği saat. Tabii ki, yalnızca yumuşak kaldırma kullanılmışsa. Yani, böyle bir silme, kayıt yalnızca silinmiş olarak işaretlendiğinde ve ona erişim talepleri tarafından filtrelendiğinde, ancak aynı zamanda fiziksel olarak tabloda kalır. Bu, verileri tamamen silen toplu silme işleminden farklıdır.
Sistem alanlarına ek olarak, oluşturulan modele özel alanlar eklemek akıllıca olacaktır. Ülkenin adını ve bununla ilgili bilgiler içeren bazı açıklamaları görmek istediğimizi varsayalım.
Bir alan türü seçmek sorun olmamalıdır. String ad için, Text ise bilgi açıklaması için uygundur.
Ek olarak, dört anahtar daha mevcuttur:
Multiple values (Array) - tek girişler yerine dizileri kullanın.
Not null - belirtilen alan boş olamaz, her zaman veri içermelidir.
Unique - alanın değeri benzersiz olmalıdır, bu modelde bu alanın değerleri aynı olan iki kayıt olamaz.
Index - aramayı hızlandırmak için bu alan için özel bir dizin oluşturulacağını belirtir.
Genel olarak, yalnızca gerçekten gerekliyse işaretleri işaretlemek doğrudur. Örneğin, isimsiz bir ülke veya aynı ada sahip iki ülke olamayacağını varsayarak ülke adları için Not null ve Unique olarak işaretleyebiliriz. Ancak, uygulamanın mantığını oluşturma aşamasında bunu kontrol etmek ve veritabanının kendisine kısıtlamalar getirmemek iyi bir fikirdir.
Benzer şekilde, şehirler hakkında bilgi içeren bir tablo oluşturun. Hangi veri alanlarını içerebileceğini, bu alanların ne tür olduğunu düşünün.
Veri modelleri ilişkileri
Veritabanındaki veriler, dağınık tablolar şeklinde kendi başına mevcut değildir. Birbirleriyle belirli bir şekilde ilişkilidirler. Bir veri modeli geliştirmenin anahtarı, bu ilişkileri tanımlamak ve ilişkiler kurmaktır.
Bu tür bağlantıları kurmak için, bir modelin sınırından diğerine fare ile bir çizgi çizmek gerekir. Örneğimizde, her şehrin bir ülkede bulunduğunu kesin olarak biliyoruz, böylece ülkeden şehre bir bağlantı oluşturabiliriz.
3 farklı bağlantı türü vardır:
Bire bir (has one) . Tablodaki her kayıt, ilişkili tablodan bir kayıtla eşleştirilir (bu, tersi için de geçerlidir). Basit bir örnek, bir kişi ve pasaportudur. Bu bağlantının benzersiz olduğundan her zaman emin olabiliriz. Bir pasaportun yalnızca bir sahibi olabilir ve her kişinin yalnızca bir geçerli pasaportu olabilir.
Birden çoğa (has many) . Bir tablodaki her kaydın başka bir tabloda birçok kaydı olabilir. Veritabanımız benzer bir örnektir. Bir ülkenin birçok farklı şehri olabilir, ancak her şehir sadece bir ülkeye ait olabilir. Yapacağımız bağlantı bu.
Çoktan çoğa . Bir tablodaki birden çok kaydın diğerinden birden çok kayda karşılık gelebildiği bir ilişki. Basit bir örnek, öğretmenler ve öğrenciler arasındaki ilişkidir. Her öğrencinin birçok farklı öğretmenden öğrenebileceği gibi, her öğretmen birçok öğrenciye öğretebilir.