Bir model varlık ilişkisi siyasi coğrafi harita oluşturun. Model “Varlık-ilişkisi. Nitelik, Değer ve Değer Kümesi

  • 31.10.2019

Varlık-ilişki modelinin unsurları

Önceki bölümlerde açıklanan normalleştirme algoritmasını kullanarak bir veritabanı yapısını modellemenin ciddi sakıncaları vardır:

    Başlangıçta tüm nitelikleri tek bir ilişkiye yerleştirmek çok doğal olmayan bir işlemdir. Sezgisel olarak geliştirici, algılanan varlıklara göre aynı anda birkaç ilişki tasarlar. Kendinize şiddet uygulasanız ve bir veya daha fazla ilişki kursanız bile, sözde tüm bu nitelikler dahil, sonuçta ortaya çıkan ilişkinin anlamı tamamen belirsizdir.

    Niteliklerin tam listesini hemen belirlemek mümkün değildir. Kullanıcıların aynı şeyleri farklı isimlerle çağırma veya tam tersi, farklı şeyleri aynı isimlerle çağırma alışkanlığı vardır.

    Normalleştirme prosedürünü gerçekleştirmek için özniteliklerin bağımlılıklarını belirlemek gerekir ki bu da çok zordur, çünkü gerekli tüm bağımlılıkları açıkça yaz, bariz olanlar bile.

Gerçek veritabanı tasarımında farklı bir yöntem kullanılır - sözde anlamsal modelleme . Anlamsal modelleme, bu verilerin anlamlarına dayalı olarak veri yapılarının modellenmesidir. Semantik modelleme aracı olarak çeşitli seçenekler kullanılır. varlık-ilişki diyagramları (ER - Varlık-İlişki ).

Varlık-ilişki modelinin ilk versiyonu 1976'da Peter Ping-Sheng Chen tarafından önerildi. Daha sonra, birçok yazar bu tür modellerin kendi versiyonlarını geliştirdi (Martin notasyonu, IDEF1X notasyonu, Barker notasyonu, vb.). Ayrıca, aynı gösterimi uygulayan farklı yazılım araçları yeteneklerinde farklılık gösterebilir. Aslında, varlık-ilişki diyagramlarının tüm çeşitleri aynı fikirden gelir - bir resim her zaman metinsel bir açıklamadan daha nettir. Tüm bu diyagramlar, konu alanındaki varlıkların, bunların özelliklerinin (niteliklerinin) ve varlıklar arasındaki ilişkilerin grafiksel bir temsilini kullanır.

Temel fikirleri anlamak oldukça kolay olduğundan, Barker'ın notasyonuna yakın ER diyagramlarıyla çalışmayı anlatacağız. Bu bölüm, alana tam bir girişten çok anlamsal modelleme tekniklerinin bir gösterimidir.

ER diyagramlarının temel kavramları

tanım 1. Öz modelde dikkate alınması gereken, aynı türdeki nesnelerin bir sınıfıdır.

Her varlığın tekil olarak bir isim tarafından ifade edilen bir adı olmalıdır.

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

Modeldeki her varlık, şu adla bir dikdörtgen olarak gösterilir:

Pirinç. 1

tanım 2. varlık örneği bu varlığın özel bir temsilcisidir.

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

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

tanım 3. varlık özelliği bir varlığın bir özelliği olan adlandırılmış bir özelliktir.

Nitelik adı tekil bir isim olarak ifade edilmelidir (muhtemelen niteleyici sıfatlarla).

"Çalışan" varlığının niteliklerine örnekler, "Personel numarası", "Soyadı", "Ad", "Patronimik", "Pozisyon", "Maaş" vb. gibi nitelikler olabilir.

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

Pirinç. 2

tanım 4. varlık anahtarı - Bugün nasılsın gereksiz olmayan toplamdaki değerleri olan bir dizi özellik eşsiz her varlık örneği için. Artıklık olmaması, bir anahtardan herhangi bir özelliğin kaldırılmasının benzersizliğini bozmasıdır.

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

Anahtar nitelikler şemada altı çizili olarak gösterilir (veya anahtar niteliğin yanına bir anahtar işareti çizilir):

Pirinç. 3

tanım 5. Bağ arasında bir ilişki var mı 2 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.

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

Grafiksel olarak, bir ilişki iki varlığı birbirine bağlayan bir çizgi ile temsil edilir:

Pirinç. 4

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. Adların her biri, bağlantının sonuna atıfta bulunur. Bazen isimler aşikar olduğu için yazılmaz.

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

Pirinç. beş

iletişim türü bire bir birinci varlığın (solda) bir örneğinin, ikinci varlığın (sağda) bir örneğiyle 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ığımız olduğunu gösterir.

iletişim türü bire çok birinci varlığın (solda) bir örneğinin, 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ş . Böyle bir bağlantının tipik bir örneği Şekil 2'de gösterilmektedir. 4.

iletişim türü çoktan çoğa birinci varlığın her bir örneğinin, ikinci varlığın birden çok örneği ile ilişkilendirilebileceği ve ikinci varlığın her bir örneğinin, birinci varlığın birden çok örneği ile 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 ara varlık oluşturularak iki bir-çok ilişkisi ile değiştirilmelidir.

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

Pirinç. 6

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

