• Veritabanı tasarlama ve oluşturma aşamaları. Veritabanı geliştirme aşamaları

    Parametre adı Anlam
    Makale konusu: Veritabanı tasarım adımları
    Değerlendirme listesi (tematik kategori) Bağlantı

    Veritabanı tasarımının aşamaları.

    Temalar: veritabanı tasarım aşamaları, nesne-ilişki modeline dayalı veritabanı tasarımı

    Bir veritabanı oluşturmadan önce geliştirici, veritabanının hangi tablolardan oluşması gerektiğini, her tabloya hangi verilerin yerleştirilmesi gerektiğini, tabloların nasıl bağlanacağını belirlemelidir. Bu sorunlar veri tabanı tasarımı aşamasında ele alınmaktadır.

    Tasarım sonucunda veritabanının mantıksal yapısı, yani ilişkisel tabloların kompozisyonu, yapısı ve tablolar arası ilişkileri belirlenmelidir.

    Bir veritabanı oluşturmadan önce, seçilen veritabanının bir açıklamasına sahip olmak son derece önemlidir. konu alanı, ĸᴏᴛᴏᴩᴏᴇ gerçek nesneleri ve süreçleri kapsamalı, beklenen kullanıcı isteklerini karşılamak için gerekli tüm bilgi kaynaklarını tanımlamalı ve veri işleme ihtiyaçlarını belirlemelidir.

    Böyle bir açıklamaya dayanarak, veri tabanı tasarım aşamasında, veri tabanında olması gereken ve gerekli sorgulamaların ve kullanıcı görevlerinin yerine getirilmesini sağlayan konu alanı verilerinin bileşimi ve yapısı belirlenir. Konu alanının veri yapısı, bilgi-mantıksal bir modelle görüntülenebilir. Bu modele dayanarak, ilişkisel bir veritabanı kolayca oluşturulur.

    Veritabanı tasarlama ve oluşturma aşamaları aşağıdaki sırayla belirlenir:

    ‣‣‣ konu alanının bilgi-mantıksal veri modelini oluşturmak;

    ‣‣‣ ilişkisel veritabanının mantıksal yapısını tanımlama;

    ‣‣‣ veritabanı tablolarının oluşturulması;

    ‣‣‣ bir veri şeması oluşturma;

    ‣‣‣ tablolara veri girme (kayıt oluşturma);

    ‣‣‣ gerekli formların, isteklerin, makroların, modüllerin, raporların geliştirilmesi;

    ‣‣‣ kullanıcı arayüzünün geliştirilmesi.

    Bir veri modeli geliştirme sürecinde, veri normalleştirme gereksinimlerini karşılayan bilgi nesnelerini belirlemek ve aralarındaki ilişkileri belirlemek son derece önemlidir. Bu model, ilk yükleme ve ayarlamalar sırasında tek seferlik veri girişi ve değişiklikler yapıldığında veri bütünlüğü sağlayan, yineleme olmadan ilişkisel bir veritabanı oluşturmanıza olanak tanır.

    Bir veri modeli geliştirirken iki yaklaşım kullanılabilir. İlk yaklaşımdaöncelikle ana görevler belirlenmekte, çözümü için alt yapı oluşturulmakta, görevlerin veri ihtiyaçları belirlenmekte ve buna göre kompozisyon ve yapı belirlenmektedir. bilgi nesneleri. İkinci yaklaşım ile konu alanındaki tipik nesneler hemen kurulur. Her iki yaklaşımın en rasyonel kombinasyonu. Bunun nedeni, üzerinde İlk aşama Kural olarak, tüm görevler hakkında kapsamlı bilgi yoktur. İlişkisel veritabanları oluşturmaya yönelik esnek araçlar, daha önce girilen verilere halel getirmeksizin geliştirmenin herhangi bir aşamasında veritabanında değişiklikler yapmayı ve yapısını değiştirmeyi mümkün kıldığından, bu teknolojinin kullanımı daha da haklıdır.

    Normalleştirme gereksinimlerini karşılayan konu alanındaki bilgi nesnelerini seçme süreci, sezgisel veya resmi bir yaklaşım temelinde gerçekleştirilebilir. teorik temel resmi yaklaşım, ünlü Amerikalı bilim adamı J. Martin tarafından veritabanlarının organizasyonuna ilişkin monografilerde geliştirilmiş ve tam olarak açıklanmıştır.

    Sezgisel bir yaklaşımla, gerçek nesnelere karşılık gelen bilgi nesneleri kolayca tanımlanır. Aynı zamanda, ortaya çıkan bilgi-mantıksal model, kural olarak, özellikle nesneler arasındaki çok değerli ilişkilerin dönüştürülmesi olmak üzere daha fazla dönüşüm gerektirir. Bu yaklaşımla, yeterli deneyim yoksa önemli hatalar mümkündür. Normalleştirme gerekliliklerinin yerine getirildiğinin müteakip doğrulaması, genellikle bilgi nesnelerini iyileştirmenin kritik önemini gösterir.

    Bilgi nesnelerini seçmek için kullanılan resmi kuralları göz önünde bulundurun.

    ‣‣‣ Konu alanının açıklamasına göre, veritabanında saklanacak belgeleri ve niteliklerini tanımlayın;

    ‣‣‣ tanımlamak işlevsel bağımlılıklar nitelikler arasında;

    ‣‣‣ tüm bağımlı nitelikleri seçin ve temel niteliklerinin her biri için, yani bağlı olduğu özellikleri belirtin;

    ‣‣‣ grup nitelikleri, temel niteliklere eşit derecede bağlıdır. Ortaya çıkan bağımlı öznitelik grupları, anahtar öznitelikleriyle birlikte bilgi nesnelerini oluşturur.

    Bir modele dayalı bir ilişkisel veri tabanının mantıksal yapısını tanımlarken, her bilgi nesnesi bir ilişkisel tablo ile yeterince temsil edilir ve tablolar arasındaki ilişkiler, bilgi nesneleri arasındaki ilişkilere karşılık gelir.

    Oluşturma işlemi sırasında, ilgili veritabanı tabloları bilgi nesneleri oluşturulmuş veri modeli. Ayrıca, tablolar arasındaki mevcut mantıksal ilişkilerin sabitlendiği bir veri şeması oluşturulabilir. Bu bağlantılar, bilgi nesnelerinin bağlantılarına karşılık gelir. Veri modeli normalleştirme gereksinimlerine uygun olarak geliştirilmişse, veri şeması veritabanının bütünlüğünü koruyacak şekilde ayarlanabilir. Veri bütünlüğü, ilgili tablolardaki kayıtları yüklerken, eklerken ve silerken ve ayrıca anahtar alanların değerlerini değiştirirken, farklı tabloların kayıtları arasındaki ilişkilerin kurulması ve veritabanında doğru bir şekilde sürdürülmesi anlamına gelir.

    Veri şeması oluşturulduktan sonra konu alanına ait belgelerden tutarlı verilerin girişi gerçekleştirilir.

    Oluşturulan veritabanı temelinde, veritabanı verilerinin gerekli işlenmesini ve sunumunu gerçekleştiren gerekli sorgular, formlar, makrolar, modüller, raporlar oluşturulur.

    Yerleşik araçlar ve veritabanı araçlarının yardımıyla, bir Kullanıcı arayüzü veritabanı bilgilerinin girilmesi, saklanması, işlenmesi, güncellenmesi ve sunulması süreçlerini yönetmenizi sağlar.

    2 Nesne-ilişki modeline dayalı bir veritabanı tasarlama

    Bilgi-mantıksal modeller oluşturmak için bir dizi yöntem vardır. Günümüzün en popüler modelleme tekniklerinden biri ERD (Varlık-İlişki Diyagramları) kullanmaktır. Rus edebiyatında bu diyagramlara "nesne - ilişki" veya "öz - bağlantı" denir. ERD modeli, 1976 ᴦ'de Peter Ping Shen Chen tarafından önerildi. Bugüne kadar birkaç çeşidi geliştirildi, ancak hepsi Chen tarafından önerilen grafik diyagramlara dayanıyor. Diyagramlar az sayıda bileşenden oluşturulur. Sunumun netliği nedeniyle, CASE araçlarında (Bilgisayar Destekli Yazılım Mühendisliği) yaygın olarak kullanılırlar.

    Kullanılan terminolojiyi ve gösterimi göz önünde bulundurun.

    varlık- incelenen konu alanı için gerekli olan ve hakkında bilgilerin saklanacağı gerçek veya hayali bir nesne.

    Her varlığın benzersiz bir tanımlayıcısı olmalıdır. Bir varlığın her örneği benzersiz bir şekilde tanımlanmalı ve belirli bir türün (varlığın) diğer tüm örneklerinden farklı olmalıdır. Her varlığın bazı özellikleri olmalıdır:

    ‣‣‣ benzersiz bir ada sahip; ayrıca, bu isme her zaman aynı yorum (varlığın tanımı) uygulanmalıdır. Ve tam tersi: aynı yorum, takma ad olmadıkça farklı adlara uygulanamaz;

    ‣‣‣ bir varlığa ait olan veya bir ilişki yoluyla onun tarafından miras alınan bir veya daha fazla niteliğe sahip olmak;

    ‣‣‣ her varlık örneğini benzersiz şekilde tanımlayan bir veya daha fazla özniteliğe sahiptir.

    Bir varlık bağımsız veya bağımlı olmalıdır. Bağımlı bir varlığın işareti, bir ilişki yoluyla miras alınan niteliklerin varlığıdır (Şekil 1.).

    Her varlık, diğer model varlıklarıyla herhangi bir sayıda ilişkiye sahip olabilir.

    İlişki- söz konusu konu alanı için önemli olan iki varlık arasında adlandırılmış bir ilişki. Bağlantıya katılan varlıklardan biri bağımsızdır, ana varlık olarak adlandırılır, diğeri bağımlıdır, alt veya alt varlık olarak adlandırılır. Kural olarak, üst varlığın her bir örneği, alt varlığın rasgele sayıda (sıfır dahil) örneğiyle ilişkilendirilir. Her alt varlık örneği, üst varlığın tam olarak bir örneğiyle ilişkilendirilir. Örneğin, bir alt varlığın bir örneği, yalnızca ana varlık varsa var olabilir.

    Bağlantıya, fiilin gramer döngüsüyle ifade edilen bir ad verilir ve bağlantı çizgisinin yanına yerleştirilir. her birinin adı Verilen iki varlık arasındaki ilişkilerin benzersiz olması gerekir, ancak modeldeki ilişki adlarının benzersiz olması gerekmez. Her ilişkinin bir tanımı vardır. Üst varlığın adı, ilişkinin adı, ilişki derecesi ifadesi ve alt varlığın adı birleştirilerek bir ilişki tanımı oluşturulur.

    Örneğin, satıcının sözleşme ile olan ilişkisi şu şekilde tanımlanmalıdır:

    ‣‣‣ satıcı bir veya daha fazla Sözleşme için ödüllendirilebilir;

    ‣‣‣ Sözleşme tam olarak bir Satıcı tarafından başlatılmalıdır.

    Diyagramda, ilişki bir parça (sürekli çizgi) ile temsil edilir. Özel tanımlamaların yardımıyla segmentin uçları (Şekil 2), bağlantı derecesini gösterir. Aynı zamanda, çizginin doğası - kesikli veya düz, iletişim zorunluluğunu gösterir.

    Bağlanmak- incelenmekte olan konu alanı için önemli olan bir varlığın herhangi bir özelliği. Bir varlığın durumunu nitelendirmek, tanımlamak, sınıflandırmak, ölçmek veya ifade etmek için tasarlanmıştır. Nitelik, bir dizi gerçek veya soyut nesneyle (insanlar, yerler, olaylar, durumlar, fikirler, nesne çiftleri vb.) ilişkili bir tür özelliği (özellikleri) temsil eder (Şekil 3). Öznitelik örneği bir varlığın belirli bir örneğinin belirli bir özelliğidir. Bir öznitelik örneği, öznitelik değeri adı verilen bir karakteristik türü (ör. "Renk") ve değeri (ör. "leylak") tarafından tanımlanır. ER modelinde, nitelikler belirli varlıklarla ilişkilendirilir. Her varlık örneği, özniteliklerinin her biri için belirli bir değere sahip olmalıdır.

    Öznitelik ya zorunlu, veya isteğe bağlı. Zorunlu, özniteliğin boş değerlere sahip olamayacağı anlamına gelir. Nitelik, tanımlayıcı (yani normal bir varlık tanımlayıcısı) veya benzersiz bir tanımlayıcının parçası olmalıdır ( birincil anahtar).

    benzersiz tanımlayıcı belirli bir varlık tipinin her bir örneğini benzersiz bir şekilde karakterize eden bir özellik veya bir dizi özellik ve/veya ilişkidir. Tam tanımlama durumunda, belirli bir varlık tipinin bir örneği kendi anahtar öznitelikleriyle tam olarak tanımlanır, aksi takdirde başka bir varlığın, üst öğenin öznitelikleri de tanımlamaya dahil olur.

    Tanımlamanın niteliği, iletişim hattındaki şemada gösterilir (Şek. 4).

    Her özellik, özelliğin temsil ettiği özelliği tanımlayan bir isim tamlaması ile ifade edilen benzersiz bir adla tanımlanır. Öznitelikler, her bir özniteliğin ayrı bir satırı kapladığı ilişkili bir varlık bloğu içindeki adların bir listesi olarak görüntülenir. Birincil anahtarı tanımlayan nitelikler listenin en üstüne yerleştirilir ve ʼʼ#ʼʼ ile işaretlenir.

    Her varlığın en az bir olası anahtarı olmalıdır. Olası bir varlık anahtarı, değerleri her varlık örneğini benzersiz şekilde tanımlayan bir veya daha fazla özelliktir. Birden fazla olası anahtar olduğunda, bunlardan biri birincil anahtar, geri kalanı alternatif anahtarlar olarak belirlenir.

    Bugün, Chen'in yaklaşımına dayalı olarak, çalışma kolaylığı ve otomasyon olasılığı gibi gereksinimler dikkate alınarak tasarlanan IDEF1X metodolojisi oluşturulmuştur. IDEFlX diyagramları, bir dizi yaygın CASE aracı (örn. ERwin, Design/IDEF) tarafından kullanılır.

    IDEF1X metodolojisindeki bir varlık, tanımlayıcıdan bağımsız veya bir varlığın her bir örneğinin, diğer varlıklarla ilişkisini tanımlamadan benzersiz bir şekilde tanımlanması gerekiyorsa, yalnızca bağımsız olarak adlandırılır. Bir varlık, genellikle tanımlayıcılara bağımlı olarak adlandırılır veya bir varlık örneğinin benzersiz kimliği, başka bir varlıkla olan ilişkisine bağlıysa, basitçe bağımlı olarak adlandırılır (Şekil 5).

    Her varlığa, ʼʼ/ʼʼ eğik çizgi ile ayrılmış ve bloğun üzerine yerleştirilmiş benzersiz bir ad ve numara atanır.

    Bir alt varlığın bir örneği, ana varlıkla olan ilişkisi tarafından benzersiz bir şekilde belirlenirse, o zaman ilişki genellikle tanımlayıcı olarak adlandırılır, aksi takdirde tanımlayıcı değildir.

    Bir ana varlık ile bir alt varlık arasındaki tanımlayıcı ilişki düz bir çizgi olarak gösterilir. Şek. 5: #2 - bağımlı varlık, İlişki 1 - tanımlayıcı ilişki. Tanımlayıcı bir ilişkideki bir alt varlık, kimliğe bağımlı bir varlıktır. Tanımlayıcı bir ilişkideki ana varlık, tanımlayıcıya hem bağımsız hem de bağımlı olmalıdır (bu, diğer varlıklarla olan ilişkileri tarafından belirlenir).

    Kesikli çizgi, tanımlayıcı olmayan bir ilişkiyi gösterir. Şek. 5: #4 bağımsız bir varlıktır, Bağlantı 2 tanımlayıcı olmayan bir bağlantıdır. Tanımlayıcı olmayan bir ilişkideki bir alt varlık, aynı zamanda herhangi bir tanımlayıcı ilişkideki bir alt varlık değilse, tanımlayıcıdan bağımsız olacaktır.

    Bir ilişki, bir derece veya kardinalite belirtilerek daha fazla tanımlanabilir (alt varlık örneklerinin sayısı, ĸᴏᴛᴏᴩᴏᴇ her üst varlık örneği için mevcut olabilir). IDEF1X'te aşağıdaki kardinaliteler ifade edilir:

    ‣‣‣ Her üst varlık örneğinin kendisiyle ilişkilendirilmiş sıfır, bir veya daha fazla alt varlık örneği olabilir;

    ‣‣‣ her üst varlık örneğinin kendisiyle ilişkilendirilmiş en az bir alt varlık örneğine sahip olması gerekir;

    ‣‣‣ her üst varlık örneğinin kendisiyle ilişkili en fazla bir alt varlık örneğine sahip olması gerekir;

    ‣‣‣ Her üst varlık örneği, bazı sabit sayıda alt varlık örneğiyle ilişkilendirilir.

    Bağlantı gücü, Şekil 1'de gösterildiği gibi gösterilir. 6 (varsayılan güç - N).

    Varlıkların Yabancı Anahtarları da olabilir. Tanımlayıcı bir ilişkiyle, birincil anahtarın bir parçası veya tamamı olarak kullanılırlar, tanımlayıcı olmayan bir ilişkiyle, anahtar olmayan nitelikler olarak işlev görürler. Öznitelik listesinde, yabancı anahtar parantez içinde FK harfleriyle işaretlenir.

    Sonuç, ERwin, Design / IDEF gibi bir dizi yaygın CASE aracı tarafından kullanılan bir bilgi-mantıksal modeldir. Buna karşılık, CASE teknolojileri, veritabanlarının ve bilgi sistemlerinin geliştirilmesinde, yani işgücü üretkenliğini artırmada, yazılım ürünlerinin kalitesini iyileştirmede, birleşik ve tutarlı bir çalışma tarzını desteklemede yüksek potansiyele sahiptir.

    Veritabanı tasarım aşamaları - kavram ve türleri. "Veritabanı tasarım aşamaları" kategorisinin sınıflandırılması ve özellikleri 2017, 2018.

    Veritabanı (DB) tasarımının özü, diğer herhangi bir tasarım sürecinin yanı sıra, daha önce bu biçimde olmayan ve uygulandığında sözde uygun koşullar altında çalışabilen yeni bir sistemin bir tanımını oluşturmaktır. Bundan, veritabanı tasarım aşamalarının tutarlı ve mantıklı bir şekilde bu sürecin özünü yansıtması gerektiği sonucu çıkar.

    Veritabanı tasarımının içeriği ve aşamaları

    Tasarım fikri, bazı formüle edilmiş sosyal ihtiyaçlara dayanmaktadır. Bu ihtiyacın ortaya çıkması için bir ortamı ve tasarımın sonucunu kullanacak tüketicilerden oluşan bir hedef kitlesi vardır. Bu nedenle, veri tabanı tasarım süreci, belirli bir ihtiyacı müşterilerin bakış açısından ve hedeflenen konumun işlevsel ortamı açısından inceleyerek başlar. Yani, ilk aşama, bilgilerin toplanması ve sistemin konu alanının bir modelinin tanımlanması ve buna hedef kitlenin bakış açısından bakılmasıdır. Genel olarak, sistem gereksinimlerinin belirlenmesi için, eylemlerin kapsamı ve veritabanı uygulamalarının sınırları belirlenir.

    Ayrıca, ne yaratması gerektiğine dair zaten belirli fikirleri olan tasarımcı, uygulama tarafından çözüldüğü varsayılan görevleri netleştirir, bunların bir listesini oluşturur (özellikle tasarım geliştirmenin büyük ve karmaşık bir veritabanı varsa), çözme sırasını netleştirir. problemleri çözer ve verileri analiz eder. Böyle bir süreç aynı zamanda aşamalı bir tasarım çalışmasıdır, ancak genellikle tasarım yapısında bu adımlar aşama tarafından özümsenir. kavramsal tasarım- nesneleri, nitelikleri, bağlantıları seçme aşaması.

    Bir kavramsal (bilgi modeli) oluşturulması, hemen uygulanamayan ancak gelecekte sistemin işlevselliğini iyileştirecek olan uygulamalar için gereksinimler de dahil olmak üzere, kullanıcıların kavramsal gereksinimlerinin ön oluşumunu içerir. Bir kümenin nesne soyutlamalarının temsilleriyle (fiziksel depolama yöntemlerini belirtmeden) ve bunların ilişkileriyle ilgilenen kavramsal model, alan modelinin içeriğine karşılık gelir. Bu nedenle literatürde veri tabanı tasarımının ilk aşamasına infolojik tasarım adı verilmektedir.

    Ardından, ayrı bir aşama (veya bir öncekine ek), sistemin işleyişini sağlayabilecek bilgi işlem kaynakları gereksinimlerinin değerlendirildiği işletim ortamı için gereksinimlerin oluşturulması aşaması gelir. Buna göre, tasarlanan veritabanının hacmi ne kadar büyükse, kullanıcı etkinliği ve aramaların yoğunluğu o kadar yüksek, kaynak gereksinimleri de o kadar yüksek: bilgisayar yapılandırması, türü ve sürümü için işletim sistemi. Örneğin, gelecekteki veritabanının çok kullanıcılı modu şunları gerektirir: ağ bağlantısıçoklu görev için uygun bir işletim sistemi kullanmak.

    Bir sonraki adımda, tasarımcı bir veritabanı yönetim sistemi (DBMS) ve yazılım araçları seçmelidir. Daha sonra kavramsal model, seçilen kontrol sistemi ile uyumlu bir veri modeline aktarılmalıdır. Ancak bu, genellikle kavramsal modelde yapılan değişikliklerin ve değişikliklerin getirilmesiyle ilişkilendirilir, çünkü kavramsal model tarafından yansıtılan nesnelerin birbirleriyle olan ilişkileri her zaman bu DBMS'nin araçları kullanılarak uygulanamaz.

    Bu durum, bir sonraki aşamanın - VTYS destekli belirli bir kavramsal modelin - ortaya çıkışını belirler. Bu adım, mantıksal tasarım aşamasına (mantıksal bir modelin oluşturulması) karşılık gelir.

    Son olarak, veritabanı tasarımının son aşaması fiziksel tasarımdır - mantıksal yapı ile fiziksel depolama ortamını bağlama aşaması.

    Böylece, tasarımın ana aşamaları ayrıntılı bir biçimde aşamalarla temsil edilir:

    • bilgi tasarımı,
    • çalışma ortamı için gereksinimlerin oluşturulması
    • kontrol sistemi seçimi ve yazılım araçları veritabanı,
    • mantıksal tasarım,
    • fiziksel tasarım

    Anahtar olanlar aşağıda daha ayrıntılı olarak tartışılacaktır.

    bilgisel tasarım

    Varlıkların tanımlanması, bilgisel tasarımın anlamsal temelidir. Buradaki varlık, sistemde hakkında bilgi toplanacak olan böyle bir nesnedir (soyut veya somut). Konu alanının bilgisel modelinde, veri tabanının özel uygulamasına bağlı olmayan, kullanıcı dostu terimlerle, konu alanının yapısı ve dinamik özellikleri açıklanır. Ancak terimler tipik bir ölçekte alınır. Yani, açıklama, konu alanındaki bireysel nesneler ve bunların ilişkileri aracılığıyla değil, aşağıdakiler aracılığıyla ifade edilir:

    • nesne türlerinin tanımı,
    • açıklanan türle ilişkili bütünlük kısıtlamaları,
    • konu alanının gelişimine yol açan süreçler - başka bir duruma geçişi.

    Bir infolojik model, çeşitli yöntemler ve yaklaşımlar kullanılarak oluşturulabilir:

    1. İşlevsel yaklaşım, belirlenen görevlere dayalıdır. Tasarlanan veri tabanı yardımıyla bilgi ihtiyaçlarını giderecek kişilerin fonksiyon ve görevleri biliniyorsa kullanıldığı için fonksiyonel olarak adlandırılır.
    2. Söz konusu yaklaşım, sorguların yapısı belirlenemese de veri tabanında yer alacak bilgilerle ilgili bilgilere odaklanır. Bu durumda, konu alanının araştırılmasında, veri tabanında bağlamdaki en uygun gösterimi ile yönlendirilirler. tam spektrum beklenen bilgi talepleri
    3. "Varlık-ilişki" yöntemine dayalı entegre bir yaklaşım, önceki iki yöntemin avantajlarını birleştirir. Yöntem, tüm konu alanını, ayrı ayrı modellenen ve daha sonra tek bir alanda yeniden birleştirilen yerel parçalara bölmeye indirgenmiştir.

    Varlık-ilişki yönteminin kullanımı bu aşamada birleşik bir tasarım yöntemi olduğu için diğerlerinden daha sık bir öncelik haline gelir.

    Metodik ayırmaya sahip yerel temsiller, mümkünse, ayrı bir sorunu çözmeye veya bir grup potansiyel kullanıcı için istek sağlamaya yetecek bilgileri içermelidir. Bu alanların her biri yaklaşık 6-7 varlık içerir ve herhangi bir ayrı harici uygulamaya karşılık gelir.

    Varlıkların bağımlılığı, güçlü (temel, ebeveyn) ve zayıf (çocuk) olarak bölünmelerine yansır. Güçlü bir varlık (örneğin, bir kitaplıktaki bir okuyucu) veritabanında kendi başına var olabilirken, zayıf bir varlık (örneğin, bu okuyucunun aboneliği) güçlü bir varlığa "bağlıdır" ve ayrı olarak mevcut değildir.

    "Varlık örneği" (belirli özellik değerleri ile karakterize edilen bir nesne) kavramlarını ve ortak bir ad ve bir özellikler listesi ile karakterize edilen bir nesne olan "varlık tipi" kavramını ayırmak gerekir.

    Her bir varlık için, kritere bağlı olarak şunlar olabilecek nitelikler (bir dizi özellik) seçilir:

    • özdeşleştirmek (ile eşsiz değer bu türden varlıklar için, onları potansiyel anahtarlar haline getirir) veya açıklayıcı;
    • tek değerli veya çok değerli (bir varlık örneği için uygun sayıda değerle);
    • temel (diğer özelliklerden bağımsız) veya türevler (diğer özelliklerin değerlerine göre hesaplanır);
    • basit (bölünemez tek bileşenli) veya bileşik (birkaç bileşenden birleştirilmiş).

    Bundan sonra, özniteliğin belirtilmesi, yerel temsildeki bağlantıların belirtilmesi (isteğe bağlı ve zorunlu olarak ayrılır) ve yerel temsillerin birleştirilmesi gerçekleştirilir.4-5'e kadar yerel bölge ile, bunlar bir araya getirilebilir. adım. Sayının artması durumunda, alanların ikili birleşmesi birkaç aşamada gerçekleşir.

    Bu ve diğer ara aşamalar sırasında, tasarımın yinelemeli doğası yansıtılır; bu, çelişkileri ortadan kaldırmak için, açıklama ve değişiklik için yerel temsilleri modelleme aşamasına geri dönmenin gerekli olduğu gerçeğinde ifade edilir (örneğin, anlamsal olarak farklı nesnelerin aynı adlarını değiştirmek veya farklı uygulamalarda aynı nitelikler üzerinde bütünlük nitelikleri üzerinde anlaşmak).

    Kontrol sistemi ve veritabanı yazılımı seçimi

    Bilgi sisteminin pratik uygulaması, veri tabanı yönetim sisteminin seçimine bağlıdır. Seçim sürecindeki en önemli kriterler parametrelerdir:

    • veri modelinin türü ve konu alanının ihtiyaçlarına uygunluğu,
    • bilgi sisteminin genişletilmesi durumunda fırsat marjı,
    • seçilen sistemin performans özellikleri,
    • VTYS'nin operasyonel güvenilirliği ve rahatlığı,
    • veri yönetimi personeline yönelik araçlar,
    • DBMS'nin maliyeti ve ek yazılım.

    VTYS seçimindeki hatalar, neredeyse kesinlikle daha sonra kavramsal ve mantıksal modellerin ayarlanması ihtiyacını doğuracaktır.

    Mantıksal veritabanı tasarımı

    Veritabanının mantıksal yapısı, konu alanının mantıksal modeline karşılık gelmeli ve veri modelinin desteklenen VTYS ile ilişkisini dikkate almalıdır. Bu nedenle aşama, basitliğini ve netliğini dikkate almanın önemli olduğu bir veri modeli seçimi ile başlar.

    Tercihen doğal veri yapısı, onu temsil eden modelle eşleşir. Bu nedenle, örneğin, veriler hiyerarşik bir yapı biçiminde sunuluyorsa, hiyerarşik bir model seçmek daha iyidir. Bununla birlikte, pratikte, böyle bir seçim genellikle veri modeli tarafından değil, veritabanı yönetim sistemi tarafından belirlenir. Bu nedenle, kavramsal model aslında seçilen veri tabanı yönetim sistemi ile uyumlu bir veri modeline dönüştürülür.

    Tasarımın doğası da burada yansıtılır; bu, orada yansıtılan nesneler (veya nesne nitelikleri) arasındaki ilişkiler seçilen VTYS'nin araçları kullanılarak uygulanamıyorsa, onu değiştirmek için kavramsal modele geri dönme olasılığına (veya gerekliliğine) izin verir.

    Aşama tamamlandıktan sonra, seçilen VTYS tarafından desteklenen veri tanımlama dilinde oluşturulan her iki mimari seviyesinin (kavramsal ve harici) veritabanı şemaları oluşturulmalıdır.

    Veritabanı şemaları, iki farklı yaklaşımdan biri kullanılarak oluşturulur:

    • veya nitelik tanımının alt düzeylerinden çalışırken, nitelikler arasında var olan ilişkilere dayalı olarak nesneleri temsil eden ilişkiler halinde gruplandırılmış, aşağıdan yukarıya bir yaklaşım kullanarak;
    • veya öznitelik sayısında önemli bir artışla (yüzlerce ve binlere kadar) uygulanan yukarıdan aşağıya yaklaşımın tersi yardımıyla.

    İkinci yaklaşım, bir dizi üst düzey varlığın ve bunların ilişkilerinin tanımlanmasını ve ardından, örneğin "varlık-ilişki" yöntemi temelinde oluşturulan bir modeli yansıtan, istenen düzeye kadar detaylandırmayı içerir. Bununla birlikte, uygulamada, her iki yaklaşım da genellikle birleştirilir.

    Fiziksel veritabanı tasarımı

    Açık Sonraki adım veritabanının fiziksel tasarımı, mantıksal yapı, bir veritabanı depolama yapısı şeklinde gösterilir, yani verilerin mümkün olduğunca verimli bir şekilde yerleştirileceği böyle bir fiziksel depolama ortamına bağlıdır. Burada veri şeması, tüm türleri, alanları, boyutları ve kısıtlamaları belirterek ayrıntılı olarak açıklanmaktadır. İndeksler ve tablolar geliştirmeye ek olarak, temel sorgular tanımlanır.

    Fiziksel bir modelin inşası, birçok açıdan çelişkili problemlerin çözümü ile ilişkilidir:

    1. veri depolama alanı minimizasyon problemleri,
    2. bütünlük, güvenlik ve maksimum performans.

    İkinci görev birinciyle çelişiyor, çünkü örneğin:

    • işlemlerin verimli çalışması için geçici nesneler için disk alanı ayırmanız gerekir,
    • arama hızını artırmak için, sayıları aramaya dahil olan tüm olası alan kombinasyonlarının sayısına göre belirlenen dizinler oluşturmanız gerekir;
    • verileri geri yüklemek için veritabanı yedeklenecek ve tüm değişikliklerin günlüğü tutulacaktır.

    Tüm bunlar veritabanının boyutunu artırır, bu nedenle tasarımcı, verileri bellek alanına yetkin bir şekilde yerleştirerek görevlerin en uygun şekilde çözüldüğü, ancak hem yetkisiz erişime karşı korumayı hem de korumayı içeren veritabanı koruması pahasına değil, makul bir denge arıyor. başarısızlıklardan.

    Fiziksel bir modelin oluşturulmasını tamamlamak için operasyonel özellikleri değerlendirilir (arama hızı, sorgu yürütme verimliliği ve kaynak tüketimi, işlemlerin doğruluğu). Bazen bu aşama, veritabanı uygulama, test ve optimizasyon aşamaları ile bakım ve işletme aşamaları gibi, doğrudan veritabanı tasarımının kapsamı dışında tutulur.

    Federal Eğitim Ajansı

    Yüksek mesleki eğitimin devlet eğitim kurumu

    AMUR DEVLET ÜNİVERSİTESİ

    (GOUVPO "AmSU")

    ÖLÇEK

    "Ekonomide bilgi sistemleri" disiplininde

    konuyla ilgili: "İnşaat ilkeleri ve veritabanları tasarlama aşamaları"

    yürütücü

    C grubu öğrencisi - 81 N.A. Vokhmyanina

    süpervizör

    Doçent, Ph.D. D. G. Şevko

    Blagoveşçensk 2010


    giriiş

    1. Veritabanları oluşturma ilkeleri

    2. Veritabanları oluşturma kavramları

    3. Veritabanı tasarımının aşamaları

    bibliyografik liste


    GİRİİŞ

    Gerçek dünyanın algısı, bazen birbiriyle ilişkili olsa da, bir dizi farklı fenomenle ilişkilendirilebilir. Eski zamanlardan beri insanlar bu fenomenleri (anlamadıkları zamanlarda bile) tanımlamaya çalıştılar. Böyle bir açıklamaya veri denir.

    Geleneksel olarak veri yakalama, belirli bir iletişim aracı kullanılarak, örneğin belirli bir ortamda doğal dil kullanılarak gerçekleştirilir.

    Şu anda, çeşitli firmaların, kuruluşların ve işletmelerin başarılı bir şekilde işlemesi, verilerin toplanmasını ve işlenmesini otomatikleştirmenize izin veren gelişmiş bir bilgi sistemi olmadan mümkün değildir. Genellikle, belirli bir konu alanı hakkında bilgi içeren verileri depolamak ve bunlara erişmek için bir veritabanı oluşturulur.

    Veritabanı (DB)- incelenen konu alanındaki nesnelerin durumunu ve ilişkilerini yansıtan adlandırılmış bir veri seti.

    Bir konu alanı genellikle, örneğin bir işletme, bir üniversite vb. Yönetim ve otomasyon organizasyonu için incelenecek olan belirli bir insan faaliyeti alanı veya gerçek dünyanın bir alanı olarak anlaşılır.

    Veritabanı yönetim sistemi (DBMS)- veritabanlarını oluşturmak, doldurmak, güncellemek ve silmek için tasarlanmış bir dizi dil ve yazılım aracı.

    Kullanıcıların veritabanıyla birlikte çalıştığı programlara uygulama denir.


    1. VERİTABANLARI OLUŞTURMA İLKELERİ

    Aşağıdaki temel gereksinimler, modern veritabanlarına ve dolayısıyla bunların üzerine inşa edildikleri VTYS'ye uygulanır.

    1. Yüksek performans (bir talebe kısa yanıt süresi).

    Tepki süresi - veritabanına bir talep anından verilerin fiili olarak alınmasına kadar geçen süre. Benzer bir terim erişim süresidir - bir yazma (okuma) komutunun verilmesi ile gerçek veri alımı arasındaki zaman aralığı. Erişim, veri arama, okuma veya yazma işlemini ifade eder. Veri yazma, silme ve değiştirme işlemlerine genellikle güncelleme işlemi denir.

    2. Verileri güncellemek kolaydır.

    3. Veri bağımsızlığı.

    4. Birçok kullanıcı arasında veri paylaşımı.

    5. Veri güvenliği - verilerin kasıtlı veya kasıtsız gizlilik ihlali, bozulma veya imhaya karşı korunması.

    6. Veritabanının (aslında VTYS'nin) yapımı ve işletiminin standardizasyonu.

    8. Kullanıcı dostu arayüz.

    En önemlileri, çelişen ilk iki gereksinimdir: performans iyileştirme veritabanı yapısının basitleştirilmesini gerektirir, bu da prosedürü karmaşıklaştırır veri güncellemeleri, fazlalıklarını artırır.

    Veri Bağımsızlığı- kullanıcıların görüşlerini değiştirmeden veritabanının mantıksal ve fiziksel yapısını değiştirme yeteneği.

    Veri bağımsızlığı, veri depolama, yazılım ve donanımın doğasında değişmezlik anlamına gelir. Veri erişim stratejisindeki ve kaynak verilerin yapısındaki değişikliklerle veritabanı yapısında minimum değişiklik sağlar. Bu, fiziksel tasarım aşamasında minimum değişiklikle tüm değişiklikleri kavramsal ve mantıksal tasarım aşamalarına "kaydırarak" elde edilir.

    Veri güvenliği bütünlüklerini ve korumalarını içerir.

    Veri bütünlüğü - depolanan verilerin bozulmaya ve arızalarla ilişkili yıkıma karşı direnci teknik araçlar, sistem hataları ve kullanıcıların hatalı eylemleri.

    O öneriyor:

    1. yanlış girilen verilerin veya aynı olgu hakkında iki özdeş girişin bulunmaması;

    2. veritabanını güncellerken hatalara karşı koruma;

    3. farklı tablolardaki ilgili verilerin silinmesinin (veya ardışık olarak silinmesinin) imkansızlığı;

    4. çok kullanıcılı modda ve dağıtılmış veritabanlarında çalışırken verilerin bozulmaması;

    5. ekipman arızası durumunda veri güvenliği (veri kurtarma).

    Bütünlük, bütünlük tetikleyicileri - belirli koşullar altında çalışan özel uygulamalar-programlar tarafından sağlanır. Verilerin yetkisiz erişime karşı korunması, gizli verilere erişimin kısıtlanmasını içerir ve şu şekilde gerçekleştirilebilir:

    1. bir şifre sisteminin getirilmesi;

    2. veritabanı yöneticisinden (DBA) izinlerin alınması;

    4. görünümlerin oluşturulması - orijinal olanlardan türetilen ve belirli kullanıcılara yönelik tablolar.

    Son üç prosedür, genellikle SQL2 olarak adlandırılan Yapılandırılmış Sorgu Dili - SQL içinde kolayca gerçekleştirilir.

    Standardizasyon, VTYS nesillerinin sürekliliğini sağlar, bir nesil VTYS'nin veritabanlarının aynı ve farklı veri modelleriyle etkileşimini basitleştirir. Standardizasyon (ANSI/SPARC), DBMS'nin kullanıcı arabirimi ve SQL dili açısından büyük ölçüde uygulanmıştır. Bu, çeşitli etkileşim problemini başarıyla çözmeyi mümkün kıldı. ilişkisel VTYS hem SQL dilini kullanarak hem de Açık Veri Tabanı Bağlantısı (ODBC) uygulamasını kullanarak. Bu durumda hem yerel hem de uzaktan erişim verilere (istemci/sunucu teknolojisi veya ağ seçeneği).

    2. VERİTABANI OLUŞTURMA KONSEPTİ

    Bir otomatik kontrol sistemi (ACS) oluşturmaya yönelik iki yaklaşıma dayanan bir veritabanı oluşturmaya yönelik iki yaklaşım vardır.

    Bunlardan ilki, 80'lerde yaygın olarak kullanılan ve bu nedenle adlandırılan klasik (geleneksel), iş akışının otomasyonu ile ilişkili (işletme sürecinde hareket eden bir dizi belge). Belgeler, örnek1'den de görülebileceği gibi başlangıç ​​ve çıkış koordinatlarıdır.

    Aşağıdaki tez kullanılmıştır. Veriler, algoritmalardan daha az hareketlidir, bu nedenle daha sonra herhangi bir algoritma için kullanılabilecek genel bir veritabanı oluşturmalısınız. Ancak, evrensel bir veri tabanı oluşturmanın sorunlu olduğu kısa sürede anlaşıldı. Yakın zamana kadar hakim olan ve hacimlerinde keskin bir artışla hakim olan veri entegrasyonu kavramının savunulamaz olduğu ortaya çıktı. Ayrıca, uygulamalar görünmeye başladı (örneğin, metin, grafik editör) yaygın olarak kullanılan standart algoritmalara dayanmaktadır.

    1990'lara gelindiğinde, ikincisi oluştu, modern yaklaşım otomasyon yönetimi ile ilişkilidir. Verilerin ve dolayısıyla veri tabanının tanımlandığı standart uygulama algoritmalarının (yabancı terminolojide iş algoritmaları) ilk tanımlamasını içerir. Nesne yönelimli programlama, yalnızca bu yaklaşımın önemini artırmıştır.

    Veritabanının çalışmasında, tek ve çok kullanıcılı (birkaç kullanıcı bir bilgisayara farklı bağlantı noktalarından bağlanır) modları mümkündür.

    Yukarıdan aşağıya ve yukarıdan aşağıya veritabanı tasarımını kullanın. İlki, dağıtılmış veritabanlarında, kullanılarak gerçekleştirilebilen tasarlanmış yerel veritabanlarını entegre ederken kullanılır. çeşitli modeller veri. Merkezi veritabanları için daha tipik olan, yukarıdan aşağıya tasarımdır.

    3. VERİTABANI TASARIMI AŞAMALARI

    Veritabanı tasarımı dört aşamada gerçekleşir.

    Sahnede gereksinimlerin formülasyonu ve analizi kuruluşun hedefleri belirlenir, veri tabanı gereksinimleri belirlenir. Bölüm 1'de tanımlanan genel gerekliliklerden ve özel gerekliliklerden oluşurlar. Belirli gereksinimleri oluşturmak için genellikle personelle görüşme yöntemi kullanılır. çeşitli seviyeler yönetmek. Tüm gereksinimler, son kullanıcı ve veritabanı tasarımcısının erişebileceği bir biçimde belgelenmiştir.

    Sahne kavramsal tasarım betimleme ve sentezde yatar bilgi gereksinimleri kullanıcıları orijinal veritabanı projesine. İlk veriler, klasik yaklaşımda bir dizi kullanıcı belgesi veya modern yaklaşımda uygulama algoritmaları (iş algoritmaları) olabilir. Bu aşamanın sonucu, çeşitli yaklaşımlara dayanan kullanıcı bilgi gereksinimlerinin üst düzey bir temsilidir (veritabanı tablo sistemi biçiminde).

    Öncelikle veritabanı modeli seçilir. Ardından, menü sistemleri, ekran formları veya veritabanı tablosu görüntüleme modunda verilerle doldurulan bir veritabanı yapısı oluşturulur. Ayrıca, bir DBMS kullanarak veya tetikleyiciler oluşturarak verilerin korunmasını ve bütünlüğünü (referans bilgileri dahil) sağlar.

    Devam etmekte mantıksal tasarım verilerin üst düzey temsili, kullanılan DBMS'nin yapısına dönüştürülür. Aşamanın temel amacı, özel normalleştirme kuralları kullanarak veri fazlalığını ortadan kaldırmaktır. Normalleştirmenin amacı, güncelleme prosedürleri sırasında veri tekrarlarını ve veritabanındaki olası yapısal değişiklikleri en aza indirmektir. Bu, bir tabloyu ikiye veya daha fazlaya bölerek (ayrıştırarak) ve ardından sorgularda gezinme işlemlerinin kullanılmasıyla elde edilir. Gezinme aramasının veritabanının performansını yavaşlattığını unutmayın, örn. sorgu yanıt süresini artırır. Veritabanının ortaya çıkan mantıksal yapısı, kullanılarak ölçülebilir. çeşitli özellikler(mantıksal kayıtlara erişim sayısı, her uygulamadaki veri miktarı, toplam veri miktarı). Bu değerlendirmelere dayanarak, daha fazla verimlilik elde etmek için mantıksal çerçeve geliştirilebilir.

    Veritabanı tasarım adımları

    Tasarım süreci aşağıdaki adımları içerir:

    • 1. Bilgisel tasarım.
    • 2. Bilgi sisteminin çalışacağı işletim ortamı için gereksinimlerin belirlenmesi.
    • 3. Bir veri tabanı yönetim sistemi (DBMS) ve diğer yazılım araçlarının seçimi.
    • 4. Datalojik (mantıksal) veri tabanı tasarımı.
    • 5. Veritabanının fiziksel tasarımı.

    İlk aşamada, geliştirici (veritabanı yöneticisi), kullanıcı anketleri sonucunda elde edilen veritabanı içeriğinin özel görüşleri ile gelecekteki uygulamalarda gerekebilecek verilere ilişkin kendi görüşlerini birleştirerek oluşturur. veritabanının genelleştirilmiş resmi olmayan açıklaması. Bu açıklama doğal dil kullanılarak yapılır, matematiksel formüller, tablolar, grafikler ve veritabanı tasarımı üzerinde çalışan herkesin anlayabileceği diğer araçlar. Konu alanının böyle bir açıklaması denir bilgisel veri modeli.

    İnfolojik veri modeli, insan odaklı bir modeldir ve veri depolama ortamının fiziksel parametrelerinden tamamen bağımsızdır. Böyle bir depolama ortamı bilgisayar değil, insan belleği olabilir. Bu nedenle, bilgisel model, gerçek dünyadaki bazı değişiklikler, bu modelin konu alanını yansıtmaya devam etmesi için uygun değişikliklerin yapılmasını gerektirmedikçe değişmez.

    Datalojik ve fiziksel olan geri kalan modeller bilgisayar odaklıdır. DBMS, onların yardımıyla, programların ve kullanıcıların saklanan verilere bu verilerin fiziksel konumu hakkında endişelenmeden yalnızca adlarıyla erişmelerine olanak tanır. Gerekli veriler, kullanılarak harici depolama aygıtlarında DBMS tarafından bulunur. fiziksel veri modeli.

    Belirtilen erişim belirli bir VTYS kullanılarak gerçekleştirildiğinden, modeller bu VTYS'nin veri tanımlama dilinde açıklanmalıdır. Böyle bir açıklama denir datalojik veri modeli.

    Üç katmanlı mimari (infolojik, datalojik ve fiziksel katmanlar), depolanan verilerin bunları kullanan programlardan bağımsız olmasını sağlamanıza olanak tanır. Geliştirici, gerekirse, depolanan verileri diğer depolama ortamlarına yeniden yazabilir veya yalnızca fiziksel veri modelini değiştirerek fiziksel yapılarını yeniden düzenleyebilir. DBA, gerekirse veri mantıksal modeli tamamlayarak herhangi bir sayıda yeni kullanıcıyı (yeni uygulamalar) sisteme bağlayabilir. Belirtilen fiziksel değişiklikler ve tarih mantıksal modeller tıpkı yeni kullanıcıların fark edilmeyeceği gibi, sistemin mevcut kullanıcıları tarafından fark edilmeyecektir (onlar için "şeffaf" olacaktır). Bu nedenle, veri bağımsızlığı, veritabanı sisteminin mevcut uygulamaları bozmadan gelişmesini sağlar.

    Bilgisel (bilgi-mantıksal) model. Tasarımın infolojik aşamasının amacı, kullanıcıların konu alanını ve bilgi ihtiyaçlarını yansıtan anlamsal (kavramsal) modeller elde etmektir. Bu nedenle bu aşamaya semantik modelleme de denir. Semantik modelleme, veri yapılarının bu verilerin anlamına dayalı olarak modellenmesidir.

    kavram "Konu alanı"- veritabanı teorisinde temeldir ve katı bir tanımı yoktur. “Nesne” ve “nesne” kavramlarından kaynaklanır. Konu alanı(İLE)- kontrolü ve nihayetinde otomasyonu organize etmek için incelenecek gerçek dünyanın bir parçası. Yazılım çok görünüyor parça, birçok ile karakterize edilen nesneler, nesneleri kullanan bir dizi işlemin yanı sıra, konu alanının tek bir görünümü ile karakterize edilen bir dizi kullanıcı.

    nesne dış dünya fenomeni denir. Bu ya gerçekten var olan bir şeydir - bir kişi, bir ürün, bir ürün ya da bir süreçtir - doğum kontrolü, mal alma, üretim ürünleri. Her nesnenin çok sayıda özelliği vardır.

    Örnekler.

    Bir obje " İnsan" şu özelliklere sahiptir: boy, isim, doğum tarihi ... ,

    bir obje - " Ürün"özelliklere sahiptir: kalite, üretim tarihi, görünüm ....

    Nesneler arasında çok sayıda bağlantı vardır. Örneğin:

    • · İnsan alır, satar, üretir Ürün
    • · Ürün yaratıldı, satın alındı, satıldı insan.

    Öğe - yalnızca IS için seçilen özelliklerin ve ilişkilerin sabitlendiği gerçek bir nesne modeli. Seçilen öğeler kümesi formları nesne çekirdeği konu alanı ve ilişkilerinin bütünü - bir gerçeklik parçasının yapısı . O. "Konu alanı" kavramı, tüketicinin nesne çekirdeğine ilişkin bakış açısına karşılık gelir: yalnızca IS için değeri olan ve veritabanında saklanması gereken nesneleri, nesnelerin özelliklerini ve nesneler arasındaki ilişkileri vurgular.

    Konu alanının çekirdeğini belirlemeye yönelik tüm eylemler, IP analizi aşamasında gerçekleştirilir.

    Bir IS'nin yaşam döngüsü boyunca sistemin nesne çekirdeği sabit kalmaz: nesneler kaybolur ve görünür, özellikleri ve ilişkileri değişir. Zaman içinde sabitlenen bu değişim zincirlerine denir. konu alanı yörüngeleri, ve agrega ortak özellikler Yörünge - etki alanı semantiği

    Bir dizi etki alanı modelleme tekniği vardır. Şu anda en popüler tekniklerden biri, az sayıda heterojen ERD (Varlık-İlişki Diyagramları) bileşenleri içeren grafik diyagramların kullanımına dayanmaktadır. Rus dili literatüründe bu diyagramlara "nesne - ilişki" veya "öz - bağlantı" denir.

    ERD modeli 1976'da önerildi. Peter Ping-sheng Chen. Daha sonra, birçok yazar bu tür modellerin kendi versiyonlarını geliştirdi: Martin gösterimi, IDEF1X gösterimi, Barker gösterimi), ancak hepsi Chen tarafından önerilen grafik diyagramlara dayanıyor.

    İlişkisel veritabanlarını tasarlamaya yönelik çoğu modern yaklaşım, ER modelinin çeşitlerinin kullanımına dayanmaktadır.

    Aslında, varlık-ilişki diyagramlarının tüm varyantları aynı fikirden gelir - bir çizim her zaman daha nettir. metin açıklaması. Bu tür diyagramların tümü, konu alanındaki varlıkların, bunların özelliklerinin (özniteliklerinin) ve varlıklar arasındaki ilişkilerin grafiksel bir temsilini kullanır.

    Temel fikirlerin anlaşılması oldukça kolay olduğundan, Barker gösterimindeki ER diyagramlarıyla tanışacağız.

    ER diyagramlarının temel kavramları. ER modelinin ana kavramları varlık, ilişki ve niteliktir.

    Daha fazla ifade ve daha iyi anlayış için, varlığın adına örnekler eşlik edebilir. belirli nesneler bu türden

    tanım 1. Öz hakkında bilgi saklanması ve erişilebilir olması gereken gerçek veya hayali bir nesnedir. Varlıklar insanlar, yerler, uçaklar, uçuşlar, zevkler, renkler vb. olabilir.

    Her varlığın tekil olarak bir isim ile ifade edilen bir adı olmalıdır. Bu durumda, varlığın adı türün adıdır ve bu türün belirli bir örneği değildir. Bir varlık türü kavramı, bir bütün olarak hareket eden bir dizi homojen kişi, nesne, olay veya fikir anlamına gelir.

    Varlık örnekleri, "Tedarikçi", "Çalışan", "Fatura" gibi nesne sınıfları olabilir.

    Modeldeki her varlık, varlığın adını içeren bir dikdörtgen olarak görüntülenir:

    Tanım 2. Varlık örneği bu varlığın belirli bir temsilcisidir.

    Örneğin, "Çalışan" kuruluşunun temsilcisi "Çalışan İvanov" olabilir.

    Varlık örnekleri olmalıdır ayırt edilebilir, yani varlıklar, o varlığın her örneğine özgü bazı özelliklere sahip olmalıdır.

    Tanım 3. varlık özniteliği bir varlığın adlandırılmış bir özelliğidir. Adı, belirli bir varlık türü için benzersiz olmalıdır, ancak farklı varlık türleri için aynı olabilir (örneğin, birçok varlık için RENK tanımlanabilir: KÖPEK, ARABA, BOYA, vb.). Nitelikler, bir varlık hakkında hangi bilgilerin toplanması gerektiğini tanımlamak için kullanılır. Bir ARAÇ varlığı için nitelik örnekleri TİP, İŞARET, PLAKA, RENK vb.'dir.

    Burada da bir öznitelik türü ile bir örnek arasında bir ayrım vardır. COLOR öznitelik türünün birçok örneği veya değeri vardır: Kırmızı, Mavi, Muz, Beyaz Gece vb., ancak her varlık örneğine yalnızca bir öznitelik değeri atanır.

    Varlık türleri ve nitelikleri arasında mutlak bir ayrım yoktur. Bir öznitelik, yalnızca bir varlık türüyle bağlantılı olarak böyledir. Başka bir bağlamda, bir öznitelik bağımsız bir varlık olarak hareket edebilir. Örneğin, bir araba fabrikası için renk, bir ürünün yalnızca bir özelliğiyken, bir boya fabrikası için renk bir varlık tipidir.

    Her öznitelik, varlık içinde benzersiz olan bir adla sağlanır. Nitelik adı tekil bir isim olarak ifade edilmelidir (muhtemelen niteleyici sıfatlarla).

    "Çalışan" varlığının niteliklerine örnek olarak "Personel numarası", "Soyadı", "Ad", "Soyadı", "Pozisyon", "Maaş" vb.

    Nitelikler, varlığı tanımlayan dikdörtgen içinde görüntülenir:

    Nitelikler üçünden birine ait olarak sınıflandırılabilir çeşitli tipler: betimleyici, belirtici, yardımcı.

    tanımlayıcı nitelikler, bir varlığın her örneğine özgü gerçekleri temsil eder.

    işaret nitelikler, bir varlığın örneklerini adlandırmak veya etiketlemek için kullanılır.

    Ek öznitelikler, bir varlığın bir örneğini diğerinin bir örneğiyle ilişkilendirmek için kullanılır. Nitelikler kesin olarak tanımlanmış kurallara uyar.

    Tanım 4. Varlık anahtarı - varlığın gerekli örneğini benzersiz bir şekilde bulabileceğiniz değerlere göre minimum nitelikler kümesi. Minimallik, herhangi bir öznitelik kümesinden dışlanmanın, varlığın geri kalanlar tarafından tanımlanmasına izin vermediği anlamına gelir.

    Örneğin, bir varlık için Takvim anahtar bir niteliktir Uçuş numarası veya ayarlayın: Kalkış noktası, Hareket saati Ve Varış noktası(her seferinde bir uçağın bir noktadan diğerine uçması şartıyla).

    Bir varlığın birkaç farklı anahtarı olabilir.

    Temel nitelikler şemada altı çizili olarak gösterilmiştir:

    Tanım 5. Bağlantı arasında bir ilişki var mı iki varlıklar. Bir varlık başka bir varlıkla veya kendisiyle ilişkili olabilir. İlişkiler, bir varlığın kendisiyle ilişkili diğer varlıkları bulmasını sağlar.

    Veritabanının amacı yalnızca ayrı, ilgisiz verileri depolamaksa, yapısı çok basit olabilir. Bununla birlikte, veritabanının organizasyonu için temel gerekliliklerden biri, bazı varlıkları, aralarında belirli ilişkiler kurmanın gerekli olduğu diğerlerinin değerlerine göre bulma olasılığını sağlamaktır. Ve gerçek veritabanları genellikle yüzlerce hatta binlerce varlık içerdiğinden, teorik olarak aralarında bir milyondan fazla ilişki kurulabilir. Bu kadar çok sayıda bağlantının varlığı, bilgisel modellerin karmaşıklığını belirler.

    Örneğin, kuruluşlar arasındaki ilişkiler şu ifadelerle ifade edilebilir - "BİR ÇALIŞANIN birkaç ÇOCUĞU olabilir", "her ÇALIŞAN tam olarak bir BÖLÜMDE kayıtlı olmalıdır".

    Grafik olarak, bir ilişki iki varlığı birleştiren bir çizgi ile temsil edilir:

    Her bağlantının iki ucu ve bir veya iki adı vardır. Ad genellikle belirsiz bir sözlü biçimde ifade edilir: "sahip olmak", "ait olmak" vb. İsimlerin her biri, bağlantının sonunu ifade eder. Bazen isimler bariz oldukları için yazılmaz.

    Her bağlantı aşağıdakilerden birine sahip olabilir iletişim türleri :

    İletişim türü bire bir birinci varlığın bir örneğinin (solda) ikinci varlığın bir örneğiyle (sağda) ilişkili olduğu anlamına gelir. Bire bir ilişki çoğunlukla, aslında yanlış bir şekilde ikiye bölünmüş tek bir varlığa sahip olduğumuzu gösterir.

    İletişim türü birden çoğa birinci varlığın bir örneğinin (solda) ikinci varlığın (sağda) birkaç örneğiyle ilişkili olduğu anlamına gelir. Bu, en sık kullanılan bağlantı türüdür. Sol varlık ("bir" tarafta) denir ebeveyn , sağ ("çok" tarafından) - yan kuruluş . (bkz. grafik görüntü bağlantılar)

    İletişim türü çoktan çoğa birinci varlığın her örneğinin ikinci varlığın birden çok örneğiyle ilişkilendirilebileceği ve ikinci varlığın her örneğinin birinci varlığın birden çok örneğiyle ilişkilendirilebileceği anlamına gelir. Çoktan çoğa ilişki türü geçici model geliştirmenin ilk aşamalarında izin verilen ilişki türü. Gelecekte, bu tür bir ilişki, bir aracı varlık yaratılarak iki birden çoğa ilişki ile değiştirilmelidir.

    Her bağlantı ikisinden birine sahip olabilir iletişim yöntemleri :

    modalite " Belki ilgili olabilir başka bir varlığın bir veya daha fazla örneğiyle, belki ilgili değil tek bir kopya değil.

    modalite " mutlak ", tek bir varlığın örneğinin olduğu anlamına gelir en az biriyle ilişkili olmalıdır başka bir varlığın örneği.

    bağlantı olabilir farklı modalite farklı uçlardan.

    Açıklanan grafik sözdizimi izin verir kesinlikle aşağıdaki ifade şemasını kullanarak diyagramları okuyun:

    <Каждый экземпляр СУЩНОСТИ 1> <МОДАЛЬНОСТЬ СВЯЗИ> <НАИМЕНОВАНИЕ СВЯЗИ> <ТИП СВЯЗИ> <экземпляр СУЩНОСТИ 2>.

    Her bağlantı soldan sağa veya sağdan sola okunabilir. Örneğin, yukarıdaki Şekil 4'te gösterilen bağlantı şu şekildedir:

    Soldan sağa: "Her çalışanın birden fazla çocuğu olabilir."

    Sağdan sola: "Her çocuk tam olarak bir çalışana ait olmalıdır."

    ER şemalarının normal biçimleri.İlişkisel veri tabanı şemalarında olduğu gibi, ER diyagramları normal form kavramını ortaya koyar ve bunların anlamı, ilişkisel normal formların anlamına çok yakındır. İlk üç normal formun yalnızca çok kısa ve resmi olmayan tanımlarını veriyoruz.

    İÇİNDE ilk normal ER diyagramının biçimi, yinelenen öznitelikleri veya öznitelik gruplarını ortadan kaldırır, örn. öznitelikler olarak "kılık değiştirmiş" örtük varlıklar algılanır.

    İçinde ikinci normal formda, yalnızca benzersiz tanımlayıcının (varlık anahtarı) bir kısmına bağlı olan nitelikler ortadan kaldırılır. Benzersiz tanımlayıcının bu kısmı, tek bir varlığı tanımlar.

    İÇİNDE üçüncü normal formda, benzersiz tanımlayıcıya (varlık anahtarı) dahil olmayan niteliklere bağlı olan nitelikler elenir. Bu nitelikler tek bir varlığın temelidir.

    Varlıkların doğru tanımı ile ortaya çıkan tablolar hemen 3NF'de olacaktır. Yöntemin ana avantajı, modelin ilk diyagramların ardışık iyileştirme yöntemiyle oluşturulmasıdır.

    Bir ER şemasından ilişkisel bir şema alma:

    Aşama 1. Her basit varlık bir tabloya dönüşür. Basit bir varlık, alt tür olmayan ve alt türü olmayan bir varlıktır. Varlığın adı, tablonun adı olur.

    Adım 2 Her öznitelik, aynı ada sahip olası bir sütun haline gelir; daha kesin bir biçim seçilebilir. İsteğe bağlı özniteliklere karşılık gelen sütunlar boş değerler içerebilir; gerekli niteliklerle eşleşen sütunlar olamaz.

    Aşama 3 Varlık benzersiz tanımlayıcı bileşenleri, tablonun birincil anahtarına dönüştürülür. Birden fazla olası benzersiz tanımlayıcı varsa, en çok kullanılan seçilir. Benzersiz tanımlayıcı ilişkiler içeriyorsa, ilişkinin uzak ucundaki varlığın benzersiz tanımlayıcısının bir kopyası birincil anahtar sütunlarına eklenir (bu işlem yinelemeli olarak devam edebilir). Bu sütunları adlandırmak için bağlantı uçlarının adları ve/veya varlıkların adları kullanılır.

    Adım 4Çoktan bire (ve bire bir) ilişkiler yabancı anahtarlar haline gelir. Onlar. "bir" ilişkisinin sonundan benzersiz tanımlayıcının bir kopyası yapılır ve karşılık gelen sütunlar yabancı anahtarı oluşturur. İsteğe bağlı ilişkiler, boş değerlere izin veren sütunlara karşılık gelir; zorunlu ilişkiler - boş değerlere izin vermeyen sütunlar.

    Adım 5 Birincil anahtar (benzersiz dizin), yabancı anahtarlar ve sorguların dayanması gereken öznitelikler için dizinler oluşturulur.

    Adım 6 Kavramsal şemada alt tipler mevcutsa, iki yöntem mümkündür:

    • tüm alt tipler tek tablo(lar)da
    • her alt tip için - ayrı bir tablo (b)

    (a) yönteminde en dıştaki süper tip için bir tablo oluşturulur ve alt tipler için görünümler oluşturulabilir. TYPE kodunu içeren en az bir sütun tabloya eklenir; birincil anahtarın parçası haline gelir.

    Yöntem (b) kullanılırken, birinci seviyenin her alt türü için (alt olanlar için - temsiller), süper tip, UNION gösterimi kullanılarak yeniden oluşturulur (tüm alt tip tablolarından ortak sütunlar seçilir - süper tipin sütunları).

    Hepsi bir tabloda

    Tablo - alt tür başına

    Avantajlar

    Her şey bir arada tutulur

    Süper tip ve alt tiplere kolay erişim

    Daha az tablo gerekli

    Daha net alt tür kuralları

    Programlar sadece gerekli tablolarla çalışır.

    Kusurlar

    Çok genel çözüm

    Farklı sütun kümeleriyle ve farklı kısıtlamalarla çalışmak için ek mantık gerektirir

    Potansiyel darboğaz (engelleme nedeniyle)

    Alt tür sütunları isteğe bağlı olmalıdır

    Bazı DBMS, boş değerleri depolamak için ek bellek gerektirir

    Çok fazla tablo

    UNION görünümünde kafa karıştırıcı sütunlar

    UNION aracılığıyla çalışırken olası performans kaybı

    Süper tip değiştirilemez

    Adım 7Özel ilişkilerle çalışmanın iki yolu vardır:

    • ortak alan(lar)
    • açık yabancı anahtarlar (b)

    Kalan yabancı anahtarların tümü aynı etki alanındaysa, yani ortak bir biçime sahipse (yöntem (a)), iki sütun oluşturulur: ilişki kimliği ve varlık kimliği. Bağlantı kimliği sütunu, hariç tutma yayının kapsadığı bağlantıları ayırt etmek için kullanılır. Varlık Kimliği sütunu, ilişkili ilişkinin en ucundaki varlığın benzersiz tanımlayıcısının değerlerini depolamak için kullanılır.

    Ortaya çıkan yabancı anahtarlar aynı etki alanına ait değilse, dışlama yayının kapsadığı her ilişki için açık yabancı anahtar sütunları oluşturulur; bu sütunların tümü boş değerler içerebilir.

    Basit bir ER modeli geliştirmeye bir örnek. ER modelleri geliştirirken konu alanı ile ilgili aşağıdaki bilgileri elde etmeliyiz:

    • 1. Konu alanındaki varlıkların listesi.
    • 2. Varlık özniteliklerinin listesi.
    • 3. Varlıklar arasındaki ilişkilerin tanımı.

    ER diyagramları, varlıkları, öznitelikleri ve ilişkileri çıkarma sürecinin yinelemeli olması açısından uygundur. Diyagramların ilk yaklaşık versiyonunu geliştirdikten sonra, konunun uzmanlarıyla görüşerek onları geliştiririz. Aynı zamanda, konuşmaların sonuçlarının kaydedildiği belgeler, ER diyagramlarının kendisidir.

    Geliştirme göreviyle karşı karşıya olduğumuzu varsayalım. bilgi sistemi bir toptancı tarafından görevlendirildi. Her şeyden önce, konu alanını ve içinde gerçekleşen süreçleri incelememiz gerekir. Bunu yapmak için şirket çalışanları ile görüşüyoruz, belgeleri okuyoruz, sipariş formlarını, faturaları vb. inceliyoruz.

    Örneğin, bir satış müdürüyle yapılan bir görüşme sırasında, kendisinin (yöneticinin) tasarlanan sistemin aşağıdaki eylemleri gerçekleştirmesi gerektiğine inandığı ortaya çıktı:

    • · Müşteri bilgilerini saklayın.
    • · Düzenlenen mallar için fatura yazdırın.
    • · Stok durumunu izleyin.

    Bu cümlelerdeki tüm isimleri seçelim - bunlar varlıklar ve nitelikler için potansiyel adaylar olacak ve onları analiz edeceğiz (anlaşılmaz terimleri bir soru işaretiyle vurgulayacağız):

    • · Alıcı
    • · fatura bir varlık için açık bir adaydır.
    • · Ürün- bir varlık için açık bir aday
    • · (?)Stoklamak- Ve genel olarak, şirketin kaç tane deposu var? Birden fazla ise, yeni bir varlık için aday olacaktır.
    • · (?)Ürün bulunabilirliği- bu büyük olasılıkla bir niteliktir, ancak hangi varlığın bir özelliğidir?

    Hemen varlıklar arasında açık bir bağlantı vardır - "müşteriler birçok ürün satın alabilir" ve "ürünler birçok alıcıya satılabilir." İlk diyagram şöyle görünür:

    Yöneticiye ek sorular sorduktan sonra şirketin birkaç deposu olduğunu öğrendik. Ayrıca her ürün birden fazla depoda saklanabilir ve herhangi bir depodan satılabilir.

    "Fatura" ve "Depo" varlıklarını nereye yerleştirmeli ve bunları neyle ilişkilendirmeli? Kendimize bu varlıkların birbirleriyle ve "Alıcı" ve "Ürün" varlıklarıyla nasıl ilişkili olduğunu soralım.

    • · Alıcılar, satın alınan malların miktarına ve fiyatına ilişkin verileri içeren faturaları alırken malları satın alırlar.
    • · Her müşteri birden fazla fatura alabilir.
    • · Her fatura bir alıcı için düzenlenmelidir.
    • · Her irsaliye birkaç mal içermelidir (boş irsaliye yoktur). Her ürün sırayla birden çok müşteriye birden çok fatura yoluyla satılabilir.
    • · Ayrıca her fatura belirli bir depodan kesilmelidir ve herhangi bir depodan birden fazla fatura kesilebilir.

    Böylece, açıklamadan sonra diyagram şöyle görünecektir:

    infolojik öznitelik bilgi ekranı

    Varlık özelliklerini düşünmenin zamanı geldi. Şirket çalışanları ile yaptığımız görüşmelerde şunları bulduk:

    • · Her alıcı bir tüzel kişiliktir ve bir adı, adresi, banka bilgileri vardır.
    • · Her ürünün bir adı, fiyatı vardır ve ayrıca ölçü birimleri ile karakterize edilir.
    • Her faturanın benzersiz bir numarası, veriliş tarihi, miktarları ve fiyatları olan mal listesi ve toplam tutar havai. Fatura, belirli bir depodan ve belirli bir müşteri için düzenlenir.
    • · Her deponun kendi adı vardır.

    Yine, potansiyel nitelikler olacak tüm isimleri yazıp analiz edeceğiz:

    • · varlık - retorik bir terim, biz çalışmıyoruz bireyler. Dikkat etmiyoruz.
    • · Alıcı adı
    • · Adres- alıcının açık bir özelliği.
    • · banka detayları- alıcının açık bir özelliği.
    • · ürünün adı
    • · (?)Ürünün fiyatı- ürünün bir özelliği gibi görünüyor. Bu özellik faturadaki fiyattan farklı mı?
    • · Birim- ürünün net bir açıklaması.
    • · Fatura numarası- sevk mektubunun açık ve benzersiz bir özelliği.
    • · Fatura tarihi- sevk mektubunun açık bir özelliği.
    • · (?)Faturadaki mal listesi- Liste bir öznitelik olamaz. Muhtemelen, bu listeyi ayrı bir varlığa ayırmanız gerekir.
    • · (?) Faturadaki mal miktarı- bu açık bir özellik, ama neyin özelliği? Bu sadece "malların" bir özelliği değil, "irsaliyedeki mallar" ın bir özelliğidir.
    • · (?)Faturadaki malın fiyatı- yine, bu sadece malın bir açıklaması değil, faturadaki malın bir açıklaması olmalıdır. Ancak malların fiyatı zaten yukarıda buluştu - aynı şey mi?
    • · Fatura tutarı- sevk mektubunun açık bir özelliği. Bu özellik bağımsız değildir. Fatura tutarı, faturada yer alan tüm malların maliyetlerinin toplamına eşittir.
    • · depo adı- deponun açık bir açıklaması.

    Yönetici ile ek bir görüşme sırasında netleştirmek mümkün oldu çeşitli kavramlar Fiyat:% s. Her öğenin bir miktar geçerli fiyatı olduğu ortaya çıktı. Bu, ürünün Türkiye'de satıldığı fiyattır. şu an. Doğal olarak bu fiyat zaman içinde değişebilir. Düzenlenen farklı faturalarda aynı ürünün fiyatı farklı zaman, farklı olabilir. Böylece, var iki fiyat- faturadaki malın fiyatı ve malın cari fiyatı.

    Ortaya çıkan "Faturadaki mal listesi" konseptiyle her şey oldukça açık.

    "Fatura" ve "Ürün" varlıkları, bir tür ilişkisiyle birbiriyle ilişkilidir. çoktan çoğa. Daha önce belirttiğimiz gibi böyle bir bağlantı, ikiye bire çok ilişkilere bölünmüştür. Bu gerektirir ek olaraköz.

    Bu varlık, "Faturadaki mal listesi" varlığı olacaktır. "Fatura" ve "Ürün" varlıkları ile ilişkisi aşağıdaki ibarelerle karakterize edilir

    - "her irsaliyede, irsaliyedeki mal listesinden birkaç giriş bulunmalıdır",

    • - "Faturadaki mal listesinden her giriş tam olarak bir faturada yer almalıdır",
    • - "Faturadaki ürün listesinden her ürün birden fazla girişte yer alabilir",
    • - "Faturadaki mal listesindeki her giriş, tam olarak bir ürünle ilişkilendirilmelidir."

    "Faturadaki mal miktarı" ve "Faturadaki malların fiyatı" öznitelikleri, "Faturadaki mal listesi" varlığının öznitelikleridir.

    "Depo" ve "Mallar" varlıklarını birbirine bağlayan bağlantı için de aynısını yapalım. tanıştıralım ek olarak varlık "Stoktaki mallar". Bu varlığın özniteliği "Stoktaki mal miktarı" olacaktır. Böylece mal herhangi bir depoda listelenecek ve her depodaki miktarı farklı olacaktır.

    Şimdi tüm bunları bir tabloya koyabilirsiniz:

    Kavramsal ve fiziksel ER modelleri. Yukarıda geliştirilen örnek ER diyagramı bir örnektir. kavram diyagramı. Bunun anlamı, grafiğin hesaba katmaz belirli bir DBMS'nin özellikleri. Bu kavramsal diyagramdan, biri inşa edebilir fiziksel diyagram, geçerli türler ve alan ve tablo adları, bütünlük kısıtlamaları vb. gibi DBMS'nin bu tür özelliklerini zaten dikkate alacaktır. Yukarıdaki diyagramın fiziksel versiyonu, örneğin aşağıdaki gibi görünebilir:


    Bu şemada, her varlık bir veritabanı tablosudur, her öznitelik karşılık gelen tablonun bir sütunu olur. "Fatura listesi kaydı" ve "Stok kalemi" varlıklarına karşılık gelen "CUST_DETAIL" ve "PROD_IN_SKLAD" gibi birçok tabloda, kavramsal modelde olmayan yeni özniteliklerin bulunduğunu lütfen unutmayın - bunlar temel niteliklerdir üst tabloların, göç etti yabancı anahtarlar aracılığıyla tablolar arasında bir ilişki sağlamak için alt tablolara.

    Ortaya çıkan tablolar 3NF'dedir.

    Varlık-ilişki diyagramları görsel kullanmanıza izin verir grafik semboller varlıkları ve ilişkilerini modellemek için.

    Ayırt etmek kavramsal Ve fiziksel ER diyagramları. Kavramsal diyagramlar, belirli DBMS'nin özelliklerini dikkate almaz. Fiziksel diyagramlar, kavramsal diyagramlara göre oluşturulur ve belirli bir veri tabanının prototipini temsil eder. Kavramsal şemada tanımlanan varlıklar tablolar haline gelir, nitelikler tabloların sütunları haline gelir (aynı zamanda, belirli bir DBMS için izin verilen veri türleri ve sütun adları dikkate alınır), ilişkiler aşağıdakiler tarafından uygulanır: göç ana varlıkların temel nitelikleri ve yabancı anahtarların oluşturulması.

    ER modelinin daha karmaşık öğeleri. ER veri modelinin yalnızca en temel ve en bariz kavramlarına odaklandık. Modelin daha karmaşık unsurları aşağıdakileri içerir:

    Varlıkların alt türleri ve süper türleri. Gelişmiş tip sistemleri olan programlama dillerinde olduğu gibi (örneğin, nesne yönelimli programlama dillerinde), bir veya daha fazla süper tipe dayalı bir varlık tipini miras alma olasılığı tanıtılır.

    Bir varlık, her biri ortak nitelikler ve/veya ilişkiler içeren, birbirini dışlayan iki veya daha fazla alt türe bölünebilir. Bu ortak nitelikler ve/veya ilişkiler defalarca açıkça tanımlanmıştır. yüksek seviye. Alt tipler kendi özelliklerini ve/veya ilişkilerini tanımlayabilir. Prensip olarak, alt tipleme daha uzun süre devam edebilir. alt seviyeler, ancak deneyim, çoğu durumda iki veya üç seviyenin yeterli olduğunu göstermektedir.

    Alt tiplerin tanımlandığı varlığa süper tip denir. Alt tipler tam bir set oluşturmalıdır, örn. bir süper tipin herhangi bir örneği, bir alt tipe ait olmalıdır. Bazen, bütünlük için, DİĞER ek bir alt tip tanımlamak gerekir.

    Örnek: Supertype UÇAK

    Nasıl okunması gerekiyor? Süper tipten: UÇAK, HELİKOPTER, KUŞLAR veya DİĞER UÇAK olması gereken UÇAK. Alt tipten: UÇAK tipine ait HELİKOPTER. Aynı zamanda bir süper tip olan bir alt tipten: UÇAK tipine ait olan ve bir GLIDER veya POWER UÇAK olması gereken UÇAK UÇAĞI.

    Bazen bir varlığın iki veya daha fazla farklı alt türüne sahip olmak uygundur. Örneğin, KİŞİ varlığı mesleki özelliklerine göre (PROGRAMCI, SÜTÇÜCÜ vb.) veya cinsiyete göre (ERKEK, KADIN) alt türlere ayrılabilir.

    • · Çoktan çoğa ilişkiler. Bazen varlıkları, bağlantının her iki ucunda birden çok varlık olacak şekilde bağlamak gerekir (örneğin, bir kooperatifin tüm üyeleri ortaklaşa kooperatifin mülküne sahiptir). Bunun için bir tür "çoktan çoğa" ilişki tanıtılır.
    • · Belirtilen bağlantı dereceleri. Bazen, belirli bir ilişkiye katılan varlık örneklerinin olası sayısını belirlemek yararlıdır (örneğin, bir çalışanın aynı anda en fazla üç projeye katılmasına izin verilir). Bu anlamsal kısıtlamayı ifade etmek için, bağlantının sonunda maksimum veya zorunlu derecesini belirtmesine izin verilir.
    • · Varlık örneklerinin art arda silinmesi. Bazı ilişkiler o kadar güçlüdür (elbette, bire çok ilişki durumunda), referans varlık örneği ("bir" ilişkinin sonuna karşılık gelen) silindiğinde, sonuna karşılık gelen tüm varlık örnekleri silinir. "çok" ilişkisi de silinmelidir. Karşılık gelen "kademeli silme" gereksinimi, bir varlık tanımlanırken formüle edilebilir.
    • · Etki alanları. durumda olduğu gibi ilişkisel model veriler, bir varlık (etki alanı) özniteliği için potansiyel olarak geçerli bir değerler kümesi belirleyebilmek için yararlıdır.

    Bir alan kavramının en doğru sezgisel yorumu, bir alanın belirli bir türdeki geçerli bir potansiyel değerler kümesi olarak anlaşılmasıdır. Örneğin, "Adlar" etki alanı, temel karakter dizisi türünde tanımlanır, ancak değerleri yalnızca bir adı temsil edebilen dizeleri içerebilir (özellikle, bu tür dizeler yumuşak bir karakterle başlayamaz).

    Etki alanı kavramının anlamsal anlamı da not edilmelidir: veriler yalnızca aynı alana ait olduklarında karşılaştırılabilir olarak kabul edilir. Örneğimizde, "Pass Numaraları" ve "Grup Numaraları" alanlarının değerleri tamsayı türündedir ancak karşılaştırılamaz.

    Varlık-İlişkiler veri modelinin bu ve diğer daha karmaşık öğeleri, onu önemli ölçüde daha güçlü kılar, ancak aynı zamanda kullanımını biraz daha zorlaştırır.

    Veritabanı tasarım adımları

    İnsan faaliyetinin belirli bir konusuna ilişkin bir bilgi modeli oluşturmanın tüm inceliklerinin tek bir amacı vardır - iyi bir veritabanı elde etmek. İyi bir veritabanı terimini açıklayalım ve böyle bir veritabanının karşılaması gereken gereksinimleri formüle edelim:

    1. Veritabanı, kullanıcıların (kuruluşların) bilgi ihtiyaçlarını karşılamalı ve yapı ve içerik olarak çözülmekte olan görevlere karşılık gelmelidir;

    2. Veritabanı, gerekli verileri makul bir süre içinde sağlamalıdır, örn. performans gereksinimlerini karşılamak;

    3. Konu alanı yeniden düzenlenirken veri tabanı kolayca genişletilmelidir;

    4. Veritabanı, yazılım ve donanım ortamı değiştiğinde kolayca değiştirilmelidir;

    5. Veritabanına yüklenen doğru veriler doğru kalmalıdır (veriler girilirken doğruluğu kontrol edilmelidir).

    Ana tasarım aşamalarını göz önünde bulundurun (Şekil 3.5):

    İlk aşama. Veritabanı geliştirme planlaması. Bu aşamada aşamaları uygulamanın en etkili yolu vurgulanacaktır. yaşam döngüsü sistemler.

    İkinci aşama. Sistem gereksinimlerinin belirlenmesi. Veritabanı uygulamasının kapsamı ve sınırları tanımlanır, kullanıcı gereksinimleri toplanır ve analiz edilir.

    Üçüncü sahne. Kavramsal bir veritabanı modeli tasarlama. Veritabanı oluşturma süreci, fiziksel olarak nasıl depolandıklarını belirtmeden nesneleri ve aralarındaki ilişkileri temsil eden kavramsal bir modelin tanımlanmasıyla başlar. Bu aşamadaki çabalar, verilerin yapılandırılmasına ve aralarındaki ilişkilerin belirlenmesine yönelik olmalıdır. Bu süreç birkaç alt adıma daha bölünebilir:

    a) Görevin belirtilmesi. Çalışmaya başlamadan önce özel uygulama geliştiricinin genellikle ne geliştireceğine dair bir fikri vardır. Diğer durumlarda, küçük bir kişisel veri tabanı geliştirilirken, bu tür temsiller oldukça eksiksiz olabilir. Diğer durumlarda, sipariş üzerine büyük bir veritabanı geliştirildiğinde, bu tür görüşler çok az olabilir veya kesinlikle yüzeysel olacaktır. Tabloların, alanların ve aralarındaki ilişkilerin tanımlanmasıyla geliştirmeye başlamak için açıkça çok erken. Bu yaklaşım, uygulamanın çoğunun tamamen yeniden tasarlanmasına yol açabilir. Bu nedenle, gelecekte ortaya çıkabilecekler de dahil olmak üzere, prensipte bu uygulama tarafından çözülmesi gereken tüm ana görevlerin bir listesini derlemek için biraz zaman harcamalısınız.

    Pirinç. 3.5. Veritabanı tasarım şeması

    b) Görev sırasının netleştirilmesi. Uygulamanın mantıklı ve rahat çalışması için, ana görevleri gruplar halinde organize etmek ve ardından her grubun görevlerini tamamlandıkları sırayla olacak şekilde düzenlemek en iyisidir. Yürütme sıralarının gruplandırılması ve grafiksel gösterimi, görevlerin doğal sırasını belirlemeye yardımcı olacaktır.

    c) Veri analizi. Görev listesini tanımladıktan sonra, her görev için çözümü için gerekli olan verilerin ayrıntılı bir listesini yapmak gerekir. Veri analizi aşamasından sonra, kavramsal bir modelin geliştirilmesine geçebilirsiniz, yani. nesnelerin, niteliklerin ve ilişkilerin seçimine.

    dördüncü aşama. Mantıksal bir model oluşturmak. Mantıksal bir modelin oluşturulması, bir veri modelinin seçilmesiyle başlar. Bir model seçerken önemli rol basitliği, görünürlüğü ve doğal veri yapısının oynadığı temsil eden modelle karşılaştırılması. Örneğin, verilerin kendisinde hiyerarşik bir yapı varsa, hiyerarşik bir modelin seçilmesi tercih edilir. Ancak genellikle bu seçim, belirli bir DBMS'nin başarısına (veya kullanılabilirliğine) göre belirlenir. Yani, geliştirici veri modelini değil DBMS'yi seçer. Böylece bu aşamada kavramsal model, seçilen VTYS ile uyumlu bir veri modeline çevrilir. Kavramsal modelde görüntülenen nesneler arasındaki ilişkilerin veya nesnelerin bazı özniteliklerinin daha sonra seçilen VTYS aracılığıyla gerçekleştirilemez hale gelmesi mümkündür. Bu, kavramsal modelde bir değişiklik gerektirecektir. Belirli bir VTYS tarafından sağlanabilen kavramsal model versiyonuna denir. mantıksal model. Bazen kavramsal ve mantıksal modelleri tanımlama işlemine veri yapısını tanımlama denir.

    beşinci aşama. Fiziksel bir modelin oluşturulması. Fiziksel model, veri düzenini, erişim yöntemlerini ve indeksleme tekniğini tanımlar. Fiziksel tasarım aşamasında, belirli bir DBMS'ye bağlıyız ve veri şemasını, alanların türlerini, boyutlarını ve kısıtlamaları belirterek daha ayrıntılı olarak açıklıyoruz. Tabloları ve dizinleri tasarlamanın yanı sıra, bu adımda temel sorgular da tanımlanır.

    Fiziksel bir model oluştururken, özünde birbirine zıt iki sorunu çözmek gerekir. Birincisi, veri depolama alanını en aza indirmek, ikincisi ise performansı, bütünlüğü ve veri güvenliğini en üst düzeye çıkarmaktır. Örneğin, yüksek arama hızı sağlamak için dizinler oluşturmak gerekir ve bunların sayısı, aramaya dahil olan tüm olası alan kombinasyonları tarafından belirlenir; Verilerin geri yüklenmesi, tüm değişikliklerin günlüğe kaydedilmesini ve yedekler veritabanı; İçin verimli çalışma işlemler, geçici nesneler vb. için disk alanı ayırmayı gerektirir, bu da veritabanının boyutunda (bazen önemli ölçüde) bir artışa yol açar.

    altıncı aşama. Fiziksel modelin tahmini. Bu aşamada performans değerlendirmesi yapılır. Burada sorgu yürütmenin etkinliğini, arama hızını, veritabanıyla işlem gerçekleştirmenin doğruluğunu ve rahatlığını, veri bütünlüğünü ve bilgisayar kaynaklarının tüketiminin verimliliğini kontrol edebilirsiniz. Tatmin edici olmayan performansla, fiziksel ve mantıksal veri modellerinin revizyonuna, DBMS seçimine ve bilgisayar türüne geri dönmek mümkündür.

    yedinci aşama. veritabanı uygulaması. Tatmin edici bir performansla, bir uygulama düzeni, yani bir dizi temel tablo, sorgu, form ve rapor oluşturmaya devam edebilirsiniz. Bu ön düzen, uygulamanın ayrıntılı uygulamasından önce müşteriye gösterilebilir ve onay alınabilir.

    sekizinci aşama. Test ve optimizasyon. Zorunlu bir aşama, geliştirilen uygulamanın test edilmesi ve optimize edilmesidir.

    Dokuzuncu etap, final. Bakım ve çalıştırma. Test aşamasında tüm hataları tespit etmek ve ortadan kaldırmak mümkün olmadığından bakım aşaması veritabanları için ortaktır.

    Veri şeması tasarımında iki ana yaklaşım vardır: yukarıdan aşağıya ve aşağıdan yukarıya. Aşağıdan yukarıya bir yaklaşımla, çalışma alt seviyeden başlar - aralarında var olan ilişkilerin analizine dayanarak, nesneleri ve aralarındaki ilişkileri temsil eden ilişkiler halinde gruplandırılan, tanımlayıcı niteliklerin seviyesi. İlişkisel bir veri modeli için tablo normalleştirme süreci, bu yaklaşımın tipik bir örneğidir. Bu yaklaşım, nispeten küçük veritabanları tasarlamak için çok uygundur. Nitelik sayısını birkaç yüz hatta binlerceye çıkarırken, yukarıdan aşağıya bir yaklaşım daha uygun bir tasarım stratejisidir. Bu yaklaşım, birkaç üst düzey varlığın tanımı ve bunlar arasındaki ilişkilerle başlar. Daha sonra bu nesneler gerekli seviyeye kadar detaylandırılır. Bu tasarım yaklaşımının bir örneği, varlık-ilişki modelinin kullanılmasıdır. Uygulamada, bu yaklaşımlar genellikle birleştirilir. Bu durumda karma bir tasarım yaklaşımından bahsedebiliriz.