Veri tabanı tasarımı. En iyi uygulamalar

Bir sonraki akışın hızda başlaması beklentisiyle "Veri tabanı" Veritabanı tasarlamaya yönelik önemli ipuçları içeren küçük bir yazar materyali hazırladık. Bu materyalin sizin için yararlı olacağını umuyoruz.

Veri tabanı tasarımı. En iyi uygulamalar

Veritabanları her yerdedir: En basit bloglardan ve dizinlerden güvenilir bilgi sistemlerine ve büyük sosyal ağlara kadar. Veritabanının basit mi yoksa karmaşık mı olduğu o kadar da önemli değil, doğru şekilde tasarlanması önemli. Bir veritabanı düşüncesizce ve amacı net bir şekilde anlaşılmadan tasarlandığında, bu sadece etkisiz olmakla kalmaz, aynı zamanda veritabanıyla daha fazla çalışmak kullanıcılar için gerçek bir eziyet, aşılmaz bir orman olacaktır. Yararlı ve kullanımı kolay bir ürün oluşturmanıza yardımcı olacak bazı veritabanı tasarımı ipuçlarını burada bulabilirsiniz.

1. Tablonun ne işe yaradığını ve yapısının ne olduğunu belirleyin

Veri tabanı tasarımı. En iyi uygulamalar

Günümüzde Scrum veya RAD (Hızlı Uygulama Geliştirme) gibi geliştirme yöntemleri, BT ekiplerinin veritabanlarını hızlı bir şekilde geliştirmesine yardımcı olmaktadır. Bununla birlikte, zaman arayışında, hedefin kendisinin ne olduğunu, nihai sonuçların ne olması gerektiğini belli belirsiz hayal ederek, doğrudan bir temel oluşturmaya dalmanın cazibesi çok büyüktür.
 
Sanki ekip verimli, hızlı çalışmaya odaklanmış gibi ama bu bir serap. Projenin derinliğine ne kadar derine ve hızlı inerseniz, veritabanı tasarımındaki hataları tespit etmek ve değiştirmek o kadar fazla zaman alacaktır.

Bu yüzden karar vermeniz gereken ilk şey, veritabanınızın amacını tanımlamaktır. Veritabanı ne tür bir uygulama için geliştiriliyor? Kullanıcı yalnızca kayıtlarla mı çalışacak ve işlemlere mi dikkat etmesi gerekecek yoksa veri analitiğiyle mi daha çok ilgileniyor? Üs nereye kurulmalı? Müşteri davranışlarını mı takip edecek yoksa sadece müşteri ilişkilerini mi yönetecek? 

Tasarım ekibi bu sorulara ne kadar erken cevap verirse veritabanı tasarım süreci o kadar sorunsuz olacaktır.

2. Depolama için hangi verileri seçmeliyim?

Veri tabanı tasarımı. En iyi uygulamalar

Önceden planlamak. Veritabanının tasarlandığı site veya sistemin gelecekte ne yapacağına dair düşünceler. Teknik şartnamelerin basit gerekliliklerinin ötesine geçmek önemlidir. Lütfen bir kullanıcının depolayabileceği tüm olası veri türlerini düşünmeye başlamayın. Bunun yerine, kullanıcıların yazı yazıp yazamayacağını, belge veya fotoğraf yükleyebileceğini veya mesaj alışverişinde bulunup bulunamayacağını düşünün. Eğer durum buysa, o zaman veritabanında onlar için yer ayırmanız gerekir.

Gelecekte tasarım tabanının destekleneceği ekip, departman veya kuruluşla çalışın. Müşteri hizmetleri uzmanlarından departman başkanlarına kadar farklı seviyelerdeki kişilerle iletişim kurun. Bu şekilde geri bildirimlerin yardımıyla şirketin gereksinimleri hakkında net bir fikir edineceksiniz. 

Kaçınılmaz olarak aynı departmandaki kullanıcıların ihtiyaçları bile çatışacaktır. Bununla karşılaşırsanız, kendi deneyiminize güvenmekten ve tüm taraflara uygun ve veritabanının nihai amacını karşılayan bir uzlaşma bulmaktan korkmayın. İçiniz rahat olsun: gelecekte +100500 karma ve bir yığın kurabiye alacaksınız.

3. Verileri dikkatle modelleyin

Veri tabanı tasarımı. En iyi uygulamalar

Verileri modellerken dikkat edilmesi gereken birkaç önemli nokta vardır. Daha önce de söylediğimiz gibi modellemede hangi yöntemlerin kullanılacağını veritabanının amacı belirler. Çevrimiçi kayıt işleme (OLTP) yani kayıtların oluşturulması, düzenlenmesi ve silinmesi için bir veritabanı tasarlıyorsak, işlem modellemeyi kullanırız. Veritabanının ilişkisel olması gerekiyorsa, çok boyutlu modellemeyi kullanmak en iyisidir.

Modelleme sırasında kavramsal (CDM), fiziksel (PDM) ve mantıksal (LDM) veri modelleri oluşturulur. 

Kavramsal modeller, varlıkları ve içerdikleri veri türlerini ve aralarındaki ilişkileri tanımlar. Verilerinizi mantıksal parçalara bölün; bu hayatı çok kolaylaştırır.
Önemli olan ılımlılıktır, aşırıya kaçmayın.

Bir varlığın tek bir kelime veya ifadeyle sınıflandırılması çok zorsa, o zaman alt türleri (alt varlıklar) kullanmanın zamanı gelmiştir.

