Varlıkların ve aralarındaki bağlantıların tanımlanması. Veritabanı konu alanı ve modelleri Bir özelliğin isteğe bağlı olup olmadığının belirlenmesi

3. Veri Modeli Bileşenleri

Varlık, varlık tanımı, varlıklara ilişkin bilgi kaynakları

Veri modeli, bir konu alanının kavramsal açıklamasıdır; veritabanı tasarımının en soyut düzeyidir. Veri modeli varlıklardan, niteliklerden, etki alanlarından ve ilişkilerden oluşur. Ayrıca - öğelerin her biri hakkında ayrıntılı olarak.

3.1 Kuruluşlar

Varlık, hangi bilgilerin bir veritabanında saklanması gerektiğiyle ilgili bir şeydir.

Veritabanlarını tasarlarken mevcut durumu açıklamak yeterlidir - çoğu isim ve bazı fiiller varlık adayı olacaktır. Örneğin: "Müşteriler mal satın alır. Çalışanlar müşterilere mal satar. Tedarikçiler mal teslim eder" - müşteriler, mallar, çalışanlar ve tedarikçiler varlıklardır. "Satın almak" ve "satmak" fiilleri de birer varlıktır (ancak alıcı ve satıcının bakış açılarından farklı olarak tek bir varlık olabilirler).

Bir veritabanı tasarlarken varlıklar hakkındaki ana bilgi kaynağı, iş süreçlerini anlamak için müşteriyle yapılan görüşmedir. Ayrıca iş süreçlerinde kullanılan standart belgeler de analiz edilir: formlar, raporlar, talimatlar vb. Böyle bir listeyi aldıktan sonra, tamlık ve tutarlılık açısından kontrol etmenin yanı sıra, kopyaları - farklı kelimelerle çağrılan özdeş varlıklar ve aslında farklı olan ancak aynı terimle tanımlanan varlıklar - belirlemek gerekir.

Varlıklar belirli kavramları (müşteriler, mallar, çağrılar) ve soyut kavramları (aracı müşteriden sorumludur, öğrenci derse kayıtlıdır) modelleyebilir.

ER modelinin konsepti. Varlık kavramı. Öznitellikler. Nitelik Türleri

1. Bir geliştiricinin veritabanı tasarlarken ne gibi sorunları olabilir?

Bir veritabanı tasarlarken ve bir yazılım ürünü geliştirirken en önemli sorun, geliştirici ile müşteri arasındaki etkileşim sorunudur. Geliştiricinin görevi, bir veritabanı yönetimi yazılımı ürünü geliştirirken müşterinin isteklerini en doğru şekilde yeniden oluşturmaktır. Geliştiricinin çözmesi gereken asıl sorun, veritabanının doğru şekilde oluşturulması veya daha doğrusu veritabanının şemasıdır (yapısıdır).

Buna ek olarak, geliştirici ayrıca aşağıdakileri içeren başka zorluklarla da karşılaşır:

  • verimli algoritmalar arayın;
  • uygun veri yapılarının seçimi;
  • karmaşık kodlarda hata ayıklama ve test etme;
  • Uygulama arayüzünün tasarımı ve kullanılabilirliği.

Geliştirme aşamasında yazılım Veritabanının yöneticisi olan geliştirici, müşterinin gereksinimlerini ayrıntılı olarak öğrenmelidir. Veritabanı anlaşılır olacak, çözülen sorunu en doğru şekilde yansıtacak ve verilerde fazlalık içermeyecek şekilde tasarlanmalıdır.

Bir veritabanı geliştirme (tasarlama) sürecini kolaylaştırmak için, sözde anlamsal modeller veri. İçin farklı şekiller En ünlü veritabanı ER veri modelidir (Varlık-İlişki modeli).

2. ER modeli (Varlık-ilişki modeli) nedir? Neden bir ER modeli geliştirmeniz gerekiyor?

ER modeli (Varlık-ilişki modeli veya Varlık-ilişki diyagramı), veritabanı tasarım sürecini basitleştirmek için tasarlanmış anlamsal bir veri modelidir. ER modelinden her türlü veritabanı oluşturulabilir: ilişkisel, hiyerarşik, ağ, nesne. ER modeli “varlık”, “ilişki” ve “nitelik” kavramlarına dayanmaktadır.

