Veritabanı tasarımı: adımlar ve temel bilgiler

İçindekiler:

Veritabanı tasarımı: adımlar ve temel bilgiler
Veritabanı tasarımı: adımlar ve temel bilgiler
Anonim

Veritabanı tasarımı, bilgiyi temsil etmek ve işlemek için mevcut bilgi ve araçları uyarlamanın sıralı bir sürecidir.

Gerçek kapsam, belirli görev, gelen bilgi akışının açıklaması ve bilgi işleme süreciyle ilgili genel fikirler, belirli bir durumda bir veritabanının ne olduğu ve nasıl olduğuna dair belirli bir kavramsal fikre kademeli olarak eklenir. onunla çalışmak için.

Modern veritabanı

İlişkisel ilişkiler, herhangi bir bilgi modelinin kalbinde yer alır. Oracle'dan gelen çözümler özünde MySQL'e eşdeğerdir, ancak birçok açıdan temelde farklıdırlar. Veritabanı tasarımı aynı zamanda bir güvenlik, bilgi hacmi ve veri bütünlüğü için hesap verebilirlik meselesidir, ancak bunlar verimli, güvenilir ve kullanıcı dostu bir veritabanı tasarlama konusuna ikincildir.

veritabanı tasarım adımları
veritabanı tasarım adımları

Excel tabloları, dikdörtgen (ilişkisel) yapılar bağlamında Oracle ve MySQL'den farklı değildir: sütunlar ve satırlar=sütun adı (alan) ve seçim indeksinin (satır) kesişim noktasında bir hücre. El emeğinin ölçüsünü ve miktarını hesaba katmazsanız, hücreleri dikey ve yatay olarak birleştirmenin gelişmiş araçları sayesinde Excel, Oracle'ın bile önündedir!

Excel, temel fikrine göre, Oracle'ın dinamiklerini, işlevselliğini asla "parlamaz" ve "kalıntılara göre" bir sayfadan diğerine bir şey aktaramaz. Burada Oracle daha umut vericidir, ancak büyük miktarda bilginin taşınması ve çeşitli kaynaklardan resmileştirilmiş konumların birleştirilmesi konularındaki düşünceleri arzulanan çok şey bırakmaktadır. Burada MySQL daha umut vericidir: Kendine global görevler belirlemez, ancak işini mükemmel bir şekilde yapar.

İlişkisel ilişkiler, özel Excel düzeyindeki çözümlerden Oracle küresel hacimlerine kadar uygun, pratik ve iyi kurulmuş araçlardır, her yerde, talep edildiğinde kullanılır ve garantili bir iş tarafından sağlanan geleceğe sahiptir.

Modern bir veritabanı, tam işlevsellik ile çevrelenmiş tablolar, satırlar, sütunlar ve dizinlerdir, birden fazla işlemi, ağır yükleri ve büyük hacimleri hesaba katan geliştirilmiş ek araçlardır.

Modern veritabanı yönetim sistemleri (DBMS) konusundaki bilgi ve deneyim, yalnızca güvenilirlik, veri güvenilirliği, erişim düzenlemesi ve güvenlik konularını dikkate almakla kalmaz, aynı zamanda olumsuz dış etkileri izlemeyi, olası saldırıları analiz etmeyi mümkün kılar.ve kasıtlı olarak zarar vermeye çalışır.

Modern bir veritabanı, herhangi bir web kaynağı ve yerel uygulama için güvenilir bir temeldir; bilgileri taşıma, verileri dönüştürme ve aktarma, farklı görünümleri kesme ve birleştirme yeteneğidir.

Tek gerekli koşul: yüksek nitelikli geliştirici. İlişkisel veritabanlarının etkili tasarımını gerçekleştirmek, bir uzmana ve daha sık olarak, çözülmekte olan problemin uygulama alanında uzman ve uzmanlardan oluşan bir ekibe açıktır.

Kapsam, olası çözüm ve engeller

Bilgi her yerde dolaşır. Birçok proje doğrudan internete bağlıdır, ancak burada resmi bir veri sunumuna sahip olma faktörü, bir çelik fabrikası için bir web kaynağı oluştururken belirsizlik faktöründen daha iyi değildir.

Çevrimiçi mağazalara yönelik gelişme ve yoğun ilgi, bir mağaza oluşturma deneyimini başka bir mağaza oluşturmaya aktarmak için zemin ve fırsatlar sağlamaz. Ticari sır faktörü, bilgi aktarımının önünde birçok engel oluşturur, ancak aslında, asıl mağazayı bu mağaza için oluşturulan yazılım araçlarından ayırmanız gerekir.

