internet pencereler Android
Genişletmek

İlişkisel veritabanlarının teorileri. Kullanılmış edebiyat listesi

Kısaca önemli.

Veritabanının normalleşmesi

İlk Normal Form (1nf)

  • tekrarlayan veri grubu yok
  • garantili element (atomiklik) verileri (tüm veriler özerk ve bağımsızdır).

Üzerinde üst seviye Bu, birincil bir anahtar oluşturarak elde edilir, ardından yinelenen veri gruplarının yeni tablolara aktarılması, bu tabloların birincil anahtarların oluşturulması. Ek olarak, sütunlarının bileşik bilgi içeren tüm kayıtları, sütun verilerinin her bir parçası için ayrı çizgilerle bölmeniz gerekir.

İkinci Normal Form (2NF)

  • tablo 1nf şartlarını yerine getirir
  • her sütun, tüm tuşa bağlıdır ve bölümünden değil.

Üçüncü Normal Form (3 Kas)

  • masa 2nf koşullarını tatmin eder
  • hiçbir sütun, birincil anahtarın parçası olmayan bir sütuna bağlıdır.
  • türetilmiş veri içermez

Özel pratik değeri olmayan diğer normal formlar:

Erkek CODD'nin normal şekli (Boyce-Codd)

Seçenek 3nf. Durumu, birçok örtüşen aday anahtarının varlığıyla çözmek için tasarlanmıştır. Aslında, akademik topluluk dışında mantıklı bir gerekçe bulamıyor.

Dördüncü Normal Form

Sorunu çok değerli bağımlılıklarla ele almak için tasarlanmıştır. Bu tür durumlar ortaya çıkar, bileşik birincil anahtarın bir sütunu 3DNF tablosunun tablosuna bağlıdır, birincil anahtarın diğer sütuna bağlıdır.

Beşinci Normal Form

Kayıplar ve kayıpsız ilişkilerin ayrışması ile çalışırken kullanılır. Bir tutumu birkaç farklı ilişkiye dönüştürebileceğiniz bir durumda meydana gelir, ancak daha sonra ondan sonra artık orijinal formuna getiremeyiz.

Altıncı Normal Form (Normal Etki Alanı Anahtarı Formu)

Veritabanındaki modifikasyon anomalilerinin eksikliğini garanti eder. Gerçek koşullarda, pratik olarak elde edilemez.

İlişkiler.

Bir zamanlar kadınlardan erkeklerden duydum
Hemen odayı terk etmeye çalış
"İlişki" kelimesi geliyordu.<...> Başarının anahtarı
ilişki, herkesin rolüyle ilgili farkındalıktır.
Bu bakımdan, kural ve kısıtlamalar hakkında,
bu tutum tarafından uygulandı.
(C) Robert Viera, "Profesyonel SQL Server 2000 Programlama "

İlişki türleri

  • Bire bir (farklı tabanlarda, dayanıklı verileri depolamak için veya bir istisna olduğunda gerekli olduğunda anlam verir. en büyük boy Satır verileri)
  • Zero- veya bire bir
  • Birden fazla
  • Biri -nulya, - bir veya -my
  • Çoktan çok (tabloları keşfedin)

bağlantı

İç birleşim.

Birlik hariç (özel katılım). Yalnızca, belirli bir durumdaki çift tablosuna uygun olan tablo tabloları, numunenin sonucuna düşer.

Sol | Sağ Katıl

Dahil katılmak. Örnek sonucunda, tablodaki girişler, sol / sağda durur Katılmak. sırasıyla. Aynı zamanda, eksik "çift" deki veriler doldurulacak BOŞ.
Left_table sola right_table - Sol tablodaki tüm girişler Left_Table etkinleştirilir.
Soldan sağa doğru right_table - Sağ tablodaki tüm girişler Right_Table etkinleştirilir.

Tam Katıl.

Dahil katılmak. Yalnızca başka bir tabloda buluşan ancak her iki tablodan da bulunmayan kayıtlar, diğer tabloya uygun olarak bulunamamıştır. Bu durumda, eksik "çift" kaydından gelen veriler null ile doldurulacaktır.

Çapraz katılmak.

Çapraz Birlik (Cartesovo çalışması). Bir tablodan gelen her giriş, her bir kayıtta başka bir tablodan yapılır. Elde edilen kayıtların sayısı, her iki tablodaki kayıt sayısına eşittir.

Birkaç sipariş ilkeleri Katılmak.'Ov

Birden fazla tabloyu birleştirmeniz durumunda, iki prensibi hatırlamanız gerekir:

  1. Tüm sendikalar kaldı Katılmak. Sorguyu açmak veya dışlamak için tek bir masa olarak algılanır.
  2. Tüm sendikalar haklısın Katılmak. Ayrıca, sorgudan etkinleştirmek veya istisna olmak için tek bir masa olarak algılanır.

Bu ilkelerin sonucu, karmaşık ilişkilerin oluşumu için aşağıdaki önerilerdir:

  • Nerede olursanız olun, iç katılın kullanın.
  • Dış birleştirme kullanmanız gereken bir ihtiyaç varsa - sonuncusunun başlangıcında, içsel birleşme bulunur.

P.S. Yukarıdakilerin tümü, belirli DBMS'nin özelliklerine bağlı olmayan ilişkisel veritabanlarının teorisinin genel "varsayılır" olmasıdır.

Veritabanı (veritabanı), organize bir veri setidir. Veri organizasyonu genellikle depolanan verilerin gerçek ilişkisini bu bilgilerin işlenmesini kolaylaştıracak şekilde yansıtmak için tasarlanmıştır.

DBMS - Veritabanı Yönetim Sistemleri - Bu, veritabanlarını yönetmesi beklenen özel bir yazılımdır. Bu, kullanıcı ile bir yandan, aslında diğerindeki veritabanı ile etkileşimi ile elde edilir.

Dbms genel amaçlı Taleplerin tanımı, oluşturulması, değiştirilmesi, yönetimi ve ürününü veritabanına yapmanız gerekir.

DBM'lerin örnekleri olarak, bu kadar yaygın olarak bilinen paketler olarak adlandırılabilir.

  • Mysql
  • Postgresql
  • Microsoft SQL Server
  • Oracle
  • IBM DB2.
  • Microsoft Access.
  • Sqlite.