Büyük veritabanları için bir ER modeli oluşturmak, özellikle veritabanı zaten çalışıyorsa veya test aşamasındaysa düzeltilmesi son derece zor olan tasarım hatalarını önler. Veritabanı yapısının tasarımındaki hatalar, bu veritabanını yöneten yazılımın kodunun değişmesine neden olabilir. Bunun sonucunda zaman, para ve insan kaynakları verimsiz kullanılacaktır.

ER modeli, bir veritabanının görsel grafik diyagramları biçiminde temsilidir. ER modeli, belirli bir konu alanını tanımlayan bir süreci görselleştirir. Varlık-ilişki diyagramı, varlıkları, nitelikleri ve ilişkileri grafiksel olarak temsil eden bir diyagramdır.

ER modeli yalnızca kavramsal düzeyde bir modellemedir. ER modeli uygulama ayrıntılarını içermez. Aynı ER modeli için uygulama ayrıntıları farklı olabilir.

3. Veritabanındaki varlık nedir? Örnekler

Bir veritabanındaki varlık, bir veritabanındaki, bu veritabanının geliştirildiği konu alanının özüne göre ayırt edilebilen herhangi bir nesnedir. Veritabanı tasarımcısı varlıkları doğru şekilde tanımlayabilmelidir.

Örnek 1. Kitapçı veritabanında aşağıdaki varlıklar ayırt edilebilir:

  • kitap;
  • Sağlayıcı;
  • mağazaya yerleştirme.

Örnek 2. Bazı eğitim kurumlarının eğitim sürecine ilişkin muhasebe veri tabanında aşağıdaki varlıklar ayırt edilebilir:

  • öğrenciler (öğrenciler);
  • öğretmenler;
  • gruplar;
  • incelenen disiplinlerdir.
4. Ne tür varlık türleri vardır? ER modelinde varlık türlerinin belirlenmesi

“Varlık”-“ilişki” modelinde iki tür varlık türü ayırt edilir:

  • zayıf tip. Bu tür bir varlık güçlü bir varlığa bağlıdır;
  • güçlü tip. Bu, kimseye bağlı olmayan bağımsız bir varlık türüdür.

Şekil 1, ER modelindeki zayıf ve güçlü varlık türlerinin tanımlarını göstermektedir.

Pirinç. 1. Güçlü ve zayıf varlık türlerinin belirlenmesi

5. Nitelikler ne içindir? Nitelik türleri. ER modelinde niteliklerin belirlenmesi

Her varlık türünün belirli bir dizi özelliği vardır. Niteliklerin belirli bir varlığı tanımlaması amaçlanır.

Aşağıdaki nitelik türleri ayırt edilir:

  • basitÖznitellikler. Bunlar bileşik niteliklerin parçası olabilecek niteliklerdir. Bu nitelikler tek bir bileşenden oluşur. Örneğin, basit nitelikler şunları içerir: bir kütüphanedeki bir kitabın kodu veya bir öğrencinin bir eğitim kurumundaki eğitimi;
  • kompozitÖznitellikler. Bunlar birkaç basit özellikten oluşan özelliklerdir. Örneğin, ikamet adresi ülke adını, mahalleyi, caddeyi, ev numarasını içerebilir;
  • açıkÖznitellikler. Bunlar, bazı varlıklar için yalnızca tek bir değer içeren niteliklerdir. Örneğin, "Öğrenci" varlık türü için "Not defteri numarası" özelliği nettir, çünkü bir öğrenci yalnızca bir test kitabı numarasına (bir değer) sahip olabilir;
  • çok anlamlıÖznitellikler. Bunlar birden fazla değer içerebilen niteliklerdir. Örneğin, bir öğrencinin birden fazla telefon numarası (ev, cep telefonu vb.) olabileceğinden, "Öğrenci" varlığı için çok değerli "Telefon numarası" özelliği;
  • keyfiÖznitellikler. Bunlar, değeri diğer niteliklerin değerlerine göre oluşturulan niteliklerdir. Örneğin, bir öğrencinin mevcut eğitim yılı, mevcut eğitim yılı ile öğrencinin üniversiteye giriş yılı arasındaki farka göre hesaplanabilir. Eğitim kurumu(öğrencinin çalışmalarında herhangi bir sorunu yoksa ve "Veritabanlarının ve bilginin organizasyonu" disiplinini iyi çalışmışsa).

