Genel olarak, veritabanı sistemleri, kullanıcılarının örnekleri sorgulamasına yardımcı olabilecek bir sorgu dili ile donatılmıştır. Bu tür iki tür vardır - ilişkisel cebir ve ilişkisel hesap. Birincisi, girdi olarak ilişki örneklerini alan ve çıktı olarak örnek ilişkileri çıktı olarak alan prosedürel bir sorgulama dilidir. Bunun için birli veya ikili hesabı kullanır. İlişkisel cebir özyinelemeli olarak gerçekleştirilir ve ara sonuçlar bağıntılar olarak değerlendirilir.
Kartezyen çarpım (Χ)
İki farklı ilişkiden alınan bilgileri tek bir ilişkide birleştirir.
Notasyon – r Χ s, burada r ve s oranlardır ve çıktıları
olarak tanımlanacaktır
r Χ s={qt | q ∈ r ve t ∈ s}.
Sonuç. Öğreticiyle yazılmış tüm kitapları ve makaleleri gösteren bir ilişki kurar.
İşlemi yeniden adlandır (ρ).
İlişkisel cebirin bağıntısı sonuçlardır, ancak herhangi bir isim yoktur. Yeniden adlandırma işlemi, küçük Yunan harfi ρ ile gösterilen çıktı değerini değiştirmenize olanak sağlar.
Tanımlama – ρ x (E), E ifadesinin sonucunun adla birlikte saklandığı yerx.
Ek işlemler:
- kavşağı ayarla;
- ödev;
- doğal bağlantı.
İlişkisel hesap
Bu, prosedürel olmayan bir sorgu dilidir, yani size ne yapacağınızı söyler, ancak nasıl uygulanacağını açıklamaz. İlişkisel hesap iki biçimde bulunur:
- bir demetin korelasyon hesabı;
- değişken aralıklarını filtreleme.
Notation - T/State: Bir koşulu karşılayan tüm T tuple'larını döndürür. Sonuç. Bir adla demetleri döndürür. TRC sayısallaştırılabilir. Varoluşsal (∃) ve evrensel niceleyicileri (∀) kullanabilirsiniz. Çözüm. Yukarıdaki sorgu öncekiyle aynı sonucu verecektir.
Alan ilişkisel hesabı DRC
Filtre değişkeni, demet tamsayı değerleri yerine nitelik etki alanını kullanır (yukarıda bahsedilen TRC'de yapıldığı gibi).
Notasyon – {a 1, a 2, a 3, …, a | P (a 1, bir 2, bir 3, …, bir)}, nerede a1, a2 niteliklerdir ve P, dahili değerlerle oluşturulmuş formülleri belirtir.
Sonuç. Konunun veritabanı olduğu TutorialsPoint ilişkisinden makaleyi, sayfayı ve konuyu ayarlar.
TRC gibi, DRC de varoluşsal ve evrensel niceleyiciler kullanılarak yazılabilir. DRC ayrıca ilişkisel cebir operatörlerini de içerir. Noktalar arasındaki ilişkilerin hesaplanması, hesabı ve korelasyonunun ifadesinin gücü eşdeğerdir.
İlişkisel analiz ve cebirin varyasyonları ve şemaları
ER modeli, diyagramlarla kavramsallaştırıldığında, anlaşılması daha kolay olan temel ilişkilere iyi bir genel bakış sağlar. Şematik temsiller bir ilişkisel şemaya eşlenebilir, yani birbirleriyle birlikte oluşturulabilirler. Tüm ER kısıtlamalarını ilişkisel bir modele aktarmak mümkün değildir, ancak yaklaşık bir yapı oluşturulabilir. Çizelgeleri bu sisteme dönüştürmek için kullanılabilecek çeşitli işlemler ve algoritmalar vardır. Bazıları otomatik, bazıları ise manuel olarak oluşturulur. ER çizelgeleri temel olarak aşağıdaki kriterlerden oluşur:
- varlık ve özellikleri;
- bağlantı, yukarıdaki değerler arasında bir ilişkidir.
Nesnelerin ve ilişkilerin karşılaştırılması farklı şekillerde ve şemalarda gerçekleşir. Örneğin, bir varlık, bazı niteliklere sahip gerçek bir dünya nesnesidir. Eşleştirme işlemi, algoritma aşağıdaki gibidir:
- her nesne için bir tablo oluşturun;
- attributes, karşılık gelen veri türlerine sahip tablo alanları olmalıdır;
- birincil anahtar bildir.
İlişki, varlıklar arasındaki bir ilişkidir. Derleme işlemi aşağıdaki gibidir:
- ilişkiler için bir tablo oluşturun;
- Tüm katılan varlıkların birincil anahtarlarını uygun veri türleriyle tablo alanları olarak ekleyin;
- İlişkinin herhangi bir özelliği varsa, her bir özelliği tablo alanı olarak ayarlayın;
- her şeyi oluşturan birincil anahtarı birleştirgeri kalanı katılımcı nesneler için;
- tüm yabancı anahtar kısıtlamalarını belirtin.
Zayıf kümelerin ve hiyerarşik nesnelerin gösterimi belirli bir sisteme göre gerçekleşir. Her şeyden önce, bu değerlerin temel temellerini ve tanımlarını anlamak gerekir. Zayıf bir özellik seti, kendisiyle ilişkilendirilmiş herhangi bir birincil anahtara sahip olmayan özelliktir. Görüntüleme işlemi aşağıdaki gibidir:
- zayıf bir nesne grubu için bir tablo oluşturun;
- tüm nitelikleri bir alan olarak şemaya ekle;
- tanımlama için birincil anahtarı belirtin;
- tüm yabancı anahtar kısıtlamalarını ayarlayın.
İlişkisel cebir dilinin uzmanlaşmasına veya genelleştirilmesine dayalı hiyerarşik nesnelerin gösterimi, sıralı varlıklar şeklinde gerçekleşir. Algoritma şu şekildedir:
- tüm daha yüksek seviyedeki nesneler için tablolar oluşturun;
- birincil anahtarları ekle;
- düşük seviyede, daha düşük seviyedeki nesnelerin tüm diğer niteliklerini uygular;
- tablonun birincil anahtarlarını bildirin;
- yabancı anahtar kısıtlamalarını ayarlayın.
Bilgileri açıklamak, depolamak, değiştirmek için mevcut seçenekler
SQL, ilişkisel veritabanları için bir programlama dilidir. Cebir ve demetlerin korelasyon hesabı üzerinde geliştirilmiştir. SQL, tüm büyük DBMS dağıtımlarıyla birlikte bir paket olarak gelir. Bunları işlemek için hem verileri hem de dilleri içerir. İlişkisel cebir SQL veri tanımlama özelliklerini kullanarak veritabanı şemasını tasarlayabilir ve değiştirebilirsiniz,yönetim ve ayar özellikleri ve ayrıca veri değişiklikleri, sistemde kurulu olan bilgileri saklamanıza ve almanıza izin verir. Yapıyı ve sistemi tanımlamak için aşağıdaki komut dizisini kullanır:
- bir DBMS'den yeni veritabanları, tablolar ve görünümler oluşturur.
- komutları atar.
- veritabanı şemasını değiştirir.
- bu komut, bir dize nesnesine bir nitelik ekler.
SQL, bir Veri İşleme Dili (DML) ile donatılmıştır. Bilgi ekleyerek, güncelleyerek ve silerek veritabanı örneğini değiştirir. DML, tüm verilerin değiştirilmesinden sorumludur. SQL, DML bölümünde aşağıdaki komut dizisini içerir:
- SELECT, temel sorgu komutlarından biridir. İlişkisel cebirin izdüşüm işlemine benzer. WHERE yan tümcesinde açıklanan koşula göre öznitelikleri seçer.
- FROM - Bu bölüm, özniteliklerin seçileceği/yansıtılacağı argüman olarak bir isim alır. Birden fazla isim verilmesi durumunda bu madde Kartezyen ürüne karşılık gelmektedir.
- WHERE - Bu bölüm, öngörülen niteliği nitelemek için karşılanması gereken yüklemi veya koşulları belirtir.
Komutlar da var:
- insert;
- değerleri değiştirme;
- sil.
İlişkisel Cebir Sorguları Oluşturma
Bir arama oluştururken, görev, doğru çıktıya götürecek bir işlem yapısı bulmaktır. İlişkisel cebirin temel işlemleri basittirişlenen olarak bir veya iki ilişki ile işlemler. Dizinin birleşik etkileri nihai sonucu belirler. Veritabanlarında ilişkisel cebir sistemi oldukça basit olduğu için, nihai çıktıya ulaşmadan birçok ara sonuç elde edilebildiği için, alınan yeni verileri üreten işlenenler olarak da kullanılırlar.
Çoğu operatör için, sorguların sırası ve yürütülmesi önemli değildir; bu, ara verileri farklı şekillerde şekillendirip birleştirerek aynı çıktının elde edilebileceği anlamına gelir. Uygulamada, veritabanı aramaları oldukça kolaydır. İşlemleri ve ara sonuçları gerçekleştirme sistemi, sorgu iyileştirici tarafından belirlenir. Soruları, gereksinimleri oluştururken, öncelikle bir yanıt elde etmek için hangi ilişkilerin gerekli olduğunu
seçmeniz ve ardından işlemleri ve ara sonuçları belirtmeniz gerekir. Bir sonuç veritabanındaki ilişkisel cebir sorgusunun yapısı bir diyagram olarak gösterilebilir. Gereksinim iyileştiricileri, yürütmeyi olabildiğince verimli bir şekilde düzenlemeye çalışır. Pratikte bu, genellikle ara sonuçları mümkün olduğunca çabuk en aza indirmeye çalıştıkları anlamına gelir. İlişkisel cebirin yaygın örnekleri bu konuda yardımcı olacaktır.
Örnek 1.
Bilgi İhtiyacı: 1999 yılı muayenesi sırasında eksikliklerin bulunduğu 1996 model yılı araçlar hakkında bilgi.
İlk olarak, ilişkinin tüm niteliklerinin değerlerini anlamak için arabalarla ilgili bilgiler görüntülenir. Denetimlerle ilgili bilgiler "Muayene" tablosunda saklanır ve tespit edilirsearızalar, "Sorun" tablosuna kaydedilir. Bu nedenle, gerekli bilgileri almak için bu üç tabloya ihtiyaç vardır.
Sadece 1996 arabaları ilginçtir. Aracın model aralığı, araç bilgi tablosunun satırındaki set özniteliğinin değeri olarak temsil edilir. İlk ara sonuç, 1996 varyantlarını temsil eden demetlerden oluşur.
Yani yalnızca bu dönemi kapsayan satırlar gereklidir. Bunları çıkarmak için bir seçim kullanmanız gerekir. Şimdi gerekli olan arabalar ve muayeneler var. Dizeler daha sonra birleştirme işlemi kullanılarak birleştirilir. Tek ortak sütun olduğu için ortak bir kayıt numarası ile birleştirilmeleri gerekir, doğal bir birleştirme kullanılır.
Çekler sırasında sorun olup olmadığını öğrenmek için sorunlu çizgileri çekle ilişkilendirmeniz gerekir. Kontrol sıralarını arabalara bağladıktan sonra bu sonucu arıza tablosuna bağlayabilirsiniz. Üyelik, ortak kayıt numarasına ve doğrulanma tarihine dayanmalıdır. Bunlar tablolardaki tek ortak sütunlardır, bu nedenle doğal bir birleştirme kullanılır.
Ara sonuçları olmayan hesaplama seçenekleri
Örnek 2.
Gerekli Bilgiler: 1995 model yılı veya 2000 yılı için test edilmemiş daha eski araçlar için sürücü adı. Ad, "Sürücü" tablosundadır. Kolluk kuvvetleri "Kantin arabasındaki muayene ve arabalar" tablosunda açıklanmaktadır. BöyleBu nedenle, bu üç tabloya ihtiyaç vardır. Öncelikle 2000 yılı için muayene edilmeyen arabaları bulmanız gerekiyor. Bu sorunu sadece tabloda listelenen denetimleri kullanarak çözmek mümkün değildir, çünkü yapılmayanlar değil, yapılan denetimlerle ilgili verileri içerir. Bu sorun, 2000 yılından önce kontrol edilen tamamlayıcı otomobiller aranarak çözülür. Aslında sadece kayıt numaralarına ihtiyaç var.
Yukarıdakilerin dışında bilgilerin nasıl değiştirileceğini veya bulunacağını gösteren başka örnekler de var. Sorgu varyantları, özel işlemler kullanılarak optimize edilebilir. Aslında, verileri aramayı ve bulmayı olabildiğince kolay ve basit hale getirmek için bir ilişkisel analiz modeli vardır.
Bilgilerin korunduğu ve korunduğu yer
İlişkisel cebirin ilişkisel veri modeli, kayıtları içeren dosya biçimlerinde saklanır. Fiziksel düzeyde, gerçek bilgiler bazı cihazlarda elektromanyetik bir biçimde sabitlenir. Bu depolama cihazları üç kategoriye ayrılabilir:
- Birincil. Bu kategori, CPU tarafından doğrudan erişilebilen belleği içerir. Kayıtlar, hızlı bellek (önbellek) ve ana belleğe (RAM) hepsi ana kart veya yonga setinde yer aldığından doğrudan merkezden erişilebilir. Bu depolama genellikle çok küçüktür, ultra hızlıdır ve kararsızdır. Durumu korumak için sabit bir güç kaynağı gereklidir. Başarısız olursa, tüm verileri kaybolur.
- İkincil. Gelecek için bilgi depolamak için kullanılırkullanın veya yedekleyin. Manyetik diskler, optik diskler (DVD'ler, CD'ler vb.), sabit sürücüler, flash sürücüler ve manyetik bantlar gibi işlemci yonga setinin veya ana kartın parçası olmayan bellek aygıtlarını içerir.
- Üçüncül. Büyük miktarda veri depolamak için kullanılır. Bu tür depolama aygıtları bilgisayar sisteminin dışında olduğu için hız açısından en yavaş olanlardır. Bu depolama aygıtları esas olarak tüm sistemi yedeklemek için kullanılır. Optik diskler ve manyetik bantlar, üçüncül depolama olarak yaygın olarak kullanılmaktadır.
Sorgu verimliliği için özel ilişkisel cebir işlemleri önemlidir.
Depolama yapısı
Bilgisayar sisteminin iyi tanımlanmış bir bellek hiyerarşisi vardır. CPU, ana sisteme ve yerleşik kayıtlara doğrudan erişime sahiptir. Ana bellek erişim süresi, açıkçası işlemci hızından daha azdır. Bu tutarsızlığı en aza indirmek için bir önbellek tanıtılır. Önbellek en hızlı erişim sürelerini sağlar ve CPU tarafından en sık erişilen verileri içerir.
En hızlı erişime sahip bellek en pahalı bellektir. Büyük depolama aygıtları çok az hız sağlar ve daha ucuzdur, ancak bir işlemci kaydı veya önbelleğe kıyasla çok büyük miktarda veri depolayabilirler.
Manyetik ve sabit diskler, günümüzün bilgisayar sistemlerinde en yaygın ikincil depolama aygıtlarıdır. Manyetik denirmetal temel. Bu diskler mil üzerine dikey olarak yerleştirilmiştir. Okuma/yazma kafası bunların arasında hareket eder ve alttaki böyle bir noktayı mıknatıslamak veya çıkarmak için kullanılır. 0 (sıfır) veya 1 (bir) olarak tanınabilir.
Sabit sürücüler, verimli veri depolama için iyi tanımlanmış bir sırayla biçimlendirilir. Yol adı verilen birçok eşmerkezli daireye sahiptir. Her iz ayrıca sektörlere bölünür ve tipik olarak 512 bayt veri depolar.
Dosya işlemleri
İlişkisel cebir dil sistemi ve veritabanı üzerindeki işlemler genel olarak iki kategoriye ayrılabilir:
- güncelleme;
- arama.
İlk kategori, veri değerlerini ekleyerek, silerek veya güncelleyerek değiştirir. Öte yandan, arama işlemleri bilgileri düzenlemez, isteğe bağlı koşullu filtrelemeden sonra çıkarır. Her iki işlem türünde de seçim önemli bir rol oynar. Dosya oluşturmaya ve silmeye ek olarak, bunlar üzerinde gerçekleştirilebilecek birkaç işlem olabilir:
- Açık - iki okuma veya yazma modundan birinde bulunur. İlk durumda, işletim sistemi kimsenin verileri değiştirmesine izin vermez. Başka bir deyişle, veriler yalnızca okunur. Okuma modunda açılan dosyalar birden çok nesne arasında paylaşılabilir. Yazma modu, verileri değiştirmenizi sağlar. Dosyalar okunabilir ancak paylaşılamaz.
- Kapat, tüm kilitleri kaldırdığı için işletim sistemi açısından en önemli işlemdir.(paylaşılan moddaysa), verileri (değiştirildiyse) ikincil ortama kaydeder ve dosyayla ilişkili tüm arabellekleri ve işleyicileri serbest bırakır.
- İndeksleme, sistemin uygulandığı bazı özniteliklere dayalı olarak bir sistemin dosyalarından kayıtları verimli bir şekilde çıkarmak için bir bilgi yapısı yöntemidir. Niteliklere göre tanımlanır.
İndeksleme aşağıdaki türden olabilir:
- Birincil, sıralı veri dosyasında tanımlanır. Bilgi dosyası anahtar alanında düzenlenmiştir.
- Aday anahtar olan ve her kayıtta benzersiz bir değere sahip olan veya yinelenen değerlere sahip bir anahtar olmayan bir alandan oluşturulan ikincil dizin.
- Kümeleme, sıralı bir veri dosyasında, anahtar olmayan bir alanda tanımlanır.
Veritabanı yönetim sistemi veya DBMS, uygun güvenlik önlemleriyle birlikte maksimum verimlilikle kullanıcı bilgilerini depolamak ve almak için bir teknolojiyi ifade eder. Bu konunun daha yakından incelenmesi, ilişkisel cebirin, ilişkileri argüman olarak alan ve sonuç olarak onları döndüren bir operatör dili olduğu sonucuna götürür.