modalite " zorunlu ", 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 (Şekil 4'teki gibi).

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. Şekildeki bağlantı 4 şöyle okunur:

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."

Basit bir ER modeli geliştirmeye bir örnek

ER modelleri geliştirirken konu alanı ile ilgili olarak aşağıdaki bilgileri edinmeliyiz:

    Etki alanı varlıklarının listesi.

    Varlık niteliklerinin listesi.

    Varlıklar arasındaki ilişkilerin açıklaması.

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, konu uzmanlarıyla görüşerek onları iyileştiriyoruz. Aynı zamanda, konuşmaların sonuçlarının kaydedildiği belgeler, ER diyagramlarının kendisidir.

Belirli bir toptan ticaret şirketi için bir bilgi sistemi geliştirme göreviyle karşı karşıya olduğumuzu varsayalım. Her şeyden önce, konu alanını ve içinde yer alan süreçleri incelemeliyiz. Bunu yapmak için şirket çalışanlarıyla görüşür, belgeleri, çalışma talimatı formlarını, faturaları vb. okuruz.

Örneğin, bir satış müdürüyle 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.

    Serbest bırakılan mallar için fatura yazdırın.

    Stoktaki ürünlerin mevcudiyetini 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şareti ile 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

    (?)Depo- Ve genel olarak, şirketin kaç deposu var? Birden fazlaysa, yeni bir varlık için aday olacaktır.

    (?)Ürün bulunabilirliği- bu büyük olasılıkla bir özniteliktir, ancak hangi varlığın özniteliğidir?

Varlıklar arasında hemen bariz 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:

Pirinç. 7

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ı ne ile ilişkilendirmeli? Bu varlıkların birbirleriyle ve "Alıcı" ve "Ürün" varlıklarıyla nasıl ilişkili olduğunu kendimize soralım? Alıcılar, satın alınan malların miktarı ve fiyatına ilişkin verileri içeren faturaları alırken mal satın alırlar. Her alıcı 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 fazla müşteriye birden fazla fatura yoluyla satılabilir. Ayrıca her faturanın belirli bir depodan düzenlenmesi gerekir ve birçok fatura herhangi bir depodan kesilebilir. Böylece, açıklamadan sonra diyagram şöyle görünecektir:

Pirinç. 8

Varlık niteliklerini 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 kalemlerin bir listesi ve faturanın toplam tutarı vardır. Fatura, belirli bir depodan ve belirli bir müşteri için düzenlenir.

    Her deponun kendi adı vardır.

    Yine, potansiyel nitelik olacak tüm isimleri yazıp analiz ediyoruz:

    varlık- retorik bir terim, bireylerle çalışmıyoruz. Dikkat etmiyoruz.

    Alıcı adı

    adres- alıcının net bir özelliği.

    banka detayları- alıcının net bir özelliği.

    ürünün adı- ürünün net bir açıklaması.

    (?)Ürünün fiyatı- ürünün bir özelliği gibi görünüyor. Bu özellik faturadaki fiyattan farklı mı?

    ölçü birimi- ürünün net bir açıklaması.

    Fatura numarası- sevk irsaliyesinin açık ve benzersiz bir özelliği.

    Fatura tarihi- sevk irsaliyesinin açık bir özelliği.

    (?)Faturadaki mal listesi- Liste bir nitelik 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 "mal"ın değil, "irsaliyedeki malın" bir özelliğidir.

    (?)Faturadaki malın fiyatı- Yine, bu sadece malın tarifi değil, faturadaki malın tarifi olmalıdır. Ancak malların fiyatı zaten yukarıda buluştu - aynı şey mi?

    Fatura tutarı- sevk irsaliyesinin 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 net bir açıklaması.

Yönetici ile yapılan ek bir görüşme sırasında, çeşitli fiyat kavramları açıklığa kavuşturuldu. Her öğenin bir miktar geçerli fiyatı olduğu ortaya çıktı. Bu, ürünün şu anda satılmakta olduğu fiyattır. Doğal olarak bu fiyat zamanla değişebilir. Farklı zamanlarda düzenlenen farklı faturalarda aynı ürünün fiyatı farklı olabilir. Böylece, var iki fiyat- faturadaki malın fiyatı ve malların cari fiyatı.

Ortaya çıkan "Faturadaki mal listesi" konsepti ile her şey oldukça açık. "Fatura" ve "Ürün" varlıkları, çoktan çoğa bir ilişkiyle birbirleriyle ilişkilidir. Böyle bir ilişki, daha önce de belirttiğimiz gibi, iki bire çok ilişkiye bölünmelidir. Bu ek bir varlık gerektirir. Bu varlık, "Faturadaki malların listesi" varlığı olacaktır. "Fatura" ve "Mallar" varlıkları ile bağlantısı şu ifadelerle karakterize edilir - "her fatura, faturadaki mal listesinden birkaç girişe sahip olmalıdır", "faturadaki mal listesindeki her giriş dahil edilmelidir. tam olarak bir faturada", "her ürün faturadaki mal listesinden birden fazla girişe dahil edilebilir", "faturadaki mal listesindeki her giriş tam olarak bir ürünle ilişkilendirilmelidir". "Faturadaki mal miktarı" ve "Faturadaki malın fiyatı" nitelikleri, "Faturadaki mal listesi" varlığının nitelikleridir.

"Depo" ve "Mallar" varlıklarını birbirine bağlayan bağlantı için de aynısını yapalım. Ek bir varlık "Stokta mallar" tanıtalım. Bu varlığın niteliği "Stokta bulunan mal miktarı" olacaktır. Böylece mallar herhangi bir depoda listelenecek ve her depodaki miktarı farklı olacaktır.

Şimdi tüm bunları bir çizelgeye koyabilirsiniz:

Pirinç. dokuz

Kavramsal ve fiziksel ER modelleri

Yukarıda geliştirilen örnek ER diyagramı bir örnektir kavram diyagramı . Bu, grafiğin hesaba katmaz belirli bir DBMS'nin özellikleri. Bu kavramsal diyagramdan, fiziksel diyagram , DBMS'nin geçerli türleri ve alan ve tablo adları, bütünlük kısıtlamaları vb. gibi özelliklerini zaten dikkate alacaktır. Şekil 2'de gösterilen diyagramın fiziksel versiyonu. 9 şöyle görünebilir:

Pirinç. 10

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

Ortaya çıkan tabloların hemen 3NF'de olduğunu görmek kolaydır.

sonuçlar

Gerçek veri modelleme aracı, ilişkileri normalleştirmenin resmi bir yöntemi değil, sözde anlamsal modelleme .

Anlamsal modelleme aracı olarak çeşitli seçenekler kullanılır. varlık-ilişki diyagramları (ER - Varlık-İlişki ).

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

Ayırmak kavramsal Ve fiziksel ER diyagramları. Kavramsal diyagramlar, belirli VTYS'nin özelliklerini dikkate almaz. Fiziksel diyagramlar kavramsal diyagramlara göre oluşturulur ve belirli bir veritabanının prototipini temsil eder. Kavramsal diyagramda tanımlanan varlıklar tablolar haline gelir, nitelikler tabloların sütunları olur (aynı zamanda bu VTYS için izin verilen veri türleri ve sütun adları dikkate alınır), bağlantılar tarafından uygulanır. göç ana varlıkların temel nitelikleri ve yabancı anahtarların oluşturulması.

Varlıkların doğru tanımıyla, 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.

ER modelleme tekniklerinin bir örneği olan bu bölüm, alt türler, roller, özel ilişkiler, taşınabilir olmayan ilişkiler, ilişkileri tanımlama vb. gibi diyagram oluşturmanın daha karmaşık yönlerini kapsamaz.

Dipnot: Bu derste veri ambarları için konu alanı tanımı, "varlık-ilişki" modelleme yöntemi, normal ilişki biçimleri, "varlık-ilişki" modelinin varlıklarını normalleştirme süreci, "varlık-ilişki" oluşturma örnekleri tartışılmaktadır. " diyagramları verilmiştir.

dersin amacı

Bu dersin materyalini inceledikten sonra şunları bileceksiniz:

  • tanım konu alanı Veri tabanı
  • veritabanları nelerdir;
  • mantıksal veritabanı modelinin temel yapıları ve öğeleri;
  • altı nedir normal ilişki biçimleri ;
  • ilişkileri normal biçimlere getirme yolları;

ve öğren:

  • temel kavramları ayırt etmek konu alanı: nesne (varlık), etki alanı çekirdeği, durum, konu alanının durumu ;
  • okumak varlık-ilişki diyagramları.
  • varlık-ilişki modelinde normal formlar oluşturun.

Tanıtım

İlişkisel veri ambarlarının mantıksal tasarımı için aşağıdaki teknikler kullanılır.

  • Varlık-İlişki Modelleme Yöntemi(ER modelleme) soyut bir model verir konu alanı varlıklar(kuruluşlar), ara bağlantılar varlıklar arasındaki (ilişkiler) ve Öznitellikler(nitelikler) varlıkların ve ilişkilerin özelliklerini temsil etmek için.
  • Çok boyutlu modelleme yöntemi(Boyutlu modelleme) soyut bir model verir konu alanı aşağıdaki temel kavramları kullanarak: göstergeler veya metrikler(miktar), veri(gerçekler) ve ölçümler(boyutlar).
  • Zamanlama Veri Modelleme Yöntemleri( Zamansal veri modelleme ) parçanın soyut bir modelini verir konu alanı, veri zaman serilerini temsil eder ve aşağıdaki temel kavramları kullanır: zaman damgaları(zaman damgaları), Zaman serisi( zaman serisi ), tarih, tarih aralığı, sınıflar.
  • Modelleme yöntemi "veri toplama"(Veri Kasası) parçanın soyut modelini verir konu alanı, ilişkilerin normalleştirilmesinin matematiksel ilkelerine dayanır ve aşağıdaki temel kavramları kullanır: hub varlıkları( Hub Kuruluşları ), bağlayıcı varlıklar( Bağlantı Varlıkları ), uydu varlıkları( Uydu Varlıkları )

Bu derste varlık-ilişki modelleme yöntemini ele alacağız.

Konu alanı kavramı ve veri mimarisi

Konu alanı kavramı

Veri depolama sistemleri de dahil olmak üzere bilgi sistemlerinin (BS) temel amacı, uygulama yoluyla kullanıcıya dış dünya hakkında anında bilgi sağlamaktır. soru cevap ilişkisi. Soru-cevap ilişkileri, dış dünyada (İD'in dışındaki dünya) bir yorum alarak, bunun belirli bir parçasını İD için ayırmayı mümkün kılıyor - konu alanı, sistemde uygulanacak. Dış dünyayla ilgili bilgiler, IS'de veri şeklinde sunulur. Bu, bilginin anlamsal yorumlanma olanaklarını sınırlar ve IS'deki temsilinin anlamını belirler. IS formları için seçilen bu verilerin toplamı mantıksal etki alanı modeli durumunu belirli bir doğrulukla açıklamaktadır.

Bunu anlamak önemlidir mantıksal etki alanı modeli IP gereksinimleri analizi aşamasında oluşturulur ve depolama veya veritabanı uygulama teknolojisi hakkında varsayımlar içermez.

"Veri" ve "soru" terimlerini kullanarak soru-cevap ilişkisi, sütunları veri öğeleri ve satırları soru olan bir tablo olarak temsil edilebilir. Böyle bir tablodaki her hücre, soru bu öğeyi kullanıyorsa 1, değilse 0 mantıksal değerine sahiptir.

kavram konu alanı bilgisayar biliminin temel kavramlarından biridir ve kesin bir tanımı yoktur. IS bağlamında kullanımı, IS'nin kendisinden ve kullanıcı çevresinden bağımsız olarak, dış dünyanın adları, kavramları ve belirli gerçeklikleri arasında zamana bağlı bir korelasyonun varlığını varsayar. Böylece kavramın tanıtılması konu alanı IS'deki bilgi alma alanını sınırlar ve görünür kılar ve sınırlı bir sürede sorguları yürütmenize olanak tanır.

Dış dünyanın gerçekliklerinin (nesnelerinin) toplamı - hakkında sorular sorabileceğiniz nesneler - bir nesne oluşturur. etki alanı çekirdeği. IŞİD'in bilmediği bir soruya yanıt alması mümkün değil.

"Nesne" terimi, birincil, tanımsız bir kavramdır. "Nesne" teriminin eşanlamlıları "gerçeklik", "öz", "şey"dir. "Öz" teriminin, belirli bir . Tahsis edilen konu alanı nesneler (tasarımcılar yerine) analistler tarafından varlıklara dönüştürülür. nerede konu alanının özü özelliklerini vurgulayarak ve sabitleyerek gerçek bir nesneyi soyutlamanın sonucu olarak anlaşılır..

Şek. 6.1, nesnelerin sınıflandırılmasına yönelik yaklaşımlardan birini sunar konu alanı.


Pirinç. 6.1.

Varlık örnekleri (açısından mantıksal etki alanı modeli) veya nesneler (IP ile ilgili olarak dış dünyanın bakış açısından) şunlardır: bir öğrenci, bir grup öğrenci, sınıflar için bir izleyici, ders zamanı vb. vb.

Nesnelerle ilgili iki sorun vardır - tanımlama ve yeterli açıklama. Kimlik kullanımı için isim. Aynı zamanda, doğal dilin doğasında bulunan anlamının reddedildiği varsayılmaktadır. Yalnızca ad işaretçisi işlevi kullanılır. Ad, bir nesneyi tanımlamanın doğrudan bir yoludur. Bir nesneyi tanımlamanın dolaylı yolları, özelliklerini bir özellik veya özellik olarak anlamalarına dahil eder.

Nesneler, durumları ortaya çıkaran özellikleri aracılığıyla birbirleriyle etkileşime girer. Durumlar, nesneler arasındaki ilişkileri ifade eden ilişkilerdir.. Konu alanındaki durumlar açısından açıklanan konu alanıönermeler hesabı ve yüklemler hesabı kullanarak, yani biçimsel, matematiksel mantık. Örneğin, "Programcı, yönetici şirketin çalışanlarıdır" ifadesi bir içerme ilişkisini açıklar. Böylece nesnelerle ilgili tüm bilgiler ve etki alanı varlıkları doğal dilde ifadeler kullanılarak açıklanmıştır.

Matematiksel mantığın yöntemleri, bu ifadeleri formüle etmeyi ve analize uygun bir biçimde sunmayı mümkün kılar.

Örnek vermek.

Şu ifadeyi düşünün: "Öğrenci Ivanov A.A., 1992'de doğdu." Ivanov A.A. nesnesinin aşağıdaki özelliklerini ifade eder:

  • açıkça - doğum yılı;
  • dolaylı olarak - öğrencilere ait.

İlk özellik, "Ivanov A.A." nesne çiftleri arasında bir bağlantı kurar. ve "doğum yılı" ve ikinci özellik, "Ivanov A.A." nesne çiftleri arasında bir ilişki kurar. ve "birçok öğrenci". Bu ifadenin resmileştirilmesi, aşağıdaki yüklemlerde yer alan değişkenlere değer atamanın sonucu olarak sunulur:

DOĞDU (Ivanov A.A., 1982)
ÖĞRENCİDİR (Ivanov A.A.)

Doğal dillerin anlambiliminde durum ve ilişkinin neredeyse eşanlamlı kabul edildiğine dikkat edin. Durum nesneler hakkında bir açıklama içeriyor konu alanı bazı doğruluk değerleri atanabilen ve değişkenlerin tanıtılmasından sonra bir yüklem olarak sunulabilen . Böylece, hakkındaki ifadelerin toplamı konu alanı IP için bilgi alanının tanımı olarak yorumlanabilir.

Şek. 6.2 içindeki durumların sınıflandırılmasına yönelik yaklaşımlardan birini sunar. konu alanı.

Statik ve dinamik durumları ayırt edin. Statik durumlara örnek olarak "renkli olmak", "yaşlı olmak" vb. durumlar verilebilir. Dinamik durumlara örnek olarak "mekanizma oluştur", "ekmek pişir" vb. durumlar verilebilir.

Bir durumun aynı zamanda bir nesne olabileceğini ve özelliklere sahip olabileceğini unutmayın. Böyle bir çarpışma modellemede belirsizlik yaratır konu alanı.

Yukarıdaki sınıflandırma tanıtır konu alanı iki önemli yön uzay ve zamandır ve zaman hem bir olayın anı hem de olaylar arasındaki bir aralık olarak anlaşılır. Konu alanı uzayda ve zamanda var olur, yani. gerçek dünya gibi zamansal ve uzamsal ilişkilere ve bağlantılara sahiptir. Dış dünyanın gerçek zamanı ile İD'deki ve bilgi kaynaklarındaki yansımasını ayırt etmek gerekir. IS'de zamana bağlı ilişkiler ancak kayıt olduktan sonra sabitlenir. Böylece, konu alanı zaman içinde herhangi bir anda olarak adlandırılan belirli nesneler ve durumlar kümesi seçilmiştir. konu alanının durumu (veya anlık görüntü).

Böylece, konu alanı- bu, dış dünyanın resminin, belirli bir kısmı IS'de bir gerçeklik parçasının algoritmik bir modeli olarak sabitlenen bazı spekülatif resme yönelik amaçlı bir birincil dönüşümdür.

kavram konu alanı IP bilim adamlarının bilgisayar sistemlerinde bilgiyi temsil etmek için semantik modelleri kullanma ihtiyacını fark ettikleri 1980'lerin başında tanıtıldı. Nasıl bir bilgisayar sistemi için gereksinimler doğal bir dil aracılığıyla oluşturuluyorsa, bilgisayar sistemlerindeki bilgiler de belirli bir anlambilime sahip özel bir dil aracılığıyla temsil edilmektedir. Bu yaklaşım ilk olarak 1976'da P. Chen tarafından tanıtıldı.

Klasik bir örnek konu alanı veri ambarı sistemleri oluşturmak ve bu nedenle veri ambarı için şirketin satışlarını analiz etmek görevidir. Bunun nesneleri olarak konu alanı aşağıdakiler ayırt edilebilir: "satış müdürü", "ürün", "depo", "satış ofisi", "alıcı". Durumlar olarak - "malları sat", "malları satın al", "malları depodan gönder", "malları teslim et".

Etki alanı veri mimarisi

Bir veri ambarı, karar desteği veya veri analizi için çeşitli kullanıcı grupları tarafından kullanılan, alana özgü, entegre, zamana bağlı kalıcı bir geçmiş veriler topluluğudur. Veri ambarları da dahil olmak üzere bilgisayar sistemlerindeki bilgiler, veri öğeleri (öğeleri) şeklinde sunulur. Veri depolama kavramının ana hükümlerinden biri, verilerin temizlenmesi, filtrelenmesi, dönüştürülmesi, özetlenmesi ve toplanması ve ardından kullanıcıların bilgi ihtiyaçlarını karşılamak için bir yapıya yerleştirilmesidir. Böyle bir yapının belirlenmesi ana görevlerden biridir. mantık simülasyonu HD.

Bir veri ambarı tasarımcısının ilk görevlerinden biri veri mimarisini tanımlamaktır. Veri mimarisi, bilginin bir etki alanı modeli içinde veri olarak öznel temsilinin ilkeleridir. Bir veri mimarisi oluştururken, bir veri ambarı tasarımcısı veri öğelerini, özelliklerini ve aralarındaki ilişkileri tanımlar. Bir veri mimarisi oluşturmanın kilit noktalarından biri, bilgi detay seviyesi veri öğelerine dönüştürürken. Bu dönüşüm süreci denir veri yapılandırması.

Bu OLTP sistemleri için ayrıntı düzeyi sorunları, veri ambarlama sistemlerindeki kadar önemli değildir. OLTP sistemlerinin veritabanında, veriler genellikle ayrıntılı olarak yapılandırılır. Bir veri ambarındaki verileri temsil etmek için tasarımcı, veri depolama sistemi gereksinimlerine dayalı olarak veri yapılandırma düzeyine özel olarak karar vermelidir. Bu sorunun çözümü çok önemlidir, çünkü veriler toplanırken ve özetlenirken, tedarik eden OLTP sisteminden gelen bazı veri aralıkları veri ambarında temsil edilmeyebilir. Örneğin, bir telekomünikasyon şirketinin veri ambarı, dakikalarla özetlenen telefon ücretlerini içerebilirken, kaynak sistem bu tür verileri saniyelerle depolar.

Verilerin yapılandırılma düzeyi (detay veya ayrıntı düzeyi)(Veri ayrıntı düzeyi) bir veri ambarının en önemli özelliklerinden biridir. Veri yapılandırma düzeyi, veri alanı kapsamında bilgi ve analitik problemlerin çözümü açısından optimal olan, saklanan verinin ayrıntı derecesidir.

Kabaca söylemek gerekirse, veri yapılandırma düzeyi, veri ambarı sisteminde yanıtlanabilecek sorgu sayısını belirler. Veri ambarı yüksek düzeyde veri yapılandırması sağlıyorsa, sistem hemen hemen tüm sorguları destekler. konu alanı HD. Yukarıdaki örnekte, şu soruya bir cevap almak imkansızdır: abone Ivanov A.A. Ocak 2009'un ilk günü beş saniyelik konuşma için ödeme yaptı.

Yüksek düzeyde veri yapılandırmasını sürdürmek, performansı olumsuz yönde etkileyebilecek büyük miktarda veriyi depolama ve sürdürme ihtiyacına yol açar. veri depolama sistemleri, özellikle, talebe yanıt verme süresi hakkında. Öte yandan, düşük düzeyde veri yapılandırması, veri depolama sisteminin kesinlikle sınırlı bir talep yelpazesine cevap verebilmesi gerçeğine yol açmaktadır. Bu nedenle, DW tasarımcısının düzeydeki görevlerinden biri mantık simülasyonu veri ambarında en uygun veri yapılandırma düzeyine ilişkin karardır.

Verilerin yapılandırılması, seçilen sınıf içinde daha fazla ayrıntılandırma amacıyla tüm veri kümesinin belirli sınıflara bölünmesini içerir. Bir veri ambarı için üç ana veri türü (sınıf) tipiktir.

  • Gerçek veriler(Gerçek zamanlı veriler), kuruluşun faaliyetlerinin nicel ve nitel göstergelerinin mevcut durumunu temsil eder. Bu tür verilerin kaynağı genellikle OLTP sistemleridir. Bu tür veriler yüksek düzeyde yapılandırmaya sahiptir. Bu tür verilerin veri ambarında kullanılabilmesi için temizleme prosedürleri kullanılarak önceden işlenmesi gerekir.
  • türetilmiş veri(Türetilen veriler), gerçek verilerin toplanması, toplanması ve ortalamasının alınması sonucunda elde edilen verilerdir. Analizin amaçlarına bağlı olarak, bu tür veriler ayrıntılı veya özet olabilir.
  • Konsolide veriler(Mutabık kılınan veriler) temizlenmiş gerçek verilerdir ve analiz problemlerini çözmek için entegre bir veri kaynağıdır. Bu tür veriler için temel gereksinim, tutarlı olmalarıdır.

Konu alanı ve veri depolama kavramı

kavram konu alanı veritabanları ve veri ambarları ile tüm bilgi sistemleri sınıflarının tasarımında ve geliştirilmesinde pratik olarak kullanılmaktadır. Konu alanı gerçek dünyanın sistemde modellenecek ve uygulanacak olan kısmını tanımlar. Konu alanı anlambiliminden kaynaklanan sistem için en genel kriterleri ve gereksinimleri belirler.

DW, tanımı gereği, konu odaklı bir elektronik koleksiyondur, yani. başlangıçta organizasyonun belirli faaliyet alanlarına odaklanır, konu alanı, - örneğin, üretim veya satış gibi.

Kullanıcıların veri ambarına yönelttiği sorular, kural olarak, stratejiktir ve OLTP sistemlerinden daha genel niteliktedir. Bunlara verilen cevaplar, kuruluşun faaliyetlerinin çeşitli alanlarındaki verilerin bir araya getirilmesini ve özetlenmesini içerir. Bu, HD sistemlerinin belirli alanlara odaklanmasını gerektirir. konu alanları organizasyonun faaliyetleri.

Konu alanları veri ambarı olan sistemlerde organizasyonun faaliyetlerine uygun olarak oluşturulurlar. Liste tanımlamak için konu alanları bu tür sistemler için organizasyonun ana faaliyetlerini - örneğin satış, üretim, müşteriler vb. - tanımlamak gerekir.

Vurgulamak konu alanları"SW1 kuralı" adı verilen teknik genellikle CD'de kullanılır, yani şu soruların yanıtları: ne zaman (ne zaman), nerede (nerede), kim (kim), ne (ne), neden (neden) ve nasıl ( nasıl) - kuruluşun faaliyet türleriyle ilgili olarak (ticari çıkarlar). Örneğin, "kim" sorusuna cevap verilirken, iş çıkarları şu nesneleri kapsayabilir: "müşteriler", "çalışanlar", "tedarikçiler", "yöneticiler", "iş ortakları" vb.

Bir potansiyel listesi oluşturduktan sonra konu alanları HD'li sistemler için, genellikle her biri ayrıştırılarak daha da rafine edilirler. konu alanı. Sonuç bir liste olabilir konu alanları, kuruluşun faaliyetlerini en tam olarak temsil eder. Aynı zamanda, seçilenler arasındaki ilişkinin belirlenmesi önemlidir. konu alanları, bu da ölçümleri belirlemek için önemlidir çok boyutlu modelleme HD.

Analiz problemlerini çözerken ve dolayısıyla BI sistemlerini geliştirirken, belirleme için en umut verici yaklaşımın olduğunu unutmayın. konu alanı OLTP sistemlerinde olduğu gibi, kuruluşun iş süreçlerinin incelenmesidir, işlevlerin değil.

Ardından, "varlık-ilişki" modelleme yöntemini düşünün. Bu yöntem temsil etmek için kullanılır konu alanı mantıksal modeli biçimindedir. Yöntemi uygulamak bir model oluşturur konu alanı uygulamadan bağımsız. Yöntem simülasyonda olduğu gibi uygulanır konu alanları OLTP sistemleri ve modelleme yaparken konu alanları BI sistemleri. Bu yöntemin bilgisi, DW tasarımcısının kuruluş çapında OLTP sistemlerinin veritabanı modelleri ile BI sistemlerinin DW modelleri arasında hızlı bir şekilde mantıksal bağlantılar kurmasına yardımcı olur.

Varlık-İlişki Modellemesi

Varlık-İlişki Modelinin Temel Kavramları

Varlık-ilişki modellemesinin veya ER modellemesinin sonucu bir ER modelidir. Bir ER modeli, verileri varlıklara, ilişkilere ve niteliklere soyutlamak için grafiksel bir gösterim olan ER diyagramları kullanılarak temsil edilir. Yani anlambilim konu alanı ER modelinde sübjektif tanımlama araçları açısından temsil edilir - varlıklar, nitelikler, varlık tanımlayıcıları, üst tipler, alt tipler vb.

Konu alanının özü gerçek bir nesnenin bir dizi özelliğinin ayıklanması ve sabitlenmesi yoluyla soyutlanmasının sonucudur.. Bu nedenle, bir varlık, gerçek bir nesneyi soyutlamanın sonucu olan bir nesne sınıfını temsil eder. Genellikle bir doğal dil ismiyle gösterilirler.

Bir varlık, özellikler veya Öznitellikler(nitelikler) varlıklar. Kural olarak, nitelikler bir varlık ifadesindeki tanımlardır ve doğal dil isimleriyle gösterilir.

Varlıklar birbirleriyle nitelikleri aracılığıyla iletişim kurarlar. Bir varlığın gerçek bir tezahürünü tanımlayan her bir nitelik grubu, varlık örneği(misal). Başka bir deyişle, varlık örneği Bir varlığın birbirinden farklı ve açık tanımlamaya izin veren uygulamalarıdır.. Varlığı tekil olarak adlandırmak, modeli daha sonra okumayı kolaylaştırır. Aslında, bir varlığın adı, örneğinin adıyla verilir.

IS'deki varlıkları tanımak için ana bilgisayar yöntemlerinden biri varlıklara atamadır. tanımlayıcılar(Varlık tanımlayıcısı). Sıklıkla varlık tanımlayıcısı isminde anahtar. seçim görevi varlık tanımlayıcısı anlamsal olarak özneldir. Bir varlık, bir dizi nitelik tarafından tanımlandığından, her varlığın bu varlığı benzersiz olarak tanımlayan bir nitelik alt kümesini seçmesi tavsiye edilir.

Bazı varlıkların doğal tanımlayıcıları vardır. Örneğin, bir faturanın doğal tanımlayıcısı, numarasıdır. varlık kimlikleri kompozit olabilir - birkaç özellikten oluşur ve atomik - birinden oluşur varlık özelliği.

Varlık benzersiz tanımlayıcısı bir varlığı diğerinden ayıran bir varlığın özelliğidir. Bir varlığın birden çok benzersiz tanımlayıcılar, sözde olası anahtarlar, daha sonra tasarımcı seçmelidir varlık birincil anahtarı.

Ayırmak tek değerli ve çok değerli nitelikler. Belirsiz olan nitelikler, belirli bir varlık örneği tek bir anlamı var. Aksi takdirde, çok değerli olarak kabul edilirler..

Modelin incelenmesinde önemli bir nokta konu alanı tasarımcı, çok değerli varlık özellikleri. Bunun nedeni, ilişkisel modelin çok değerli öznitelikleri desteklememesi ve daha sonraki tasarım aşamalarında çözülmesi gerekmesidir.

Her özniteliğin bir etki alanı vardır. İhtisas verilen öznitelik için izin verilen değerleri tanımlayan bir ifadedir.. Başka bir deyişle, etki alanı özelliğin kapsamıdır. Her biri için varlık özelliği etki alanı tanımlanmalıdır. Seviyesinde mantık simülasyonu veri, bir alanın bir özniteliğe atanması geneldir. Örneğin, öznitelik metin, sayısal, ikili, tarih veya "tanımlanmamış" şeklindedir. İkinci durumda, analist, . Sonraki aşamalarda domain tipi belirlenir, domain kavramının veri ambarının fiziksel modelindeki anlamı bir analistin anlayabileceğinden daha dardır. Bunun nedeni, fiziksel model içinde etki alanının etki alanı kısıtlama mekanizması aracılığıyla uygulanması ve VTYS'nin tanımsız etki alanlarını anlamamasıdır.

Varlıklar birbirlerinden ayrı olarak var olmazlar. Aralarında modele yansıtılması gereken gerçek ilişkiler (İlişki) vardır. konu alanı. İlişkileri vurgularken, vurgu, ilişkileri ve özelliklerini düzeltmektir. Tutum (iletişim) iki veya daha fazla varlık arasındaki bağlantıyı (ilişkiyi) temsil eder. Her bağlantı değerler aracılığıyla gerçekleştirilir varlık özellikleri. Genellikle bir bağlantı bir fiil ile belirtilir. Her bağlantının da kendine ait olması gerekir. benzersiz bağlantı tanımlayıcısı.

İlişkisel modelde, ilişkiler yalnızca bir yabancı anahtar üzerindeki bütünlük kısıtlaması yoluyla uygulanır. Bu nedenle, bir ilişkisel veri ambarının tasarımcısı, varlıklar arasındaki ilişkinin, ilişkinin benzersiz anahtarını belirleyecek olan kesin olarak belirlenmiş öznitelikler aracılığıyla gerçekleştirilmesini sağlamalıdır. Varlık anahtarlarının seçimi, bir tasarımcının fiziksel bir veritabanı modeline geçerken vermesi gereken en önemli tasarım kararlarından biridir.

İlişkiler, bağlantı derecesi ile karakterize edilir ve varlık üyelik sınıfı bağlantıya. Bağlantı derecesi (güç) bir ilişkinin oluşumunda yer alan varlıkların sayısının oranıdır. Örneğin, "bire bir", "bire çok", "çoktan çoğa". Mantıksal model düzeyinde, tanımlanmamış veya çözülmemiş bir ilişkiye izin verilir. Varlık üyelik sınıfı - bu, işletmenin bağlantıya katılımının niteliğidir. Ayırmak zorunlu Ve isteğe bağlı varlık üyelik sınıfları bağlantıya. Zorunlu böyle üyelik sınıfı, ne zaman varlık örnekleri iletişimin kurulmasına hatasız katılmak. Aksi takdirde varlık isteğe bağlıdır üyelik sınıfı. Opsiyonel için varlık üyelik sınıfı bağlantı derecesi sıfıra eşit olabilir, yani. varlık örneği başka bir varlığın 0, 1 veya birden çok örneğiyle ilişkilendirilebilir. bir zorunlu için üyelik sınıfı bağlantı derecesi sıfır olamaz.

ilişkiler bağlayıcı varlık kendisi ile denir dönüşlü. Dönüşlü bir ilişkinin tipik bir örneği, "Çalışanlar" ile ilgili olarak bir tabiiyet yapısının tanımıdır. Yansımalı ilişkiler çoğunlukla bir veri yapısı içindeki hiyerarşik ilişkileri yansıtır. Daha sonra tartışılacak olan bir dizi tasarım sorununa yol açarlar.

İlişki açısından, zayıf varlıklar(zayıf). Zayıf varlıklar, kendisiyle ilişkilendirilmiş başka bir varlığın örneği olana kadar veritabanında bulunamayan varlıklardır. Böyle bir varlığa bir örnek, müşteri olmadan var olamayacak bir sipariştir. Zayıf varlıkların zorunlu bir üyelik sınıfı ve böyle bir varlığın bağlantı derecesi sıfıra eşit olamaz. Sipariş-müşteri ilişkisi zorunludur.

Veri bütünlüğü ve tutarlılığını sağlamak için zayıf varlıkları ve bunlarla ilişkili zorunlu ilişkileri belirlemek gereklidir. Örneğin, bilinmeyen bir müşteriye sipariş atamak mümkün değildir.

Bazen seçkin bir varlık, bir içerme ilişkisi veya parça-bütün ilişkisi taşır. Bu durumda, değerleri kümenin bir bölümünü oluşturan bazı nitelikler vardır. varlık örnekleriörtüşmeyen alt kümelere - varlık kategorileri. Varlık kategorileri denir alt tipler ve orijinal varlığın bir kategorisi olan ilişki çerçevesinde alt bir varlığa tahsis eder. Alınan kategoriler için ortak olan nitelikler orijinal varlıktan çıkarılır ve böylece bir süper tip haline gelen bir varlık çıkarılır. Orijinal varlığın adı, anlamsal anlamı değişse de, genellikle seçkin üst tip varlığın arkasında bırakılır.

Alt tipleriyle birlikte bir üst tip, sözde buna bir örnektir. bileşik varlık. Bileşik bir varlık, bir varlık kümesini ve bunlar arasındaki ilişkileri bir bütün olarak temsil etmek için bir modelin mantıksal bir yapısıdır.

Örnek vermek. Araç varlığı aşağıdaki alt tiplere ayrılabilir: iki tekerlekten çekişli araçlar, dört tekerlekten çekişli araçlar, değiştirilebilir tahrikli araçlar.

Tasarımcının, bir üst tip varlığının tüm örneklerinin, alt tiplerinden yalnızca birine ait olduğunu bilmesi önemlidir. Modelde alt tiplerin ve üst tiplerin bulunması tasarımı karmaşık hale getirmekte ve uygulamada bazı zorluklar yaratmaktadır. Bu nedenle, modelde süper tiplerin varlığının gerekli olup olmadığını tasarımın erken bir aşamasında belirlemek önemlidir.

Bunu yapmak için aşağıdaki adımları izlemelisiniz:

  • Aynı özelliklerin çoğunun farklı alt tiplere sahip olup olmadığını belirleyin. Unutulmamalıdır ki, alt tipler birbirine ne kadar az benzerse, bir üst tip ortaya çıkarma olasılığı o kadar fazladır;
  • veya bul varlık örneği Makul olarak birden fazla alt tipine dahil edilebilecek olan bir . Bu, bir üst tip tanımına aykırı olduğundan, önerilen bölme geçersizdir.

Tipik dokümantasyon şekli mantıksal etki alanı modeli ER modellemede varlık-ilişki diyagramları, veya ER diyagramları (Varlık İlişki Şeması). Bir ER diyagramı, mantıksal bir modelin tüm öğelerini basit, sezgisel, ancak kesin olarak tanımlanmış kurallara göre grafiksel olarak temsil etmenize olanak tanır - notasyonlar.

ER diyagramları oluşturmak için genellikle en yaygın iki gösterimden biri kullanılır.

  • Bilgi Modellemesi için Entegrasyon Tanımlaması ( IDEF1X ). Bu gösterim ABD Ordusu için geliştirildi ve ABD federal standardı oldu. Ayrıca bir takım uluslararası kuruluşlarda (NATO, Uluslararası Para Fonu vb.) bir standarttır.
  • Bilgi Mühendisliği (IE). Martin (Martin), Finkelstein (Finkelstein) ve diğer yazarlar tarafından geliştirilen gösterim, öncelikle endüstride kullanılmaktadır.

ER diyagramlarının yapımı, kural olarak, CASE araçları kullanılarak gerçekleştirilir. Bu derste tüm örneklerde aksi belirtilmedikçe MS Office Visio 2007 notasyonu kullanılacaktır.

Bir ER diyagramındaki bir varlık, üstünde bir isim bulunan bir dikdörtgen ile temsil edilir (Şekil 6.3).


Pirinç. 6.3. ER diyagramında "Çalışan" varlığının temsili

Dikdörtgen içinde listelenmiş varlık özellikleri oluşturan nitelikler ise varlık benzersiz tanımlayıcısı, altı çizilidir (Şekil 6.4).


Pirinç. 6.4.Özniteliklere ve benzersiz bir varlık tanımlayıcısına sahip "Çalışan" varlığının temsili

Her varlık örneği benzersiz ve diğer niteliklerden farklı olmalıdır. IS'deki varlıkları tanımak için ana bilgisayar yöntemlerinden biri, varlıklara varlık tanımlayıcıları atamaktır. Bir varlık, bir dizi nitelik tarafından tanımlandığından, her varlığın bu varlığı benzersiz olarak tanımlayan bir nitelik alt kümesini seçmesi tavsiye edilir. Sıklıkla varlık tanımlayıcısı birincil anahtar denir.

Birincil anahtar, bir varlığın örneğini benzersiz şekilde tanımlayan bir öznitelik veya öznitelikler grubudur.. Şemadaki birincil anahtar nitelikler özel bir tanım gerektirmez - bunlar, yatay çizginin üzerindeki nitelikler listesinde bulunan niteliklerdir (Şekil 6.3).

Birincil anahtar seçmek, çözümü gelecekteki bir IS'nin etkinliğini etkileyebilecek zor bir görev olabilir. Bir varlık, birincil anahtar olduğunu iddia eden çeşitli niteliklere veya nitelik kümelerine sahip olabilir. Bu tür başvuru sahiplerine denir potansiyel anahtarlar(aday anahtarı).

anahtarlar olabilir karmaşık, yani birden fazla nitelik içerir. Karmaşık birincil anahtarların özel gösterime ihtiyacı yoktur - bu, yatay çizginin üzerindeki özelliklerin bir listesidir.

"Çalışan" varlığının birincil anahtarı için adayları düşünün (Şekil 6.5).


Pirinç. 6.5.Çalışan Varlığı için Birincil Anahtar Tanımlama

İşte aşağıdaki potansiyel ipuçları.

  1. Personel Numarası.
  2. Pasaport Kimliği.
  3. Soyadı + Adı + Patronimik.

Birincil olmak potansiyel anahtar bir takım gereksinimleri karşılamalıdır.

benzersizlik. İki örnek aynı aday anahtar değerlerine sahip olmamalıdır. Potansiyel Anahtar (Soyadı + Adı + Patronimik) zayıf bir adaydır çünkü kuruluş tam adaşlara sahip olabilir.

kompaktlık. Karmaşık bir aday anahtar, kaldırılması benzersizliğin kaybolmasına neden olmayacak herhangi bir öznitelik içermemelidir. Anahtarın benzersizliğini sağlamak için ( Soyadı + Adı + Patronimik) niteliklerle tamamlayın Doğum tarihi Ve göz rengi. İş kuralları, nitelik kombinasyonlarının Soyadı + Adı + Orta adı + Doğum tarihi bir çalışanı benzersiz bir şekilde tanımlamaya yetecek kadar, ardından göz rengi gereksiz olduğu ortaya çıktı, yani anahtar Soyadı + Adı + İkinci adı + Doğum tarihi + Göz rengi kompakt değildir.

Birincil anahtar seçilirken, daha basit anahtarlar, yani daha az öznitelik içeren anahtarlar tercih edilmelidir. Örnekte, 1 ve 2 numaralı tuşlar, 3 numaralı tuşa tercih edilir.

Anahtar öznitelikler boş değerler içermemelidir. Çalışanın pasaportu olmamasına veya pasaport yerine başka bir kimlik kartına sahip olmasına izin verilirse, 2 numaralı anahtar birincil anahtar rolü için uygun olmayacaktır. Benzersizliği sağlamak için, ilave etmek gerekirse potansiyel anahtar ek öznitelikler, boş değerler içermemelidir. 3 numaralı anahtar niteliğini eklerken Doğum tarihi doğum tarihlerinin tüm çalışanlar tarafından bilindiğinden emin olmanız gerekir.

Anahtar niteliklerin değeri kullanım ömrü boyunca değişmemelidir. varlık örneği. Kuruluşun bir çalışanı evlenebilir ve hem soyadını hem de pasaportunu değiştirebilir. Bu nedenle, 2 ve 3 numaralı anahtarlar, birincil anahtarın rolü için uygun değildir.

Her varlığın en az bir potansiyel anahtar. Birçok varlığın sadece bir tane var potansiyel anahtar. Bu anahtar birincil anahtar olur. Bazı varlıklar birden fazla olası anahtara sahip olabilir. Sonra biri birincil olur ve gerisi - alternatif tuşlar. Alternatif Anahtar, birincil anahtar haline gelmemiş bir aday anahtardır..

Bazı varlıkların doğal (doğal) anahtarları vardır. Örneğin, bir faturanın doğal tanımlayıcısı, numarasıdır. Aksi takdirde, tasarımcı, değeri yapay olarak oluşturulan ve konu alanıyla ilgili olmayan bir nitelik olan bir vekil anahtar (Vekil Anahtar) oluşturabilir. Veri ambarları için veri yapılarını modellerken, birçok durumda yedek anahtarlar daha çok tercih edilir.

Etki alanları analistler tarafından atanır ve özel bir belgeye kaydedilir - bilgi sözlüğü( Bilgi sözlüğü ). Mantıksal bir model oluştururken, etki alanları bir ER diyagramındaki varlıklarda belirtilebilir.

Her özniteliğin bir etki alanı vardır. Bir etki alanı, sıradan özniteliklerin üretilebildiği soyut bir öznitelik olarak tanımlanabilir ve oluşturulan öznitelikler, ana etki alanının tüm özelliklerine sahip olacaktır. Her öznitelik yalnızca bir etki alanında tanımlanabilir, ancak her etki alanında birçok öznitelik tanımlanabilir. Alan kavramı, yalnızca veri türünü değil, aynı zamanda veri değerleri aralığını da içerir. Örneğin, "Yaş" alanını pozitif bir tamsayı olarak tanımlayabilir ve özniteliği tanımlayabilirsiniz. Çalışan yaşı bu etki alanına ait olarak.

Seviyesinde mantık simülasyonu veri, bir alanın bir özniteliğe atanması geneldir. Örneğin, öznitelik metin, sayısal, ikili, tarih veya "tanımlanmamış" şeklindedir. İkinci durumda, analist, . Sonraki aşamalarda domain tipi belirlenir, domain kavramının veri ambarının fiziksel modelindeki anlamı bir analistin anlayabileceğinden daha dardır. Bunun nedeni, fiziksel model çerçevesinde etki alanının etki alanı kısıtlama mekanizması aracılığıyla uygulanmasıdır, VTYS'nin tanımsız etki alanlarını anlamamasıdır.

Tasarımcı, analistlerin katılımıyla VTYS'de gerçekleştirilebilirlik açısından her bir özelliğin etki alanlarını dikkatlice incelemeli, gerçekleştirilebilirlik koşulu karşılanmıyorsa bunlarda değişiklik yapmalıdır. Bunu yaparken, tasarımcı aşağıdakiler tarafından yönlendirilir:

  • ilişkisel bir veri ambarı uygulamak için, örneğin MS SQL Server 2008;
  • Çoğu ilişkisel DBMS'de, SQL, örneğin ANSI SQL-92 gibi belirli standartları destekleyen verileri işlemek ve açıklamak için dil olarak kullanılır.

Tutum (iletişim) ER diyagramındaki varlıklar, bu varlıkları birbirine bağlayan bir çizgi ile temsil edilir. Oran, satır boyunca soldan sağa veya sağdan sola okunur. Şek. 6.6 Aşağıdaki ilişki sunulmuştur: eğitimdeki her uzmanlık belirli bir gerçek kişi (kişi) için kaydedilmelidir, bir kişi eğitimde bir veya daha fazla uzmanlığa sahip olabilir.


Pirinç. 6.6.

MS Office Visio'da ilişki adı , ilişki derecesi (güç) ve varlık üyelik sınıfı bağlantı, şekil 2'de gösterildiği gibi "Veritabanı özellikleri" sekmesinde tanımlanır. 6.7. Bağlantıdaki ok şunu gösteriyor ana tablo.

Bağlantıları vurgularken, vurgu onların özelliklerini belirlemektir. İlişki, iki veya daha fazla varlık arasındaki ilişkidir. Her bağlantı değerler aracılığıyla gerçekleştirilir varlık özellikleri, Örneğin, varlık örneği"Çalışan" (Şekil 6.6) ile ilişkilidir varlık örneği Aynı nitelik değerleri için "Eğitim" Personel Numarası. Başka bir deyişle, alt varlık adı verilen varlıklardan birinde bir ilişki oluşturulduğunda, adı verilen yeni bir nitelik oluşturulur. yabancı anahtar(Yabancı Anahtar, FK) (Şekil 6.6'da bu bir niteliktir Personel Numarası). Bazen yabancı anahtar nitelikleri, adlarından sonra bir (FK) ile gösterilir.

İlişki, varlıklar arasındaki mantıksal bir ilişkidir. Her bağlantı bir fiil veya fiil cümlesi ile adlandırılmalıdır. İlişki adı (Fiil Cümlesi) - ebeveyn ve alt varlıklar arasındaki ilişkiyi karakterize eden bir ifade. İlişki adı, bazı kısıtlamaları veya iş kurallarını ifade eder ve diyagramın okunmasını kolaylaştırır. Şek. 6.8, bir ismin bir ilişkiye atanmasını gösterir.

Farklı ilişki türleri vardır: bire çok tanımlayıcı ilişkiler, çoktan çoğa ilişkiler ve bire çok tanımlayıcı olmayan ilişkiler. Çeşitli varlık türleri de ilişki türleri ile ilişkilendirilir.

İki tür varlık vardır: bağımlı(Bağımlı varlık) ve bağımsız(Bağımsız kuruluş). Bir varlığın türü, diğer varlıklarla olan ilişkisine göre belirlenir. Bağımsız (ilişkinin ana ucu) ve bağımlı (ilişkinin alt ucu) varlıklar arasında tanımlayıcı bir ilişki kurulur.

Bağımlı bir varlığın bir örneği, yalnızca ana varlıkla olan bir ilişki aracılığıyla, yani Şekil 1'deki yapıda tanımlanır. 6.8 Eğitim diplomasına göre uzmanlığı olan çalışan hakkında bilgi olmadan uzmanlık alanına ilişkin bilgiler girilemez ve bir anlam ifade etmez. Tanımlayıcı bir ilişki kurulduğunda (şekilde düz çizgi), ana varlığın birincil anahtarının nitelikleri otomatik olarak alt varlığın birincil anahtarına (düz çizgi) aktarılır. Bu dolgu işlemi bir ilişki oluştururken alt varlık özniteliklerine öznitelik geçişi denir. Bir alt varlıkta, böyle bir öznitelik bir yabancı anahtar olarak kabul edilir.

Model CASE araçları kullanılarak oluşturulmuşsa, veritabanı şeması oluşturulurken birincil anahtarın nitelikleri NULL DEĞİL olarak işaretlenecektir, bu da çalışanın personeli hakkında bilgi olmadan "Çalışanlar" tablosunda kayıt yapmanın imkansız olduğu anlamına gelir. numara.

Tanımlayıcı olmayan bir ilişki kurulduğunda (Şekil 6.9, noktalı çizgi), alt varlık bağımsız kalır ve ana varlığın birincil anahtar nitelikleri, ana varlığın anahtar olmayan bileşenlerine taşınır. Bağımsız varlıkları bağlamak için tanımlayıcı olmayan bir ilişki kullanılır (Şekil 6.9).

varlık örneği"Çalışan", herhangi bir varlık örneği"Departman", yani bir çalışan bir organizasyonda çalışabilir ve herhangi bir departmanda listelenmeyebilir.

Tanımlayıcı bir ilişki, ilişkinin alt ucunda kalın bir nokta bulunan düz bir çizgi olarak diyagramda gösterilir (bkz. Şekil 6.8), tanımlayıcı olmayan bir ilişki kesiklidir (bkz. Şekil 6.9).

Çoktan çoğa ilişki(çoktan çoğa ilişki) yalnızca mantıksal model düzeyinde oluşturulabilir. Şek. Şekil 6.10 çoktan çoğa ilişki tanımlamanın bir örneğini göstermektedir. Bir doktor birçok hastayı görebilir, bir hastayı birkaç doktor tedavi edebilir. Böyle bir bağlantı, uçlarında iki ok bulunan düz bir çizgi ile gösterilir.

Çoktan çoğa ilişki iki kelime öbeği ile adlandırılmalıdır - her iki yönde ("kabul eder / işlem görür" örneğinde). Bu, grafiğin okunmasını kolaylaştırır. iletişim açık

Herhangi bir model gibi, varlık-ilişki modeli de, önceden belirlenmiş kurallara göre daha karmaşık nesnelerin oluşturulduğu ilk yapı taşlarını oluşturan birkaç temel konsepte sahiptir.

Bu model, şüphesiz şu anda karmaşık yazılım sistemlerinin geliştirilmesinin temeli olan nesne yönelimli tasarım kavramıyla en tutarlı olanıdır, pek çok kavram size tanıdık gelebilir ve bu doğruysa, o zaman daha kolay olacaktır. ER modeline dayalı veritabanı tasarım teknolojisinde uzmanlaşmanız için.

ER modeli aşağıdaki temel kavramlara dayanmaktadır:

  • öz, ile aynı türden bir nesne sınıfını modellemek için kullanılır. Varlık, modellenen sistem içinde benzersiz olan bir ada sahiptir. Bir varlık aynı türden belirli bir nesne sınıfına karşılık geldiğinden, sistemde bu varlığın birçok örneğinin olduğu varsayılır. Varlık kavramının karşılık geldiği nesnenin kendi kümesi vardır. Öznitellikler - belirli bir sınıf temsilcisinin özelliklerini tanımlayan özellikler. Bu durumda, öznitelikler kümesi, varlığın belirli örneklerini ayırt etmek mümkün olacak şekilde olmalıdır. Örneğin, Çalışan varlığı aşağıdaki niteliklere sahip olabilir: Personel numarası, Soyadı, Adı, İkinci adı, Doğum tarihi, Çocuk sayısı, Yurtdışında akrabaların varlığı. Bir varlığın belirli bir örneğini benzersiz olarak tanımlayan nitelikler kümesine ne ad verilir? anahtar.Çalışan varlığı için, personel sayısı bu işletmenin tüm çalışanları için farklı olacağından, Personel numarası niteliği anahtar olacaktır. Çalışan varlığının bir örneği, işletmenin belirli bir çalışanının tanımı olacaktır. Bir varlığın genel olarak kabul edilen grafik tanımlarından biri, üst kısmında varlığın adının yazılı olduğu ve niteliklerin aşağıda listelendiği bir dikdörtgendir ve temel nitelikler, örneğin bir alt çizgi veya bir çizgi ile işaretlenmiştir. özel yazı tipi (Şekil 7.1):

Pirinç. 7.1.ER modelinde bir varlık tanımlama örneği

Varlıklar arasında kurulabilir bağlantılar- varlıkların birbirleriyle nasıl ilişki kurduğunu veya etkileşime girdiğini gösteren ikili ilişkiler. İki farklı varlık arasında veya bir varlık ile kendisi arasında bir ilişki olabilir. (yinelemeli bağlantı). Varlık örneklerinin birbirleriyle nasıl ilişkili olduğunu gösterir. İki varlık arasında bir ilişki kurulursa, bir varlığın örnekleri ile diğer varlığın arasındaki ilişkiyi tanımlar. Örneğin, "Öğrenci" varlığı ile "Öğretmen" varlığı arasında bir ilişkimiz varsa ve bu ilişki diploma projelerinin yönetimi ise, her öğrencinin yalnızca bir danışmanı olur, ancak aynı öğretmen birçok lisansüstü öğrenciyi denetleyebilir. Bu nedenle, bire-çok (1:M) bir ilişki olacak, biri Öğretmen tarafında ve çoğu Öğrenci tarafında olacak (bakınız Şekil 7.2).


Pirinç. 7.2."Öğrenci" ve "Öğretmen" varlıklarını bağlarken bire çok ilişki örneği

Farklı gösterimlerde, iletişimin gücü farklı şekillerde tasvir edilir. Örneğimizde, POWER DESIGNER sisteminin CASE gösterimini kullanıyoruz, burada çokluk bağlantı 3'e bölünerek gösterilmektedir. Öğrenci tarafında bu role "Rehberlik altında diploma yazar", öğretmen tarafında bu ilişkiye "Rehber" adı verilir. İlişkinin grafiksel yorumu, varlıklar arasındaki ilişkinin anlamını anında okumanızı sağlar, açık ve yorumlanması kolaydır. Bağlantılar çokluğuna göre üç türe ayrılır: bire bir(1:1), bir ve-çok(1M), çoktan çoğa(MM). Bire bir ilişki, bir varlığın bir örneğinin başka bir varlığın yalnızca bir örneği ile ilişkilendirildiği anlamına gelir.

Bağlantı 1: M, bağlantının solunda bulunan varlığın bir örneğinin, bağlantının sağında bulunan varlığın birkaç örneğiyle ilişkilendirilebileceği anlamına gelir. Bire bir ilişki (1:1), bir varlığın bir örneğinin başka bir varlığın yalnızca bir örneği ile ilişkili olduğu anlamına gelir ve çoktan çoğa ilişki (M:M), ilk varlığın bir örneğinin olduğu anlamına gelir. ikinci varlığın birden çok örneği ile ilişkilendirilebilir ve tam tersi, ikinci varlığın bir örneği, birinci varlığın birden çok örneği ile ilişkilendirilebilir. Örneğin, “Öğrenci” ve “Konu” varlıkları arasında bir “Çalışmalar” ilişkisini düşünürsek, bu çoktan çoğa (E:M) bir ilişkidir, çünkü her öğrenci birkaç disiplini çalışabilir, ancak her disiplin birçok öğrenci tarafından incelenmiştir.Bu bağlantı Şekil 2'de gösterilmektedir. 7.3.

  • İki varlık arasında farklı anlamsal yüklere sahip herhangi bir sayıda bağlantı ayarlanabilir. Örneğin, iki "Öğrenci" ve "Öğretmen" varlığı arasında, biri daha önce düşünülen "Mezuniyet Tasarımı" ve ikincisi koşullu olarak "Dersler" olarak adlandırılan iki anlamsal ilişki kurabilirsiniz ve hangi öğretmenlerin bu dersi vereceğini belirler. öğrenci dinler ve hangi Bu öğretmen öğrencilere ders anlatır. Bu türden bir bağlantı olduğu açıktır. çoktan çoğa. Bu bağlantıların bir örneği, Şek. 7.3.

Pirinç. 7.3.Çoktan Çoka İlişki Modelleme Örneği

  • Bu türlerden herhangi birinin iletişimi zorunlu bir varlığın her örneğinin belirli bir ilişkiye katılması gerekiyorsa, isteğe bağlı - varlığın her örneğinin ilişkiye katılması gerekmedikçe. Bu durumda bağlantı şu şekilde olabilir: bir yandan zorunlu Ve Öte yandan isteğe bağlı. Zorunlu iletişim de farklı notasyonlarda farklı şekilde belirtilmiştir. POWER DESIGNER notasyonunu tekrar kullanıyoruz. Burada, bağlantının opsiyonelliği bağlantının sonundaki boş bir daire ile, zorunluluk ise bağlantıyı kesen dik bir çizgi ile gösterilir. Ve bu gösterimin basit bir yorumu var. Daire, hiçbir örneğin bu ilişkiye katılamayacağı anlamına gelir. Ve dik, varlığın en az bir örneğinin bu ilişkiye katıldığı gerçeği olarak yorumlanır.

Bunun için daha önce verilen "Derece tasarımı" bağlantısı örneğini ele alalım. Figürümüzde bu ilişki her iki tarafta da isteğe bağlı olarak yorumlanmıştır. Ama sonuçta, aslında, diploma yazan her öğrencinin kendi mezuniyet tasarımı amiri olması gerekir, ancak öte yandan, her öğretmen mezuniyet tasarımı yapmamalıdır. Bu nedenle, bu anlamsal formülasyonda, bu bağlantının görüntüsü değişecek ve Şekil 1'de gösterildiği gibi görünecektir. 7.4.

Pirinç. 7.4.Varlıklar arasında zorunlu ve isteğe bağlı bir ilişki örneği

Ayrıca, ER modelinde varlık kategorizasyonu ilkesine izin verilir. Bu, nesne yönelimli programlama dillerinde olduğu gibi, bir varlık alt türü kavramının tanıtıldığı, yani bir varlığın iki veya daha fazla alt türü olarak temsil edilebileceği anlamına gelir - varlıklar, her biri ortak niteliklere ve ilişkilere ve/veya bir kez üst seviyede tanımlanan ve alt seviyede miras alınan niteliklere ve ilişkilere sahip olabilir. Bir varlığın tüm alt türleri birbirini dışlayan olarak kabul edilir ve bir varlık alt türlere bölünürken, birbirini dışlayan alt türlerin eksiksiz bir kümesi olarak temsil edilmelidir. Analiz düzeyinde, alt türlerin tam listesini belirlemek mümkün değilse, şartlı olarak DİĞER olarak adlandırılan ve daha da iyileştirilebilen özel bir alt tür eklenir. Gerçek sistemlerde, iki veya üç düzeyde alt tipleme yapmak yeterli olabilir.

Alt türlerin oluşturulduğu varlığa denir süper tip. Bir üst türün herhangi bir örneği, belirli bir alt türden olmalıdır. Bir varlığın kategorize edilmesi veya yazılması ilkesinin grafik gösterimi için, özel bir grafik öğesi tanıtılır. ayrımcı düğüm, POWER DESIGNER gösteriminde, dışbükey tarafı süper varlığa bakan bir yarım daire olarak tasvir edilmiştir. Bu taraf, üst varlığa yönlendirilmiş bir okla bağlanır ve bu varlığın alt türleri, bu dairenin çapına oklarla bağlanır (bkz. Şekil 7.5).

Pirinç. 7.5.Varlık alt tip diyagramı TEST

Bu diyagram aşağıdaki gibi deşifre edilebilir. Bazı test sistemlerindeki her test, ya SQL dili bilgisinin bir testidir ya da önceden yazılmış Java uygulamaları kullanılarak gerçekleştirilen bazı analitik görevler ya da bir dizi soru ve bir dizi sorudan oluşan bir bilgi alanında bir testtir. Her soru için sunulan cevaplar kümesi.

Bir dizi varlık ve ilişki biçiminde bir etki alanı modeli oluşturmanın bir sonucu olarak, bağlantılı bir grafik elde ederiz. Ortaya çıkan grafikte döngüsel bağlantılardan kaçınmak gerekir - bunlar modelin yanlışlığını ortaya çıkarır.

Örnek olarak, bir kütüphanede sunulan kitaplar ve bilgi alanları hakkında bilgi depolamak için tasarlanmış bir sistemin mitolojik bir modelini tasarlayalım. Konu alanının açıklaması daha önce verildi. Ana varlıkları vurgulayarak modeli geliştirmeye başlayalım.

Her şeyden önce, "Kitap"ın özü vardır, her kitabın anahtarı olan benzersiz bir şifresi ve konu alanının açıklamasından alınan bir dizi özelliği vardır. Varlık örnekleri kümesi, kitaplıkta depolanan kitap kümesini tanımlar. “Kitaplar” varlığının her bir örneği, raftaki belirli bir kitaba karşılık gelmez, ancak genellikle kütüphanenin konu kataloğunda verilen bazı kitapların açıklamasına karşılık gelir. Her kitap birkaç kopya halinde bulunabilir ve bunlar sadece kütüphanenin raflarında bulunan belirli kitaplardır.

Bunu yansıtmak için, kütüphanede depolanan tüm kitap örneklerinin açıklamalarını içerecek olan bir Örnek varlığı tanıtmalıyız. Örnek varlığının her bir örneği, raftaki belirli bir kitaba karşılık gelir. Her kopyanın, belirli bir kitabı benzersiz şekilde tanımlayan benzersiz bir erişim numarası vardır. Ayrıca kitabın her nüshası ya kütüphanede ya da bir okuyucunun elinde olabilir ve ikinci durumda bu nüsha için kitabın okuyucu tarafından alındığı tarih ve kitabın beklenen geri dönüş tarihi olabilir. kitap ayrıca belirtilmiştir.

"Kitaplar" ve "Örnekler" varlıkları arasında, her iki taraf için de zorunlu olan "bire çok" (1:M) ilişkisi vardır. Bu tür bir ilişkiyi ne tanımlar? Her kitabın kütüphanede birden fazla durumda bulunabileceğini varsayabiliriz, bu nedenle ilişki bire çoktur. Ayrıca, kütüphanede verilen kitabın tek bir nüshası yoksa, açıklamasını saklamayacağız, bu nedenle kitap “Kitaplar” varlığında tanımlanıyorsa, bu kitabın en az bir kopyası kütüphanede bulunur. kütüphane. Bu, kitabın yan tarafından bağlantının zorunlu olduğu anlamına gelir. “Instances” varlığına gelince, kütüphanede belirli bir kitaba ait olmayan tek bir kopya olamaz, bu nedenle “Instances” tarafından bağlantı da zorunludur.

Şimdi okuyucunun sistemimizde nasıl temsil edileceğini belirlememiz gerekiyor. Bunun için her örneği belirli bir okuyucuya karşılık gelecek olan “Okuyucular” varlığını önermek doğaldır. Kütüphanede her okuyucuya, okuyucumuzu benzersiz bir şekilde tanımlayacak benzersiz bir kütüphane kart numarası atanır. Kitaplık kartı numarası, Okuyucular varlığının önemli bir özelliği olacaktır.

Ayrıca “Okuyucular” varlığında görevleri çözmek için gerekli olan ek öznitelikler bulunmalıdır, bu öznitelikler “Soyadı Adı”, “Okuyucu Adresi”, “Ev Telefonu” ve “İş Telefonu” olacaktır. Telefonlar için neden iki ayrı özellik ekledik? Okuyucuyu yakalamak için bu telefonları farklı zamanlarda aramak gerektiğinden kütüphane yönetiminin bu telefonun hangi türe ait olduğunu bilmesi önemli olacaktır. Konu alanımızın açıklamasında okuyucularımızın yaşıyla ilgili bir kısıtlama vardır, bu nedenle “Okuyucular” varlığına, yaşımızı kontrol etmemizi sağlayacak zorunlu “Doğum Tarihi” niteliğini girmeliyiz. okuyucular.

Konu alanının tanımından, her okuyucunun elinde birkaç kitap kopyası tutabileceğini biliyoruz. Bu durumu yansıtmak için "Readers" ve "Instances" varlıkları arasında bir bağlantı kurmamız gerekiyor. Ve neden "Okuyucular" ve "Kitaplar" varlıkları arasında olmasın? Çünkü okuyucu, kütüphaneden sadece bir kitabın değil, belirli bir kitabın belirli bir kopyasını alır. Fakat belirli bir okuyucunun hangi kitaba sahip olduğunu nasıl bilebilirsiniz? Ve bu, “Örnekler” ve “Kitaplar” varlıkları arasındaki ek bir ilişki ile bulunabilir ve bu ilişki her bir örnekle bir kitabı ilişkilendirir, böylece herhangi bir zamanda hangi kitapların okuyucunun elinde olduğunu açık bir şekilde belirleyebiliriz. sadece alınan kitapların envanter numaralarını okuyucuyla ilişkilendiririz. "Readers" ve "Instances" varlıkları arasında bire çok ilişki kurulmuştur ve aynı zamanda her iki taraf için de zorunlu değildir. Okuyucu şu anda elinde tek bir kitap tutamayabilir ve diğer yandan kitabın bu nüshası herhangi bir okuyucunun mülkiyetinde olmayabilir, sadece kütüphanede bir rafta durabilir.

Şimdi sistem dizini ile ilişkili son varlığı yansıtmamız gerekiyor. Sistem kataloğu, bilgileri kütüphane kitaplarında bulunan tüm bilgi alanlarının bir listesini içerir. Yazarlarını ve başlıklarını bilmiyorsak, genellikle ihtiyacımız olan kitapları aramaya başladığımız kütüphanedeki sistem dizinini hatırlayabiliriz. Bilgi alanının adı uzun olabilir ve birkaç kelimeden oluşabilir, bu nedenle sistem kataloğunu modellemek için iki öznitelikle "Sistem kataloğu" varlığını tanıtacağız: "Bilgi alan kodu" ve "Bilgi alan adı". "Bilgi Alan Kodu" özniteliği, varlığın anahtar özniteliği olacaktır.

Konu alanının tarifinden, her kitabın birkaç bilgi alanından bilgi içerebileceğini biliyoruz, öte yandan kütüphanenin aynı bilgi alanı ile ilgili birçok kitabı içerebileceği uygulamadan biliniyor, bu yüzden, "Sistem kataloğu" ve "Kitaplar" arasındaki "myo-to-many" ilişkisini, her iki tarafı da bağlayarak kurmamız gerekiyor. Gerçekten de sistem kataloğunda, kütüphanemizin hiçbir kitabında yer almayan böyle bir bilgi alanı olmamalıdır, aksi takdirde anlamsız olurdu. Ve tam tersi, okuyucunun onu daha hızlı bulması için her kitap bir veya daha fazla bilgi alanına atanmalıdır.

"Kütüphane" konu alanının mitolojik modeli Şek. 7.6.

Pirinç. 7.6.Mitolojik model "Kütüphane"

Mitolojik model "Kütüphane" tarafımızdan daha önce sıralanan görevler için geliştirilmiştir. Bu görevlerde, örneğin daha önce bir kitap tutan ve ona zarar verebilecek veya yanlışlıkla büyük miktarda parayı unutabilecek birini bulmak için kitap okuma tarihini saklama koşulunu belirlemedik. Bu bilgiyi saklama görevini de kendimize koysaydık, o zaman bilgi-mantıksal modelimiz farklı olurdu. Bu görevi sizin bağımsız yaratıcılığınıza bırakacağım.

Otomatik bir bilgi işleme sisteminin oluşturulmasına geçmeden önce geliştirici, bu sistemin birlikte çalışacağı nesneler, gerçekler ve olaylar hakkında kavramlar oluşturmalıdır. Bu kavramları şu veya bu veri modeline getirmek için, onları bilgi temsilleriyle değiştirmek gerekir. Onu uygulayan yazılımdan bağımsız olarak birleşik bir veri gösterimi için en uygun araçlardan biri varlık-ilişki modelidir (ER-modeli).

Varlık-ilişki modeli, gerçek dünya hakkında bazı önemli anlamsal bilgilere dayanır ve verileri mantıklı bir şekilde temsil etmek için tasarlanmıştır. Verilerin anlamlarını diğer verilerle ilişkileri bağlamında tanımlar. Bizim için önemli olan, mevcut tüm veri modellerinin (hiyerarşik, ağ, ilişkisel, nesne) varlık-ilişki modelinden üretilebilmesidir, bu nedenle en genel olanıdır.

Varlık-ilişki modeli 1976'da Peter Ping-Shen Chen tarafından önerildi, "Varlık-ilişki modeli - birleşik bir veri temsiline doğru bir adım" makalesinin Rusça çevirisi "DBMS" N 3, 1995 dergisinde yayınlandı.

Katmanlı Veri Görünümleri

Bir veri modelini incelerken, bu modelin ilgili olduğu verilerin mantıksal temsil seviyelerinin belirlenmesi gerekir. Hükümler setini genişleterek, dört veri sunumu seviyesi tanımlayabiliriz:

Hayal gücümüzde var olan varlıklara ve ilişkilere ilişkin bilgiler; - bilgi yapısı - varlıkların ve ilişkilerin verilerle temsil edildiği bilgilerin organizasyonu. - erişim yollarından bağımsız veri yapısı - arama şemaları, indeksleme vb. ile ilişkili olmayan veri yapıları. - erişim yollarına bağlı veri yapısı.

Şekil 1. Birden çok mantıksal görünüm düzeyi kullanarak veri modellerini analiz etme

Varlıklar ve ilişkiler hakkında bilgi

Bu seviyede, varlıkları ve ilişkileri dikkate alıyoruz. Varlık, kendisini diğer öğelerden ayıran bir şekilde tanımlanabilen bir öğedir. Bir varlığın örnekleri belirli bir kişi, şirket veya olaydır. İlişki, varlıklar arasında kurulan bir ilişkidir. Örneğin baba-oğul, iki insan arasındaki ilişkidir.1)

Bir kurumsal veritabanı, o kuruluşun ilgisini çeken varlıklar ve ilişkiler hakkında bilgiler içerir. Bir varlığın veya ilişkinin tam açıklaması kurumsal veritabanına girilemez. Varlıklar ve ilişkiler hakkında potansiyel olarak mevcut tüm bilgileri depolamak mümkün değildir (ve görünüşe göre gerekli değildir). Ayrıca, yalnızca veritabanı projesine dahil edilmesi gereken varlıkları ve ilişkileri (ve bunlarla ilgili bilgileri) dikkate alacağız.

Varlık ve varlık seti

Hayal gücümüzde var olan bir varlığı ifade edelim. Her varlık, ÇALIŞAN, PROJE veya BÖLÜM gibi belirli bir varlık grubuna aittir. Her varlık kümesi, bu varlığın bu kümeye ait olup olmadığını kontrol etmenizi sağlayan bir yüklemle ilişkilendirilir. Örneğin, bir varlığın ÇALIŞAN varlık kümesine ait olduğunu biliyorsak, bu varlığın ÇALIŞAN varlık kümesindeki diğer varlıklarla ortak özelliklere sahip olduğunu da biliriz. Bu özellikler yukarıda bahsedilen yüklemi içerir. Ei varlık kümesini göstersin. Varlık kümelerinin ayrık olması gerekmediğini unutmayın. Örneğin, ERKEK-KİŞİ varlık kümesine (MEN) ait bir varlık, aynı zamanda KİŞİSEL varlık kümesine (KİŞİ) de aittir. Bu durumda, ERKEK-KİŞİ, KİŞİ'nin bir alt kümesidir.

Bağlantı, rol ve birçok bağlantı.

Varlık ilişkilendirmelerini düşünün. Ri ilişki kümesi, her biri bir varlık kümesine ait olan n varlık arasındaki matematiksel bir ilişkidir:

( | e1 ∈ E1, e2 ∈ E2, ..., en ∈ En) ve her varlık demeti, , bir ilişkidir. Bu tanımda Ei'nin farklı kümeler olması gerekmediğine dikkat edin. Örneğin evlilik, PERSON varlık kümesindeki iki varlık arasındaki bir ilişkidir.

Bir varlığın bir ilişkideki rolü, varlığın o ilişkide gerçekleştirdiği işlevdir. Koca (koca) ve karı (karı) rollerdir. İlişki tanımındaki varlıkların sıralaması (köşeli parantezlerin kullanıldığına dikkat edin), ilişki açıkça varlıkların rollerini belirtiyorsa ihmal edilebilir: (r1/e1, r2/e2 ,..., rn/en), burada ri bu bağlamda ei varlığının rolüdür.

Nitelik, değer ve değerler kümesi.

Varlık veya ilişki bilgisi, gözlem veya ölçüm yoluyla elde edilir ve çok sayıda nitelik-değer çifti ile ifade edilir. 3, kırmızı, Peter ve Johnson değerlerdir. Değerler AYAK, RENK, İLK ADI, SOYADI gibi çeşitli değer kümelerine göre sınıflandırılır. Her değer kümesinin, değerin o kümeye ait olup olmadığını kontrol etmek için kendisiyle ilişkilendirilmiş bir yüklemi vardır. Bir değer kümesinden bir değer, başka bir değer kümesinden başka bir değere eşdeğer olabilir. Örneğin İNÇ değer setindeki 12, FEET değer setindeki 1'e eşdeğerdir.

Bir öznitelik, resmi olarak, bir dizi varlığı veya bir dizi ilişkiyi bir dizi değere veya bir Kartezyen değer setleri ürününe eşleyen bir işlev olarak tanımlanabilir:

f: Ei veya Ri → Vi veya Vi1 × Vi2 × ... × Vin 2, PERSON varlık kümesinde tanımlanan çeşitli öznitelikleri gösterir. YAŞ özniteliği, YIL NOKTASI değer kümesiyle eşleşir. Bir öznitelik, bir Kartezyen değer kümesi ürününe bir eşleme belirtebilir. Örneğin, ADI (FULL-NAME) özniteliği, FIRST-NAME (NAME) ve LAST-NAME (SURNAME) değerlerine bir eşleme belirtir. Birden çok özniteliğin aynı varlık kümesini aynı değer kümesiyle (veya aynı değer kümesi grubuyla) eşleyebileceğini unutmayın. Örneğin, ADI (TAM ADI) ve ALTERNATİF ADI (DİĞER-TAM ADI) öznitelikleri, ÇALIŞAN varlık kümesinden İLK ADI ve SOYADI değer kümelerine bir eşleme belirtir. Bu nedenle, öznitelik ve değer seti, bazı durumlarda aynı ada sahip olmalarına rağmen (örneğin, ÇALIŞAN-HAYIR (ÇALIŞAN-NUMARASI) özniteliği) ÇALIŞAN (ÇALIŞAN) ile ÇALIŞAN-değer seti arasındaki bir eşlemeyi belirtir. NO (ÇALIŞAN-NUMARA). - HİZMETÇİ)). Bu ayrım ağ modelinde ve mevcut birçok veri yönetim sisteminde açık değildir. Ayrıca bir özniteliğin bir işlev olarak tanımlandığını da unutmayın. Bu nedenle, verilen varlığı tek bir değere (veya Kartezyen bir değer kümeleri ürünü olması durumunda tek bir değer kümesine) eşler.