ER diyagramında öznitelikler Şekil 2'deki gibi belirtilmektedir. Şekilden görülebileceği gibi herhangi bir öznitelik, elipsin içinde bir isim bulunan bir elips olarak gösterilmektedir. Nitelik birincil anahtar ise adının altı çizilir.

Şekil 2. Niteliklerin ER model diyagramlarında gösterimi

6. ER modelinin varlık türleri ve nitelikleri gerçek veritabanlarında ve yönettikleri programlarda nasıl uygulanmaktadır?

Veritabanı yönetimi programları geliştirirken, varlık türleri ve bunların nitelikleri, çeşitli yaklaşımlara bağlı kalarak farklı şekillerde temsil edilebilir:

  • Veri kaynağı olarak halihazırda araştırılmış, test edilmiş, standartlaştırılmış ve çok sayıda veritabanı yönetimine sahip, iyi bilinen bir teknolojiyi (örneğin, Microsoft SQL Server, Oracle Veritabanı, Microsoft Access, Microsoft ODBC Veri Kaynağı vb.) seçin aletler;
  • kendi veritabanı formatınızı geliştirin ve onu işlemek için yöntemler uygulayın ve İçe/Dışa Aktarma gibi özel komutlar biçiminde bilinen veri kaynaklarıyla etkileşimi uygulayın. Bu durumda, veritabanının güvenilir çalışmasını sağlamak ve sürdürmek için tüm rutin işleri kişisel olarak programlamanız gerekecektir;
  • Yukarıdaki iki yaklaşımın bir kombinasyonunu uygulayın. Modern yazılım geliştirme araçları, karmaşık kümeleri işlemek ve içlerindeki verileri (koleksiyonlar, diziler, görselleştirme bileşenleri vb.) görselleştirmek için güçlü bir kitaplık kümesine sahiptir.

Veritabanı iyi bilinen ilişkisel DBMS'de (örneğin, Microsoft Access, Microsoft SQL Server vb.) uygulandıysa, varlık türleri tablolarla temsil edilir. ER modelinin öznitelikleri tablonun alanlarına karşılık gelir. Bir veritabanı tablosundaki bir giriş, bir varlığın bir örneğini temsil eder.

Her özellik türü aşağıdaki şekilde uygulanır:

  • basit özellik veya tek değerli bir nitelik, herhangi bir programlama dilinde bulunan erişilebilir bir dizi temel türle temsil edilebilir. Örneğin, tamsayı nitelikleri int, integer, uint vb. türüyle temsil edilir; kesirli kısım içeren nitelikler float, double olarak temsil edilebilir; string tipinin string nitelikleri, vb.;
  • bileşik nitelik iç içe geçmiş birkaç basit nitelik içeren bir nesnedir. Örneğin, Microsoft Access DBMS'de, bir tablonun bileşik niteliği, bir dizi basit türe (alanlara) dayalı olarak oluşturulabilir. Programlama dillerinde alanların birliği yapılar veya sınıflar tarafından uygulanır;
  • çok değerli özellik basit veya bileşik niteliklerin bir dizisi veya koleksiyonuyla uygulanabilir;
  • keyfi nitelik tabloya erişirken hesaplanan ek bir alan tarafından uygulanır. Böyle bir alana hesaplanan alan denir ve tablonun diğer alanlarına göre oluşturulur;
  • birincil anahtar olan özellik bir tam sayı, dize veya başka bir sıra türü olabilir. Bu durumda birincil anahtara karşılık gelen her tablo hücresinin değeri benzersizdir. Çoğu zaman birincil anahtar bir tamsayı türüdür (int, integer).

Veritabanı benzersiz bir biçimde uygulandıysa varlık türlerini sınıflar veya yapılar olarak temsil etmek en uygunudur. Varlık nitelikleri sınıfın alanları (dahili veriler) olarak uygulanır. Sınıf yöntemleri, sınıf alanlarının (özniteliklerin) gerekli işlenmesini uygular. Sınıflar arasındaki etkileşim (iletişim), iyi bilinen tasarım kalıpları kullanılarak özel olarak tasarlanmış arayüzler kullanılarak gerçekleştirilir.