Bir varlık kendi yaşamını sürdürüyorsa, davranışını ve görünüşünün yanı sıra diğer nesnelerle ilişkilerini tanımlayan niteliklere sahipse, o zaman yalnızca bir alt türü değil, aynı zamanda bir üst türü (ana varlık) da güvenle kullanabilirsiniz. 

Bu kuralı ihmal ederseniz, diğer geliştiricilerin modelinizde kafası karışacak ve verileri ve bunların nasıl toplanacağıyla ilgili kuralları tam olarak anlayamayacaktır.

Kavramsal modeller mantıksal modeller kullanılarak uygulanır. Bu modeller fiziksel veritabanı tasarımı için bir yol haritası gibidir. Mantıksal modelde iş verisi varlıkları tanımlanır, veri türleri belirlenir ve veriler arasındaki ilişkileri düzenleyen kural anahtarının durumu belirlenir.

Daha sonra Mantıksal Veri Modeli, önceden seçilen DBMS (veritabanı yönetim sistemi) platformuyla karşılaştırılarak Fiziksel Model elde edilir. Verilerin fiziksel olarak nasıl saklandığını açıklar.

4. Doğru veri türlerini kullanın

Veri tabanı tasarımı. En iyi uygulamalar

Yanlış veri türünün kullanılması, verilerin doğruluğunun azalmasına, tabloların birleştirilmesinde zorluklara, niteliklerin senkronizasyonunda zorluklara ve dosya boyutlarının şişmesine neden olabilir.
Bilgi bütünlüğünü sağlamak için bir özniteliğin yalnızca kendisi tarafından kabul edilebilir veri türlerini içermesi gerekir. Veritabanına yaş girilirse, sütunun maksimum 3 basamaklı tamsayıları sakladığından emin olun.

NULL değerine sahip minimum sayıda boş sütun oluşturun. Tüm sütunları NULL olarak oluşturursanız bu büyük bir hatadır. Belirli bir iş işlevini gerçekleştirmek için boş bir sütuna ihtiyacınız varsa, veriler bilinmediğinde veya henüz bir anlam ifade etmediğinde, onu oluşturmaktan çekinmeyin. Sonuçta “Ölüm tarihi” veya “İşten çıkarılma tarihi” sütunlarını önceden dolduramayız, parmaklarımızı gökyüzüne doğrultmuş tahminciler değiliz :-).

Çoğu modelleme yazılımı (ER/Studio, MySQL Workbench, SQL DBM, gliffy).com) verileri, veri bölgelerinin prototiplerini oluşturmanıza olanak tanır. Bu yalnızca doğru veri türünü, uygulama mantığını ve iyi performansı sağlamakla kalmaz, aynı zamanda değerin gerekli olduğunu da garanti eder.

5. Doğal olun

Veri tabanı tasarımı. En iyi uygulamalar

Bir tablodaki hangi sütunun anahtar olarak kullanılacağına karar verirken her zaman kullanıcının hangi alanları düzenleyebileceğini göz önünde bulundurun. Asla onları anahtar olarak seçmeyin; bu kötü bir fikirdir. Her şey olabilir ama bunun benzersiz olduğundan emin olmalısınız.

Doğal veya ticari bir anahtar kullanmak en iyisidir. Anlamsal bir anlamı vardır, bu nedenle veritabanında kopyaların önlenmesini sağlarsınız. 

İş anahtarı benzersiz (ad, soyad, konum) olmadığı ve tablonun farklı satırlarında tekrarlanmadığı veya değişmesi gerekmediği sürece oluşturulan yapay anahtarın birincil anahtar olarak atanması gerekir.

6. Ölçülü olarak normalleştirin

Veri tabanı tasarımı. En iyi uygulamalar

Bir veritabanındaki verileri etkili bir şekilde düzenlemek için bir dizi yönergeyi izlemeniz ve veritabanını normalleştirmeniz gerekir. İzlenecek beş normal form vardır.
Normalleştirme ile artıklığın önüne geçer ve uygulamanızda veya sitenizde kullanılan verilerin bütünlüğünü sağlarsınız.

Her zaman olduğu gibi her şey ölçülü olmalı, hatta normalleşmeli. Veritabanında aynı benzersiz anahtarlara sahip çok fazla tablo varsa, o zaman kendinizi kaptırmış ve veritabanını aşırı normalleştirmişsiniz demektir. Aşırı normalleştirme veritabanı performansını olumsuz etkiler.

7. Erken test yapın, sık sık test yapın

Veri tabanı tasarımı. En iyi uygulamalar

Test planı ve uygun testler, veritabanı tasarımının bir parçası olmalıdır.

Veritabanınızı test etmenin en iyi yolu Sürekli Entegrasyondur. Bir "veritabanının ömründeki bir gün" senaryosunu simüle edin ve tüm uç vakaların ele alınıp alınmadığını ve hangi kullanıcı etkileşimlerinin muhtemel olduğunu kontrol edin. Hataları ne kadar erken bulursanız hem zamandan hem de paradan o kadar tasarruf edersiniz.

Bunlar, mükemmel bir üretkenlik ve verimlilik veritabanı tasarlamak için kullanabileceğiniz yedi ipucundan yalnızca biridir. Bunları takip ederseniz gelecekte çoğu baş ağrısından kaçınacaksınız. Bu ipuçları veritabanı modellemede buzdağının sadece görünen kısmıdır. Çok sayıda yaşam hilesi var. Hangilerini kullanıyorsunuz?

Kaynak: habr.com

Yorum ekle