Veritabanı tanımlama modellerinin türleri. Veritabanı veri modeli türleri

Temel veri birimlerini uygulamanın birçok yolu vardır ve bu nedenle çeşitli veri modelleri bilinmektedir. Veri modeli, bunları yapılandırmak için kurallar verir. Kural olarak, veriler üzerindeki işlemler yapılarına karşılık gelir. Mevcut veri modellerinin çeşitleri, uygulamaların çeşitliliğine ve kullanıcı tercihlerine karşılık gelir.

Verileri temsil etmek için bilgi sunum biçimlerine dayalı modeller kullanılır. Bu tür modeller denir sözdizimsel.

Uzman literatürde, oldukça fazla sayıda veri modelinin açıklaması bulunmaktadır. Hiyerarşik, ağ ve ilişkisel sistemler yaygın olarak kullanılmaktadır. Bunlara ek olarak, en ünlüsü de ikili model ve anlamsal ağdır.

Klasik, en yaygın olarak kullanılan veri modelinin temel aldığı kabul edilir. ağaç türü hiyerarşik yapı(Şekil 10'da bir parça gösterilmektedir). Alt ağaçların göreli sırasının önemli olduğu “sıralı ağaç” modeli de sıklıkla kullanılır. Böyle bir modelde, sonraki her bilgi parçası yalnızca bir öncekiyle ilişkilendirilir ve öncekiler birkaç sonraki bilgiyle ilişkilendirilebilir.


ağ veri modeli bir bilgi biriminin keyfi sayıda başkalarıyla ilişkilendirilebileceği böyle bir bilgi sunumuna dayanır (Şekil 11).


İlişkisel veri modeli tablo yöntemlerine ve veri sunumu ve manipülasyon araçlarına dayanmaktadır. Böyle bir modelde konu alanı ile ilgili bilgiler "ilişki" adı verilen bir tabloda görüntülenir (Şekil 12). Böyle bir tablonun satırına Tuple, sütuna ise nitelik denir. Her özellik, belirli bir alandan - etki alanından bir değer alt kümesini alabilir.

Kişisel bilgisayarlara odaklanan DBMS'lerin büyük çoğunluğu, ilişkisel bir veri modeli - ilişkisel VTYS'ler temelinde oluşturulmuş sistemlerdir.

İkili veri modeli köşelerin basit tek değerli niteliklerin temsillerini temsil ettiği ve yayların nitelikler arasındaki ikili ilişkilerin temsillerini temsil ettiği bir grafik modelidir (Şekil 13).


İkili model yaygın olarak kullanılmaz, ancak bazı durumlarda pratik uygulama bulur. Bu nedenle, yapay zeka alanında, bilgiyi ikili ilişkiler şeklinde temsil etmek amacıyla uzun süredir araştırmalar yapılmaktadır.

anlamsal ağlar Yapay zekanın çeşitli sorunları üzerinde çalışan araştırmacılar tarafından veri modelleri önerildi. Ağ ve ikili modellerde olduğu gibi, anlamsal ağın temel yapıları, köşeler ve yaylar kümesi bir ağı oluşturan bir grafik ile temsil edilebilir. Bununla birlikte, anlamsal ağlar, en genel nitelikteki bilgileri temsil etmek ve sistematize etmek için tasarlanmıştır.

Bu nedenle, herhangi bir grafik modeli (örneğin, etiketli bir ikili grafik), başlangıçta hangi köşelerin ve yayların temsil edildiği ve bunların nasıl kullanıldığı açıkça belirtilirse, anlamsal bir ağ olarak kabul edilebilir.

Anlamsal ağlar, karmaşık durumları temsil etme problemini çözmede son derece yararlı olan zengin veri modelleme fikirleri kaynaklarıdır. Bağımsız olarak veya diğer veri modellerinin altında yatan fikirlerle birlikte kullanılabilirler. İlginç özellikleri, ağ üzerinde ölçülen mesafenin (anlamsal mesafe veya metrik), ilgili kavramların yakınlığının belirlenmesinde önemli bir rol oynamasıdır. Aynı zamanda anlamsal uzaklığın büyük olduğunu da açıkça vurgulamak mümkündür. Şekilde gösterildiği gibi. 14, MAĞAZA, SATICI'nın kişiliği ile ilgilidir ve aynı zamanda SATICI'nın AĞIRLIĞI vardır. Kişiliğin bir uzmanlıkla karşılıklı ilişkisi açıktır, ancak MAĞAZA ve AĞIRLIK arasındaki karşılıklı ilişki mutlaka bundan çıkmaz.


Anlamsal ağ türündeki veri modellerinin, karmaşık durumları modelleme yeteneklerinin tüm zenginliği ile, kavramsal açıdan karmaşıklık ve bazı verimsizliklerle karakterize edildiği söylenmelidir.

İlişkisel, hiyerarşik ve ağ veri modelleri üzerinde daha ayrıntılı olarak duralım.

ilişkisel model veriler aşağıdaki bileşenlerle karakterize edilir:

– bilgilendirici yapı: iki seviyeli bir yapı ile ilişki;

- kabul edilebilir işlemler: projeksiyon, seçim, bağlantı ve diğerleri;

– kısıtlamalar: ilişkinin nitelikleri arasındaki işlevsel bağımlılıklar.

Her nesne sınıfı R maddi dünyanın, belirli bir dizi nitelik karşılık gelir, örneğin ANCAK 1 , ANCAK 2 , ..., Bir. Ayrı sınıf nesnesi R bir dizi değerle tanımlanır ( 1, 2, ..., bir), nerede bir ben- nitelik değeri AI.

Astar ( 1, 2, ..., bir) bir demet denir. Tüm nesne sınıfı, ilişki adı verilen bir dizi kümeye karşılık gelir. Nesnelerin sınıfını tanımlayan ilişkiyi belirtin R, ayrıca aracılığıyla R.

İfade R(1, 2, ..., Bir) ilişki şeması denir R.

Bir tanımlama grubunun her bileşeni için, karşılık gelen öznitelikle ilişkisi belirtilmelidir. İlişkisel veri modelinde, bu ilişkiyi sağlamak için, demetin bileşenlerinin sırası, ilişki şemasındaki niteliklerin sırası ile aynıdır.

Her ilişki, zaman içinde bir noktadaki bir nesne sınıfının durumunu yansıtır. Bu nedenle, farklı ilişkiler, zaman içinde farklı noktalarda bir ilişki şemasına karşılık gelebilir.

İlişki değerleri kümesi, aşağıdaki yazışmaların gözlendiği bir tablo şeklinde temsil edilebilir:

– tablonun adı ve sütunların adlarının listesi, ilişki şemasına karşılık gelir;

– tablonun satırı, ilişki demetine karşılık gelir;

- tablonun tüm satırları (ve dolayısıyla tüm demetler) farklıdır;

– satırların ve sütunların sırası isteğe bağlıdır (özellikle, ilişkisel veri modeli, özel bir satır sıralaması anlamına gelmez).

İlişki işleme süreçlerinin açıklaması iki şekilde yapılabilir:

- uygulanması istenen sonuca yol açan operasyon listesinin bir göstergesi (usul yaklaşımı),

– ortaya çıkan ilişkinin karşılaması gereken özelliklerin bir açıklaması (bildirimsel yaklaşım).

Düşünmek prosedürel yaklaşım. Bunlar üzerindeki ilişkiler ve işlemler kümesi ilişkisel bir cebir oluşturur. Kural olarak, işlem listesi projeksiyon, seçim, birleştirme, kesişme, çıkarma, birleştirme içerir.

İzdüşüm, işlemin koşulunda belirtilen orijinal ilişkinin sütunlarını sonuçtaki ilişkiye aktaran bir işlemdir. İzdüşümün cebirsel gösterimi şu şekildedir:

T = R[X],

nerede R– ilk ilişki; T sonuç oranıdır; X– ilişki yapısındaki niteliklerin listesi T(projeksiyon koşulu).

ilişkiyi düşünün Ö 1 2010 yılında ürünlerin satışına ilişkin bilgileri içeren (Tablo 1).

tablo 1

Davranış 1 Yalnızca gerçek çıktı hakkında bilgi içeren, projeksiyon sonucunda elde edilir.

1 = Yaklaşık 1[Mağaza, Ürünler, Gerçek]

ve tablo şeklindedir. 2.

Tablo 2

Sütunlar herhangi bir sırada belirtilebilir:

T 1 = Ö 1 [Ürün, Mağaza, Gerçek].

Seçim, orijinal ilişkiden seçim koşulunu karşılayan satırları sonuçtaki ilişkiye aktaran bir işlemdir. Seçim koşulu, ilişkinin her satırında ayrı ayrı kontrol edilir ve birden çok satırdan gelen bilgileri kapsayamaz. İki basit seçim koşulu türü vardır:

1) Özellik adı 1<знак сравнения>Karşılaştırma işaretleri =, #, >, ≥, izin verilen değer<, ≤. Например: Цена > 100.

Öznitelik adları, kaynak ilişki yapısında yer almalıdır. Numunenin cebirsel gösterimi şu şekildedir:

T = R[p],

nerede R– ilk ilişki; T sonuç oranıdır; R– seçim koşulu.

Örneğin, değerleri alıyoruz T 2 = Ö 1 [Ürünler = "P 1"] (Tablo 3).

Tablo 3

Birleştirme, kesişme ve çıkarma işlemleri aynı yapıya sahip iki başlangıç ​​ilişkisi üzerinde gerçekleştirilir.

İlk ilişkileri şu şekilde belirtin: R 1 ve R 2 , sonuç - geçiş T.

bir dernek T = sen(R 1 , R 2) ilişkide mevcut olan dizeleri içerir R 1 veya içinde R 2 .

kavşak T = ben(R 1 , R 2) ilişkide bulunan dizeleri içerir R 1 ve R 2 aynı anda.

Çıkarma T = M(R 1 , R 2) şu satırları içerir: R 1, içinde bulunmayan R 2 .

İlişki birleştirme işlemi iki kaynak ilişki üzerinde gerçekleştirilir ve bir sonuç ilişkisi oluşturur. Birinci kaynak ilişkinin her satırı sırayla ikinci ilişkinin tüm satırlarıyla eşleştirilir ve bu satır çifti için birleştirme koşulu karşılanırsa, bunlar birleştirilir ve sonuçtaki ilişkide bir sonraki satırı oluşturur. Bağlantı koşulu şu şekildedir:

Özellik adı 1<знак сравнения>Özellik adı 2,

Burada Nitelik Adı 1 bir kaynak ilişkisinde ve Nitelik Adı 2 başka bir ilişkidedir. Birleştirme işlemi için aşağıdaki gösterimi kullanacağız:

T = R ben[ p] R 2 ,

nerede R 1 ve R 2 - ilk ilişkiler; T sonuç oranıdır; R– bağlantı durumu.

Birleştirmenin en önemli özel durumlarından biri doğal birleştirme olarak adlandırılır ve aşağıdaki özelliklere sahiptir:

– birleştirme koşulundaki karşılaştırma işareti “=”;

– Nitelik Adı 1 ve Nitelik Adı 2, orijinal ilişkinin nitelik listelerinin kesişimini içermeli veya daha doğrusu içermelidir;

– ortaya çıkan ilişkinin nitelik listesi, orijinal ilişkilerin nitelik listelerinin birleştirilmesinin bir sonucu olarak oluşturulur.

Doğal bir bileşiğin tanımı, bir bileşik koşulu içermez ve şu şekildedir: T = R ben* R 2 .

bildirimsel yaklaşım ilişkisel veritabanlarının işlenmesi, matematiksel mantık kavram ve yöntemlerinin yorumlanmasına dayanır. Özellikle, ilişkisel hesap, yüklem hesabını temel alır. İlişkisel hesap için gerekli olan matematiksel mantık kavramlarını isimlendirelim.

1. Değişkenlerin ve sabitlerin sembolleri. İlişkisel hesabın dil yapılarında, sabitlerin yanı sıra niteliklerin ve değişkenlerin adlarına karşılık gelirler.

2. Mantıksal bağlaçlar "ve", "veya", "değil" ve karşılaştırma işaretleri =, # (eşit değil), >,<, ≥, ≤.

3. Terimler, yani herhangi bir sabit ve değişken ile argümanları terim olan fonksiyonlar.

4. Temel formüller, argümanları terim olan yüklemlerdir. "Ve", "veya", "değil" işlemleriyle ilişkili yüklemler de temel formüllerdir. Temel formüller, örneğin Soyadı = "Petrov" ve Toplam ≤ Toplam ifadeleridir.

5. Formüller, yani genellik veya varoluş niceleyicilerinin temel formüllere uygulanmasının sonucu. Formül, ilişkisel analizde ifade edilen bir ilişkisel veritabanı sorgusuna karşılık gelir.

Bir EIS veritabanı tasarlamanın ana görevi, ilişkilerin (veya diğer kurucu bilgi birimlerinin) sayısını ve bunların öznitelik kompozisyonunu belirlemektir.

Nitelikleri önceden sabit olmayan ilişkiler halinde gruplama sorunu, birçok farklı çözüme izin verir. Rasyonel gruplama seçenekleri aşağıdaki gereksinimleri dikkate almalıdır:

- bir dizi ilişki, bilginin sunumunda minimum fazlalık sağlamalıdır;

- ilişkilerin ayarlanması belirsizliğe veya bilgi kaybına yol açmamalıdır;

– veritabanına yeni nitelikler eklerken ilişkiler kümesini yeniden oluşturmak minimum düzeyde olmalıdır.

normalleştirme listelenen kriterlere göre veritabanının özelliklerini iyileştirmek için ilişkileri dönüştürmenin en çok çalışılan yollarından biridir.

İlişkisel bir veritabanında depolanan değerlerde oldukça az kısıtlama vardır. Bu kısıtlamalara belirli açılardan uyulması, sözde normal formların varlığı ile ilişkilidir. Veritabanı ilişkilerini bir veya başka bir normal forma dönüştürme işlemine ilişki normalleştirmesi denir. . Normal formlar artan düzende 1'den sırayla numaralandırılır. Normal form numarası ne kadar büyük olursa, ilgili ilişkide saklanan değerler üzerinde o kadar fazla kısıtlamaya uyulmalıdır.

İlişkisel veri modeline özgü kısıtlamalar, genellemelerinin yanı sıra işlevsel ve çok değerli bağımlılıklardır. Prensip olarak, ek kısıtlamalar kümesi büyüyebilir ve sonuç olarak normal formların sayısı artacaktır. Uygulanan kısıtlamalar, ilişkisel bir veritabanındaki gereksiz bilgileri azaltmaya odaklanmıştır.

Birinci normal formdaki (1NF) bir ilişki, iki seviyeli bir yapıya sahip sıradan bir ilişkidir. Aşağıdaki normal formlar (ikinci ve üçüncü), işlevsel bağımlılık kavramıyla ilişkili kısıtlamaları kullanır. İşlevsel bağımlılıklar, 1NF'yi karşılayan aynı ilişkide olan nitelikler için tanımlanır.

En basit işlevsel bağımlılık durumu iki özniteliği içerir. İlişkisi var R(A, B, ..., J) bağlanmak ANCAK işlevsel olarak bir özniteliği tanımlar AT, eğer herhangi bir zamanda her değer ANCAK AT(belirtilen ANCAKAT).

Diğer bir deyişle, AT işlevsel olarak bağlıdır ANCAK (AT = f(A)). İlk atama, işlevsel bağımlılıkların sayısı arttığında ve ilişkilerinin görülmesi zorlaştığında daha uygun hale gelir; bundan sonrası için kullanılacaktır. Fonksiyonel bağımlılığın olmaması şu şekilde ifade edilir: ANCAKAT.

Nitelikler için ANCAK ve AT bazı ilişki, aşağıdaki durumlar mümkündür:

- fonksiyonel bağımlılığın olmaması;

- Kullanılabilirlik ANCAKAT(veya ATANCAK), ancak her iki bağımlılığı birlikte değil;

- bire bir yazışmaların varlığı ANCAKAT.

İşlevsel bağımlılık kavramı, aşağıdaki biçimde üç veya daha fazla özniteliğe sahip duruma genişletilir. Özellik grubu ( ANCAK, AT, İTİBAREN) özelliği işlevsel olarak tanımlar D ilişkisi var T(A, B, C, D, ..., J), eğer her bir değer kombinasyonu<bir, b, İle birlikte> tek bir değerle eşleşir d (a- anlam A; b- anlam AT; İle birlikte- anlam İTİBAREN; d- anlam D). Böyle bir fonksiyonel bağımlılığın varlığı belirtilecektir. ANCAK, AT, İTİBAREND.

İşlevsel bağımlılıkların varlığı, uygulanan öznitelik kodlama yöntemleriyle ilgilidir. Dolayısıyla, bir dizi kurum için, her bölümün (konu alanının bir nesnesi olarak) tek bir kuruma ait olduğu söylenebilir. Ancak bu, Daire → Kurum fonksiyonel ilişkisini kanıtlamak için yeterli değildir. Her kurumda bölümler sırayla 1'den başlayarak numaralandırılmışsa, işlevsel bağımlılık yanlıştır. Bölümün kodu, numaraya ek olarak, kurumun kodunu da içeriyorsa (veya kodların benzersizliği başka bir şekilde sağlanıyorsa), işlevsel bağımlılık Bölüm → Kurum geçerlidir.

Birçok öznitelik özelliğine sahip bir gösterge için R = (R 1 , R 2 , ..., P n) ve bir temel özellik Q geçerli fonksiyonel bağımlılık RQ, ancak bunun belirtilen niteliklere olan tek bağımlılık olduğu iddia edilemez.

olası anahtar ilişki, her bir değer kombinasyonu, ilişkinin yalnızca bir satırında meydana gelen böyle bir nitelikler kümesidir ve hiçbir nitelik alt kümesi bu özelliğe sahip değildir. Bir ilişkide birkaç olası anahtar olabilir. Veri işlemedeki önemleri, olası bir anahtarın bilinen bir değeriyle örneklemenin bir ilişki satırıyla sonuçlanması veya hiç olmaması gerçeğiyle belirlenir.

Pratikte, bir ilişkinin olası anahtarının öznitelikleri, bu nesnelerin ve olayların özellikleriyle ilişkilendirilir ve bunlar hakkında bilgi ilişkide depolanır. İlişkinin ayarlanması sonucunda anahtarı oluşturan özniteliklerin adları değiştiyse, bilgiler ciddi şekilde bozulacaktır. Bu nedenle, olası bir anahtarın özelliklerinin sistematik kontrolü, ilgili bilgilerin güvenilirliğini kontrol etmenizi sağlar.

Bir ilişkide birden fazla aday anahtar olduğunda, hepsini aynı anda gözlemlemek çok zordur. Bunlardan birini ana (birincil) olarak seçmeniz önerilir. birincil anahtar ilişki, değerleri ilgili bilgilerin güvenilirliğini kontrol etmek için kullanılan böyle olası bir anahtardır.

Ekonomik bilgilerle ilgili olarak, vakaların büyük çoğunluğunda, mevcut ekonomik belgelerden elde edilen ilişkiler, aynı zamanda birincil anahtar olan tek bir olası anahtar içerir. Bunun nedeni, ekonomik belgelerin içeriğinin tüm kullanıcılar tarafından aynı şekilde anlaşılmasıdır. Bundan sonra sadece bu tür ilişkileri ele alacağız. Anlamlı bilgiyle ilgili olarak iki veya daha fazla olası anahtarın varlığı, aynı verileri yorumlamanın birkaç olası yolunun varlığıyla açıklanabilir. Birincil anahtar genellikle basitçe anahtar olarak adlandırılır.

Çok sayıda satırın olduğu ilişkilerde, tanımı doğrudan uygulayarak birincil anahtarı bulmak oldukça zordur. Ek olarak, EIS tasarım aşamasında, birçok ilişkinin değerleri basitçe bilinmemektedir, bu nedenle pratikte, ilişkinin birincil anahtarı mevcut fonksiyonel bağımlılıklardan hesaplanır.

Her birincil anahtar değeri, ilişkinin yalnızca bir satırında oluşur. Bu satırdaki herhangi bir özelliğin değeri de benzersizdir. eğer aracılığıyla İle ilişkili olarak birincil anahtarın niteliklerini belirleyin R(A, B, C, ..., J), o zaman aşağıdaki işlevsel bağımlılıklar geçerlidir: İleANCAK, İleAT, İleİTİBAREN, ..., İleJ. Bir dizi birincil anahtar özniteliği, bir ilişkinin herhangi bir özniteliğini işlevsel olarak tanımlar. Bunun tersi de doğrudur: ilişkinin tüm niteliklerini işlevsel olarak tanımlayan bir nitelikler grubu bulunursa ve bu grup indirgenemezse, o zaman ilişkinin birincil anahtarı bulunur.

İlk işlevsel bağımlılıklar kümesi için, bilgisi türev bağımlılıkları elde etmeyi sağlayan bir dizi düzenlilik vardır. Bunlardan bazılarını not edelim:

- eğer ANCAK, ATANCAK, sonra ve ANCAK, ATAT;

- ANCAKAT ve ANCAKİTİBAREN ancak ve ancak ANCAKGüneş;

- eğer ANCAKAT ve ATİTİBAREN, sonra ANCAKİTİBAREN;

- eğer ANCAKAT, sonra ACAT (İTİBAREN keyfi olarak);

- eğer ANCAKAT, sonra ACGüneş (İTİBAREN keyfi olarak);

- eğer ANCAKAT ve GüneşD, sonra ACD.

İlişkide yalnızca bir olası anahtarın olduğu önceden biliniyorsa, o zaman basit bir şekilde bulunabilir. Aday anahtar (eğer benzersizse, yani birincil anahtarla eşleşiyorsa), tüm işlevsel bağımlılıkların sağ tarafında oluşmayan bir dizi niteliktir. Diğer bir deyişle, ilişki niteliklerinin tam listesinden, tüm işlevsel bağımlılıkların doğru bölümlerinde meydana gelen niteliklerin üzerini çizmek gerekir. Kalan nitelikler birincil anahtarı oluşturur.

Bir ilişki, 1NF'ye karşılık geliyorsa ve eksik işlevsel bağımlılıklar içermiyorsa, ikinci normal formda (2NF) olur.

Eksik bir işlevsel bağımlılık iki bağımlılıktan oluşur:

- ilişkinin olası anahtarı, bazı anahtar olmayan öznitelikleri işlevsel olarak belirler,

– aday anahtar parçası, aynı anahtar olmayan özniteliği işlevsel olarak tanımlar.

2NF'ye karşılık gelmeyen bir ilişki, saklanan verilerin fazlalığı ile karakterize edilir. Tüm ilişkileri 2NF'deyse, bir veritabanı 2NF'dedir.

Bir ilişki, 2NF ise ve özellikleri arasında geçişli işlevsel bağımlılıklar (FC) yoksa 3NF'dir.

Geçişli FZ, iki FZ içerir:

– ilişkinin olası anahtarı, anahtar olmayan niteliği işlevsel olarak belirler;

– Bu öznitelik, işlevsel olarak anahtar olmayan başka bir özniteliği tanımlar.

Eğer bir İle- ilişki anahtarı ANCAK, AT- anahtar olmayan nitelikler ve İleANCAK, ANCAKAT adil FD'lerse, geçişlidirler. Geçişli bir FD'nin özel bir durumu, tamamlanmamış bir FD'dir. İle = İTİBAREN, E ve İleE, EANCAK.

Tüm ilişkileri 3NF'deyse, bir veritabanı 3NF'dedir.

Genellikle üçüncü normal forma karşılık gelen bir ilişkisel veri tabanı, bilgisi veri işleme süreçlerini kolaylaştıran ve kolaylaştıran bir dizi özellikle karakterize edilir. İlişkisel cebir operatörlerini kullanarak veritabanı sorgularının uygulanması aşağıdaki kurallarla açıklanabilir.

1. Sorgunun sözlü formülasyonunda, kabuğu oluşturan niteliklerin adlarını, sorgunun girdi ve çıktısını ve ayrıca seçim koşullarını vurgulayın.

2. Birçok kabuk özelliğini düzeltin. Gerekli tüm nitelikler herhangi bir ilişki içindeyse, sonraki seçim ve izdüşüm işlemleri yalnızca onunla gerçekleştirilir. Gerekli nitelikler birkaç ilişkiye dağıtılıyorsa, bu ilişkilerin birleştirilmesi gerekir. Her ilişki çifti, eşleşen adlarla (veya ortak bir alanda tanımlananlarla) niteliklerin eşitliği koşuluyla bağlanır. Her bağlantıdan sonra, projeksiyon kullanarak sonraki işlemler için gereksiz olan nitelikleri kesebilirsiniz.

4. Sorgu parçalara (alt sorgular) bölünebiliyorsa, uygulaması da bölümlere ayrılır, burada her bir alt sorgunun sonucu ayrı bir ilişkidir.

5. Belirtilen eylem dizisi standarttır, ancak çok büyük bir ara ilişki oluşturabilir. Bu dezavantaj, orijinal ilişkiler üzerinde (birleştirmeden önce) bazı seçimler ve projeksiyonlar yapılarak ve gerekli birleştirmelerin karşılıklı sırasını değiştirerek telafi edilebilir.

ağ veritabanı bir dizi ilişki ve yelpaze ilişkileri olarak temsil edilir. İlişkiler birincil ve bağımlı olarak ayrılır.

Fan oranı W(R, S) bir ana ( R), bir bağımlı ilişki ( S) ve aralarındaki bağlantılar, bağımlı ilişkinin her bir değerinin ana ilişkinin tek bir değeri ile ilişkilendirilmesi şartıyla. Bu koşul, bir bütün olarak ağ veri modeline özgü bir sınırlamadır. Bu sınırlamayı bilgisayar belleğinde uygulama yöntemi, çeşitli ağ DBMS'leri için aynı değildir.

Ağ veri modelinde izin verilen işlemler farklı örnekleme seçenekleridir.

Ağ veritabanları, fan ilişkilerinde ilişkilerin ortaya çıkmasındaki kısıtlamalara bağlı olarak iki seviyeli ve çok seviyeli ağlara ayrılır.

İki katmanlı ağların sınırlaması, her ilişkinin aşağıdaki rollerden birinde var olabilmesidir:

- herhangi bir hayran ilişkisinin dışında;

– herhangi bir sayıdaki hayran ilişkisinde ana ilişki olarak;

– herhangi bir sayıda fan ilişkisinde bağımlı bir ilişki olarak.

Bir bağlamda ana ilişki, diğerinde bağımlı olarak ilişki kurmak yasaktır.

Çok seviyeli ağlar, fan ilişkilerinin ara bağlantısı üzerinde herhangi bir kısıtlama sağlamaz, bazı ağ DBMS'lerinde döngüsel ağ yapılarına bile izin verilir.

İki seviyeli ağ DBMS'si için iki kısıtlama daha getirilmiştir (teorik bir bakış açısından, isteğe bağlı):

– ana ilişkinin birincil anahtarı yalnızca bir öznitelik olabilir;

– Ana ilişkinin birincil anahtarı, bağımlı ilişkinin birincil anahtarının bir parçasıysa, bir yelpaze ilişkisi vardır.

Bilgisayar belleğinde bir fan ilişkisi düzenlemek için, ana ve bağımlı ilişkilerin yapısına bağlantı adresi adı verilen ek bir özellik eklenir. Bağlantı adresi değerleri birlikte, her bir bağımlı ilişki değeri için bir fan ilişkisi sağlar S ana ilişkinin tek değeri R.

Bilgisayar belleğinde depolandığında oranın değerine genellikle kayıt denir. Bağlantı adresi, işlenecek sonraki kaydın başlangıç ​​adresini veya numarasını saklayan bir kayıt içindeki bir niteliktir.

En basit durumda ana ilişkinin tek değeri ile bağımlı ilişkinin değerlerinin bağlantısı aşağıdaki şekilde sağlanır. Bazı ana ilişki girişinin bağlantı adresi, bağımlı ilişki kayıtlarından birine işaret eder (ana ilişki bağlantı adresinin değeri, bu bağımlı ilişki kaydının başlangıç ​​adresidir), belirtilen bağımlı ilişki girişinin bağlantı adresi, bir sonraki bağımlı ilişkiyi gösterir. aynı ana ilişki kaydıyla ilişkili ilişki kaydı vb. Bu zincirdeki bağımlı ilişkinin son girişi, yukarıda belirtilen ana ilişkinin girişini ele alır. Bu, adı verilen iletişim adreslerinin bir halka yapısıyla sonuçlanır. hayran gibi, fanın “sapının” rolünün ana ilişkinin kaydı tarafından oynandığı yer. Grafik gösterimlerde, bağlantı adresi, belirli bir girişin bağlantı adresinden, başlangıç ​​adresi (sayı) bu bağlantı adresinin değeri olarak işlev gören kayda işaret eden bir okla temsil edilir.

Bir fan-ışın oranına verilerin nasıl dahil edileceği ve hariç tutulacağı konusunda standart kurallar vardır. Anahtarlama yöntemi, otomatik ve otomatik olmayan olarak karakterize edilebilir.

Otomatik yöntem, ana ilişkinin yeni bir değeri göründüğünde, bunun bağımlı ilişkinin bir değeriyle hemen uyumlu hale getirildiğini ve yelpaze ilişkisinin yeni bir öğesini oluşturduğunu belirtir. Bu kurala uyulmaması, otomatik olmayan yöntem için tipiktir.

Hariç tutma yöntemleri zorunlu veya isteğe bağlı olabilir. Zorunlu yöntem ile değer ana ilişkiye dahil edildikten sonra daimi üyesi olur. Güncellenebilir ancak ilişkiden çıkarılamaz. İsteğe bağlı yöntem, ana ilişkinin herhangi bir değerini kaldırmanıza izin verir.

Bir fan ilişkisi ve fonksiyonel bağımlılık tanımlarının analojisinden, aşağıdaki ifade aşağıdaki gibidir: bir fan ilişkisi varsa, o zaman bağımlı ilişkinin anahtarı, ana ilişkinin anahtarını işlevsel olarak belirler ve bunun tersi, eğer anahtarın anahtarı ise tam tersi. bir ilişki, ikinci ilişkinin anahtarını işlevsel olarak belirler, o zaman ilk ilişki bağımlı olabilir ve ikincisi - bazı fan ilişkilerinde ana.

Ağ veritabanı şemasında, ilişkiler ve fan ilişkileri genellikle ağ yapısını bir dizi dosya olarak düşünmemize izin veren dosyalar ve bağlantılar olarak ele alınır.

F = {F ben ( X 1), F 2 (X 2), ..., ben(X ben), ..., F n(X n)},

nerede X ben- dosyadaki anahtar özellikler ben.

Ek olarak, bir ağ yapısı grafiği tanıtıldı ATüstleri ile ( X ben, X 2 , ..., X ben, ..., X n). yay<X ben, Xj> grafikte AT varsa X ben bir parçasıdır Xj ve fj[X ben] bir alt kümedir ben. Son koşul, bir ilişkisel veri modelinde ilişkilerin sözdizimsel olarak dahil edilmesiyle aynı anlama sahiptir. Bu, ana dosyanın anahtarının bağımlı dosyada bulunduğunu varsayar. grafik AT ilişkisel bir veritabanı için bir bağlantı grafiğine benzer.

Veri tabanı DBA aranan asiklik, grafikteki herhangi iki köşe arasındaysa AT en fazla bir yol vardır. Bilevel ağları her zaman döngüsel değildir .

Birden fazla dosya için F döngüsel olmayan veritabanı DBA oldukça uygulanabilir işlem

m(DBA) = F 1 & F 2 & ... & ben & ...& F n,

aranan maksimum kavşak. Analogu, ilişkisel bir veritabanındaki bir dizi bağlantı olabilir.

Ağ DBMS'sinde getirme işlemlerinin sayısı oldukça fazladır. Ağ VTYS için projeksiyon işleminin işlevleri, ağ veritabanının alt şemasının açıklaması ile gerçekleştirilir. Bir ağ veritabanı şeması, fan ilişkilerinin yanı sıra her ilişkinin öznitelik bileşimi ve anahtarlarının bir göstergesiyle tüm ilişkilerin bir açıklamasıdır. Uygulama programı, her ilişkide - belirli bir öznitelik alt kümesinde (öznitelik anahtarlarının zorunlu olarak bırakılmasıyla) ve yalnızca bazı yelpaze şeklindeki ilişkilerde ağ veritabanı ilişkilerinin bir bölümünü bildirme yeteneğine sahiptir. Karşılık gelen veri açıklamasına alt şema denir. Alt şemada belirtilmeyen ilişkiler, hayran ilişkileri ve nitelikler uygulama programı tarafından erişilemez hale gelir. Projeksiyon işleminden farklı olarak, alt şemaya karşılık gelen veritabanı fiziksel olarak değil, şemada tanımlanan kaynak veritabanına erişim kısıtlanarak oluşturulur.

Geçerli bağlantıların sonuçları, iletişim adresleri zincirleri kullanılarak ağ DBMS'sinde fiilen sabitlenir. Olası bir birleştirmenin sonuçlarına erişim, bazı temel ilişkilerden, ilgili bağımlı ilişkideki değerlerin bir hayranına başlar, bağımlı ilişkide elde edilen anahtar değerler saklanır ve başka bir ana ilişkide arama yapmak için kullanılır; bu ana ilişkiden yeni bir bağımlı ilişkiye geçiş mümkündür, vb.

hiyerarşik model verilerin ağ veri modeliyle birçok benzerliği vardır, kronolojik olarak . Hiyerarşik bir veri modelindeki geçerli bilgi yapıları, ilişki, fan ilişkisi ve hiyerarşik veritabanıdır. Bir konu alanının bilgi gösteriminin tek bir veritabanı olduğu varsayıldığı daha önce dikkate alınan veri modellerinden farklı olarak, hiyerarşik bir modelde, bir konu alanı birkaç hiyerarşik veritabanına eşlenebilir.

Hiyerarşik veri modelinde ilişki ve fan ilişkisi kavramları değişmez.

Hiyerarşik bir veritabanı, iki kısıtlamanın karşılandığı bir dizi ilişki ve hayran ilişkisidir:

1) herhangi bir fan ilişkisine bağlı olmayan, kök adı verilen tek bir ilişki vardır;

2) diğer tüm ilişkiler (kök hariç) yalnızca bir yelpaze ilişkisinde bağımlı ilişkilerdir.

Hiyerarşik bir veritabanının şeması, bileşenlerinin bileşimi açısından ağ veritabanıyla aynıdır. Yukarıda belirtilen sınırlamalar hiyerarşik VTYS tarafından desteklenmektedir.

Hiyerarşik veri modelinde desteklenen bir sınırlama, hiyerarşik bir veritabanı tanımında görünen gereksinimleri ihlal etmenin imkansız olmasıdır. Bu sınırlama, bilgisayar belleğindeki ilişki değerlerinin özel bir şekilde istiflenmesiyle sağlanır. Aşağıda, hiyerarşik bir veritabanını istiflemenin en basit uygulamalarından birini ele alacağız.

Hiyerarşik olarak organize edilmiş değerleri doğrusal bir sırayla geçmek için çeşitli olasılıklar olduğuna dikkat edilmelidir. Hiyerarşik veritabanlarına uygulanan ilkeye denir. bitiş pasajı. Kuralları sıralayalım.

1. Kök ilişkinin ilk değerinden başlayarak, sonuncuya kadar her düzeyde karşılık gelen ilişkilerin ilk değerleri listelenir.

2. Tüm değerler, 1. adımın durduğu fan oranında listelenir.

3. Bu fan ilişkisinin tüm hayranlarının değerleri listelenmiştir.

4. Ulaşılan seviyeden bir önceki seviyeye geçilir ve eğer 1. adım uygulanabiliyorsa işlem tekrarlanır.

Hiyerarşik bir veritabanının kaydı, kök ilişkisinin bir değerini ve hiyerarşik veritabanının yapısına uygun olarak ondan uzanan tüm hayranları içeren bir değerler kümesidir. Örneğimizde, bir fakülte ile ilgili verilerden bir kayıt oluşturulmuştur (bkz. Şekil 11).

Hiyerarşik bir veritabanındaki hayran ilişkileri için, zaten bilinen model doğrudur: bir hayran ilişkisi varsa, o zaman bağımlı ilişkinin anahtarı, ana ilişkinin anahtarını işlevsel olarak belirler. Ve tam tersi: bir ilişkinin anahtarı, ikinci ilişkinin anahtarını işlevsel olarak belirlerse, o zaman ilk ilişki bağımlı olabilir ve ikincisi - bazı fan ilişkisinde ana ilişki.

Ek olarak, hiyerarşik bir veritabanında tek bir kök ilişkisi olduğu kısıtlaması, kök olmayan her ilişkinin birincil anahtarının, kök ilişkisinin birincil anahtarını işlevsel olarak tanımlaması gerektiği gereksinimine dönüşür.

Hiyerarşik bir veritabanının yapısını elde etmek için algoritma, A.I. Mishenin.

Veri modellerini karşılaştırırken, modelin temel özelliklerini karakterize eden faktörleri, belirli VTYS aracılığıyla bu veri modellerinin uygulanmasıyla ilişkili faktörlerden ayırmak çok zordur.

En ünlü veri modellerinin avantajları ve dezavantajları göz önüne alındığında, ilişkisel yaklaşımın şüphesiz bir takım avantajlarına dikkat edilmelidir:

- basitlik: ilişkisel modelde, kullanıcıların-ekonomistlerin aşina olduğu, verilerin tablo halinde sunumunu resmileştiren tek bir bilgi yapısı vardır;

- teorik gerekçe: ilişkileri normalleştirmek ve yapının döngüselliğini kontrol etmek için teorik olarak gerekçeli yöntemlerin varlığı, gerekli özelliklere sahip veritabanlarının elde edilmesini mümkün kılar;

– veri bağımsızlığı: kural olarak ilişkisel bir veritabanının yapısını değiştirmek, uygulama programlarında minimum değişikliklere yol açar.

İlişkisel veri modelinin dezavantajları arasında şunlar belirtilmelidir:

– bağlantı işlemi sırasında düşük hız;

– ilişkisel bir veritabanını temsil etmek için yüksek bellek tüketimi. 3NF'deki tasarım minimum fazlalık için tasarlanmış olsa da (her olgu veritabanında bir kez temsil edilir), aynı koşullar altındaki diğer veri modelleri daha az bellek tüketimi sağlar. Örneğin, bir bağlantı adresinin uzunluğu tipik olarak bir öznitelik değerinin uzunluğundan çok daha küçüktür.

Hiyerarşik bir veri modelinin avantajları şunlardır:

– basitlik: model üç bilgi yapısı kullanmasına rağmen, kavramların hiyerarşik olarak tabi kılınması ilkesi birçok ekonomik görev için (örneğin, istatistiksel raporlamayı organize etmek için) doğaldır;

– minimum bellek tüketimi: üç veri modelinden herhangi biri kullanılarak uygulanabilen görevler için hiyerarşik model, gereken minimum bellekle bir temsil elde etmenizi sağlar.

Hiyerarşik modelin dezavantajları:

- evrensel olmama: veri ara bağlantısı için birçok önemli seçenek, veritabanındaki fazlalığı artırmadan hiyerarşik bir model kullanılarak uygulanamaz;

- verilere erişime ilişkin yalnızca seyrüsefer ilkesinin kabul edilebilirliği;

– verilere erişim yalnızca kök ilişkisi aracılığıyla yapılır.

Ağ veri modelinin aşağıdaki avantajlarına dikkat edilmelidir:

– evrensellik: ağ veri modelinin ifade olanakları, diğer modellere kıyasla en kapsamlı olanıdır;

– birkaç ilişkinin değerleri aracılığıyla verilere erişme yeteneği (örneğin, herhangi bir temel ilişki aracılığıyla).

Ağ veri modelinin dezavantajları şunları içerir:

- karmaşıklık, yani çok sayıda kavram, ilişkileri için seçenekler ve uygulama özellikleri;

– veri erişiminin yalnızca navigasyon ilkesinin kabul edilebilirliği.

Döngüsel olmayan veri tabanları için elde edilen sonuçlar, döngüsel olmayan ilişkisel veritabanlarının, iki seviyeli ağ veritabanlarının ve mantıksal bağlantıları olmayan hiyerarşik bir veri tabanının bilgi sunmak için eşdeğer olanaklara sahip olduğunu göstermektedir.

Veri modelleri analiz edilirken veri tabanı ilişkilerinde değerlerin sıralanması sorununa değinilmemiştir. İlişkisel model için bu sıralama teorik bir bakış açısından gerekli değildir ve diğer iki modelde sorgu uygulamasının verimliliğini artırmak için yaygın olarak kullanılır.

Bir veri modelinin nihai seçimi, örneğin iyi kurulmuş VTYS'nin mevcudiyeti, uygulama programcılarının nitelikleri, veritabanının boyutu vb. gibi birçok ek faktörden etkilenir.

Son zamanlarda, ilişkisel VTYS, EIS'yi geliştirmenin bir aracı olarak baskın bir pozisyon almıştır. İlişkisel modelin eksiklikleri, modern bilgisayarların hız ve bellek kaynaklarındaki büyüme ile telafi edilir. Ekonomide yönetimin ademi merkeziyetçilik süreçleri nedeniyle, birçok EIS veri tabanı, kolayca anlaşılabilir tablo sistemlerine (ilişkiler) dönüştürülebilen basit bir yapıya sahiptir.

Kontrol soruları ve görevleri

1. En ünlü veri modeli türlerini listeleyin.

2. Bize hiyerarşik ve ağ veri modelleri hakkında bilgi verin. Benzerlikleri ve farklılıkları nelerdir?

3. İlişkisel modeli tanımlayın.

4. İkili modeli ve kapsamını tanımlayın.

5. Semantik ağların özellikleri ve amaçları nelerdir?

6. Çeşitli teknolojiler için bilgi yapılarını listeleyin.

7. İlişkisel veri modelinin bileşenlerini adlandırın.

8. Bir demet ve bir ilişki tanımlayın.

9. İlişkileri işleme süreçleri hangi yollarla tanımlanabilir?

10. Veri işleme süreçlerinin prosedürel açıklamasının özünü genişletin.

11. İlişkisel veritabanlarını işlemeye yönelik bildirimsel yaklaşımdan bahsedin.

12. İlişkilerin normalleşmesi nedir?

13. En basit işlevsel bağımlılıkta kaç özellik vardır?

14. Niteliklerin işlevsel bağımlılığını ilişkisel yaklaşım açısından tanımlar.

15. Olası bir ilişki anahtarı nedir?

16. Birincil anahtar nedir? Bunun diğer adı nedir?

17. Çeşitli işlevsel bağımlılıklar için kalıplardan bahsedin.

18. İkinci ve üçüncü normal ilişki biçimlerini tanımlayın.

19. Bize ilişkisel veritabanı erişiminden bahsedin.

20. Ağ modelindeki bilgi yapılarını adlandırın.

21. "Taraftar ilişkisi" nedir?

22. İki seviyeli ağları tanımlayın.

23. Çok katmanlı ağları tanımlayın.

24. "İletişim adresi" nedir?

25. "Hayran" denilen şey nedir?

26. Ağ veritabanı şeması hangi bileşenleri içerir?

27. Fanwise oranında verilerin nasıl dahil edileceği ve hariç tutulacağı hakkında hangi standart kuralları biliyorsunuz?

28. Dosyalar ve bağlantılar nelerdir?

29. "Maksimum kavşak" nedir?

30. Hiyerarşik modeldeki bilgi yapılarını adlandırın.

31. Hiyerarşik bir veritabanı tanımlayın.

32. Bize son geçişin kurallarını anlatın.

33. Hiyerarşik bir temel kayıt tanımlayın.

34. İlişkisel yaklaşımın avantajları ve dezavantajları nelerdir?

35. Hiyerarşik modelin avantajlarını ve dezavantajlarını listeleyin.

36. Ağ veri modelinin güçlü ve zayıf yönlerini tanımlayın.

38. Çalıştaydan ilişkilerle ilgili işlemlerle ilgili 2.1–2.20 görevlerini tamamlayın.

39. Atölyeden "İşlevsel bağımlılıklar ve anahtarlar" konusundaki 2.21-2.32 görevlerini tamamlayın.

40. Çalıştaydan “Normal İlişki Formları” konusundaki 2.33-2.60 görevlerini tamamlayın.

41. Atölyeden "Çevrimsel veri tabanları" konusundaki 2.61-2.71 görevlerini tamamlayın.

42. Çalıştaydan "Ağ ve hiyerarşik veri modelleri" konusundaki 2.72-2.93 görevlerini tamamlayın.

Herhangi bir veritabanının çekirdeği veri modelidir. Veri örneği - bir dizi veri yapısı ve bunların işleme operasyonları .

DBMS, hiyerarşik, ağ veya ilişkisel bir modelin, bu modellerin bir kombinasyonu veya bunların bazı alt kümelerinin kullanımına dayanmaktadır.

Hiyerarşik veri modeli.

Hiyerarşik yapının temel kavramları şunları içerir: seviye, eleman, bağlantı. Düğüm bazı nesneleri tanımlayan veri öznitelikleri topluluğudur. Hiyerarşik bir ağaç diyagramında düğümler, grafik köşeleriyle temsil edilir. Alt düzeydeki her düğüm, daha yüksek düzeydeki yalnızca bir düğüme bağlanır. Hiyerarşik bir ağaç, başka bir tepe noktasına bağlı olmayan ve en üst (birinci) seviyede bulunan yalnızca bir tepe noktasına (ağaç kökü) sahiptir (bkz. Şekil 5).

Pirinç. 5. Hiyerarşik veri modeli

Her veritabanı girişinin, kök girişten yalnızca bir (hiyerarşik) yolu vardır. Örneğin, C4 kaydı için yol, A ve B3 kayıtlarından geçer.

Hiyerarşik yapıya bir örnek. Her öğrenci, belirli (sadece bir) fakülteye ait olan belirli (sadece bir) grupta çalışır (bkz. Şekil 6).

Pirinç. 6. Hiyerarşik veri organizasyonu örneği

ağ veri modeli

Bir ağ yapısında, her eleman başka bir elemana bağlanabilir (bkz. Şekil 7).

Pirinç. 7. Ağ veri modeli

Bir ağ yapısı örneği. Araştırma çalışmasına katılan öğrenciler hakkında bilgi içeren veri tabanı (SRRS). Bir öğrencinin birkaç SRWS'ye katılmasının yanı sıra bir SRRS'nin geliştirilmesine birkaç öğrencinin katılımı da mümkündür (bkz. Şekil 8).

Pirinç. 8. Verilerin ağ organizasyonuna bir örnek

İlişkisel veri modeli

Bu modeller, basit bir veri yapısı, kullanıcı dostu bir temsil ve ilişkisel cebirin biçimsel aygıtını kullanma yeteneği ile karakterize edilir.

İlişkisel model, verileri iki boyutlu tablolar biçiminde düzenlemeye odaklanır. Her ilişkisel tablo (ilişki) iki boyutlu bir dizidir ve aşağıdaki özelliklere sahiptir:

Tablonun her öğesi bir veri öğesidir;

· tablodaki tüm sütunlar homojendir, yani. bir sütundaki tüm öğeler aynı türe (sayı, karakter vb.) ve uzunluğa sahiptir;

· her sütunun benzersiz bir adı vardır;

Tabloda aynı satır yok;

Satırların ve sütunların sırası isteğe bağlı olabilir.

Örnek.İlişkisel bir tablo, bir üniversitede okuyan öğrenciler hakkındaki bilgileri temsil edebilir.

Her değeri karşılık gelen kaydı benzersiz olarak tanımlayan bir alana denir. basit anahtar(anahtar alan). Kayıtlar, birkaç alanın değerleriyle benzersiz bir şekilde tanımlanmışsa, böyle bir veritabanı tablosu vardır. bileşik anahtar.

İki ilişkisel tabloyu birbirine bağlamak için, birinci tablonun anahtarını ikinci tablonun anahtarına girmeniz gerekir (anahtarlar eşleşebilir); aksi takdirde, ilk tablonun yapısına girmeniz gerekir. harici anahtar- ikinci tablonun anahtarı.

Aynı veriler farklı şekillerde tablolar halinde gruplandırılabilir. Tablolardaki niteliklerin gruplandırılması rasyonel olmalıdır, yani. verilerin tekrarını en aza indirgemek ve işleme prosedürlerini basitleştirmek.

ilişkilerin normalleşmesi - tekrarlamayı ortadan kaldırmaya izin veren, veri tabanında saklananların tutarlılığını sağlayan ilişkilerin (tabloların) oluşumuna ilişkin resmi kısıtlama aygıtı, veri tabanını korumak (girmek, düzeltmek) için işçilik maliyetlerini azaltır.

Beş normal ilişki biçimi vardır. Bu formlar, bilgi fazlalığını birinci normal formlardan beşinci normal formlara indirgemek üzere tasarlanmıştır. Bu nedenle, sonraki her normal form, önceki formun gerekliliklerini ve bazı ek koşulları karşılamalıdır. Pratik veritabanı tasarımında dördüncü ve beşinci formlar genellikle kullanılmaz.

Çok tablolu bir veritabanı tasarlama örneğini kullanarak normalleştirme prosedürünü düşünün Satış aşağıdaki bilgileri içeren:

· Alıcılar hakkında bilgiler.

Sipariş tarihi ve sipariş edilen malların miktarı.

· Sipariş gerçekleştirme tarihi ve satılan miktar.

· Satılan malların özellikleri (isim, maliyet, marka).

Tablo 2. Tablonun yapısı Satış

masa Satış tek tablolu bir veritabanı olarak kabul edilebilir. Ana sorun, önemli miktarda tekrarlayan bilgi içermesidir. Bu veri yapısı, veritabanı ile çalışırken ortaya çıkan aşağıdaki sorunların nedenidir:

· Tekrarlayan verileri girmek için önemli zaman harcanmalıdır. Örneğin, bir müşteri tarafından yapılan tüm siparişler için her seferinde müşteriyle ilgili aynı verileri girmeniz gerekecektir.

· Bir alıcının adresi veya telefon numarası değişirse, o alıcının siparişleriyle ilgili bilgileri içeren tüm kayıtlar düzeltilmelidir.

· Tekrarlanan bilgilerin varlığı, veritabanı boyutunda haksız bir artışa yol açacaktır. Sonuç olarak, sorgu yürütme hızı azalacaktır. Ayrıca, tekrarlayan veriler bilgisayar disk alanını boşa harcar.

· Herhangi bir anormal durum, gerekli bilgileri elde etmek için uzun zaman alacaktır.

Veri modeline göre sınıflandırma (kuruluş yapısına göre).

Hikaye.

Veritabanı teknolojilerinin ortaya çıkış ve gelişim tarihi, hem geniş hem de dar bir açıdan ele alınabilir.

AT geniş açı veritabanlarının tarihi kavramı, insanlığın verileri depoladığı ve işlediği herhangi bir aracın tarihine genelleştirilmiştir. Bu bağlamda örneğin eski Sümer'de (M.Ö. 4000) kraliyet hazinesinin ve vergilerin muhasebeleştirilme yöntemleri, İnkaların düğümlü yazıları, Asur krallığına ait belgeleri içeren çivi yazısı vb. maddelerden bahsedilmiştir. Unutulmamalıdır ki bu yaklaşımın dezavantajı, "veritabanı" kavramının bulanıklaşması ve bunun "arşiv" ve hatta "yazma" kavramlarıyla fiilen birleşmesidir.

Veritabanı geçmişi dar açı veritabanlarını geleneksel (modern) anlamda değerlendirir. Bu hikaye, 1955'te kayıtların işlenmesi için ürün yazılımının piyasaya sürülmesiyle başlar. Bu zamanın yazılımı, dosya tabanlı bir kayıt işleme modelini destekledi. Verileri saklamak için delikli kartlar kullanıldı. Çevrimiçi çevrimiçi veritabanları 1960'ların ortalarında ortaya çıktı. Operasyonel veri tabanları üzerindeki işlemler, terminaller kullanılarak interaktif olarak işlendi. Basit dizin-sıralı kayıt organizasyonu, hızla daha güçlü bir set odaklı kayıt modeline dönüştü. Charles Bachmann, verileri tanımlamak ve verileri işlemek için standart bir dil geliştiren Veri Tabanı Görev Grubu'nun (DBTG) çalışmasına liderlik ettiği için Turing Ödülü'nü aldı.

Aynı zamanda, COBOL veritabanı topluluğu (öncelikle iş uygulamaları geliştirmek için tasarlanmış en eski programlama dillerinden biri (1959'daki ilk sürüm), veritabanı şemaları kavramını ve veri bağımsızlığı kavramını geliştirdi.

Bir sonraki önemli dönüm noktası, Edgar F. Codd'un çalışmaları sayesinde 1970'lerin başında ilişkisel veri modelinin ortaya çıkmasıyla geldi. Codd'un çalışması, uygulamalı veritabanı teknolojisi ile matematik ve mantık arasında yakın bir bağlantının yolunu açtı. Edgar F. Codd ayrıca teori ve pratiğe katkılarından dolayı Turing Ödülü'nü aldı.

Terimin kendisi veri tabanı(veritabanı) 1960'ların başında ortaya çıktı ve 1964 ve 1965'te SDC (Sistem Geliştirme Şirketi) tarafından düzenlenen sempozyumlarda tanıtıldı, ancak başlangıçta oldukça dar anlamda yapay zeka sistemleri bağlamında anlaşıldı. Terim, modern anlamda yalnızca 1970'lerde yaygın olarak kullanılmaya başlandı.

Veritabanının ana sınıflandırmaları.

Bir veritabanı ile çalışırken, DBMS bilgisayar belleğinde konu alanının belirli bir modelini tutar. veri örneği. Veri modeli, DBMS türüne göre belirlenir.



hiyerarşik model. Hiyerarşik olarak organize edilmiş veriler günlük yaşamda çok yaygındır. Örneğin, bir yüksek öğretim kurumunun yapısı. Hiyerarşik veri modeli- veritabanının farklı seviyelerdeki nesnelerden (verilerden) oluşan bir ağaç (hiyerarşik) yapısı şeklinde temsili. Üst düzey bir nesne tarafından işgal edilir, ikincisi - ikinci düzeydeki nesneler, vb. Nesneler arasında bağlantılar vardır, her nesne daha düşük düzeydeki birkaç nesneyi içerebilir. Bu tür nesneler, bir ataya (köke daha yakın bir nesne) bir sonrakine (daha düşük bir seviyedeki bir nesneye) göredir, oysa ata nesnenin çocuğu olmadığında veya birkaç taneye sahip olduğunda mümkündür, alt nesne ise tek bir atası var. Ortak bir ataya sahip olan nesnelere ikiz denir. Bu modelin ana dezavantajı, tasarım sırasında veritabanının temeli olan hiyerarşiyi kullanma ihtiyacıdır. Verilerin sürekli olarak yeniden düzenlenmesi ihtiyacı, daha genel bir modelin - bir ağ modelinin - yaratılmasına yol açtı.

ağ modeli. Veri organizasyonuna ağ yaklaşımı, hiyerarşik yaklaşımın bir uzantısıdır. Temel kavramlara geri dön veritabanı ağ modelişunları içerir: seviye, eleman (düğüm), bağlantı. Düğüm, bazı nesneleri tanımlayan veri öznitelikleri topluluğudur. Hiyerarşik bir ağaç diyagramında düğümler, grafik köşeleriyle temsil edilir. Bir ağ yapısında, her eleman başka herhangi bir elemana bağlanabilir. Ağ veritabanları, ilgili bilgileri birbirine bağlayan her iki yönde de işaretçiler olması dışında, hiyerarşik veritabanlarına benzer. Bu model, hiyerarşik modelle ilgili bazı sorunları çözse de, basit sorguları çalıştırmak oldukça karmaşık bir süreç olmaya devam ediyor. Ayrıca, veri alma prosedürünün mantığı bu verilerin fiziksel organizasyonuna bağlı olduğundan, bu model uygulamadan tamamen bağımsız değildir. Başka bir deyişle, veri yapısını değiştirmeniz gerekiyorsa, uygulamayı değiştirmeniz gerekir.

(Bu model, oluşturulan her öğenin birden fazla zarar verici öğeye sahip olabilmesi bakımından hiyerarşik olandan farklıdır. Yani ağ yapısında her öğe başka herhangi bir öğeyle ilişkilendirilebilir).

ilişkisel model. İlişkisel veritabanı- ilişkisel veri modeline dayalı bir veritabanı. Codd tarafından 1969-70 yıllarında matematiksel ilişkiler teorisi temelinde geliştirilmiştir ve bir kavramlar sistemine dayanmaktadır. masa , davranış , alan , kayıt . Bu model en çok tanınmayı aldı. "İlişkisel" kelimesi, ilişki anlamına gelen İngilizce "ilişki" kelimesinden gelir. İlişkiler uygun şekilde tablolar şeklinde temsil edilir. Şunlar. tablo kelimesi genellikle "ilişki" teriminin gayri resmi eşanlamlısı olarak kullanılır. Unutulmamalıdır ki "masa" katı olmayan ve gayri resmi bir kavramdır ve genellikle soyut bir kavram olarak "ilişki" anlamına gelmez, ancak ilişkinin kağıt veya ekran üzerinde görsel bir temsili anlamına gelir. "İlişki" terimi yerine "tablo" teriminin yanlış ve gevşek kullanımı çoğu zaman yanlış anlamalara yol açar. En yaygın hata, yalnızca tabloların görsel temsilleri olabileceği zaman, RDM'nin "düz" veya "iki boyutlu" tablolarla ilgilendiğini düşünmektir. Öte yandan ilişkiler soyutlamalardır ve “düz” veya “düz olmayan” olamazlar.

İlişkisel bir veritabanı, tüm verilerin kullanıcıya tablolar şeklinde sunulduğu ve veritabanındaki tüm işlemlerin tablo manipülasyonlarına indirgendiği bir veritabanıdır.

Alan(sütun) bir nesnenin özniteliğini yansıtan bir veri öğesidir (örneğin, nesne bir öğrenciyse, öznitelikleri tam ad, adres, telefon numarası vb. olacaktır). saat alanlar veritabanları seçenekler, kaydedilecek verilerin türünü, görüntülenme şeklini ve üzerinde gerçekleştirilen işlemler kümesini tanımlar. Önemli alan parametrelerinden biri veri tipi.

Nesne ve nesne yönelimli. Nesne Yönelimli Veritabanı- harici olaylar tarafından kontrol edilen uygulama programları dahil, verilerin nesne modelleri şeklinde sunulduğu bir veritabanı. Veritabanlarının yetenekleri (özellikleri) ile nesne yönelimli programlama dillerinin yeteneklerini birleştirmenin sonucu, Nesne yönelimli veritabanı yönetim sistemleridir (OODBMS). OODBMS, veritabanı nesneleri ile OOLP programlamadaki nesnelerle aynı şekilde çalışmanıza izin verir. Bir OODBMS, kalıcı verileri, eşzamanlılık kontrolünü, veri kurtarmayı, ilişkili sorguları ve diğer özellikleri şeffaf bir şekilde sunarak programlama dillerini genişletir. Nesneye yönelik veritabanları, genellikle karmaşık bir yapıya sahip verilerin yüksek performanslı işlenmesinin gerekli olduğu durumlar için önerilir.

nesne-ilişkisel- nesne yönelimli bir yaklaşım uygulayan bazı teknolojileri destekleyen ilişkisel bir VTYS (RDBMS).

Konular:mantıksal veritabanı modelleri, nesnelerin ve kayıtların tanımlanması, kayıtların aranması.

1. Hiyerarşik ve ağ veri modelleri.

Herhangi bir veritabanının çekirdeği veri modelidir. Veri modeli, bir dizi veri yapısı ve bunların işleme operasyonlarıdır. Veriler arasında ilişki kurma yöntemine göre, hiyerarşik, ağ ve ilişkisel modeller.

hiyerarşik model ağaç yapısı ile veritabanları oluşturmanıza olanak tanır. Onlarda, her düğüm kendi veri türünü (varlığı) içerir Bu modeldeki ağacın en üst seviyesinde bir düğüm vardır - “kök”, bu kökle ilişkili düğümler bir sonraki düzeyde bulunur, ardından ilişkili düğümler önceki seviyenin düğümleri vb. ile ayrıca, her düğümün yalnızca bir atası olabilir (Şekil 1)

Hiyerarşik bir sistemde veri aramak her zaman kökten başlar. Daha sonra istenilen seviyeye ulaşılana kadar bir seviyeden diğerine iniş yapılır. Sistemde bir kayıttan diğerine geçiş, bağlantılar kullanılarak gerçekleştirilir.

Yapının bireysel öğelerine erişimi düzenlemek için bağlantıların kullanılması, sıralı numaralandırmaya dayalı arama prosedürünü azaltmaz. Ağacın bir sonraki öğesine bir geçiş sırası önceden belirlenirse, arama prosedürü daha verimli olacaktır.

Hiyerarşik modelin ana avantajları, gerçek dünyanın hiyerarşik yapılarını tanımlamanın basitliği ve veri yapısına karşılık gelen sorguların hızlı yürütülmesidir, ancak bunlar genellikle fazla veri içerir. Ayrıca gerekli verileri her seferinde kökten aramaya başlamak her zaman uygun değildir ve hiyerarşik yapılarda veritabanında gezinmenin başka bir yolu yoktur.

Hiyerarşik modeller birçok alanda yaygındır, ancak çoğu durumda tek bir giriş birden fazla görünüm gerektirir veya birkaç başka görünümle ilişkilendirilir. Sonuç olarak, genellikle ağaç benzeri yapılara kıyasla daha karmaşık yapılar elde edilir. Bir ağ yapısında herhangi bir eleman diğer herhangi bir elemana bağlanabilir. Ağ yapılarının örnekleri, Şek. 2

ağ yapısı başlangıç ​​ve üretilen elemanlar yardımıyla tanımlanabilir. Oluşturulan öğelerin orijinal öğelerin altına yerleştirilmesi için onu temsil etmek uygundur.

Basit ve karmaşık ağ yapıları arasında ayrım yapmak arzu edilir.

Bir bilgi nesnesi bir dizi başka nesneyle ilişkilendirilirse veya tüm nesneler hepsiyle ilişkilendirilirse, böyle bir yapıya karmaşık denir.

Örneğin, bir grup öğrenci, gruptaki tüm öğrencilerle ilişkilidir. Veya Şekil 1'deki bir eğitim kurumu örneğinde. 3 her öğretmen birçok (teorik olarak tüm) öğrenciye öğretebilir ve her öğrenci birçok (teorik olarak tüm) öğretmenden öğrenebilir. Pratikte bu doğal olarak imkansız olduğu için bazı kısıtlamalara başvurmak gerekir.


Bazı yapılar döngüler içerir. Döngü, bir düğümün öncülünün aynı zamanda onun halefi olduğu bir durumdur. "Orijinal - oluşturulan" ilişkiler kapalı bir döngü oluşturur. Örneğin, bir fabrika çeşitli ürünler üretir. Bazı ürünler başka taşeron fabrikalarda üretilmektedir. Bir sözleşme birkaç ürünün üretimi ile ilişkilendirilebilir. Bu ilişkilerin temsili bir döngü oluşturur.

Bazen nesneler aynı türdeki diğer nesnelerle ilişkilidir. Bu duruma döngü denir. Şek. Şekil 4, döngülerin kullanılabileceği oldukça yaygın iki durumu göstermektedir. Çalışan dizisinde, bazı çalışanlar arasında var olan ilişkiler belirtilir. Malzeme listesi veritabanına ek bir karmaşıklık getirildi: bazı düğümlerin kendileri düğümlerden oluşuyor.

Ağ yapılarının basit ve karmaşık yapılara bölünmesi gereklidir, çünkü karmaşık yapılar daha karmaşık fiziksel temsil yöntemleri gerektirir. Bu her zaman bir dezavantaj değildir, çünkü karmaşık bir ağ yapısı basit bir forma dönüştürülebilir (ve çoğu durumda olmalıdır).

Hiyerarşik ve ağ modellerinin kullanılması, veritabanındaki bilgilere erişimi hızlandırır. Ancak her veri elemanının diğer bazı elemanlara referanslar içermesi gerektiğinden, hem diskte hem de bilgisayarın ana belleğinde önemli kaynaklar gerekir. Ana belleğin olmaması, elbette, veri işleme hızını azaltır. Ek olarak, bu tür modeller, bir veritabanı yönetim sisteminin (DBMS) uygulanmasının karmaşıklığı ile karakterize edilir.

2. Nesnelerin ve kayıtların tanımlanması

Bilgi işleme görevlerinde, nitelikler arandı(belirtmek) ve onlara atfetmek değerler.

Bilgi işlerken, kullanıcı bir dizi nesneyle ilgilenir, Mülkiyet Bilgisi bunların her biri şu şekilde kaydedilmelidir (kaydedilmelidir) veri, böylece problemler çözülürken bulunabilir ve gerekli dönüşümler yapılabilir.

Bu nedenle, bir nesnenin herhangi bir durumu, zamanın bu noktasında bazı değerlere sahip olan bir dizi nitelik ile karakterize edilir. Nitelikler, formdaki bazı malzeme taşıyıcılarına sabitlenir kayıtlar. Kayıt- resmileştirilmiş küme (grup) veri öğeleri(bir biçimde veya başka bir biçimde sunulan niteliklerin değerleri). öznitelik değeri tanımlar nesne, yani arama özelliği olarak bir değer kullanmak, karşılaştırma koşuluna göre basit bir seçim kriteri uygulamanıza olanak tanır.

Tek bir nesne her zaman benzersizdir, bu nedenle onunla ilgili verileri içeren kaydın da benzersiz bir tanımlayıcısı olmalı ve başka hiçbir nesne aynı tanımlayıcıya sahip olmamalıdır. Tanımlayıcı, veri öğesinin değeri olduğundan, bazı durumlarda benzersizliği sağlamak için birden fazla öğenin kullanılması gerekir. Örneğin, aynı disiplinin farklı dönemlerde öğretimi mümkün olduğundan, müfredatın disiplinlerine ilişkin kayıtları net bir şekilde belirlemek için DÖNEM ve DİSİPLİN ADI öğelerinin kullanılması gerekir.

Yukarıdaki diyagram niteleyici tanımlama yöntemi nesne içeriği. için oldukça doğal iyi yapılandırılmış(gerçek veriler. Ayrıca, yapılandırılmışlık yalnızca veri sunum biçimine (format, depolama yöntemi) değil, aynı zamanda kullanıcının değeri yorumlama şekli(parametrenin değeri yalnızca önceden tanımlanmış bir biçimde sunulmaz, genellikle değerin boyutunun bir göstergesiyle birlikte verilir, bu da kullanıcının anlamını ek yorumlar olmadan anlamasını sağlar). Böylece, olgusal veriler onların olasılığını ortaya koymaktadır. doğrudan tercüme.

Ancak, bu yöntem pratik olarak tanımlama için uygun değildir. kötü yapılandırılmış bilgi sahip nesnelerle ilişkili ideal doğa. Bu tür nesneler genellikle mantıksal ve dolaylı olarak diğer nesneler aracılığıyla tanımlanır. Bunları tanımlamak için doğal veya yapay kullanılır. Buna göre, anlamı anlamak için kullanıcının dilin uygun kurallarını kullanması ve alınan bilgileri mevcut bilgilerle tanımlamasına ve ilişkilendirmesine izin veren bazı bilgilere sahip olması gerekir. Yani, bu tür verilerin yorumlanması süreci, aracılı doğası gereği ve ek bilgilerin kullanılmasını gerektirir ve veri tabanında resmi bir biçimde bulunması zorunlu değildir.

3. Kayıtları arayın

Programcı veya kullanıcının ihtiyaç duyduğu bireysel kayıtlara veya bireysel veri öğelerine erişebilmesi gerekir.

Bunu yapmak için aşağıdaki yöntemleri kullanabilirsiniz:

Verinin makine adresini ayarlayın ve kaydın fiziksel formatına göre değeri okuyun. Bunlar, programcının bir "navigatör" olması gereken durumlardır.

Sisteme, almak istediği kaydın veya veri öğesinin adını ve muhtemelen veri kümesinin organizasyonunu söyleyin. Bu durumda, sistemin kendisi örneklenecektir (önceki şemaya göre), ancak bunun için veri yapısı ve kümenin organizasyonu hakkında yardımcı bilgileri kullanması gerekecektir. Bu tür bilgiler esasen nesne ile ilgili olarak gereksiz olacaktır, ancak veri tabanı ile iletişim, kullanıcının bir programcının bilgisini gerektirmeyecektir.

Olarak anahtar, kayda erişim sağlayarak, bir tanımlayıcı kullanabilirsiniz - ayrı bir veri öğesi. Anahtar bir girişi benzersiz olarak tanımlayan , denir birincil (ana).

bu durumda ne zaman anahtar belirli bir ortak özelliğe sahip bazı kayıt gruplarını tanımlar, anahtar aranan ikincil (alternatif). Bir veri kümesi, ilgili anahtarla kayıt bulma süreçlerini optimize etme gereksinimi tarafından belirlenen tanıtma ihtiyacı, birkaç ikincil anahtara sahip olabilir.

Bazen tanımlayıcı olarak kullanılır bileşik bağlantılı anahtar— örneğin birlikte veri setinin her kaydının benzersiz bir şekilde tanımlanmasını sağlayacak birkaç veri öğesi.

Bu durumda anahtar, kaydın bir parçası olarak veya ayrı olarak saklanabilir. Örneğin, benzersiz olmayan öznitelik değerlerine sahip kayıtların anahtarı, fazlalığı ortadan kaldırmak için ayrı olarak saklanmalıdır.

Tanıtılan anahtar kavramı mantıklıdır ve bir anahtarın fiziksel uygulamasıyla karıştırılmamalıdır - dizin, bireysel anahtar değerlere karşılık gelen kayıtlara erişim sağlama.

İkincil anahtarı girdi olarak kullanmanın bir yolu, her girdisi anahtarın değerini ve ilgili girdilerin kimliklerinin bir listesini içeren bir kayıt listesi düzenlemektir. İndeksteki veriler artan veya azalan düzende düzenlenir, bu nedenle istenen değeri bulma algoritması oldukça basit ve verimlidir ve değer bulunduktan sonra giriş fiziksel konum göstergesine göre yerelleştirilir. Bir dizinin dezavantajı, fazladan yer kaplamasıdır ve bir giriş her silindiğinde, güncellendiğinde veya eklendiğinde güncellenmesi gerekir.

Genel olarak, bileşik bir anahtar da dahil olmak üzere herhangi bir anahtar için bir kayıt listesi oluşturulabilir.

Arama görevleri bağlamında, verileri düzenlemenin iki ana yolu olduğunu söyleyebiliriz: Birinci yol, dizinin doğrudan organizasyonu, ikincisi ise birincinin tersidir. Dizinin doğrudan organizasyonu, "Belirtilen nesnenin özellikleri nelerdir?" koşuluyla arama yapmak için uygundur ve ters çevrilmiş düzenleme, "Hangi nesneler belirtilen özelliğe sahip?" koşuluyla aramak içindir.

ders 5

Bilgi sistemleri veritabanları

Veri tabanı. DBMS'nin sınıflandırılması ve özellikleri.

Temel veritabanı modelleri.

Ekonomik sistemlerde veritabanları

Veri tabanı Aşağıdakilerle karakterize edilen birbiriyle ilişkili bir veri topluluğu olarak tanımlanır: çok sayıda uygulama için kullanılma yeteneği; gerekli bilgileri hızlı bir şekilde elde etme ve değiştirme yeteneği; minimum bilgi fazlalığı; uygulama programlarından bağımsızlık; genel kontrollü arama yöntemi.

VTYS veritabanında depolanan verilerin merkezi olarak yönetimini ve bunlara erişim sağlayarak güncel kalmasını sağlayan bir programdır.

DBMS'nin görevleri şunlardır:

Bilgileri yapılandırılmış bir biçimde depolamak;

Bilgileri gerektiği gibi güncelleyin;

Belirli kriterlere göre gerekli bilgileri arayın;

Kullanıcıya kendisi için uygun bir biçimde bilgi vermek;

Veri fazlalığını ortadan kaldırın;

Veritabanı dilleri için destek.

Veritabanlarıyla çalışmak için genellikle veritabanı dilleri olarak adlandırılan özel diller kullanılır. Modern DBMS'de, genellikle veritabanıyla çalışmak için gerekli tüm araçları içeren, oluşturulmasından başlayarak ve veritabanlarıyla temel bir kullanıcı arabirimi sağlayan tek bir entegre dil desteklenir.



Veritabanlarıyla çalışma teknolojisine göre:

Merkezileştirilmiş DBMS;

Dağıtılmış DBMS.

Merkezileştirilmiş VTYS- bir bilgisayar sisteminin belleğinde saklanan bir veritabanı yönetim sistemi.

Ağ erişimi olan merkezi veritabanı sistemleri şunları içerir: iki ana mimari:

¾ dosya sunucusu mimarisi ağ makinelerinden birinin, paylaşılan bir merkezi veritabanının depolandığı merkezi bir (ana dosya sunucusu) olarak tahsis edilmesini içerir. Ağdaki diğer tüm makineler iş istasyonları gibi davranır. Veritabanı dosyaları, kullanıcı istekleri doğrultusunda ağırlıklı olarak işlendiği iş istasyonlarına aktarılır. Aynı verilere yüksek erişim yoğunluğu ile bilgi sisteminin performansı düşer;

¾ istemci-sunucu mimarisi. Ağa bağlı ve bu mimariyi oluşturan bilgisayarların her biri kendi rolünü oynar: sunucu, sistemin bilgi kaynaklarına sahiptir ve yönetir, istemci bunları kullanma olanağına sahiptir.

Veritabanı sunucusu tüm iş istasyonlarından gelen istekleri aynı anda işleyen bir DBMS'dir. Kural olarak, istemci ve sunucu coğrafi olarak birbirinden uzaktır ve bu durumda dağıtılmış bir veri işleme sistemi oluştururlar.

AT dağıtılmış DBMS yazılım ve donanımın önemli bir kısmı merkezileştirilmiştir ve oldukça güçlü bir bilgisayarda (sunucu) bulunurken, kullanıcı bilgisayarları VTYS'nin istemci olarak adlandırılan nispeten küçük bir bölümünü taşır.

Dağıtılmış bir veritabanı, bir bilgisayar ağındaki farklı bilgisayarlarda depolanan, muhtemelen birbiriyle kesişen veya hatta birbirini kopyalayan birkaç parçadan oluşur. Ancak, dağıtılmış bir veritabanının kullanıcısının, bileşenlerinin ağ düğümlerinde nasıl bulunduğunu bilmesi gerekmez ve bu veritabanını tek bir varlık olarak hayal eder. Böyle bir veritabanıyla çalışma, dağıtılmış bir veritabanı yönetim sistemi (RDBMS) kullanılarak gerçekleştirilir.

Bir veritabanındaki veri güvenliği şu şekilde sağlanır:

¾ uygulama programlarının şifrelenmesi;

¾ veri şifreleme;

¾ veri şifre koruması;

¾ veritabanına erişimi kısıtlayarak.

Temel veritabanı modelleri

Veritabanı modelleri arasındaki temel fark, veritabanı nesneleri ve öznitelikleri arasındaki ilişkinin ve etkileşimin tanımının doğasıdır. Nesne bağlantıları aşağıdaki türlerden olabilir:

¾ "bire bir";

¾ bire çok;

¾ "çoktan çoğa".

"Bire bir" bir nesne ile bir öznitelik arasında kurulan bire bir yazışmadır. Bire bir ilişki, alt tablodaki her kaydın ana tablodaki yalnızca bir kayda karşılık geldiği tablolar arasındaki ilişkiyi tanımlar. Tablolar arasındaki bire bir ilişkiler genellikle iyi bir veritabanı yapısını göstermez, çünkü iki tablonun tamamen aynı alanlara sahip olduğunu ve bu disk alanını boşa harcadığını gösterir.

Bağ "birden çok" veritabanı yapılarında en yaygın olanıdır. Bu tür bir ilişki ile ana tablodaki her kayıt, alt tablodaki bir veya daha fazla kayda karşılık gelir. Bire çok ilişki yapısı, veri fazlalığını ve yinelenen girişleri önler.

iletişim türü "çoktan çoğa" bir tablodaki birçok kaydın başka bir tablodaki birçok kayıtla ilişkili olabileceği tablolar arasındaki ilişkiyi ifade eder.

hiyerarşik model veritabanları (IMD) bir grafik yöntemine dayanır ve her tepe noktasının daha yüksek bir tepe noktasıyla yalnızca bir bağlantısı olduğu "ağaç" dallarından birinde veri aramayı içerir. Bir arama yapmak için, kök öğeden başlayarak verilere giden tam yolu belirtmelisiniz.

Pirinç. 1 - Hiyerarşik veritabanı modeli

ağ modeli veritabanları (SDM) de grafiksel bir yönteme dayanmaktadır, ancak en üstte yer alan bağlantıların sayısını sınırlamadan "ağaç"ın karmaşıklığına izin verir. Bu, karmaşık arama yapıları oluşturmanıza olanak tanır.

Pirinç. 2 - Ağ veritabanı modeli

ilişkisel model veritabanı (RMD) tablo şeklinde bir yol uygular.

İlişkisel veritabanı modelinde, veri elemanları arasındaki ilişkiler, iki boyutlu tablolar olarak temsil edilir. ilişkiler.

İlişkiler aşağıdakilere sahiptir özellikleri:

¾ tablonun her öğesi bir veri öğesini temsil eder (yinelenen grup yoktur);

¾ bir sütunun öğeleri aynı niteliktedir ve sütunlar benzersiz olarak adlandırılır;

¾ tabloda iki özdeş satır yoktur;

¾ satır ve sütunlar, bilgi içeriklerinden bağımsız olarak herhangi bir sırada görüntülenebilir.

İlişkisel veritabanı modeli, verilerin üç yönü ile ilgilenir: veri yapısı, veri bütünlüğü ve veri işleme. Altında yapı bir veritabanındaki verilerin mantıksal organizasyonunu ifade eder veri bütünlüğü veri tabanında saklanan bilgilerin yanılmazlığını ve doğruluğunu anlamak, veri işleme- veritabanındaki veriler üzerinde gerçekleştirilen eylemler.

İlişkisel modelin avantajları:

¾ inşaat kolaylığı;

¾ anlayışın erişilebilirliği;

¾ bir veri tabanını, yapım yöntemleri ve yöntemleri hakkında bilgi sahibi olmadan çalıştırma yeteneği;

¾ veri bağımsızlığı;

¾ yapının esnekliği vb.

İlişkisel modelin dezavantajları:

¾ hiyerarşik ve ağ modellerine kıyasla düşük performans;

¾ yazılım karmaşıklığı;

¾ elemanların fazlalığı.

Son yıllarda, artan bir tanınma ve gelişme olmuştur. nesne veritabanları(OBD), ortaya çıkışı nesne yönelimli programlamanın geliştirilmesinden kaynaklanmaktadır.

Bir bilgisayarda belirli bir sorunu çözmek için ilgi çekici olan hemen hemen her şeye nesne denir. Bu bir ekran penceresi, veri giriş alanındaki bir düğme, programın kullanıcısı, programın kendisi vb. olabilir. Daha sonra, böyle bir nesneye herhangi bir eylem eklenebilir ve ayrıca belirli eylemler gerçekleştirildiğinde (örneğin, bir düğmeye "basıldığında") nesneye ne olacağını açıklayabilir. Yeniden kullanılabilir bir nesne kaydedilebilir ve farklı programlarda kullanılabilir.

nesne Programlı olarak bağlantılı bir dizi yöntem (fonksiyon) ve bir işlevsel görevi gerçekleştiren özellikler çağrılır.

Mülk bir nesnenin görünümünü ve işleyişini tanımlayan bir özelliktir.

Etkinlik bir nesneyle ilişkili bir eylemdir. Olay, kullanıcı tarafından tetiklenebilir (fare tıklaması), bir uygulama programı tarafından tetiklenebilir veya işletim sistemi tarafından tetiklenebilir.

Yöntem bir olaya tepki verdiğinde bir nesnenin çalışmasını kontrol eden bir işlev veya prosedürdür.

Nesneler hem görsel olabilir, yani. ekranda görülebilen (pencere, simge, metin vb.) ve görsel olmayan (örneğin, bazı işlevsel görevleri çözmek için bir program).



Fok
Konunun devamı:
pencereler

Natalya Komarova , 28/05/2009 (03/25/2018) Bir forum veya blog okuduğunuzda, gönderilerin yazarlarını takma adla ve ... kullanıcının resmiyle, sözde avatarla hatırlarsınız ....