Veritabanları genellikle farklı DBMS arasında tolere edilmez, ancak kullanan DBM'ler (ve kullanıcı yazılımı ile) arasında etkileşimde bulunmak mümkündür. farklı standartlar, SQL, ODBC veya JDBC gibi.

DBMS genellikle onlar tarafından desteklenen veri modeline göre sınıflandırılır. 1980'lerden bu yana, neredeyse tüm popüler DBMS standart dil tarafından sağlanan ilişkisel bir veri modeli destekler. sQL sorguları (Son yıllar NOSQL'in popülaritesi kazanmasına rağmen).

Böylece, DBMS tarafından gerçekleştirilen ana görevler

Veri şemasının tanımı Veri veritabanındaki tüm diğer verilerin organizasyonunu belirleyen, değişen yapıların oluşturulması, değiştirilmesi ve çıkarılması. Verilerin kendilerini değiştirme, değiştirme ve silin. Veritabanı yönetimi, kullanıcıların kaydı ve yönetimi, veri güvenliği sağlamak, bütünlük bakım, bilgi kurtarma, eşzamanlı erişim yönetimi, performans takibi vb.

DBMS, finansal bilgileri ve insan kaynaklarını yönetmek için bankacılık, nakliye şirketleri, eğitim kurumlarında, telekomünikasyonlarda yaygın olarak kullanılmaktadır. Peki, çoğu web boşluğunun bir veya başka bir DBMS kullandığını unutmamalısınız.

Veritabanının geliştirilmesinin temel özelliklerinden biri hazır çözümler ve algoritmaların olmamasıdır. Her veritabanı özel olarak tasarlandığı göreve. Bu, veritabanının gelişimini, algoritmaların ve tasarım şablonlarının uzun süre geliştirildiği ve bir şeyi icat etmek zorunda kalmayan tipik uygulamaların geliştirilmesinden ayırt eder. Tabii ki, veritabanı tasarım teknikleri tüm uygulamalar için yaygındır.

Veritabanı modelleri

Daha önce de belirtildiği gibi, verilerin en yaygın modeli ilişkisel modeldir. Bununla birlikte, ilişkisel modelin görünümü, özellikle diğerlerinden önce

  • Hiyerarşik veya navigasyon modeli
  • Ağ modeli

Hiyerarşik model, 1960'larda IBM tarafından sağlanan DBMS'de yaygın olarak kullanılmıştır. Temel fikir, böyle bir veritabanındaki girişin birkaç "yan kuruluş" ve bir "ebeveyn" olmasıdır. Genel olarak, şüpheli hiyerarşiklere benzer dosya sistemi. Böyle bir veritabanına giriş yapmak için, genellikle ağaç boyunca bir geçit gerekir.

Ağ modeli aynı yaklaşımın daha esnek bir versiyonudur. Birkaç "ebeveyn" kaydına sahip olmanızı sağlar. 1970'lerin başlarında görünen bu model yaygın değildi ve yakında ilişkisel model tarafından yer değiştirdi.

1970 yılında Edgar CODD (IBM Çalışanı), veritabanında bilgi bulma görevini büyük ölçüde kolaylaştıran bir ilişkisel model önerdi. İlişkisel model, "satırların" veritabanındaki girişlerin olduğu "tablolar" olarak düşünebilirsiniz. İlişkisel veritabanındaki ilişkiler de tuples ve kayıt grupları ("tablolar") ilişkileri (ilişkiler) olarak da adlandırılır. İlişkisel model, iletişim hiyerarşiklerini ifade edebilir ve ağ modellerive tablo modeline karşılık gelen kendi bağlantılarını ekledi.

Kodun önerilerine dayanarak, 1970'lerin ortalarında, R DBMS sistemi geliştirildi ve sonunda standartlaştırılmış SQL sorgu dili için destek ortaya çıktı.

1980'de, nesne yönelimli programlamanın benimsenmesi ile ilişkisel modelde nesneleri yayınlamak giderek daha zordu. Sonunda, bu NOSQL ve Newsql'in ortaya çıkmasına yol açtı. şu an Sadece gelişin. NOSQL yaklaşımının örnekleri sözde olabilir. XML temelinde inşa edilen doküman odaklı veritabanları. NOSQL'in ana avantajı, yüksek yatay ölçeklenebilirlik, yani. Sunucu ekleyerek verimliliği artırabilme. Bulut teknolojilerinin ortaya çıkmasıyla, Nosql özellikle talep etti.

Bununla birlikte, ilişkisel model en yaygın olanıdır, bu yüzden bize daha fazla ayrıntı yapmamıza izin verin.

İlişkisel model

İlişkisel model kayıt, nitelikler ve ilişkiler kavramları ile çalışır. Oran iki boyutlu bir tablo şeklinde, daha sonra öznitelikler, tablo sütunlarıdır (daha kesin, sütunların isimleri) ve kayıtlar tablo hatlarıdır.

İlişkisel model, veritabanında depolanan veri yapısının sıkı bir şekilde belirlenmesini gerektirir, yani bu veritabanının ilişkileri ve nitelikleri sabittir.

Bazı tanımları tanıtıyoruz.

Etki alanı, bazı değişkenlerin tüm olası değerlerinden oluşan bir set içeren bir settir. Etki alanları genellikle denir veri tipi. Özellik Para sipariş etti Öznitelik isimleri ve etki alanı \\ (d_j \\). Konsinye, nihai sipariş edilen set \\ ((d_1, d_2, \\ ldots, d_n) \\) başlığı (diyagram) ilişkisi oranı \\ ((A_1, A_2, \\ LDOTS, A_N) \\), burada \\ (A_J \\) - Nitelikler . Öznitelik Etki Alanı'na ait özel değer özelliğine sahiptir. İlişkinin gövdesi, \\ (D ^ i_j \\ d \\), \\ (d_j \\) - alanlar için bir dizi tuledir. Konsinye Kayıt \\ ((D ^ i_1, d ^ i_2, \\ ldots, d ^ i_n) \\) sabit \\ (i \\) ile. İlişki ve vücut ilişkisinin başlığının koleksiyonunun oranı. Veritabanı diyagramı Veritabanında bulunan tüm ilişkilerin çoklu şemaları.

Bir tablo biçiminde bir ilişki gönderebilirsiniz. Sonra ilişkinin gövdesi, tablonun gövdesi, ilişkinin adıdır - tablonun başlığı, nitelikler - Sütunların adları, kayıtlar - dizeleri ve öznitelik değerleri hücrelerdedir:

\\ (A_1 \\) \\ (A_2 \\) \\ (\\ ldots \\) \\ (A_n \\) ← başlık
\\ (D ^ 1_1 \\) \\ (D ^ 1_2 \\) \\ (\\ ldots \\) \\ (D ^ 1_n \\) ← Kayıt
\\ (D ^ 2_1 \\) \\ (D ^ 2_2 \\) \\ (\\ ldots \\) \\ (D ^ 2_n \\) ← Kayıt
\\ (\\ ldots \\) \\ (\\ ldots \\) \\ (\\ ldots \\) \\ (\\ ldots \\) ← Kayıt
\\ (D ^ m_1 \\) \\ (D ^ m_2 \\) \\ (\\ ldots \\) \\ (D ^ m_n \\) ← Kayıt

İlişkisel model aşağıdaki ek ilişki gereksinimlerini uygular:

Niteliklerin (daha doğrusu, değerlerinin) bir şekilde birbirine bağlı olarak bir şekilde olduğu açıktır - aksi takdirde ilişki sadece yapılandırılmamış bir veri kümesidir. Konsept, nitelikler arasındaki bağımlılıkları belirlemek için kullanılır fonksiyonel bağımlılık.

Öznitelikler kümesinin fonksiyonel bağımlılığı \\ (B \\), aynı değerlere sahip olan iki giriş için eğer özellikler \\ (a \\) (A \\) (A \\) (A \\ (a \\) (yazılı \\ (a \\ raularrow B \\)) üzerine bağlıdır. \\ (a \\), değerleri \\ (B \\) çakışıyor. Aksi takdirde, her bir değer \\ (a \\), \\ (B \\) 'nın tek değerine karşılık gelir (mutlaka benzersiz değil, tam olarak sadece).

Başka bir deyişle, belirli bir öznitelik seti \\ (a \\) benzersiz bir şekilde belirlerse (bu oran çerçevesinde) özniteliklerin değerlerini (B \\), daha sonra \\ (B \\) değerleri işlevsel olarak bağlıdır. a \\).

Fonksiyonel bağımlılığın daha tanıdık bir örneği olarak, bir fonksiyonun matematiksel bir tanımını belirtebilirsiniz. Bir fonksiyon için, her bir argüman değeri, işlevin tek değerine karşılık gelir. Örneğin, örneğin, "(y \u003d günah (x) \\) işlevi için, tanım alanından (1 \\ GEQ Y \\ GEQ -1 \\) herhangi bir değer \\ (Y \\), sonsuz bir değer kümesine karşılık gelir. \\ (X \\), ancak her bir değer için \\ (x \\) tam olarak bir değer \\ (y \\) var. \\ (x \\ ila y \\). Fonksiyonel bağımlılık kavramının, birçok değişkenin fonksiyonlarına da uygulanabilir olduğunu unutmayın. Onlar için fonksiyonun değeri işlevsel olarak bağlıdır tüm argümanlar aynı anda. Örneğin, \\ (z \u003d f (x, y) \\) işlevi için, FZ \\ ((x, y) \\ ila z \\) gerçekleştirilir veya kısaltılır, \\ (xy \\ to z \\).

Bu bağlamdaki ilişkiler bazıları olarak kabul edilebilir. tablo veya ayrık fonksiyonlar.

FZ ile çalışmak.

FZ ilişkisi ile çalışmak için belirli resmi kurallar var.

Resmi kurallar kavramlarla yakından ilgilidir. kapanma ve indirgenemez fz..

Aksiyomlar armstrong

Yeni FZ'nin var olandan çekilmesi için kurallar var, aksiyomlar armstrong.

Aksiyomlar armstrong

  1. Refleksite kuralı: \\ (B \\ a \\) ise, \\ (a \\ raularrow b \\)
  2. Eklenti Kuralı: eğer \\ (a \\ raidarrow b \\), o zaman \\ (AC \\ raularrow bc \\)
  3. Transitivity Kuralı: Eğer \\ (a \\ rurderRrow B \\) ve \\ (B \\ raularrow C \\), o zaman \\ (a \\ raularrow c \\)

Bu eksenlerin, aşağıdaki ek kurallar da görüntülenebilir:

  1. Kendi Kendini Belirleme Kuralı: \\ (A \\ raularrow a \\)
  2. Bozunma Kuralı: Eğer \\ (a \\ raidararrow bc \\), o zaman \\ (a \\ raularrow B \\) ve \\ (a \\ raularrow c \\)
  3. Kombinasyon Kuralı: Eğer \\ (a \\ radı B \\) ve \\ (a \\ raidarrow c \\), o zaman \\ (a \\ raularrow bc \\)
  4. Kompozisyon Kuralı: Eğer \\ (a \\ rurderRrow B \\) ve \\ (c \\ raularrow d \\), o zaman \\ (AC \\ raularrow bd \\)

Yansınma kuralı nedeniyle, herhangi bir özellik seti \\ (a \\), formun FZ'sini \\ (a \\ a \\) ima ettiği görülebilir. Bu tür bir FZ, bunların yanı sıra, ilgiyi temsil etmeyin ve önemsizdir.

FZ \\ (A \\ ila B \\) 'nin önemsiz funkonal bağımlılığı, öyle ki \\ (B \\ Subset a \\).

Prensip olarak, bu kurallar tüm FZ'yi, veriden aşağıdakileri bulmak için yeterlidir. Bu bağlamda, FZ kümesini kapatma kavramı tanıtıldı.