7. "Öğrenci" varlık türü için ER modelinin bir parçası örneği

Yukarıdaki örnek, Öğrenci varlık türü için ER modelinin bir parçasını gösterir.

Şekil 3. "Öğrenci" varlık türü için ER modelinin parçası

Yukarıdaki şekil, DBMS'de (program) aşağıdaki türlere sahip olabilen aşağıdaki nitelikleri beyan eder:

  • Birincil anahtar özelliği, otomatik olarak oluşturulan benzersiz bir tamsayı değeridir. DBMS'de bu bir sayaç alanıdır;
  • Giriş yılı özelliği, bir tamsayı değeri (int, integer) olarak uygulanabilecek basit bir özelliktir;
  • Telefon numarası özniteliği, bir dizi veya koleksiyon vb. olarak uygulanabilen çok değerli bir özniteliktir;
  • bağlanmak Kayıt defteri numarası– kayıt defteri numarası sayılara ek olarak harfler de içerebildiğinden, bir karakter dizisi olarak uygulanabilen basit bir nitelik;
  • öznitelik Ülke, Şehir, Sokak, Ev numarası, Adres bileşik özniteliğini oluşturan özniteliklerdir. Tüm bu nitelikler dize (metin) türünde (dize, Metin) olabilir;
  • özellik Soyadı, Adı, Patronimik – bunlar Öğrenci Adı bileşik özelliğinin parçası olan basit özelliklerdir. Tüm bu nitelikler dize (metin) türünde (dize, Metin) olabilir;
  • Doğum Günü özelliği, Tarih türünün (DateTime) basit bir özelliğidir;
  • bağlanmak Öğrenci yaşı– geçerli (sistem) tarih ile Doğum Günü özelliğinin değeri arasındaki fark olarak tanımlanan hesaplanmış bir alan.

“Varlık-ilişki” veritabanı modelinin (ER-modeli) temel kavramları: varlıklar, aralarındaki bağlantılar ve nitelikleri (özellikler).

Öz- incelenen konu alanındaki herhangi bir somut veya soyut nesne. Varlıklar, bir veritabanında depolanan temel bilgi türleridir (ilişkisel bir veritabanında her varlığa bir tablo atanır). Varlıklar şunları içerebilir: öğrenciler, müşteriler, departmanlar vb. Varlık örneği ve varlık türü farklı kavramlardır. Varlık türü kavramı, bir bütün olarak hareket eden homojen bireyler, nesneler veya olaylar kümesini (örneğin öğrenci, müşteri vb.) ifade eder. Bir varlık örneği, örneğin bir kümedeki belirli bir kişiye atıfta bulunur. Varlık türü bir öğrenci olabilir ve örnek Petrov, Sidorov vb. olabilir.

Bağlanmak konu alanındaki bir varlığın mülkiyetindedir. Adı belirli bir varlık türü için benzersiz olmalıdır. Örneğin, öğrenci varlığı için şu nitelikler kullanılabilir: soyadı, adı, soyadı, doğum tarihi ve yeri, pasaport ayrıntıları vb. İlişkisel bir veritabanında nitelikler tablo alanlarında saklanır.

Bağlantı– konu alanındaki varlıklar arasındaki ilişki. İlişkiler, bir veritabanının parçaları arasındaki bağlantılardır (ilişkisel bir veritabanında tablo kayıtları arasındaki bağlantılardır).

Varlıklar türe göre sınıflandırılan verilerdir ve ilişkiler bu veri türlerinin birbirleriyle nasıl ilişkili olduğunu gösterir. Belirli bir konu alanını varlık-ilişki açısından tanımlarsak, bu veri tabanı için bir varlık-ilişki modeli elde ederiz.

Ok bir ilişkinin sembolüdür: bire-çok.

ER modellerinin temel avantajları: * netlik; * modeller, çok sayıda nesne ve öznitelik içeren veritabanları tasarlamanıza olanak tanır;

ER modellerinin ana unsurları: * nesneler (varlıklar); * nesnelerin nitelikleri; * nesneler arasındaki bağlantılar.