ilişkisel veritabanı tasarımı
ilişkisel veritabanı tasarımı

Elbette müşteri ödedi ve site kodu onun malıdır. Modernitenin karakteristik bir özelliği: Aynı türden görevler ve ilgili uygulama alanları arasında bilgi ve gelişme aktarımı imkansızdır ve bu bir sorundur.

Ayrıştırma, veritabanı yönetim sistemleri için geniş bir uygulama yelpazesidir. Her şeyden önce, internetten bilgi tarıyor. Birikmiş bilgileri karşılaştırmak da aynı derecede önemlidir.veritabanı ve web ziyaretçi istekleri.

Anahtar kelime analizi aynı zamanda optimal bir çözüm oluşturma ihtiyacını da içerir, ancak Access'te veritabanı tasarımı MS SQL Server veya Oracle'dan daha umut verici olabilir.

Bilgi kaynaklarının listesi dinamik olabilir. Dinamikler, kaynak veritabanı tablolarında, tablo alan adlarında ve çağrı (sorgu) kurallarında yerleşik olabilir. Birden çok kaynaktan ilişkisel veritabanları tasarlamak, sizi toplanan bilgilerin optimal organizasyonundan değil, kaynak verilerden tasarlamaya zorlar.

Herhangi bir veritabanında bulunan iki şey vardır:

  • içeriğe yönlendirme, öncelikli olarak dinamik veritabanı oluşturma algoritması;
  • kullanım yönelimi, veri tabanının yapısı daha önemlidir ve bilgiyi kullanma algoritması buna dayalıdır.

Herhangi bir uygulama alanında, gelen bilgi akışının resmi bir modeli, bir bilgi depolama modeli vardır - veritabanının gerçek tasarımı ve verileri kullanmak için bir model (algoritma).

Çeşitli prosedürler ve tasarım adımları

Veritabanı tasarımının temelleri genellikle üç aşamaya ayrılır. Farklı uzmanlar işin aşamalarını farklı şekillerde ifade eder, ancak aslında üç pozisyon vardır:

  • kavramsal planlama;
  • mantıksal tasarım;
  • teknik uygulama.

Uygulama, yerleşik geleneklere katkıda bulunur. Kapsam ve çözülen problem ne kadar karmaşık olursa olsun. Her zaman doğru olanı seçmeyi gerektiriraletler. Örneğin, bir web kaynağına gelen ziyaretçilerden bilgi toplamanız gerekir, ancak bunu MS SQL Server'dan gelen verilerle karşılaştırmanız gerekir. Web kaynağı FreeBSD'de (İnternet, Apache sunucusu) barındırılır ve başka bir şehirde bulunan MS SQL Server, şirketin dağıtılmış ağı aracılığıyla kullanılabilir.

veritabanı tasarımı temelleri
veritabanı tasarımı temelleri

Bu çözümde, öncelikle belirli bir sorunu çözmeniz gerekir: dahili sunucu ile veri alışverişi kurmak.

Ortak bir görevin teknik olarak yürütülmesinin ilk aşamada mutlaka bir etkisi olacaktır: Veritabanı tasarımının sıfırdan yapılması nadirdir. Kanıtlanmış problem çözme teknolojisiyle bile kapsam gelişiyor, her zaman başlangıçta amaçlanandan farklı bir şey yapmak gerekiyor.

Son zamanlarda, birçok teorisyen ve uygulayıcı, varlıklarla özel veriler olarak çalışmaktadır. Bunlar, girişte, işleme sırasında ve nihai sonuç olan veri tabanındaki bilgi modelini tanımlamanıza izin veren soyutlamalardır.

Veri ve varlık görünümleri

Soyutlamalar ve varlıklar aracılığıyla DB tasarımı: bir bilgi resmi oluşturma, veri türlerini ve bunlar arasındaki ilişkileri tanımlama yeteneği.

Genellikle bu tür bir veritabanı modeli tasarımı, MS Visio veya seçilen VTYS'nin görsel araçlarını kullanan bir grafik modelle sona erer. Access'in bir bilgi resmi oluşturmanın kendi yolu vardır, MySQL'in kendine ait bir yolu vardır ve bazı içerik yönetim sistemleri veritabanını tamamen gizleyerek geliştiriciye kendi varlıkları aracılığıyla bir veri modeli empoze eder -çözülmekte olan görevin nesneleri.