Pirinç. 2. PERSON varlık kümesinde tanımlanan nitelikler

Bağlantıların da nitelikleri olduğunu unutmayın. PROJE-İŞÇİ ilişkileri kümesini (YÜRÜTICI-PROJE) düşünün (Şekil 3). Belirli bir proje için belirli bir çalışana ayrılan zamanın oranını temsil eden ZAMAN YÜZDESİ özniteliği, PROJE-İŞÇİ ilişki setinde tanımlanan bir özniteliktir. Anlamı hem çalışana hem de projeye bağlı olduğundan ne ÇALIŞAN varlığının bir niteliği ne de PROJE varlığının bir niteliğidir. İlişki özniteliği kavramı, verilerin anlamını anlamak ve veriler arasındaki işlevsel bağımlılıkları tanımlamak için önemlidir.

Pirinç. 3. PROJE-İŞÇİ ilişki setinde tanımlanan nitelikler

Bilginin kavramsal yapısı.

Şimdi varlıklar ve ilişkiler hakkındaki bilgilerin nasıl düzenlenebileceğini tartışacağız. Bu makale, varlık bilgilerini ve ilişki bilgilerini ayırmak için bir yöntem önerir. Böyle bir ayrımın, veriler arasındaki işlevsel bağımlılıkları belirlemek için yararlı olduğunu göstereceğiz.

Şek. 4, varlık kümesindeki varlıklar hakkındaki bilgileri bir tablo şeklinde gösterir. Her değer satırı aynı varlığa atıfta bulunur ve her sütun sırayla bir özniteliğe atıfta bulunan bir dizi değere atıfta bulunur. Satır ve sütunların sırası önemli değildir.

Pirinç. 4. Varlıklar kümesinden varlıklar hakkında bilgi (tablo formu)

Pirinç. 5. Bir dizi bağlantıdan gelen bağlantılar hakkında bilgi (tablo formu)

Şek. 5, bağlantılar kümesindeki bağlantılar hakkında bilgi sağlar. Her değer satırının, her biri belirli bir role sahip olan ve belirli bir varlık grubuna ait olan bir grup varlık tarafından belirtilen bir ilişkiyi ifade ettiğini unutmayın.

Şekilde buna dikkat edin. Şekil 4 ve 2 (ve Şekil 5 ve 3'ün yanı sıra) aynı bilginin farklı biçimlerini sunmaktadır. Tablo formu, ilişkisel modelle ilişkilendirmeyi kolaylaştırmak için kullanılır.

Bilginin yapısı

1. seviyedeki varlıklar, ilişkiler ve değerler (bkz. Şekil 2-5) hayal gücümüzde var olan kavramsal nesnelerdir (yani kavramsal alemdeydik). 2. seviyede, kavramsal nesnelerin temsillerini ele alıyoruz. Değerlerin doğrudan temsilleri olduğunu varsayıyoruz. Daha sonra, varlıkların ve ilişkilerin nasıl temsil edilebileceğini açıklayacağız.

birincil anahtar.

Şek. EMPLOYEE-NO özniteliğinin 2 değeri, her çalışanın benzersiz bir çalışan numarası varsa, EMPLOYEE varlık setindeki varlıkları tanımlamak için kullanılabilir. Bir varlık kümesindeki varlıkları tanımlamak için birden fazla özniteliğe ihtiyacınız olabilir. Varlıkları tanımlamak için birden çok öznitelik grubunun kullanılması da mümkündür. Esasen, bir varlık anahtarı, bir varlık kümesinden karşılık gelen bir değer kümesi grubuna eşlemenin bire bir eşleme olduğu bir nitelikler grubudur. Mevcut veriler üzerinde böyle bir eşleme bulunamazsa veya nesne tanımlamada basitlik isteniyorsa, bire bir eşleme elde etmek için bir öznitelik ve değer seti yapay olarak tanımlanabilir. Birden çok anahtar olması durumunda, anlamsal olarak anlamlı anahtar genellikle varlık birincil anahtarı (PK) olarak seçilir.

Pirinç. 6. Varlıkları değerlere göre temsil etme (çalışan sayısı)

Pirinç. 6, EMPLOYEE varlık seti ile Şekil l'deki EMPLOYEE-NO değeri setinin birleştirilmesiyle elde edilir. 2. Şek. 2'nin bazı anlamsal sonuçlarına dikkat edelim. 6. ÇALIŞAN-HAYIR değer kümesindeki her değer bir varlığı (çalışanı) temsil eder. Nitelikler, ÇALIŞAN-HAYIR değer kümesinden diğer değer kümelerine bir eşleme tanımlar. Ayrıca EMPLOYEE-NO özniteliğinin, EMPLOYEE-NO değerinden kendisine ayarlanmış bir eşlemeyi belirttiğine dikkat edin.

Varlık/ilişki ilişkileri.

Bir varlık kümesindeki varlık bilgileri artık Şekil 2'de gösterilen biçimde düzenlenebilir. 7. Şek. 7, şek. 4, varlıkların birincil anahtar değerleriyle temsil edilmesi dışında. Şekildeki tüm tablo. 7 bir varlık ilişkisini temsil eder ve her satır bir varlık demetini temsil eder.

Bazı durumlarda, bir varlık kümesindeki varlıklar, kendi öznitelik değerleriyle benzersiz bir şekilde tanımlanamaz; bu nedenle, onları tanımlamak için ilişki(ler)i kullanmalıyız. Örneğin, hizmetli-astlar (bağımlı) ve hizmetliler-şefler (destekçi) varlıklarını düşünün: astlar, hizmetkar-şeflerin ana anahtarının (yani bu çalışanlarla ilişkileri) adları ve değerleri ile tanımlanır. Şekilde buna dikkat edin. 9 ÇALIŞAN-HAYIR, BAĞIMLI kümesindeki varlıkların bir özelliği değil, astları olan çalışanların birincil anahtarıdır. Şek. 9, birincil anahtar olarak EMPLOYEE-NO ve NAME olan bir varlık grubudur. Tablonun tamamı bir varlık ilişkisidir.

Teorik olarak, varlıkları tanımlamak için her türlü ilişki kullanılabilir. Basit olması için, kendimizi yalnızca bir tür ilişkiyle sınırlandırıyoruz: ilişkinin bir tarafında n varlığın varlığının ilişkinin diğer tarafında bir varlığın varlığına bağlı olduğu 1:n eşlemeli ikili ilişkiler. Örneğin, bir çalışanın n (n = 0, 1, 2,...) astı olabilir ve astların varlığı, ilgili çalışan-patronunun varlığına bağlıdır.

Varlıkları diğer varlıklarla olan ilişkilere göre tanımlamaya yönelik bu yöntem, kendi öznitelik değerleriyle tanımlanabilecek varlıklar olana kadar özyinelemeli olarak uygulanabilir. Örneğin, bir şirketin departmanının birincil anahtarı, departman numarasından ve departman numarasından ve şirket adından oluşacak olan departmanın birincil anahtarından oluşabilir.

Bu nedenle, iki tür varlık ilişkisine sahibiz. Varlıkları tanımlamak için ilişkiler kullanılıyorsa, buna zayıf varlık ilişkisi diyeceğiz (Şekil 9). Varlıkları tanımlamak için ilişkiler kullanılmıyorsa, buna normal varlık ilişkisi diyeceğiz (Şekil 8). Bir ilişkideki bazı varlıklar başka ilişkiler tarafından tanımlanırsa, buna zayıf ilişki ilişkisi diyeceğiz. Örneğin, BAĞIMLI varlık ve diğer varlıklar arasındaki herhangi bir ilişki, BAĞIMLI varlık adı ve ÇALIŞAN varlıkla olan ilişkisi ile tanımlandığından, zayıf bir ilişki ilişkisine neden olacaktır. Düzenli ve zayıf varlık ve ilişki ilişkileri arasında ayrım yapmak, veri bütünlüğünün korunmasında yardımcı olacaktır.