Varlıklar arasındaki ilişki şu şekilde karakterize edilir: * bağlantı türü (1:1, 1:N, N:M); * ait olma sınıfı. Bir sınıf zorunlu veya isteğe bağlı olabilir. Her varlık örneği bir ilişkiye dahilse üyelik sınıfı zorunludur, aksi halde isteğe bağlıdır.


Veri normalleştirme kavramı. Fonksiyonel bağımlılık.

Normalleştirme, ilişkileri birincil anahtarlarına ve mevcut ilişkilere dayalı olarak analiz etmenin resmi bir yöntemidir. Görevi, bir veritabanının bir şemasını (veya ilişkiler kümesini), ilişkilerin daha basit ve daha düzenli bir yapıya sahip olduğu başka bir şemayla değiştirmektir.

Fonksiyonel bağımlılık. X ve Y bir ilişkinin iki niteliği olsun. Herhangi bir zamanda X'in her değeri, Y özelliğinin birden fazla değerine karşılık gelmiyorsa, Y'nin işlevsel olarak X'e bağımlı olduğu söylenir.

Fonksiyonel bağımlılık X -> Y olarak gösterilir.

Tutum öğrencisi S (Ns, Fio, Ngr, Addr, Tel). Fio, Ngr, Addr, Tel niteliklerinin her biri işlevsel olarak Ns niteliğine bağlıdır.

Yani normalleştirilmiş bir ilişkide anahtar olmayan tüm nitelikler işlevsel olarak ilişkinin anahtarına bağlıdır. S ilişkisinin anahtarı Ns niteliğidir.

Temel kural varlık tabloları oluştururken bu "her varlık için ayrı bir tablodur."

Varlık tablosu alanları iki türde olabilir: anahtar Ve anahtarsız. Hemen hemen tüm ilişkisel DBMS'lerde anahtarların bir tabloya girilmesi, tablo kayıtlarındaki değerlerin anahtara göre benzersizliğini sağlamanıza, tablo kayıtlarının işlenmesini hızlandırmanıza ve ayrıca kayıtları anahtar alanlardaki değerlere göre otomatik olarak sıralamanıza olanak tanır.

Tanım genellikle yeterlidir basit anahtar, daha az sıklıkla - girin kompozit anahtar. Bileşik anahtarlı bir tablo, örneğin, içinde adların bulunduğu çalışanların bir listesini (soyadı, adı ve soyadı) saklayan bir tablo olabilir. Bazı DBMS'ler kullanıcılara otomatik olarak oluşturulan bir anahtar numaralandırma alanı tanımlama seçeneği sunar (Access'te bu bir "sayaç" tipi alandır), bu da tablo kayıtlarının benzersizliği sorununun çözümünü basitleştirir.

Bazen varlık tablolarında nesnelerin özelliklerini veya karakteristiklerini açıklayan alanlar bulunur. Tablonun bu alanlarda önemli sayıda tekrarı varsa ve bu bilgiler önemli bir hacme sahipse, bunları ayrı bir tabloya ayırmak daha iyidir ("her varlığın ayrı bir tablosu vardır" kuralına bağlı kalarak). Ayrıca özellikler birbiriyle ilişkili ise ek bir tablo oluşturulmalıdır.

Varlık tablolarını işlerken aşağıdakileri aklınızda bulundurun. Yeni bir varlık eklemek ve değiştirmek kolaydır, ancak silerken, ona bağlantı tablolarından yapılan tüm referansları yok etmeniz gerekir, aksi takdirde bağlantı tabloları yanlış olur. Birçok modern DBMS, bu tür işlemlerde yanlış eylemleri engeller.

Gönderiler bağlantı tabloları ilgili varlık tablolarında yer alan bilgiler arasındaki ilişkileri görüntülemeyi amaçlamaktadır.

Genellikle bir ilişki tablosu iki varlık arasındaki ilişkiyi tanımlar. En basit durumda varlık tablolarının her biri bir anahtar alana sahip olduğundan, ilişki kayıtlarının benzersizliğini sağlamak için iki tablonun ilişki tablosunun iki anahtarı olması gerekir. Anahtarlar olmadan, nesneler tablosu gibi bir ilişkiler tablosu oluşturabilirsiniz, ancak daha sonra kayıtların benzersizliğini izleme işlevleri kullanıcıya düşer.

Daha karmaşık ilişkiler (ikili olmayan) ikili ilişkilere indirgenmelidir. N nesnenin ilişkilerini tanımlamak için N-1 ilişki tablosu gereklidir. Geçişli bağlantılar olmamalıdır. Bağlantıların fazlalığı çelişkilere yol açmaktadır (önceki alt bölümde ÇALIŞAN-BÖLÜM, ÇALIŞAN-PROJE ve BÖLÜM-PROJE ilişkileri örneğine bakınız).

İlişki tablolarında varlıkların özelliklerine yer verilmemelidir, aksi takdirde anormallikler kaçınılmazdır. Bunları ayrı varlık tablolarında saklamak daha iyidir.


Bağlantı tablolarını kullanarak, belirli bir bağlantı türünü (doğrusal bağlantı veya zayıf bağlantı) da tanımlayabilirsiniz. Doğrusal bir bağlantının bir örneği, varlıkların daha yüksek düzeydeki başka bir varlığa (düğümlerden oluşan sistemler; bileşenlerden oluşan ilaçlar; metal alaşımları vb.) ait olma ilişkisi olarak düşünülebilir. Bu durumda bağlantıları tanımlamak için tek bir bağlantı tablosu yeterlidir.

Bağlantı tablolarıyla çalışırken, varlıklar bir süre bağlantı olmadan yaşayabileceğinden, bağlantı tablosundaki herhangi bir girişin kolayca silinebileceğini aklınızda bulundurmalısınız. Tablo kayıtlarının içeriğini eklerken veya değiştirirken, nesneler olmadan bir ilişki var olamayacağından, mevcut nesnelere yapılan referansların doğruluğunu kontrol etmelisiniz. Çoğu modern DBMS, nesne referanslarının doğruluğunu kontrol eder.

Altında bütünlük Bir veritabanının özelliğini anlayın; bu, veritabanının tam, tutarlı ve konu alanı bilgilerini yeterince yansıttığı anlamına gelir.

Ayırt etmek fiziksel ve mantıksal bütünlük. Fiziksel bütünlük, verilere fiziksel erişimin olduğu ve verilerin kaybolmadığı anlamına gelir. Mantıksal bütünlük, veritabanının yapısının veya nesnelerinin ihlali, nesneler arasında kurulan bağlantıların silinmesi veya değiştirilmesi vb. dahil olmak üzere veritabanında mantıksal hataların olmaması anlamına gelir. Gelecekte mantıksal bütünlük hakkında konuşacağız.

Veritabanının bütünlüğünü korumak, bütünlüğün kontrol edilmesini (izlenmesini) ve veritabanında tutarsızlıklar tespit edilirse geri yüklenmesini içerir. Veritabanının bütünlüğü kullanılarak ayarlanır bütünlük kısıtlamaları veritabanında saklanan veriler tarafından yerine getirilmesi gereken koşullar biçimindedir.

Bütünlük kısıtlamaları arasında iki ana kısıtlama türü ayırt edilebilir: değer kısıtlamaları ilişki özellikleri ve yapısal kısıtlamalar ilişki tuple'larına.

Örnek değer kısıtlamaları ilişkisel nitelikler, niteliklerde boş veya yinelenen değerlerin kabul edilemezliğinin yanı sıra nitelik değerlerinin belirli bir aralığa ait olması üzerindeki kontrolün gerekliliğidir. Örneğin, çerçeve ilişkisi kayıtlarında doğum_tarihi özelliğinin değerleri, alım_tarihi özelliğinin değerlerini aşamaz.

Özellik değerleri üzerinde kontrol uygulamanın en esnek yolu saklı prosedürler Ve tetikleyiciler, bazı DBMS'lerde mevcuttur.

Yapısal kısıtlamalar gereksinimleri tanımla varlıkların bütünlüğü Ve bağlantı bütünlüğü. Bir ilişkide temsil edilen her varlık örneği, tuple'larından yalnızca birine sahiptir. Gereklilik varlıkların bütünlüğü bir ilişkinin herhangi bir demetinin bu ilişkinin diğer herhangi bir demetinden farklı olması gerektiği, yani başka bir deyişle, herhangi bir ilişkinin bir birincil anahtara sahip olması gerektiğidir.

Bağlantı bütünlüğü gereksiniminin formülasyonu kavramla yakından ilgilidir. yabancı anahtar. Yabancı anahtarların ilişkileri (veritabanı tablolarını) birbirine bağlamak için kullanıldığını hatırlayalım. Bu durumda, bir ilişkinin (ebeveyn) niteliğine denir. yabancı anahtar eğer bu ilişkinin öncelik başka bir ilişkinin anahtarı (çocuk). Yabancı anahtarın tanımlandığı bir ilişkinin, aynı özelliğin birincil anahtar olduğu bir ilişkiye atıfta bulunduğu söylenir.

Referans bütünlüğü gereksinimi, her ana tablo yabancı anahtar değeri için alt tabloda aynı birincil anahtar değerine sahip bir satırın bulunması gerektiğidir. Örneğin, R1 ilişkisi departmanın çalışanları hakkında bilgi içeriyorsa ve bu ilişkinin niteliği R2 ilişkisinin birincil anahtarı olmalıdır, o zaman bu ilişkide R1'den gelen her pozisyon için karşılık gelen maaşı içeren bir satır bulunmalıdır.

Birçok modern DBMS'de veritabanının bütünlüğünün kontrolünü sağlamanın yolları vardır.

Varlık, etki alanı için gerekli olan gerçek veya soyut bir varlıktır. Varlık tekil bir isimle ifade edilen bir isme sahip olmalıdır.

Varlıkları tanımlamanın gayri resmi bir yolu, nesneleri, süreçleri, rolleri ve diğer kavramları tanımlayan soyutlamalara bakmaktır. Varlıkları tanımlamanın resmi bir yolu, konu alanının metinsel açıklamalarını analiz etmek, isimleri çıkarmak ve bunları soyutlamalar olarak seçmektir.

Varlık örneği, belirli bir varlığın belirli bir temsilcisidir. Örneğin, Çalışan varlığının bir örneği çalışan Ivanov olabilir.

Her varlığın aşağıdaki özelliklere sahip olması gerekir:

benzersiz bir adı var;

varlığa ait olan veya bir ilişki yoluyla devralınan bir veya daha fazla niteliğe sahip olmalıdır;

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

Nitelik, ele alınan konu alanı için önemli olan ve varlığın durumunu tanımlamayı, sınıflandırmayı, nicelikselleştirmeyi veya ifade etmeyi amaçlayan bir varlığın özelliğidir.

Aşağıdaki nitelik türleri mevcuttur:

basit - bir veri öğesinden oluşur;

kompozit - birkaç veri öğesinden oluşur;

kesin - bir varlık için bir değer içerir;

çok değerli - bir varlık için birkaç değer içerir;

isteğe bağlı - boş (tanımsız) bir değere sahip olabilir;

türetilmiş - başka bir özelliğin değerinden türetilen bir değer.

Benzersiz tanımlayıcı, değerleri bir varlığın her örneği için benzersiz olan bir dizi özelliktir. Bir tanımlayıcıdan herhangi bir özelliğin kaldırılması, onun benzersizliğini ihlal eder. Benzersiz tanımlayıcılar şemada altı çizili olarak gösterilmiştir.

Her varlığın diğer varlıklarla herhangi bir sayıda bağlantısı olabilir.

Varlıklar arasındaki ilişkiler

İlişki, ele alınan konu alanı için önemli olan varlıklar arasındaki adlandırılmış bir ilişkidir.

Bağlantı derecesi, bağlantıya dahil olan varlıkların sayısıdır.

İletişim gücü - iletişime katılan varlık örneklerinin sayısı.

Güç değerine bağlı olarak iletişim üç türden biri olabilir:

bire bir (1:1 ile gösterilir).

bire çok (1:N ile gösterilir).

çoktan çoğa (M:N olarak gösterilir).

Bire bir. Bu, böyle bir ilişkide, bir role sahip varlıkların her zaman başka bir role sahip birden fazla varlığa karşılık gelmediği anlamına gelir. Her varlığın bağlantı derecesi 1 olduğundan tek hatla bağlanırlar.

Bire çok. Bir role sahip bir varlık, başka bir role sahip herhangi bir sayıda varlıkla ilişkilendirilebilir.

Çoktan çoğa. Bu durumda, ilişkili varlıkların her biri herhangi bir sayıda örnekle temsil edilebilir.