Birçok içerik yönetim sisteminin (CMS) karakteristik bir özelliği, çözülmekte olan sorunun bilgi alanını tanımlarken daha yüksek bir soyutlama düzeyi için bir "uygulama" yapmalarıdır. Gerçek veritabanı gizlidir, CMS, geliştiriciye dünyanın bilgi resmi hakkında kendi fikrini sunar.

Sonuç olarak, veritabanı tasarımının aşamaları, temel gereksinimlerin gözetilmesine ve belirli bir CMS'nin yaratıcıları tarafından önerilen adımların yürütülmesine indirgenir. Symfony veya Bitrix, Zend veya Yii'den veritabanlarının fikirlerini ve tasarımlarını kullanmanın utanılacak bir tarafı yoktur, ancak geliştirici için bu bir "yüktür".

İdeal olarak, veritabanı tasarım araçları bireysel olarak seçilmeli ve dışarıdan görüş alınmadan, ancak deneyim ve bilginin uygulanmasıyla uygulanmalıdır.

bilgi veritabanı tasarımı
bilgi veritabanı tasarımı

Bir geliştiricinin Oracle tarafından sertifikalandırılması için idealdir, ancak bir geliştiricinin niteliklerinin Oracle'ın bilgi fikirlerine ilişkin öngörüleri ve MySQL uygulamalarına ilişkin çalışma bilgisini içermesi için tamamen kabul edilebilir.

Karmaşık projelerde ve dağıtılmış bilgi işlemede, sadece veri tabanı değil, aynı zamanda bilgi kaynakları, tüketicilerin ihtiyaçları hakkında fikirler de önemlidir.

Aşamalar veya ekip: öncelikler dengesi

Tutarlılık gereksinimi en acil öneme sahiptir. Veritabanı tasarımının temelleri aynı zamanda işin aşamalandırılmasını, ara sonuçların izlenmesini, aşağıdaki iş türlerinin yürütülmesine dayalı olarak tamamlanan her aşamanın yeniden düşünülmesini içerir:

  • sistematik;
  • fazlama;
  • Zamanın herhangi bir noktasından başlangıç pozisyonuna kadar geri bildirim.

Bu hükümler soyuttur, ancak etkili bir veri tabanı oluşturmak için herhangi bir teorik ve pratik teknolojide mevcuttur.

Hiçbir teknoloji kendi kendine gelişmez, insanlar tarafından yönlendirilir. Geliştirme ekibinin nitelikleri esastır. Veritabanı bilgi modeli sadece bir çerçeve değil, aynı zamanda bilgi akışıdır.

Daha da önemlisi: veritabanı yapısının temsilinde güzel grafikler veya dinamiklerdeki bilgi akışlarının doğru bir açıklaması - sadece görev ve kapsam meselesi değil, aynı zamanda dinamikte geliştirme ekibinin görüşü.

veritabanı yapısı tasarımı
veritabanı yapısı tasarımı

Personel her şeydir, ancak bağlamda: bir veritabanının kavramsal tasarımı her şeyin niteliğidir. Tüm insanlar benzersizdir ve bilgi sistemleri alanında belirli kişilerin temsilleri vardır ve gelişir.

Yetkili bir uzman tarafından önerilen bazı efsanevi veritabanı tasarım adımlarını değil, geliştiricilerden oluşan bir ekip oluşturmak önemlidir. Bu uzmanın yetkisi, belirli bir zamanda, belirli çalışmalar temelinde oluşturulmuştur. Bugün yapılması gereken iş, yeni görev, modern ekipman, yeni teknoloji, …

Olası ters. Windows for Workgoups'ın hala canlı ve iyi olduğu eski zamanlardan Excel ve Access ve bu biçimlerde "bol" veriler var. Kısmen kalan dBase ve Quattro verileri. Bugün bu sözler çoktan unutuldu, ancak bilgikaldı, talep ediliyor ve çıkarılması ve yeni fikirler oluşturulması gerekiyor.

Eski ve yeni: bilgi dengesi

Bulut teknolojisi, Ashton-Tate'in yaptığı veritabanlarına benzemez. Oracle'ın bir zamanlar satın aldığı şey, bugün yaptığıyla hiçbir şekilde karşılaştırılamaz. Ancak değişkenler, algoritmalar, fonksiyonlar, döngüler ve koşullar 80'lerin başından beri programlamada kaldı. Prosedür kavramı unutulup gitmedikçe ve her şey eski zamanlarda olduğu gibi kalmadıkça.

Modern nesne yönelimli programlama fikirleri bile geçen yüzyılın klasik sözdizimsel ve anlamsal "prangaları" ile kaplanmıştır.

