Bilgisayar teknolojisinin ortaya çıkışımodernite, insan faaliyetinin tüm alanlarında bir bilgi devrimine işaret etti. Ancak, tüm bilgilerin küresel İnternette gereksiz yere çöp olmasını önlemek için, malzemelerin sıralandığı, sistematik hale getirildiği ve bunun sonucunda kolayca bulunabilecekleri ve sonraki işlemler için sunulabilecekleri bir veritabanı sistemi icat edildi. Üç ana tür vardır - ilişkisel veritabanları, hiyerarşik, ağ.
Temel modeller
Veritabanlarının kökenine geri dönersek, buna değerbu sürecin oldukça karmaşık olduğunu söylemek, programlanabilir bilgi işleme ekipmanının geliştirilmesinden kaynaklanmaktadır. Bu nedenle, şu anda modellerinin sayısının 50'den fazla olması şaşırtıcı değildir, ancak asıl olanlar, pratikte hala yaygın olarak kullanılan hiyerarşik, ilişkisel ve ağ modelleridir. Onlar neler?
Hiyerarşik veritabanı ağaç benzeri biryapısı ve aralarında bağlantı bulunan farklı düzeylerdeki verilerden oluşur. DB ağ modeli daha karmaşık bir modeldir. Yapısı hiyerarşik bir yapıya benzer ve şema genişletilir ve geliştirilir. Aralarındaki fark, hiyerarşik bir modelin kalıtsal verilerinin yalnızca bir atayla bağlantısı olabilirken, ağ verilerinde birkaç tane olabilir. İlişkisel bir veritabanının yapısı çok daha karmaşıktır. Bu nedenle daha detaylı analiz edilmelidir.
İlişkisel veritabanı temel kavramı
Bu model 1970'lerde geliştirildi.Edgar Codd, Bilim Doktoru. Verileri, birbirleriyle olan ilişkilerini, üzerlerinde gerçekleştirilen işlemleri ve en önemlisi bütünlüğünü garanti eden kuralları açıklayan alanların bulunduğu mantıksal olarak yapılandırılmış bir tablodur. Model neden ilişkisel olarak adlandırılıyor? Veriler arasındaki ilişkilere (enlem. Relatio'dan itibaren) dayanır. Bu tür bir veritabanı için birçok tanım vardır. Bilgi içeren ilişkisel tabloların düzenlenmesi ve işlenmesi bir ağ veya hiyerarşik modele göre çok daha kolaydır. Bu nasıl yapılabilir? İlişkisel tabloların özelliklerini, modelin yapısını ve özelliklerini bilmek yeterlidir.
Ana unsurları modelleme ve çizme süreci
Kendi DBMS'nizi oluşturmak için şunları yapmalısınız:modelleme araçlarından birini kullanın, hangi bilgilerle çalışmanız gerektiğini düşünün, tablolar ve veriler arasında ilişkisel tekli ve çoklu ilişkiler tasarlayın, varlık hücrelerini doldurun ve birincil, yabancı anahtarları ayarlayın.
Tablo Modelleme ve İlişkisel Tasarımveritabanları Workbench, PhpMyAdmin, Case Studio, dbForge Studio gibi ücretsiz araçlar aracılığıyla üretilmektedir. Ayrıntılı tasarımdan sonra, grafiksel olarak hazır ilişkisel modeli kaydetmeli ve hazır SQL koduna çevirmelisiniz. Bu aşamada veri sıralama, işleme ve sistematikleştirme ile çalışmaya başlayabilirsiniz.
İlişkisel modelle ilgili özellikler, yapı ve terimler
Her kaynak, öğelerini kendi tarzında açıklar, bu nedenle daha az karışıklık için küçük bir ipucu vermek istiyorum:
- ilişkisel etiket = varlık;
- düzen = öznitelikler = alan adları = varlık sütun başlıkları;
- varlık örneği = tuple = kayıt = tablo satırı;
- öznitelik değeri = varlık hücresi = alan.
İlişkisel bir veritabanının özelliklerine ulaşmak için, onun hangi temel bileşenlerden oluştuğunu ve ne işe yaradıklarını bilmeniz gerekir.
- Öz.İlişkisel bir veritabanında bir tablo olabilir veya içinde depolanan veriler nedeniyle açıklanan nesneleri karakterize eden bir dizi tablo olabilir. Sabit sayıda alanları ve değişken sayıda kayıtları vardır. İlişkisel veritabanı modeli tablosu dizelerden, özniteliklerden ve bir düzenden oluşur.
- Kayıt - tanımlanan nesneyi karakterize eden verileri gösteren değişken sayıda satır. Kayıtlar sistem tarafından otomatik olarak numaralandırılır.
- Öznitelikler, varlık sütunlarının açıklamasını gösteren verilerdir.
- Alan. Bir varlık sütununu temsil eder. Sayıları, tablo oluşturma veya değiştirme sırasında belirlenen sabit bir değerdir.
Şimdi, tablonun kurucu unsurlarını bilerek, veritabanı ilişkisel modelinin özelliklerine gidebilirsiniz:
- İlişkisel veritabanı varlıkları iki boyutludur. Bu özellik sayesinde çeşitli mantıksal ve matematiksel işlemleri onlarla gerçekleştirmek kolaydır.
- İlişkisel bir tablodaki özniteliklerin ve kayıtların değerlerinin sırası rastgele olabilir.
- Bir ilişkisel tablodaki bir sütunun kendi bireysel adı olmalıdır.
- Bir varlık sütunundaki tüm verilerin sabit bir uzunluğu ve aynı türü vardır.
- Herhangi bir kayıt, aslında tek bir veri öğesi olarak kabul edilir.
- Dizelerin kurucu bileşenleri benzersizdir. İlişkisel bir varlıkta yinelenen satır yoktur.
İlişkisel bir DBMS'nin özelliklerine bağlı olarak, öznitelik değerlerinin aynı tür ve uzunlukta olması gerektiği açıktır. Öznitelik değerlerinin özelliklerini ele alalım.
İlişkisel veritabanı alanlarının temel özellikleri
Alan adları içinde benzersiz olmalıdırbir varlık. İlişkisel veritabanı özniteliği veya alan türleri, varlık alanlarında hangi kategori verilerinin depolandığını açıklar. İlişkisel veritabanı alanı, karakter olarak sabit boyuta sahip olmalıdır. Öznitelik değerlerinin parametreleri ve biçimi, verilerin içlerinde nasıl düzeltileceğini belirler. "Maske" veya "giriş kalıbı" diye bir şey de vardır. Öznitelik değerine veri girişinin konfigürasyonunu tanımlaması amaçlanmıştır. Bir alana yanlış bir veri türü yazılırken bir hata mesajı verilmesi zorunludur. Ayrıca, alanların unsurlarına - doğruluğu ve hatasız veri girişini kontrol etme koşulları - bazı kısıtlamalar getirilmiştir. Açıkça verilerle doldurulması gereken bazı gerekli öznitelik değerleri vardır. Bazı öznitelik dizeleri NULL değerlerle doldurulabilir. Alan özelliklerine boş verilerin girilmesine izin verilir. Hata bildirimi gibi, sistem tarafından otomatik olarak doldurulan değerler vardır - bu varsayılan verilerdir. Dizine alınmış bir alanın, herhangi bir veri için aramayı hızlandırması amaçlanmıştır.
2D ilişkisel veritabanı tablosu şeması
Öznitelik adı 1 | Öznitelik adı 2 | Öznitelik adı 3 | Öznitelik adı 4 | Öznitelik adı 5 |
Item_1_1 | Item_1_2 | Item_1_3 | Öğe_1_4 | Öğe_1_5 |
Öğe_2_1 | Öğe_2_2 | Öğe_2_3 | Öğe_2_4 | Öğe_2_5 |
Item_3_1 | Item_3_2 | Item_3_3 | Öğe_3_4 | Öğe_3_5 |
Kontrol sisteminin ayrıntılı bir şekilde anlaşılması içinSQL kullanan modeller, şemaya bakmanın en iyi yolu örnek olmaktır. İlişkisel veritabanının ne olduğunu zaten biliyoruz. Her tablodaki bir kayıt, bir veri öğesidir. Veri fazlalığını önlemek için normalleştirme işlemlerinin yapılması gerekir.
İlişkisel bir varlığı normalleştirmek için temel kurallar
1. İlişkisel bir tablo için alan adının değeri benzersiz, türünün tek örneği olmalıdır (ilk normal biçim 1NF'dir).
2. Halihazırda 1NF'ye indirgenmiş bir tablo için, tanımlayıcı olmayan herhangi bir sütunun adı, tablonun benzersiz tanımlayıcısına (2NF) bağlı olmalıdır.
3. Zaten 2NF'de bulunan tablonun tamamı için, tanımlayıcı olmayan her alan başka bir tanınmayan değerin (varlık 3NF) bir öğesine bağlı olamaz.
Veritabanları: tablolar arasındaki ilişkisel ilişkiler
2 ana ilişkisel tablo ilişkisi türü vardır:
- Bir-Çok.Tablo 1'in bir anahtar kaydı, ikinci varlığın birkaç örneğiyle eşleştiğinde gerçekleşir. Çizilen çizginin bir ucundaki bir anahtar simgesi, varlığın "bir" tarafta olduğunu ve çizginin diğer ucunun genellikle bir sonsuzluk sembolü ile işaretlendiğini gösterir.
- Bir varlığın birkaç satırı ile başka bir tablodaki bir dizi kayıt arasında açık bir mantıksal etkileşim olması durumunda bir "çok-çok" ilişkisi oluşturulur.
- İki varlık arasında varsa"bire bir" bitiştirme, bu, bir tablonun anahtar tanımlayıcısının başka bir varlıkta mevcut olduğu ve ardından tablolardan birinin kaldırılması gerektiği anlamına gelir, gereksizdir. Ancak bazen, yalnızca güvenlik nedenleriyle, programcılar kasıtlı olarak iki varlığı ayırırlar. Bu nedenle varsayımsal olarak bire bir ilişki olabilir.
İlişkisel bir veritabanında anahtarların varlığı
Birincil ve ikincil anahtarlar tanımlarpotansiyel veritabanı ilişkileri. Bir veri modelinin ilişkisel bağlantıları yalnızca bir potansiyel anahtara sahip olabilir, bu birincil anahtar olacaktır. O nasıl biri? Birincil anahtar, belirli bir satır için verilere erişmenizi sağlayan bir varlık sütunu veya öznitelikler kümesidir. Eşsiz, benzersiz olmalıdır ve alanları boş değerler içeremez. Birincil anahtar yalnızca bir öznitelikten oluşuyorsa, buna basit denir, aksi takdirde bir bileşen olur.
Birincil anahtara ek olarak, harici bir anahtar da vardır.(yabancı anahtar). Birçoğu aralarındaki farkın ne olduğunu anlamıyor. Bir örnek kullanarak onlara daha detaylı bakalım. Yani 2 masa var: "Dekanlık ofisi" ve "Öğrenci". "Dekanın ofisi" varlığı şu alanları içerir: "Öğrenci Kimliği", "Tam ad" ve "Grup". "Öğrenciler" tablosu "Ad", "Grup" ve "Ortalama" gibi öznitelik değerlerine sahiptir. Öğrenci kimliği birden fazla öğrenci için aynı olamayacağından, bu alan birincil anahtar olacaktır. "Öğrenciler" tablosundaki "Tam ad" ve "Grup" birkaç kişi için aynı olabilir, "Dekanlık ofisi" varlığındaki öğrencinin kimlik numarasına atıfta bulunurlar, bu nedenle yabancı anahtar olarak kullanılabilirler.
İlişkisel Veritabanı Modeli Örneği
Netlik sağlamak için, iki varlıktan oluşan ilişkisel bir veritabanı modelinin basit bir örneğini vereceğiz. "Dekanlık" adında bir masa var.
Essence "Dekanlık" | ||
Öğrenci Kimliği | Ad Soyad | grup |
111 | Ivanov Oleg Petrovich | 41 İÇİNDE |
222 | Ilya Lazarev | -72 |
333 | Konoplev Petr Vasilievich | 41 İÇİNDE |
444 | Kushnereva Natalia Igorevna | -72 |
Almak için bağlantı kurmanız gerekiyortam teşekküllü ilişkisel veritabanı. "IN-41" kaydı, "IN-72" gibi, "Dekanlık ofisi" plakasında birden fazla yer alabilir ve nadir durumlarda öğrencilerin soyadı, adı ve soyadı çakışabilir, bu nedenle bu alanlar olamaz birincil anahtarı yaptı. "Öğrenciler" varlığını gösterelim.
"Öğrenciler" tablosu | |||
Ad Soyad | grup | Ortalama not | telefon |
Ivanov Oleg Petrovich | 41 İÇİNDE | 3,0 | 2-27-36 |
Ilya Lazarev | -72 | 3,8 | 2-36-82 |
Konoplev Petr Vasilievich | 41 İÇİNDE | 3,9 | 2-54-78 |
Kushnereva Natalia Igorevna | -72 | 4,7 | 2-65-25 |
Gördüğümüz gibi ilişkisel veritabanlarındaki alan türleritamamen farklı. Hem dijital hem de sembolik girişler var. Bu nedenle, tamsayı, karakter, vachar, tarih ve diğerlerinin değerleri öznitelik ayarlarında belirtilmelidir. "Dekanın ofisi" tablosunda yalnızca öğrenci kimliği benzersiz bir değerdir. Bu alan birincil anahtar olarak alınabilir. "Öğrenciler" varlığından isim, grup ve telefon numarası öğrenci kimliğine atıfta bulunarak yabancı anahtar olarak alınabilir. Bağlantı kuruldu. Bu, bire bir ilişki modeline bir örnektir. Varsayımsal olarak, tablolardan biri gereksizdir, kolayca tek bir varlık halinde birleştirilebilirler. Öğrenci kimlik numaralarının genel olarak bilinmesini önlemek için iki tablonun varlığı oldukça gerçekçidir.