SET FZ'nin FZ kümesinin kapatılmasıyla kapatılması, tüm FZ kaynak setini ve bunlar tarafından ima edilen tüm FZ kaynak setini içeren çok sayıda FZ olarak adlandırılır. Başka bir deyişle, fonksiyonel bağımlılıklar \\ (s \\) olan ilişkinin \\ (r \\) için, kapatma \\ (s ^ + \\), \\ (r \\), \\ (r \\) için mümkün olan tüm FZ kümesi olarak adlandırılır. \\ (S \\).

Kural olarak, belirli bir FZ \\ (x \\ rightarrow y \\) izleyeceğini belirlemek zorundadır. bu set Fz \\ (s \\). O zaman ve yalnızca öznitelikler kümesi \\ (y \\), \\ (S \\) 'in (S \\)' nin \\ (x ^ + \\) bir alt kümesi olduğu ortaya çıktı.

Kapatma \\ (x ^ + \\) özelliklerinin devre özellikleri, FZ \\ (s \\) kümesi boyunca \\ (x \\)), herhangi bir alt kümeye bağlı olan tüm özelliklerin kümesidir. (X \\).

FZ \\ (s \\) kümesi boyunca çok sayıda nitelikteki \\ (x ^ + \\) kapağını hesaplamak için aşağıdaki kural var: her FZ \\ (a \\ raularrow B \\) için \\ (s \\) , eğer \\ (a \\ subset x ^ + \\), o zaman \\ (B \\ Subset X ^ + \\) ve \\ (x ^ + \u003d x \\) varsayımı ile başlamak yeterlidir.

Herhangi bir kapatma \\ (x ^ + \\), formun (x \\ to b \\), buradaki \\ (b \\ subset x ^ + \\), bu nedenle, tüm özelliklerin kapanması olduğu belirtilmelidir. FZ'ne göre olan ilişkinin bu ilişkinin FZ'nin devresini tanımlar.

Bu kural, buna eşdeğer indirgenemez FZ kümesini hesaplamak için kullanılır (kapaklarının eşdeğeri anlamında). Kapanmayı korurken FZ miktarını azaltmak (ve sonuç olarak, FZ tarafından açıklanan iç mantık, veritabanının tasarımında önemli bir adımdır.

FZ kümesi aşağıdakileri indirgenemezse denir:

  1. Her FZ'nin sağ tarafı sadece bir element içerir.
  2. FZ setinin sol kısmının hiçbir niteliği, kapatmayı değiştirmeden kaldırılabilir.
  3. Kapanmayı değiştirmeden hiçbir FZ seti çıkarılamaz.

Herhangi bir fz için, en az bir eşdeğer indirgenemez set vardır. Böyle bir çok şey denir minimum kaplama.

Bilgi Sistemleri Yaşam Döngüsü

Bilim adamları tarafından yürütülen, durumun (IP geliştirilmeyen IP geliştirmenin karmaşıklığı) analizi, bu hükmün gerçeğinden kaynaklandığını göstermiştir. yazılım Çok önemli şartlara saygı gösterilmiyor:

· Tüm gereksinimlerin tam özelliklerinin eksikliği;

· IP gelişmesinin kabul edilebilir bir metodolojinin (yöntem sistemi) olmaması;

· Ortak bir küresel projeyi etkili bir kontrol ve yönetim olabilecek ayrı bileşenlere paylaşma eksikliği.

Bilgi sistemlerinin yaşam döngüsü (LCC) yazılım geliştirmeye yapısal bir yaklaşımdır.

(Bazı şema) 09/26/12 için

1. IP'nin gelişimini planlamak. IP LCC'nin aşamalarını uygulamak için maksimum verimlilik sağlayan hazırlık işlemleri. Üç ana bileşen: İşin kapsamının değerlendirilmesi; Gerekli kaynakların değerlendirilmesi; Projenin toplam maliyetinin değerlendirilmesi.

2. Sistem gereksinimlerinin belirlenmesi. Veritabanı uygulamasının eylem ve sınırlarının belirlenmesi, işlevleri, kullanıcılarının ve uygulamalarının bileşimi.

3. Kullanıcı gereksinimlerinin toplanması ve analizi. Oluşturulan IP kullanılarak desteklenecek olan kuruluşun bir parçası hakkında bilgi toplama ve analizi, sistem için kullanıcı gereksinimlerinin tanımlanması. Kaynaklar: Anket ve Anket; gözlem; Belgelerin incelenmesi; Önceki deneyim.

4. Bir veritabanı tasarlamak. Bir Veritabanı Projesi Oluşturma. Veritabanı sistemlerinin tasarımına iki ana yaklaşım: " aşağıya doğru"Ve" artan».

5. Hedef DBMS seçimi. Destek için tasarlanan uygun tip bir DBMS seçimi uygulamalar oluşturuldu Veri tabanı.

6. Uygulamaların geliştirilmesi. Kullanıcı arayüzünü ve veri tabanıyla çalışmak üzere tasarlanmış uygulama programlarını tasarlamak.

7. Bir prototip oluşturma. Bir çalışma modeli veritabanı uygulaması oluşturma.

8. Uygulama. Veritabanının fiziksel uygulaması ve geliştirilen uygulamalar.

9. Dönüşüm ve veri yükleme. Mevcut verilerin aktarılması yeni taban Yeni bir veritabanıyla işbirliğini organize etmek için mevcut uygulamaların veri, indirilmesi ve değiştirilmesi.



10. Test. Hataları aramak için uygulamaların yürütme işlemi. Test stratejileri: aşağı doğru test; artan test; Test akışları; Yoğun Test.

11. Operasyon ve bakım. Sistemin izlenmesi ve normal işleyişi için destek: performans kontrolü; Eşlik eden ve yükseltme uygulamaları.

İlişkisel Veritabanı Teorisi

Terminoloji

1970 yılında ilişkisel model ilk önce E.F tarafından önerildi. Kod.

İlişkisel DBMS, kullanıcının veritabanını bir dizi tablo olarak algıladığını varsayar (aksi halde değil).

Matematiksel ilişkiler.

İlişkisel veritabanı teorisi, matematiksel ilişkilerin teorisine dayanır.

D1, D2, ... DN bazı setleri olsun.

Kartezyen iş D1 D2 ... DN \u003d ((x1, x2, ..., xn) | X1 D1, X2 D2, ... XN DN)

Oran bir alt küme R D1 * D2 * ... * DN

Örneğin, n \u003d 2, D1 \u003d (2,4) ve D2 \u003d (1,3,5), D1 * D2 \u003d ((2,1), (2,3), (2.5), (4, 1 ), (4,3), (4.5)), r \u003d ((2,1), (4,1))

M. B. B. Durum, örneğin:

R \u003d (((x1, x2) | x1 d1, x2 d2, x2 \u003d 1), A1, A2, ... bir - D1, D2 etki alanları ile öznitelik adları, ... VTB sonra ilişkiyi yazacağız. form:

R (A1: D1, A2: D2, ... A: DN)

İlişkilerin Özellikleri:

· Tutum benzersiz bir adı var;

· Her özellik benzersiz bir adı (ile ilgili olarak);

· İlişkinin her bir hücresi sadece atomik değer içerir ve tekrarlayan gruplar yoktur (oranı normalize edilir);

D1 - Öğrenciler
D2 - Disiplinler: Matematik, Bilgisayar Bilimi

· Özniteliklerin sırası önemli değil;

· TUBLES'İN SİPARİŞİ;

· Her konsinye benzersizdir.

İlişkisel anahtarlar

İlişkisel tuşlar, ilişkiler arasındaki kravat tanımını benzersiz bir şekilde tanımlamak için servis edilir.

İlişkisel bütünlük.

İlişkisel cebir

İşlemin sonucu, başka bir işlem için bir operand olarak kullanılabilir, bu da iç içe geçmiş ifadeler (RA'nın kapalılığı) oluşturmanıza olanak sağlar.

İlişkisel cebir, tüm kortekslerin bir komut tarafından işlendiği bir dildir.

Beş ana işlem:

· Seçim,

· Projeksiyon,

· Kartezyen işi,

· Bir dernek,

· Fark.

Bu işlemlere dayanarak, diğerleri elde edilebilir:

· Bileşikler

· Geçit,

· DING.

Tahmin içinde, mantıksal işlemlerin belirtileri ^ (ve), v (veya), (değil) kullanılabilir.

Misal. 300'ün üzerinde maaşlı tüm çalışanların bir listesini alın.

Projeksiyon.

APP1, ..., APR'lerin özelliklerini, niteliklerini belirler ve sadece benzersiz hikayeler içerir.

Kartezyen işleri

Kartezyen işleri nadiren kullanılır, sonuç örneği uygular.

Bir dernek

Fark

Bağlantı işlemleri.

TETA bağlantısı

Doğal bağlantı

Harici bağlantı

Sonra solda dış bileşik Tüm ilk bilgiler R oranından korunur. Benzer şekilde, doğru harici bağlantıyı belirlemek de mümkündür.

Albinasyon

Mezunlar operasyonu projeksiyon ve bileşik operatörler kullanılarak belirlenebilir.

Geçit

Temsil

Randevular:

· Bir kısmının bir kısmının gizlenmesi nedeniyle esnek bir veritabanı koruma mekanizması sağlar. Özel kullanıcılar;

· Kullanıcı erişimini kendileri için en uygun verilere düzenlemenizi sağlar;

· Karmaşık işlemleri temel ilişkilerle basitleştirmenizi sağlar.

Tatmin etmesi gereken kurallar
İlişkisel DBMS

Subo ilişkisel kodunun (1985) tatmin etmesi gereken 13 kural önermediğini belirlemek.

Kural
Temel kural. İlişkisel DBMS, veritabanlarını yalnızca ilişkisel fonksiyonlarının yardımı ile kontrol edebilmelidir.
Bilgi sunumu. İlişkisel veritabanındaki tüm bilgiler açıkça mantıksal bir seviyeye tek yönde - tablolardaki değerler şeklindedir. Meta veriler dahil.
Garantili erişim. İlişkisel veritabanının her bir elemanı için, tablo adı kombinasyonuna göre mantıksal erişim, birincil anahtarın değerleri ve sütun adının değerleri garanti edilmelidir.
Belirsiz değerleri destekleyin. DBMS belirsiz değerleri (null) destekler.
İlişkisel sistem dizini. Veritabanı açıklaması, kullanıcıların onlara hitap etmek için aynı ilişkisel dili kullanmalarını sağlayan her zamanki veriler kadar mantıklı bir seviyede olmalıdır.
Ayrıntılı veri katı. İlişkisel DBMS birkaç dili destekleyebilir. Ancak, operatörlerin izin verdiği aşırı bir ölçüde bir dilin var olması gerekir. aşağıdaki işlevler: 1. Veri tanımı; 2. Temsillerin tanımı; 3. Manipülasyon verilerini komutlar; 4. Bütünlük sınırlamaları; 5. Kullanıcı yetkisi; 6. İşlemlerin organizasyonları
Üst düzey ekstraksiyon, ek, sil, güncellemeler. DBMS'nin bu ekleme komutlarını ayıklamak için işlemleri gerçekleştirme, tek bir işlem olarak silme ve güncelleme becerisi.
Verilerden fiziksel bağımsızlık. Depolama yönteminden
Verilerden mantıksal bağımsızlık. Uygulamaların temel tabloları değiştirmesinden bağımsızlığı.
Bütünlük kısıtlamalarının bağımsızlığı. Bütünlük kısıtlamaları, ilişkisel verilerin tutumu ve uygulama programlarında değil sistem dizininde saklanır.
Veri dağıtımından bağımsızlık.
Kural Bypass sistemini yasaklamaktadır. DBMS'nin düşük seviyeli bir dile sahipse (tutarlı bir satırdan satır işlemeli), üst düzey ilişkisel dilde açıklanan bütünlüğün kurallarına ve sınırlamalarına izin vermemelidir.

Normalizasyon sürecine göre verileri modelleme

Normalleşmenin amacı.

Normalizasyon işlemi 1972'de E. F. CODD - üç normal form (NF) tarafından önerildi: ilk (1nf), ikinci (2nf) ve üçüncü (3 Kas).

Üçüncü NF'nin (R. BOIS ve E. F. CODD, 1974) 'nin daha ciddi tanımı, normal bir erkek CODD (NFBC) şeklidir.

Veri yedekliği ve işleme anomalileri.

Normalleşme açısından yokluğu:

· Veri yedekleme

· Ekleme anomalileri (kayıt eklemek imkansız)

· Çıkarma anomalileri (bilgi silinirken diğer bilgiler kaybedilir)

· Anomalileri güncelleme (birçok kayıt gereklidir)

· Bağımsızlığın kaybı ve korunması olmadan korunma özellikleri.

Fonksiyonel bağımlılıklar

Veritabanı, uygulama programlarından bağımsız olarak, tanımlamak, depolamak ve manipüle etmek için genel prensipler sağlayan belirli kurallar tarafından düzenlenen bir dizi ilgili veridir. İlişkisel veritabanı, dosyalarda depolanan iki boyutlu tablolar şeklinde bilgilerin sunulduğu bir veritabanıdır. Tablo, girişler denilen satırlardan oluşur, kayıtlar alan adı verilen sütunlardan oluşur.

Veritabanı Yönetim Sistemi (DBMS) bir dilin toplamıdır ve yazılımYaratmak, saklamak için tasarlanmış ve paylaşma Birçok kullanıcı tarafından BD. DBMS kullanıcıları üç büyük gruba ayrılabilir:

  • veritabanı geliştiricileri, bir veritabanı kullanarak başvuruları yazmaktan sorumludur;
  • son kullanıcılar bir veritabanıyla veya bazı bilgi sistemi veya veritabanı yönetim sisteminin bir kullanıcı arayüzü ile çalışır;
  • veritabanı yöneticileri, veritabanı performansı, veri güvenliği ve güvenliği, veritabanı işleminin bakımını sağlar.

DBMS'nin temel mimarisi, DBMS'nin dış, kavramsal ve iç düzeyden oluşan göründüğü üç kademeli bir modeldir. Dış düzeyde, DBMS'nin içeriği gördüğünü görüyor gibi görünüyor ayrı kullanıcı. Kavramsal düzeyde, DBMS verileri, oluşturulduğu konu alanının genelleştirilmiş modelinde açıklanmaktadır. bilgi sistemi. Dahili seviye, dosyalarda bulunan gerçek verilerdir. DBMS ayrıca, veritabanında depolanan her şey hakkında bilgi içeren bir veri sözlüğü (tüm tabloların ve temsillerin, saklı yordamlar ve tetikleyiciler, hesap DBMS, vb. Kullanıcıları). Bu tür bilgiler meta veri denir.

İlişkisel veri modeli, set teorisinin matematiksel prensiplerine ve matematiksel mantıklara dayanmaktadır. Bu ilkeler ilk olarak, 60'lı yıllardaki CODD'nin 60'lı yıllarda verileri modellemek için kullanılır. İlişkisel model, verilerin nasıl sunulabildiğini (veri yapısı), verilerin yanlış değişikliklerden (veri bütünlüğü) nasıl korunabileceğini ve hangi işlemlerin verilerle (veri işlemleri) nasıl yapılabilir. İlişkisel modelin temel kavramları:

  • tüm veriler kavramsal olarak oranı olarak adlandırılan sıralı bir satır ve sütun kümesi olarak temsil edilir;
  • tüm veriler skalerdir;
  • veri hattı bir tuple denir, tuples sayısının temel bir sayı olarak adlandırılır;
  • tavern'deki her sütun bir özellik denir, nitelik sayısı ilişkinin derecesi denir;
  • hiçbir bilgi null tarafından tanımlanmaz;
  • r oranı için Potansiyel Key K, her zaman bir benzersizliğin özelliğine sahip olan bir dizi nitelikteki R'nin alt kümesidir (yani, ile ilişkili olarak iki tür yok aynı değer K) ve artıklık dışı mülk (yani K altkümanlarının hiçbiri benzersizliğe sahip değildir). Birden fazla öznitelikten oluşan potansiyel anahtar, bileşik denir ve tek başına. Birincil anahtar, kortekslerin fiziksel olarak sipariş edildiği potansiyel bir anahtardır.
  • harici anahtar aşağıdaki gibi tanımlanır. R2'nin biraz tutum olsun. Daha sonra, R2'ye göre harici anahtar FK, potansiyel bir anahtar K ile bir R1 oranının bir setinin bir alt kümesidir ve FK'nin herhangi bir R2R2'deki değerinin, R1'deki bazı kıyıların değerini her zaman çakışır. . Harici anahtar değerlerinin, ilgili potansiyel anahtarın değerlerine yeterli olması gereken kısıtlama, referans sınırı olarak adlandırılır. Buna göre, referans bütünlüğü altında, veritabanında referans sınırlamaları bozukluğu olmadığı gereksinimin olduğu anlaşılmaktadır.

İlişkisel modeldeki veriler üzerinde aşağıdaki işlemlere izin verilir:

  • numune, belirli koşulları sağlayan belirli bir oranın tüm kortekslerini içeren ilişkiyi döndürür;
  • projeksiyon, bazı niteliklerin dışlanmasından sonra belirtilen ilişkinin tüm kortekslerini içeren ilişkiyi döndürür;
  • Ürün, iki kaynak ilişkiye ait tüm olası kombinasyonlar olan, iki kaynak ilişkiye ait tüm kombinasyonları içeren ilişkiyi ifade eder;
  • dernek, iki kaynak ilişkiye ait tüm hikayeleri içeren ilişkiyi iade eder;
  • bileşik, kaynak ilişkisine ait iki türün bağlantısı olan ve kaynak ilişkinin bir veya daha fazla nitelik için genel bir değere sahip olan ilişkiyi döndürür; Bu durumda, toplam özellik değeri, yalnızca bir kez inşa edilmiş tuple'da bulunur.

Delphi 6 Orta'da Programlama

Veri tabanı. Rapor S Yaratmak S. kelimeyi kullanma..

Editör Yayıncılık Konseyi tarafından onaylandı

laboratuar atölyesi olarak üniversite

Voronezh 2004.


UDC 681.3.

Vorobyov E.I., Korkhevich de .. Delphi 6'da Programlama: Laboratuar Atölyesi: CH. 2: Veritabanları. Word kullanarak bir rapor oluşturma. İş Parçacığı. Voronezh: Voronezh. Durum tehindi Üniversitesi, 2004. 107 s.

Laboratuar atölyesinin ikinci bölümünde, teorik ve pratik bilgiler, Konudaki Delphi 6 ortamında program yazdığı düşünülmektedir: "Veritabanı tasarımı, raporlar oluşturma kelime programı Ve yüksek performanslı uygulamalar oluştururken akışların kullanımı. "

Yayın, 230100 "Bilişim ve Bilgi İşlem Tekniği", Özel 230104 "Otomatik Tasarım Sistemleri", "Üst Düzey Dillerde Programlama", Özel 230104 "Bilişim ve Bilişim Sistemleri", "Programlama" Yönünde, Yüksek Mesleki Eğitimin Devlet Eğitim standardının gerekliliklerine uygundur.

Masa. 3. Il. 19. Bibliyogr.: 7 adlandırılmış.

Bilimsel Editör: Dr. Tehn. Bilimler, Prof. Ya.e. Lvovich

Yorumlar: Bölüm bilgisayar Ekipmanları Voronezh Ormancılık Akademisi (Kafa. Dr. Tekhn. Bilimler, Prof. V.E. Mezhov);

dr. Tech. Bilimler, Prof. O.yu.makarov

© vorobyov e.i., Korotkhevich D.E., 2004

© tasarımı. Voronezh eyaleti

teknik Üniversitesi, 2004


Giriş

Veritabanı kavramı

Veritabanları Delphi'nin temel avantajı olarak kabul edilir. Veritabanlarıyla çalışmak için özel diller bile (MS gibi) Görsel foxpro.) Açıkçası bu tür uygulamaların programlanmasının sadeliği ve kalıntıları üzerinde aşağılık. Delphi tüm zorlukları gizler ve aynı zamanda en büyük gücü verir. Delphi'de kısa bir süre içinde uygulanamayan böyle bir görev yoktu. Ve en önemlisi, tüm bunlar çok kullanışlı ve anlaşılması kolaydır. Delphi'de oluşturabilirsiniz basit UygulamalarKompleks bazlarda bile, tek bir kod satırı olmadan. Bunda Öğretici Laboratuar görevleri, yerel veritabanlarıyla çalışmak için tekniklere hakim olduğu düşünülmektedir.

İlişkisel Veritabanları Teorisi

On yıl önce, veritabanlarının programlanması çok zor bir mesleğiydi. Şimdi, çünkü hayal etmek zordur, çünkü Delphi sayesinde, yazma programları işlemi basitleştirildi ve veritabanı çeşitlerinin sayısı zaten onlarca var.

Veritabanları yerel (programın da orada çalıştığı) ve uzaktan (sunucuya yüklü) uzak bilgisayar). Sunucu tabanı Veriler uzak bir bilgisayarda bulunur ve çalışan sunucu yazılımını çalıştırın. Ana avantajlarına göre, aynı anda birden fazla kullanıcı ile bir veritabanı ile çalışma yeteneğini bağlayabilirsiniz ve aynı zamanda ağdaki minimum yük gerçekleştirilir. Ağda çok fazla yük oluşturan ve hem programlayıcı hem de son kullanıcıya rahatsız edici bir ağ veritabanları var. Program ağ veritabanına birleştiğinde, neredeyse tam kopyayı sunucudan pompalıyor. Değişiklik yaptıysanız, kopyanız tamamen geri pompalanır. Oluşturulduğu için çok rahatsız edici. büyük baskı Aşırı veri pompalaması nedeniyle ağda. Müşteri sunucusu teknolojisi olduğunda, istemci programı, herhangi bir veri almak için sunucuya basit bir metin isteği gönderir. Sunucu onu işler ve yalnızca gerekli veri bölümünü döndürür. Herhangi bir veriyi tekrar değiştirmeniz gerektiğinde, sunucuya bir istek, dönüştürmek için sunucuya gönderilir ve sunucu veritabanındaki verileri değiştirir. Böylece, ağ üzerinden, esas olarak daha az kilobayt işgal eden ağ üzerinden yalnızca metin talepleri vardır. Tüm veri sunucuyu işler, bu, istemci makinesinin çok daha az yüklendiği ve kaynaklara çok fazla talep etmediği anlamına gelir. Sunucu yalnızca müşteriye en gerekli verileri gönderir, bu da tüm tabanın tüm kopyalarının pompalanması olmadığı anlamına gelir. Tüm bunlar sayesinde, ağ veritabanları zaten eski ve pratik olarak kullanılmaz. Neredeyse tamamen teknoloji istemcisi sunucusunu yerinden çıkarırlar. Ancak yerel veritabanları her zaman yaşayacaktır. Bir depolama biçimi olabilir veya bazı yeni özellikler ekler, ancak veritabanları kendileri mevcut olacaktır. Daha fazla değerlendirme için yeni bir kavram tanımlamamız gerekiyor - tablo. Şimdiye kadar, yalnızca genel ilkeler, böylece genel konsept kullanıldı veritabanı. Veritabanı tablosu, sütundaki verilerin oluşturulduğu iki boyutlu bir dizi gibidir (masanın parlak bir örneği - Excel). Veritabanı - kabaca konuşursak, sadece birden birkaç tabloya kaydedilebileceği bir dosya. Çoğu yerel veritabanının yalnızca bir tabloyu (DBASE, Paradox, XML) saklayabilir. Ancak, birkaç tablonun bir dosyada (örneğin erişim) sonuçlandığı yerel veritabanlarının temsilcileri vardır.

Yerel veritabanları

Yerel veritabanlarından, ilişkisini en yaygın olarak görüyoruz. İlişkisel bir veritabanı nedir? Bu, içinde depolanan verilerin adlarının sütun olarak olduğu ve her satırın verilerin kendilerini sakladığı bir tablodur. Veritabanı tablosu elektrone benzer excel masa (Daha doğru olmak için, Excel verilerini veritabanı teknolojisine göre kendi formatı biçiminde saklar). Yerel veritabanı tabloları yerel bir sabit diskte veya merkezi olarak kaydedilebilir ağ diski Dosya sunucusu. Bu dosyalar kullanılarak kopyalanabilir standart araçlar Başka bir dosya gibi, çünkü veritabanı tablolarının kendileri belirli bir yere bağlı değildir. Asıl şey, programın bir masa bulabileceğidir. Her tablo, diziyi kesinlikle tanımlayacak bir benzersiz alan olmalıdır. Bu alanda anahtar denir. Bu alanlar çok sık sık kendi aralarında birden fazla tabloyu bağlamak için kullanılır. Ancak tablo bağlı olmasa bile, anahtar alanı hala gereklidir. Anahtar olarak kullanılması tavsiye edilir sayısal tip Ve veritabanı izin verirse, "AutoinCrement" türü ise daha iyi olacaktır (otomatik olarak artan / azalan sayı veya sayaç). Veritabanı tablosundaki sütunların isimleri de benzersiz olmalıdır, ancak bu durumda mutlaka sayısal değildir. Sadece benzersiz ve anlaşılabilir olsaydı, istediğiniz gibi çağrılabilirler. Her sütun (veritabanı alanı) tanımlanmış bir tür olmalıdır. Çeşitlerin sayısı ve türleri, DBASE formatı (DBF uzantısına sahip dosyalar) gibi veritabanının türüne bağlıdır. Sadece 6 tür desteği destekler ve Paradox zaten 15'e kadardır. Veritabanı tek bir dosyada saklanabilir (erişim) veya birkaç (paradoks, dbase). Daha tam olarak, bu tablolar her zaman bir dosyada depolanır, ancak ek bilgi ayrı dosyalarda bulunabilir. Gibi daha fazla bilgi için Belirli alanlar için dizinler, sınırlamalar veya varsayılan değerlerin listesi olabilir. Dosyalardan en az biri şımarık veya silinirse, veriler düzenlemek için erişilemez olabilir.

Ne indeksler? Çok sık, tablolardan gelen veriler bazı değişikliklere tabi tutulur, bu nedenle herhangi bir dizeyi düzenlemeden önce, onu bulmanız gerekir. Dizin olarak kullanılan statik tablolar bile, istenen verilerin çıktısından önce arama işlemlerine de tabi tutulur. Arama, özellikle tablo çok fazla satır içeriyorsa oldukça zaman alıcı bir işlemdir. Endeksler bu prosedürü hızlandırmaya yöneliktir, yanı sıra sıralamada bir başlangıç \u200b\u200bnoktası olarak kullanılabilmektedir. Bu aşamada, endeksli olmayan alanın kolaylık yapması imkansız olduğunu bilmek yeterlidir.

Gerekirse, bir tablo alanına göre sipariş edilir " Soyadı"Bu alan ilk önce düşmelidir. Ardından, yalnızca tablonun şimdi böyle bir dizinle çalışması gerektiğini belirlemeniz gerekir ve otomatik olarak sıralanır.

İyi tasarlanmış bir veritabanında, veri yedekliliği hariçtir ve çelişkili verilerin olasılığı en aza indirilir. Böylece, veritabanlarının oluşturulması iki ana hedefi vardır: veri fazlalığını azaltmak ve güvenilirliklerini artırmak.

Veritabanı yönetim sistemi de dahil olmak üzere herhangi bir yazılım ürününün yaşam döngüsü, tasarım, satış ve operasyon aşamalarından (büyük).

Doğal olarak, en önemli faktör yaşam döngüsü Veritabanıyla çalışan uygulamalar tasarım aşamasıdır. Bazın yapısının ne kadar dikkatlice, elemanları arasındaki bağlantıların ne kadar net bir şekilde belirlendiğinden, sistemin performansı ve bilgi doygunluğunu ve bu nedenle ömrünün zamanına bağlıdır.

Veritabanı Gereksinimleri

Yani, iyi tasarlanmış bir veritabanı:

1. Veritabanının içeriği için tüm kullanıcı gereksinimlerini karşılıyor. Bir taban tasarlamadan önce, veritabanının işleyişi için kapsamlı kullanıcı gereksinimlerinin çalışmalarını yapmak gerekir.

2. Verilerin tutarlılığını ve bütünlüğünü garanti eder. Tabloları tasarlarken, niteliklerini ve kullanıcının yanlış değerlerini girme olasılığını sınırlayan bazı kuralları tanımlamanız gerekir. Verileri tabloya yönlendirmeden önce doğrulamak için, veritabanının veri modeli kuralları olarak adlandırılmalıdır ve böylece bilgilerin bütünlüğünün korunmasını sağlar.

3. Bilginin yapısını algılamak için doğal, kolay sağlar. Bazın nitel inşaatı, veritabanına daha "şeffaf" ve anlayış için kolay talep etmenizi sağlar; Bu nedenle, yanlış veri yapma olasılığı azalır ve baz desteğin kalitesi iyileştirilir.

4. Kullanıcıların veritabanı performansı için şartlarını yerine getirir. Çok miktarda bilgi, ürün koruma sorunları ile

tasarım sahnesinin tüm eksikliklerini hemen "vurgulayan", büyük bir rol oynamaya başlayın.

Aşağıdaki öğeler ana veritabanı tasarım adımlarını temsil eder:

1. Veritabanı bilgi ihtiyaçlarını belirleyin.

2. Veritabanında modellenmesi gereken gerçek dünya nesnelerini analiz edin. Bu varlıkların bu nesnelerin özünü ve özelliklerini oluşturmak (örneğin, varlık için "kısım" özellikleri "isim", "renk", "ağırlık", vb.) Olabilir ve listelerini oluşturur.

3. Seçtiğiniz DBM'lerinizin (paradoks, dbase, foxpro, erişim, clipper, interbase, sybase, informix, Oracle, vb.) Notasyonundaki Varlıklara ve Özelliklere - Tablolar ve Sütunlara (Alanlar) uyarınca yerleştirin.

4. Her nesneyi benzersiz bir şekilde tanımlayan nitelikleri belirleyin.

5. Veri bütünlüğünü kuracak ve koruyacak kurallar geliştirin.

6. Tabloları normalleştirmek için nesneler (tablolar ve sütunlar) arasındaki bağlantıları takın.

7. Veri güvenilirliğinin sorularını planlayın ve gerekirse bilgi gizliliğini koruyun.


Benzer bilgiler.