Ne yapmalı - programlama eylemsizdir ve bilginin resmileştirilmesi ve bilgi veritabanlarının tasarımı bir sonuçtan çok bir süreçtir. Aşamalı çalışma, sonuçlara ulaşmak için bir ön koşuldur. Ancak, ara aşamalardan neredeyse işin başlangıcına kadar olan yinelemelerin sayısını kim saydı?

Bilgi her zaman dinamiktir, hiçbir şey sabit kalmaz: özellikle görevin konu alanı ve kullanıcı gereksinimleri. İşin tamamlanan her aşaması, halihazırda yapılmış olanı ve yapılması gerekenleri yeni bir düzeyde değerlendirmenize olanak tanır.

mantıksal veritabanı tasarımı
mantıksal veritabanı tasarımı

Veritabanı yapısı tasarlamayı bir görev olarak görüp nihai sonucu almak boşunadır. Veritabanı faaliyete geçer geçmez, veritabanı oluşturma aracı "basit" Excel olsa ve Oracle'ın fevkalade güçlü ve çok yönlü bir ürünü olmasa bile, kesinlikle yeni bir fikir ortaya çıkacaktır.milyonlarca işlemi, yüz binlerce eşzamanlı kullanıcıyı ve terabaytlarca bilgiyi manipüle etmek.

Öncelik, veri tabanının yapısı değil, nitelikli bir uzman ekibinin oluşturulması ve ayrıca işin tamamlanmasından sonra iletişim kurulmasına gerek kalmaması için sonucun daha fazla dinamizmi için zorunlu gerekliliktir. geliştiriciler, en az birkaç ay.

Sıralı gelişim ve/veya yüksek atlamalar

Windows bir veritabanı değildir, ancak bir kalıntısı vardır - kayıt defteri. Hosts dosyası, yerel makinenin IP adreslerinin ve sembolik adlarının basit bir tanımlamasıdır. Ancak bu dosya aracılığıyla farklı etki alanlarından veya farklı DBMS'lere bilgi akışları oluşur.

Çok yönlü Windows'u çalışan bir bilgisayar veya sunucu olarak anlamak mümkündür, ancak bu ürünün sürümlerinin mantığını haklı çıkarmak için hiçbir şekilde çalışmayacaktır. PHP de bir veritabanı değildir, ancak geliştiricilerin sürüm 5'in neden hemen sürüm 7'yi takip ettiği konusundaki argümanları tutarsızdır. PHP bir MySQL erişim aracıdır, sözdizimi SQL diyalektini kullanarak sorguların nasıl oluşturulacağını ve veritabanından yanıtların nasıl alınacağını tanımlar.

Modern programlama araçları ve veritabanı desteği arasındaki uyumsuzluk örnekleri son yıllarda norm haline geldi, ancak bu en orijinal değil. Windows 10 sürümünün arkasında ne olacak? Oracle Database 12c için beklentiler nelerdir?

Geliştirici-yazarın bilgileri: Oracle Database 11g Express Edition (Oracle Database XE), Oracle Database 11g Sürüm 2 DBMS kodunu temel alan giriş seviyesi bir DBMS'dir. Bu DBMS, geliştirme için ücretsizdir,dağıtım ve satış, hızlı indirme ve yönetimi kolay.”

Bir kullanıcı geliştiricinin bakış açısı: “2013'te Oracle, daha düşük depolama maliyetleri, yüksek veri kullanılabilirliği, kolay veritabanı konsolidasyonu ve veri erişimi koruması "" gibi temel avantajlarla Oracle Database 12c'yi (sürüm 12.1.0.1) piyasaya sürdü.

Gerçek Uygulama: Objektif, verimli ve etkili bir mantıksal veritabanı tasarımı yalnızca kalifiye geliştiricilerden oluşan bir ekip tarafından kullanılabilir. Çalışan bir sonuç elde etmek zor değil, gelen bilgi akışlarını resmileştirmek ve en uygun temeli belirlemek zor.

Kesin dikdörtgenlerden pürüzsüz şekiller dünyasına

Nesne yönelimli programlamanın ortaya çıkmasıyla birlikte, veri serileştirme yeni bir yaşam süresi kazandı. Aslında, etraftaki her şey, tercihen belirsiz uzunluktaki çizgilerden ibarettir. Sayılar ve tarihler de karakter dizileridir.

İlişkisel ilişkilerin gücü ve nesnelliği yadsınamaz, ancak sütunların ve satırların dinamikleri itibarlarına zarar verir mi? Bir tablo, yalnızca bir başlığı (bir sütun listesi) olan veya hiç satırı olmayan verilerdir. Tablonun yalnızca bir veri koleksiyonu olmasına izin verin, mutlaka adlandırılmış olması gerekmez.

Veri kümesi heterojen olabilir ve içinde farklı yapıda veriler bulabilirsiniz. Temel olarak, verilerin homojenliği kapsamın gelişimini gösterir. Verilerin türlere ve türlere göre dağılımı, sistematik ve nesnel bir yaklaşımın işaretidir, ancak yine de yapı dinamiği olasılığını kabul etmek tavsiye edilir.

Eğer çıktıkatı yapıların ötesinde bir veritabanı tasarlamak ve oluşturmak ve bir tablonun mutlaka aynı türde ve anlamsal olarak birbirine benzer olmayan satırlar topluluğu olduğunu varsayarsak, veritabanı tasarımı önemli ölçüde değişecektir.

Çalışmanın konusu, veritabanı yapısının bir açıklaması değil, bilgi hareketinin dinamikleri olacaktır. İşin aşamaları üç ağırlık merkezine bölünecektir:

  • giriş bilgi akışı;
  • Veritabanındaki bilgilerin dönüştürülmesi ve hareketi;
  • kullanılacak verileri seçin.

Tablo yapısı kavramı yoktur. Satır veya sütun yok. Algoritmadaki belirli bir noktayı karşılayan belirli bir yapının bir soyutlaması vardır. Daha spesifik olarak, bilgi işleme işlevi, belirli bir miktarda belirli bilgiler gerektirir.

Tüm bilgi işleme fonksiyonlarının özyinelemeli olması ve veriye değil fonksiyonlara odaklanma zorunluluğu, kullanıcının inisiyatifinde kullanılan birikmiş bilgi ve gelen veri akışının dinamiklerinde bir veritabanı tasarlamanıza olanak tanır., işlem veya başka bir işlev.

Aslında: bir kullanım sinyali geldi, bir getirme isteği alındı, uygulamada bir tetikleyici tetiklendi ve zaten orada bulunanlar aracılığıyla gelen bilgiler istenen çözümü sağladı.

Temel bilgi ve katı yapılar

Bilgi insanın ayrıcalığıdır, programlar bilgisayarların yüküdür. Geliştirici, belirli bir duruma uygun gördüğü şekilde bilgiyi uygulamakta özgürdür. Sıradan bir insan, pek çok veri tabanını önemsemeden kullanır. nasılveri tabanları sıradan bir insanın kafasında düzenlenir, kimse bilmez ama işini nasıl yürüttüğünü, bulduğunu nereye yazdığını ve ne zaman kullanması gerektiğini herkes bilir.

Programcının çalışmasının sonucu - ODBC aracılığıyla bir çevrimiçi mağazanın web sitesinden veri alan "Temel" program düzeyinde, veri almak için istekte bulunan bir Oracle geliştiricisine eşdeğerdir MAKS Havacılık ve Uzay Salonundan. Her iki sonuç da iş tamamlandığı andan itibaren statik olarak "donar". Bu bir kişinin kullandığı aktif bilgi değildir, bu bir veritabanı tasarım sistemi oluşturmanın sırrıdır.

Algoritma düzeltilemez. Her şey dinamik olarak tanımlanmalıdır. Nitelikli geliştiricilerin faydaları yadsınamaz, ancak yetenekleri sınırlı olan Oracle, MySQL veya Access'in zarif çözüm biçimlerinde hiçbir şekilde yalan söylemezler. Başka bir Excel elektronik tablosu dinamik içerik sağlayabilir ve işin tamamlanmasından sonra aşağı yukarı uygun bir süre için bir programcının katılımını gerektirmez.

Soru, veritabanının yapısı değil, uygulama alanının dinamiklerinin ne kadar iyi biçimlendirildiğidir.

Canlı Çözümler

İşi, profesyonel geliştiricilerden oluşan bir ekibi bir göreve bağlayacak şekilde planlamak imkansızdır. Takımı gücendirdiğinden değil ama bu doğru bir yaklaşım değil.

Canlı Çözümler
Canlı Çözümler

Veritabanı tasarlama görevi, geliştirilen işlevsellik kendini geliştirecek, bilgi biriktirecek ve “görevlerini” yerine getirirken koddan değil, başlayacak şekilde formüle edilmelidir.uzmanlar tarafından oluşturulmuştur, ancak bu kod aracılığıyla edinilen bilgilerden yola çıkılmıştır.

Önerilen: