Menü
Bedava
kayıt
ev  /  Programlar   Veritabanı yönetim sistemlerinin oluşturulması için genel ilkeler. Modern alt gereksinimler

Veritabanı yönetim sistemlerinin oluşturulmasında genel ilkeler. Modern alt gereksinimler

Herhangi bir modern organizasyon, çeşitli kurumsal uygulamaların kullanıcıları tarafından girilen ve daha sonra çalışanlar tarafından referans bilgi almak, belge yazdırmak, şirketin belirli yönlerini analiz etmek için kullanılan çok miktarda veriyle ilgilenir. Çoğu zaman, bir şirketin rekabet gücü ve faaliyetlerinin etkinliği doğrudan bu verilerin hem şirketin kendisi hem de müşterileri ve iş ortakları için uygunluğuna ve kullanılabilirliğine bağlıdır, bu nedenle kurumsal verileri saklama görevi artık her zamankinden daha önemlidir.
   Çoğu şirketin kurumsal verileri genellikle sunucu tarafı DBMS'ler tarafından yönetilen veritabanlarında depolanır. Bu makalede tartışılacak olan onlar hakkında.

  Veritabanı yönetim sistemleri nelerdir

bir veritabanı yönetim sistemi olarak bu yazılım kategorisi bir düzineden fazla süredir var - veri depolama görevi ilk depolama ortamının ortaya çıkmasıyla neredeyse aynı anda ortaya çıktı ve modern DBMS'lerin çoğunun temel aldığı ilkeler geçmişin 60'larında geri formüle edildi yüzyıl. Bu ürün kategorisi, el bilgisayarlarından ve cep telefonlarından ana bilgisayarlara ve süper bilgisayarlara kadar neredeyse tüm platformlar için mevcuttur ve kesinlikle tüm kurumsal yönetim sistemlerinde ve diğer kurumsal uygulamalarda ve diğer birçok uygulamada kullanılmaktadır.

Veritabanı yönetim sistemleri sınıflandırılabilir farklı yollar  - veri organizasyonu ilkesine (ilişkisel, hiyerarşik, ağ ...), erişim yöntemine (tek kullanıcı ve çok kullanıcılı), mimariye (masaüstü ve sunucu), işlevsel yeteneklere ve ölçeklenebilirliğe ilişkin yeteneklere göre.

Şu anda, istemci-sunucu mimarisine sahip ilişkisel DBMS'ler çoğunlukla kullanılmaktadır, ancak bazen masaüstü DBMS'leri kullanan uygulamaları da bulabilirsiniz. Masaüstü DBMS'ler tarafından yönetilen veritabanları genellikle bir dosya veya bir dosya grubudur ve DBMS'nin kendisi, uygulamalarının bu dosyalarda değişiklik yapabileceği bir dizi kütüphanedir. Bazen masaüstü DBMS'lere, tablolar ve diğer nesneler oluşturmak için ve hatta basit uygulamalar geliştirmek için bir kabuk da sağlanır; örneğin, şu anda en popüler olan Microsoft Access durumunda, ticari bir ürün olan kitaplık değil, kabuktur.

Ancak, büyük ve hatta orta ölçekli işletmeler için kurumsal uygulamalar, kural olarak, daha fazla güvenilirlik ve ölçeklenebilirliklerinden dolayı sunucu tarafı DBMS'leri kullanır. En basit durumda, istemci-sunucu mimarisine dayalı bir bilgi sistemi iki ana bileşenden oluşur: veri yöneten ve istemci uygulamalarından gelen istekleri yürüten bir veritabanı sunucusu ve bir kullanıcı arabirimi sağlayan ve sunucuya istek gönderen istemci uygulamaları. Verilerin depolandığı dosyaları manipüle edebilen, kullanıcı sorgularını yürütebilen, verilerin referans bütünlüğünü koruyabilen, bunlara erişim sağlayan, verileri yedekleyebilen ve değişiklikleriyle ilişkili işlemleri günlüğe kaydedebilen veritabanı sunucusudur. Daha karmaşık durumlarda, istemci ve sunucu arasında, işlevleri çok farklı olan bir ara katman uygulaması bulunabilir - verilere erişimi farklılaştırmaktan oldukça karmaşık bir iş mantığı uygulamaya kadar.

  Modern DBMS için gereksinimler

modern DBMS aşağıdaki gereksinimlere sahiptir:

  • ölçeklenebilirlik - bu DBMS tarafından kullanılan sorgu ve donanım kaynaklarında (RAM miktarı, işlemci ve sunucu sayısı gibi) orantılı bir artışla kullanıcı sorgularının hızında önemli bir azalma olmaması;
  • kullanılabilirlik - her zaman bir isteği yerine getirme yeteneği;
  • güvenilirlik - minimum hata olasılığı, hatalardan sonra veri kurtarma araçlarının kullanılabilirliği, araçlar yedek kopya  verilerin çoğaltılması ve çoğaltılması (son zamanlarda, DBMS üreticileri genellikle bu tür işlemleri kullanıcıların çalışmasını kesintiye uğratmadan gerçekleştirmeye izin veren araçlar sunmaktadır);
  • yönetilebilirlik - yönetim kolaylığı, otomatik yapılandırma araçlarının kullanılabilirliği (tipik bir modern yönetim araçları seti, veritabanları ve nesneleri oluşturmak için araçlar, farklı sunucular arasında veri çoğaltma kurallarını tanımlamak için araçlar, kullanıcıları yönetmek için araçlar, gruplar ve hakları, etkinlikler için izleme araçları, yürütme planlarını görüntüleme araçları içerir sorgular, diğer DBMS'den geçiş araçları);
  • kayıp ve yetkisiz erişime karşı veri korumasının kullanılabilirliği;
  • web servislerini kullanarak verilere erişim desteği
  • Çeşitli geliştirme araçlarını kullanarak DBMS için uygulamalar oluşturmanıza olanak tanıyan standart veri erişim mekanizmaları (ODBC, JDBC, OLE DB, ADO .NET gibi) desteği.

DBMS ve bu gereksinimlerden herhangi biri arasındaki uyumsuzluk, diğer tüketici özellikleri açısından iyi bir DBMS için bile kapsamın çok sınırlı olmasına yol açar. Dolayısıyla, az miktarda işlenmiş verilerle başarılı bir şekilde kullanılan zayıf ölçeklenebilirliğe sahip bir DBMS, sayılarında bir artış olması durumunda uygun değildir. Gerekli idari yardımcı programların bulunmaması aynı zamanda bazı DBMS'lerin kullanımından vazgeçilmesine de yol açar. Kötü ölçeklenebilirlik ve erişilebilirlik, çalışanlar için ek maliyetler, kesinti sürelerinin yanı sıra telefonla sorulan bir soruya veya bir Web sitesine girilen bir isteğe yanıt beklemekte çaresiz olan şirket müşterilerinin kaybına neden olur. Sunucu kodu desteğinin olmaması, kurumsal bir Web sitesinde başarıyla kullanılan DBMS'nin diğer şirket içi uygulamaları oluşturmak için kullanılamamasına neden olur. Standart veri erişim mekanizmalarına destek eksikliği, otomatik olarak bu mekanizmalara yönelik geliştirme araçları kullananların bu DBMS'yi kullanmayı reddetmelerine yol açabilir.

Bu nedenle, kurumsal DBMS'lerde pazar liderleri yukarıdaki gerekliliklerin tümünü karşılayan ürünler üretmeye çalışırlar. Buna ek olarak, kural olarak, çeşitli platformlar için ve benzer sorunları çözmek için tasarlanmış farklı sürümlerde (ücretsiz olanlar dahil) benzer ürünler bulunur.

  Önde gelen üreticilerin DBMS

bir dizi analitik rapora göre (örneğin bakınız: Veri Ambarı DBMS'leri için Garip K. Magic Quadrant // Gartner Araştırma Notu M-22-2154.2004), şu anda DBMS pazar liderleri uzun ve IBM tarafından Rusya pazarında başarıyla temsil ediliyor , Oracle, Microsoft, Sybase ve Teradata'nın yanı sıra iç pazarda neredeyse bilinmeyen nispeten genç şirket Netezza. Daha sonra, bu şirketlerin ürünlerinin özelliklerini kısaca ele alıyoruz.

  DB2 Evrensel Veritabanı (IBM)

DB2 Universal Database (DB2 UDB) olarak bilinen IBM sunucu veritabanı sistemleri ailesi, ilk olarak 1996'da ortaya çıktı ve UNIX, OS / 2 ve Microsoft Windows NT platformları için tasarlanmıştır. Bu ürünün en son sürümü olan DB2 UDB 8.2, AIX, AIX, Linux, HP-UX, Sun ve Windows işletim sistemlerinde çalışır.

Bu DBMS'nin özellikleri, veritabanı desteği ile ilgili işlemlerin (yedek kopyaların oluşturulması ve verilerin birleştirilmesi gibi) otomatik olarak iyileştirilmesi ve otomatik olarak yürütülmesi için geliştirilmiştir. Veri erişim mekanizmalarından DB2 UDB ODBC, JDBC, ADO / OLE DB, ADO .NET'i destekler. Bu DBMS, C # ve Visual Basic .NET gibi CLR uyumlu dillerde sunucu kodu oluşturmanıza olanak tanır.

DB2 Universal Database, veri ambarlarının oluşturulmasını destekler ve verileri depoya aktarma araçlarına ek olarak, bir depo şeması oluşturma, bunun için kaynak verilerini belirleme, oluşturma, veri ambarları oluşturma ve bakımıyla ilgili tüm süreçleri yönetmenize olanak tanıyan müşteri bölümü veri ambarı yönetim araçlarını içerir. depodaki verileri güncelleme, yanlış verileri kontrol etme ve düzeltme zamanlamaları.

Diğer kritiklere teknik özellikler  DB2 Universal Database, nesne uzantılarını kullanarak ilişkisel ve karmaşık veriler için destek, çok işlemcili platformlarda çalışma yeteneği, kümeler için destek, 64 bit bellek mimarisi, sorgu paralelleştirme, dağıtılmış yönetim ve veri işleme araçlarının kullanılabilirliği ve dağıtılmış işlemler gerçekleştirme desteği içermelidir. Bu teknolojilerden bazıları, IBM tarafından Informix ile birkaç yıl önce satın alınan Informix Dynamic Server DBMS'den ödünç alındı.

  Oracle 10g (Oracle)

1979'da tanıtılan Oracle, şimdi endüstri standardı haline gelen SQL dilini destekleyen ilk ticari ilişkisel veritabanı motoruydu. Bu DBMS'nin önceki sürümleri ana bilgisayarlar için oluşturuldu, ancak 1985'te Oracle sürümleri istemci-sunucu mimarisinde kullanılmak üzere ortaya çıktı. Bu, bazı sunucu platformları tarafından sağlanan paralel bilgi işlem araçlarını kullanan ilk DBMS'dir.

Şu anda en son sürümü Oracle 10g'dir. Bu DBMS, hizmet kalitesi için en katı gereksinimleri karşılar, kümeleme yeteneklerine (Oracle Real Application Clusters modülü bunun için tasarlanmıştır) ve geliştirilmiş güvenlik araçlarına sahiptir.

Oracle Database 10g, paralel sorgu işleme araçları, yerleşik OLAP araçları, hızlı veri çıkarma, dönüştürme ve yükleme araçları, portal hizmetleri, iş analizi araçları, rapor dağıtımı ve kullanıcı eylemleri analizi, veritabanı yönetim sistemi performans analiz araçları, küme desteği sağlar.

Veri erişim mekanizmalarından Oracle 10g, ODBC, JDBC ve ADO / OLE DB'yi destekler, buna ek olarak, bir .NET sağlayıcısı ve bu DBMS için Microsoft'tan uygun bir sınıflar kümesi vardır. Oracle istemcisi ayrıca verilere erişmek için bir dizi COM nesnesi içerir (OLE için Oracle Objects). Diğer birçok şirketin Oracle'a erişmek için ODBC sürücüleri ve OLE DB sağlayıcıları ürettiğini unutmayın - tüm önde gelen geliştirme araçları, rapor üreteçleri ve analitik veri işleme araçları üreticileri bu DBMS'yi destekler.

Hem Batı'da hem de Rusya'da, Oracle Corporation'ın hazır kurumsal çözümleri genellikle Oracle Financials, Oracle Human Resources, Oracle Market Management, Oracle Project Systems vb. Gibi Oracle Applications genel adı altında birleştirilir - aslında satış ve destek Bu uygulamalar şirketin işinin büyük bir kısmını oluşturur.

  SQL Server 2000 ve SQL Server 2005 (Microsoft)

Microsoft ve Sybase'in ortak bir ürünü olan ve 1988'de piyasaya sürülen Microsoft SQL Server'ın ilk sürümü OS / 2 platformu için geliştirildi. Bu veritabanı sunucusunun gelecekteki sürümleri windows platformları  ve zaman içinde bu işletim sistemiyle yakından bütünleştirilmiştir. Diğer platformlar için bu sunucunun sürümleri yayınlanmadı ve yayınlanmadı.

Bu veritabanı yönetim sisteminin en yaygın kullanılan sürümü olan Microsoft SQL Server 2000, artan ölçeklenebilirlik ve performans ile karakterizedir. Aynı bilgisayarda birkaç eşzamanlı çalışan sunucu kullanmanıza izin verir, kümelerin oluşturulmasını, çok işlemcili sistemlerde paralel hesaplamayı, dağıtılmış sorguları destekler. Microsoft SQL Server 2000 yönetim araçları en basit ve en kullanışlı araçlardan biri olarak kabul edilir. Veritabanları ve nesneleri oluşturma, kullanıcılar ve gruplar için ayrıcalıkları yönetme, verileri yedekleme ve geri yükleme, çoğaltma gibi standart yönetim görevlerinin yanı sıra, diğer DBMS'ler ve veri ambarlarıyla veri alışverişi için yardımcı programlar içerir. Bu ürün bir OLAP sunucusu içerir - OLAP araçları diğer üreticilerin DBMS'sine dahil edilmeye başlandı ve bunları pahalı, üst düzey ürünler kategorisinden küçük şirketlerde bile yaygın olarak kullanılan ürün kategorisine taşıdı.

Veri erişim mekanizmalarından, bu ürün ODBC, OLE DB / ADO, ADO .NET'i destekler. Bir Microsoft JDBC sürücüsü de var. Bu DBMS'yi Microsoft Office ile entegre etmenin mükemmel yollarını, bu uygulamalardan OLAP verilerini işlemek için araçlara kadar not etmek başarısız olamaz.

Bu DBMS'nin bir sonraki sürümü olan bu yıl piyasaya sürülmesi beklenen SQL Server 2005, farklı sunucu işlemleri arasında eşzamansız mesajları destekleyecek, istemcileri veritabanındaki olaylar hakkında bilgilendirecek, hataya dayanıklı kümeler oluşturmaya ve veritabanını yansıtmaya izin verecek ve çoğaltacaktır. DBMS tarafından diğer üreticilerin yönettiği veritabanları ile, sunucuyu durdurmadan işlemci sayısını ve bellek miktarını değiştirme gibi işlemleri gerçekleştirin.

SQL Server'ın beklenen sürümünün bir diğer önemli teknolojik yeniliği, DBMS'nin kendisinde Ortak Dil Çalışma Zamanı düzeyinde Microsoft .NET Framework 2.0 ile tümleştirmedir; bu, herhangi bir CLR uyumlu programlama dilinde, örneğin C # veya Visual Basic'te sunucu kodu oluşturmanıza olanak tanır. Ayrıca bu DBMS'nin analitik yeteneklerinde, örneğin yeni Veri Madenciliği algoritmalarının ortaya çıkmasında önemli bir genişlemeye dikkat çekiyoruz.

SQL Server 2005 hem 32 bit hem de 64 bit sürüm olarak oluşturulacak intel işlemciler  Itanium ve AMD Opteron Karşılaştırması. Ve küçük veritabanları kullanarak nispeten basit görevleri çözmek için, serbest bırakılacak ücretsiz sürüm Microsoft SQL Server 2005 Express Sürümü.

  Uyarlanabilir Sunucu Kurumsal ve Uyarlanabilir Sunucu IQ (Sybase)

Sybase sunucu ürünleri, Microsoft ve Sybase tarafından birlikte oluşturulan Microsoft SQL Server'ın önceki sürümlerinden birinden gelir. 1994'ten beri Microsoft ve Sybase sunucu ürünlerini birbirinden bağımsız olarak geliştirmektedir ve Sybase'in bu yöndeki çalışmasının sonucu, en son sürümü olan 12.5.2, Windows NT / 2000 ve bazı sürümler için olan Adaptive Server Enterprise (ASE) 'dir. UNIX ve Linux.

Adaptive Server Enterprise şu anda karmaşık sorguların hızını artıran önceden okunmuş asenkron okumaları desteklemektedir; kümelerin oluşturulması; 64 bit sürüm diğer üreticilerin veritabanları dahil olmak üzere taleplerin dağıtılmış olarak işlenmesi; SQL dışındaki dillerde yazılmış işlevlere kolay erişim sağlayan gelişmiş saklı yordamlar; çok işlemcili sistemlerde isteklerin paralel işlenmesi; yönetim araçlarının paralel çalışması; dinamik sunucu yapılandırması ve sıkıştırma ile veri yedekleme. Sybase Gerçek Zamanlı Veri Hizmetleri, diğer üreticilerin DBMS tarafından yönetilen veritabanları da dahil olmak üzere veritabanlarında herhangi bir olay meydana geldiğinde mesajların gerçek zamanlı olarak iletilmesini düzenlemek için tasarlanmış hizmetlerdir.

Evrensel veri erişim mekanizmalarından ASE ODBC, JDBC, OLE DB / ADO'yu destekler. Genellikle ASE ile Sybase’in veri geliştirme ve tasarım araçlarının kullanıldığını unutmayın.

Çok boyutlu veri depoları oluşturmak için Sybase'in başka bir sunucu ürünü vardır: Adaptive Server IQ, yalnızca Sybase tarafından değil, aynı zamanda diğer üreticiler tarafından üretilen DBMS'lerden gelen verilere dayalı depolar oluşturulmasına izin verir. Bu üründeki yüksek sorgu yürütme hızı, verilerin standart olmayan şekilde depolanmasından kaynaklanmaktadır. Ayrıca, Sybase Industry Warehouse Studio genel adı altında, belirli konu alanlarının hizmetine odaklanmış bir dizi ürün olduğunu da not ediyoruz.

  Teradata Veritabanı V2R6.0 (Teradata)

Son birkaç yıldır, Teradata DBMS'leri, veri ambarları oluşturmak için tasarlanmış DBMS'ler arasında lider ürünler olarak kabul edilmektedir. Bu DBMS'nin en son sürümü olan Teradata Database V2R6.0, Microsoft Windows, OS / 2 ve çeşitli UNIX ve Linux sürümleri için kullanılabilir.

Bu DBMS ve diğer ürünler arasındaki fark, bir görevin bir dizi ayrı alt göreve bölünmesini ve paralel yürütülmesini içeren isteklerin paralel işlenmesi için özel bir mekanizmadır. Ayrıca, verileri sıralama veya gruplama gibi işlemler bile birkaç göreve ayrılabilir ve paralel olarak gerçekleştirilebilir - bu, veritabanının bazı bölümlerinin de alt görevler arasında bölündüğü özel bir veri depolama yöntemi ile elde edilir. Alt görevlerin kendileri, birden fazla olabilen mevcut işlemciler arasında dağıtılabilir. Paralel problem çözme mekanizması sayesinde Teradata Database V2R6.0 oldukça ölçeklenebilir.

Teradata Veritabanını kullanarak istemci uygulamaları oluşturmak için bir ODBC sürücüsü, IBM DB2 ile uyumlu belgelenmiş bir istemci API'si ve bir dizi başka programlama arabirimi vardır. Bu DBMS için yönetim araçları arasında yedekleme ve kurtarma araçları, veri görüntüleme ve düzenleme, performans ve yük izleme ile Windows'un çeşitli sürümlerinde kullanılabilen tüm bu görevleri yönetmek için bir yönetim yardımcı programı bulunur.

  Netezza Performans Sunucusu 8000 Serisi (Netezza)

Netezza Performance Server, bir depolama sistemi ve önceden yüklenmiş Linux işletim sistemi ve aynı zamanda bir DBMS bulunan bir sunucu olan bir donanım ve yazılım çözümüdür. açık kaynakPostgress'e dayalı. Netezza, bu çözümün Teradata bazlı çözümlere göre performansında çok daha düşük bir maliyetle daha düşük olmadığını iddia ediyor. Bu donanım ve yazılım çözümünün özellikleri arasında paralel veri işleme desteği, veritabanı bölümlerinin alt görevler arasında ayrılması nedeniyle görev ayrımı ve yüksek ölçeklenebilirlik bulunmaktadır.

Yazılım arayüzlerinden, bu çözüm ODBC ve JDBC verilerine erişmek için evrensel mekanizmaları destekler.

***

Sonuç olarak, önde gelen üreticilerin modern DBMS yeteneklerinin kurumsal uygulamaların modern ihtiyaçlarını yansıttığını belirtiyoruz. Bunlar, kümeler oluşturma, çok işlemcili sistemlerde verilerin paralel işlenmesini destekleme, en popüler uygulama geliştirme araçları için program arabirimleri sağlama ve analitik uygulamalar oluşturma becerisini içerir. Önde gelen üreticilerin modern DBMS'lerinin önemli özellikleri, yönetim kolaylığı ve veri tabanını kesintisiz olarak korumak için bir dizi işlemi gerçekleştirme, oldukça yüksek güvenilirlik ve kullanılabilirlik göstergelerinin yanı sıra çeşitli ölçeklerdeki sorunları çözmek için çeşitli sürümlerin kullanılabilirliğidir.

Veritabanı Yönetim Sistemi Bileşenleri

Bir DBMS, birçok insanın katıldığı, hem bu programlara hizmet veren hem de çalışmalarının sonucunu kullanan bir yazılım araçları kompleksidir. İncirde. 6.2 DBMS'nin ana bileşenlerini sunar.

  İncir. 6.2. Veritabanı Yönetim Sistemi Bileşenleri

Yazılım

Yazılım her şeyi içerir bilgisayar programlarıveritabanı yönetim sisteminde kullanılır. Bir DBMS'nin tüm işlevlerini yerine getirmek için üç tür yazılım gerekir: sistem yazılımı, DBMS yazılımı, uygulama programları ve yardımcı programlar. DBMS yazılımı işlevsel olarak sistem ve kullanıcı uygulamaları arasında bulunduğundan, ara katman yazılımı olarak sınıflandırılır.

Sistem yazılımı, ekipmanın tüm bileşenlerini yönetir ve bilgisayarda çalışan diğer tüm uygulamalar için ona erişim sağlar. Sistem yazılımı örnekleri: Windows, Linux, UNIX, MVS, MacOS, OpenSolaris, vb.

DBMS işleme alt sistemi, DBMS işlevlerini gerçekleştirerek veritabanını yönetir.

DBMS tasarım araçları, DBMS ortamındaki verilere erişmek ve bunları değiştirmek için tasarlanmıştır. Uygulama programları (kullanıcı uygulamaları) çoğu durumda veritabanında depolanan verileri raporlar ve tablolar şeklinde temsil eder.

Bu, veritabanı yönetim sisteminin tüm kullanıcılarını içerir. İşlevsel sorumluluklara dayanarak, veritabanı yönetim sisteminde altı ana kullanıcı grubu vardır: sistem yöneticileri, veritabanı yöneticileri, sistem analistleri, veritabanı tasarımcıları, programcılar ve son kullanıcılar.

Sistem yöneticileri sorumludur ve sistem yazılımının güvenilir şekilde çalışmasını sağlar.

Veritabanı Yöneticileri (DBA) DBMS'nin çalışmasını yönetir, DBMS'nin çalışmasını sağlar, hesaplar  DBMS kullanıcıları, hakları atar, erişimi kısıtlar, veri depolama güvenliğini ve güvenilirliğini sağlamakla ilgili çeşitli prosedürler gerçekleştirir.

Sistem analistleri, veri yapısı, uygulamalar ve raporlar için gereksinimleri toplama, sistematikleştirme ve açıklama çalışmalarını gerçekleştirir.

Veritabanı tasarımcıları (sistem mimarları) veritabanı yapısını tasarlar.

Programcılar uygulama yazılımı geliştirir. Son kullanıcıların verilere erişimini ve bunları manipüle edebilmesini sağlayan veri girişi ve görüntüleme formları, raporları ve prosedürleri tasarlar ve oluştururlar.

Son kullanıcılar, örneğin bir şirkette günlük işlemleri gerçekleştirmek için uygulama programlarını kullanır; bunlar satıcılar, depo yöneticileri, muhasebeciler, yöneticiler ve yöneticilerdir. Üst yönetimin son kullanıcıları, işletmenin taktik ve stratejik görevlerini çözmek için veritabanından elde edilen bilgileri kullanır.

Veri tabanı

Veritabanı verileri, meta verileri ve prosedürleri içerir.

Veri. Bu bağlamda "veri", "bilgi" veya "bilgi" terimleri, veritabanında depolanan tüm gerçek materyalleri ifade eder. Veriler, buna göre yapılandırılması gereken hammaddelerdir. Veritabanına hangi bilgilerin konulacağına, nasıl organize edileceğine ve yapılandırılacağına karar vermek, veritabanının sistem mimarlarının (tasarımcılar) çalışmalarının önemli bir parçasıdır.

Meta veriler, veritabanı sistemi kataloğunun içeriğini oluşturur ve tabloların adları ve yapısı, kullanıcıların adları ve hakları, kısıtlamaların adı ve türleri, prosedürler, işlevler ve diğer veritabanı nesneleri hakkında bilgileri temsil eder.

Prosedürler sistemin önemli bir bileşenidir. İşletmelerde ve müşterilerle ilişkilerde ticari, teknolojik ve endüstriyel-teknik faaliyetler yürütmek için standartlar belirlerler. Prosedürler ayrıca hem veritabanına girilen bilgilerin hem de çıkarılan verilere dayanarak üretilen bilgilerin izlenmesini ve denetlenmesini düzenlemek için kullanılır.

DBMS sınıflandırması

Kabul edilen veri modeli türüne göre sınıflandırma

Veritabanlarına göre veri tabanlarının sınıflandırılması Şek. 6.3.

Hiyerarşik veritabanları, veritabanı nesneleri arasındaki ilişkinin ters çevrilmiş bir ağaç oluşturduğu hiyerarşik bir veri modelini temel alır. Bu modelle, hiyerarşinin temelini oluşturan her öğe, yukarıda bulunan yalnızca bir öğeye bağlanır


Ağ veritabanları, veri nesneleri arasındaki iletişimin herhangi bir sırada kurulabileceği bir ağ veri modelini temel alır.

İlişkisel veritabanları, veritabanındaki her bir veri biriminin tablonun adı (ilişki olarak adlandırılır), kayıt tanımlayıcısı (grup) ve alan adı ile benzersiz bir şekilde belirlendiği ilişkisel bir veri modelini temel alır.

Nesne ilişkisel veritabanları, veritabanı altyapısı üzerinde veri uzantıları ve yazılım eklentileri biçiminde veri yapıları (en azından miras ve yöntem destek mekanizmaları) oluşturmak için nesneye yönelik mekanizmalar içerir.

Nesneye yönelik veritabanları, üç ilkenin birleşimine dayanan yeni nesil veritabanları olarak tanımlanır: ilişkisel bir model, nesneleri tanımlama standartları ve nesne yönelimli programlama ilkeleri.

Mimari Sınıflandırma

Veritabanlarının mimariye göre sınıflandırılması Şek. 6.4.


Yerel veritabanlarında, tüm veriler ve DBMS nesneleri tek bir bilgisayarda bulunur.

Dağıtılmış veritabanlarında, verilerin çeşitli bölümleri (tablolar, tablolar ve hatta tablo parçaları) ve DBMS nesneleri üzerine yerleştirilebilir farklı bilgisayarlar.

Misal. Bunun bir örneği, farklı bölümleri farklı şehirlerde bulunan karmaşık üretimdir (veya bir süpermarket zinciri). Her işletme "kendi" verilerini biriktirir. İşletmelerin her birinin hem kendi hem de diğer işletmelerin verilerine aynı verilere erişmesi gerekir. Bu sorunun çözümü, bir mekanizma ile bir bilgisayarda bir yerel veritabanı oluşturmak olabilir uzaktan erişim. Ancak, bu çözüm mantıksızdır, çünkü yalnızca DBMS'nin bulunduğu kuruluşun istemci bilgisayarları verilere hızlı erişim sağlar. Bu soruna başka bir çözüm, her kuruluşta kendi DBMS kopyasını oluşturmak olabilir. Bu durumda, kopyalar arasında veri senkronizasyonu zorlaşır (özellikle Habarovsk'ın çalışma gününün en yüksek olduğu ülkemizde ve Moskova'da derin bir gece olabilir). Bu durumda dağıtılmış bir DBMS, farklı veritabanlarında veri depolandığında, erişildiğinde farklı veritabanı kümesinin bir veritabanı gibi görüneceği bir mekanizma sağlar. Daha sonra sıklıkla kullanılan veriler (“kendi” verileri) veritabanında işletmenin bulunduğu kısımda bulunur. Ve gerekirse, "yabancı" verilere bakın, DBMS uzak DBMS'ye bir istekte bulunur ve oradan veri alır. İstemci açısından farklı bilgisayarlarda farklı veritabanları kümesi bir veritabanı gibi görünüyor.

Veritabanına erişim yöntemi ile sınıflandırma

Veritabanlarının erişim yöntemi ile sınıflandırılması, Şekil 2'de gösterilmektedir. 6.5.


Ana bilgisayar veritabanlarında, kullanıcı iş istasyonu bir metin veya grafik terminaldir ve tüm bilgiler DBMS ile aynı bilgisayarda işlenir.

Dosya sunucusu DBMS'sinde, veri dosyaları merkezi olarak dosya sunucusunda bulunur ve DBMS çekirdeği her istemci bilgisayarda bulunur. Verilere erişim yerel bir ağ üzerinden yapılır. Okumalar ve güncellemeler dosya kilitleri ile senkronize edilir. Bu mimarinin avantajı, sunucu CPU'sundaki düşük yüktür ve dezavantaj, yerel ağdaki yüksek yüktür.

İstemci-sunucu DBMS'leri, istemci bölümü (uygulama programının bir parçası olan) ve sunucudan oluşur. İstemci-sunucu DBMS'leri, dosya-sunucudakilerin aksine, kullanıcılar arasında erişim kontrolü sağlar ve ağı ve istemci makinelerini çok az yükler. Sunucu istemciye harici bir programdır ve gerekirse başka bir programla değiştirilebilir. İstemci-sunucu DBMS'lerin dezavantajı, sunucunun varlığı gerçeğidir (yerel programlar için kötüdür - gömülü DBMS'ler bunlarda daha uygundur) ve sunucu tarafından tüketilen büyük bilgi işlem kaynakları.

Gömülü DBMS, yerel bir makinede büyük miktarda verinin birleşik depolanmasına izin veren bir yazılım kütüphanesidir. Verilere erişim, sQL dili veya bir kullanıcı uygulamasından kütüphane fonksiyonlarını çağırarak. Gömülü DBMS'ler, normal istemci-sunucudan daha hızlıdır ve sunucu dağıtımını gerektirmez.

Bilgi işlem hızına göre sınıflandırma

Veritabanlarının bilgi işlem hızı ile sınıflandırılması Şek. 6.6.


Operasyonel (operasyonel) veya çalışan (üretim) veritabanları, bilgilerin talebi, geri alınması ve sunumu için yüksek yanıt oranlarına sahiptir.

Veri ambarları ve çok boyutlu veri ambarları (OLAP) çok büyük miktarda bilgiye sahip veritabanlarıdır ve sunumlarının hazırlanması oldukça fazla zaman alır.

DBMS İşlevleri

Veri soyutlama, veri sözlüğü yönetimi. DBMS'nin çalışması, veri öğelerinin tanımlarının ve ilişkilerinin (meta veriler) veri sözlüğünde depolanmasını sağlar. Buna karşılık, herhangi bir program verilere DBMS üzerinden erişir. Gerekli veri yapılarını ve ilişkilerini aramak için DBMS, her programda bu tür karmaşık ilişkilerin kodlanmasını önlemeye yardımcı olan bir veri sözlüğü kullanır. Ayrıca, veritabanı yapısında yapılan herhangi bir değişiklik otomatik olarak veri sözlüğüne kaydedilir, bu da programcıyı erişim programlarını değiştirilen veri yapılarına değiştirmek zorunda bırakmaz. DBMS veri soyutlaması sağlar, böylece sistemdeki yapısal bağımlılığı ve veri bağımlılığını ortadan kaldırır.

Depolama Yönetimi DBMS, veri depolamak, programcıları verilerin fiziksel özelliklerini tanımlamak ve programlamaktan kurtarmak için gerekli olan karmaşık yapıları oluşturur. Modern DBMS'ler yalnızca verilerin değil aynı zamanda veriler, rapor şemaları, veri doğrulama kuralları, prosedür kodu, multimedya işleme sistemleri, görüntü formatları vb. İle ilişkili ekran formlarının da depolanmasını sağlar.

Verilerin dönüştürülmesi ve sunumu. DBMS, giriş verilerini yapılandırma ve bunları depolama için uygun bir forma dönüştürme görevini üstlenir. Bu nedenle, bu durumda DBMS, bir kişiyi, mantıksal veri formatını fiziksel bir formata dönüştürme rutin işinden de kurtarır. Veri bağımsızlığını sağlayan DBMS, mantıksal sorguları fiziksel konumlarını ve alınmalarını belirleyen komutlara dönüştürür. Böylece, DBMS yazılım bağımsızlığı ve veri soyutlaması sağlar.

Güvenlik Yönetimi. DBMS, veritabanı içinde kullanıcı koruması ve veri gizliliği sağlayan bir güvenlik sistemi oluşturur. Güvenlik kuralları, hangi kullanıcıların veritabanına erişebileceğini, kullanıcının hangi veri öğelerine erişebileceğini, kullanıcının hangi veri işlemlerini (okuma, ekleme, silme veya değiştirme) gerçekleştirebileceğini belirler.

Çok kullanıcılı erişim kontrolü. DBMS, aynı anda birkaç kullanıcının verilerine erişim sağlayan karmaşık yapılar oluşturur. Verilerin bütünlüğünü ve tutarlılığını sağlamak için DBMS, birden çok kullanıcının bütünlüğünü ihlal etme riski olmadan veritabanına aynı anda erişebilmesini sağlamak için karmaşık algoritmalar kullanır.

Yedekleme ve kurtarmayı yönetin. DBMS, güvenlik ve bütünlüklerini sağlamak için verileri yedekleme ve geri yükleme prosedürlerine sahiptir. Modern DBMS'ler özel araçlarHangi veritabanı yöneticileri tarafından düzenli ve acil yedekleme ve kurtarma prosedürleri gerçekleştirebilir. Veri kurtarma, veritabanı hasarından sonra, örneğin, sabit diskte bozuk bir sektör olması veya acil bir elektrik kesintisinden sonra gerçekleştirilir. Bu yetenek, veri bütünlüğünü sağlamak için gereklidir.

Veri Bütünlüğü Yönetimi. DBMS, veri bütünlüğünü sağlayan, veri artıklığını en aza indiren ve tutarlılıklarını sağlayan kurallar sağlar. Veri bütünlüğünü sağlamak için, veri sözlüğünde saklanan ilişkileri kullanılır.

Veri erişim dili ve uygulama programlama arayüzleri için destek. DBMS, sorgu dilini kullanarak verilere erişim sağlar. Sorgu dili yordamsal olmayan bir dildir, yani kullanıcıya nasıl yapılacağını belirtmeden ne yapılması gerektiğini belirleme olanağı sağlar. DBMS sorgu dili iki ana bileşenden oluşur: Veri Tanımlama Dili (DDL) ve Veri İşleme Dili (DML). DDL, verilerin barındırıldığı yapıları tanımlar ve DML, son kullanıcıların verileri


DB DBMS ayrıca programcılara COBOL, C, PASCAL, vb. Gibi üçüncü kuşak prosedür dillerinden gelen verilere erişim sağlar. DBMS, veritabanı yöneticilerine ve tasarımcılarına yönelik olan ve veritabanını uygulamak, izlemek ve bakımını yapmak için tasarlanmış yönetim yardımcı programları içerir.

Veritabanı ile etkileşim için arayüzler. Mevcut DBMS nesli, veritabanının ağa bağlı bir ortamda son kullanıcı isteklerini kabul edebilmesi için tasarlanmış özel etkileşim programları sağlar. Aslında, son kullanıcılar ve veritabanı arasındaki etkileşim olasılığı, modern DBMS'nin ayrılmaz bir bileşenidir. Örneğin, bir DBMS, harici bir arabirim olarak bir İnternet tarayıcısı kullanarak bir veritabanına erişmek için etkileşim işlevleri sağlar ( Mozilla Firefox, Opera veya Internet Explorer). Böyle bir ortamda, etkileşim birkaç şekilde gerçekleştirilebilir:

User son kullanıcı, seçtiği tarayıcıyı kullanarak ekran formlarını doldurarak isteklere cevap alabilir;

MS DBMS araçları, rapor formlarının Internet üzerinden yayınlanmasını otomatikleştirebilir, bu da raporları herhangi bir tarayıcıda vb. Görüntülemenize olanak tanır.

Veri modelleri

Bu alt bölüm DBMS'nin bir sınıflandırmasını sağlar ve ana işlevlerini tartışır. Ana sınıflandırma özellikleri olarak aşağıdakiler kullanılabilir: program türü, kullanım türü, veri modeli. Yukarıda bahsedilen özellikler, bir DBMS'nin hedef seçimini ve geliştirilen bilgi sistemini kullanma verimliliğini önemli ölçüde etkiler.

Veritabanı Yönetim Sistemi (DBMS)  - Bu, veritabanı tabanlı AIS'in kritik bir bileşenidir. Bir DBMS, bir bilgi sisteminin bir veritabanını algoritmik bir dilde (çevirmen) bir program geliştirmekle aynı ölçüde oluşturmak ve sürdürmek için gereklidir. DBMS'nin yazılım bileşenleri çekirdek ve servis araçlarını (yardımcı programları) içerir.

Veritabanı Altyapısı- Bu, bir veritabanı oluşturmak ve bakımını yapmak için gerekli ve yeterli olan bir dizi yazılım modülü, yani bilgi hizmetinin standart görevlerini kullanıcılara çözen evrensel bölümdür. Servis programları  açıklanan konu alanına ve belirli bir kullanıcının ihtiyaçlarına bağlı olarak kullanıcılara bir dizi ek özellik ve hizmet sunar.

DBMS sınıflandırması.

Genel olarak, bir DBMS, bir veritabanı oluşturma, sürdürme ve kullanma süreçlerini destekleyen herhangi bir yazılım ürünü olarak anlaşılabilir. Piyasada bulunan programlardan hangilerinin veri tabanı ile ve ne ölçüde veri tabanlarıyla ilişkili olduğunu düşünelim.

DBMS aşağıdaki ana program türlerini içerir:

Tam özellikli DBMS;

Veritabanı sunucuları;

Veritabanı istemcileri;

Veritabanlarıyla çalışmak için geliştirme araçları.

Tam özellikli DBMS  (PFSUBD) önce büyük makineler, sonra mini makineler ve kişisel bilgisayarlar için ortaya çıkan geleneksel DBMS'lerdir. Tüm DBMS'ler arasında, modern PFSBMS yetenekleri içinde en çok sayıda ve güçlü olanlardır. PFSBMS'ler, örneğin aşağıdakiler gibi paketleri içerir: Clarion Database Developer, DataBase, Dataplex, dBase IV, Microsoft Access, Microsoft FoxPro ve Paradox R: BASE.

PFSBMS genellikle temel veritabanı işlemlerini gerçekleştirmek için menü komutlarının kullanılmasına izin veren gelişmiş bir arayüze sahiptir: tablo yapıları oluşturma ve değiştirme, veri girme, sorgular oluşturma, raporlar geliştirme, bunları yazdırma vb. ve QBE dilini kullanmak uygundur (Örnekle Sorgu - modele göre sorgu ifadeleri, bkz. bölüm 3.8). Birçok SFSBMS, profesyonel geliştiriciler için programlama araçları içerir.

Bazı sistemler, veritabanı şemaları veya CASE-alt sistemleri tasarlamak için yardımcı ve ek araçlara sahiptir. Diğer veritabanlarına veya SQL sunucu verilerine erişim sağlamak için, tam özellikli DBMS'lerin isteğe bağlı modülleri vardır.


Veritabanı sunucuları  Bilgisayar ağlarındaki veri merkezlerini düzenlemek için tasarlanmıştır. Bu veritabanı grubu şu anda daha az sayıdadır, ancak sayıları giderek artmaktadır. Veritabanı sunucuları, genellikle SQL deyimlerini kullanarak diğer (istemci) programlar tarafından istenen veritabanı yönetimi işlevlerini uygular.

Veritabanı sunucularına örnekler şu programlardır: NetWare SQL (Novell), MS SQL Server (Microsoft), InterBase (Borland), SQLBase Server (Gupta), Akıllı Veritabanı (Ingress).

Rolde istemci programları  veritabanı sunucuları için, genel durumda, çeşitli programlar kullanılabilir: PFSBD'ler, elektronik tablolar, kelime işlemciler, e-posta programları, vb. Ayrıca, istemci-sunucu çiftinin öğeleri bir veya daha fazla farklı üreticilere  yazılım.

İstemci ve sunucu parçalarının aynı firma tarafından yürütülmesi durumunda, aralarındaki işlevlerin dağıtımının rasyonel olarak gerçekleştirilmesini beklemek doğaldır. Diğer durumlarda, amaç genellikle verilere herhangi bir maliyetle erişimi sağlamaktır. Böyle bir bağlantının bir örneği, tamamen işlevsel DBMS'lerden birinin bir sunucu rolünü oynadığı ve ikinci DBMS'nin (başka bir üreticinin) istemcinin rolünü oynadığı durumdur. Bu nedenle, bir SQL Server (Microsoft) veritabanı sunucusu için, birçok DBMS istemci (ön uç) programlar gibi davranabilir, örneğin: dBASE IV, Biyth Yazılımı, Paradox, DataEase, Focus, 1-2-3, MDBS III, Vahiy ve diğerleri.

Veritabanı Geliştirme Araçları aşağıdaki programların çeşitlerini oluşturmak için kullanılabilir:

İstemci programları;

Veritabanı sunucuları ve tek tek bileşenleri;

Kullanıcı uygulamaları.

Birinci ve ikinci tür programlar, esas olarak sistem programcılarına yönelik oldukları için sayıca oldukça azdır. Üçüncü türden çok daha fazla paket var, ancak tam özellikli DBMS'lerden daha az paket var.

Özel uygulama geliştirme araçları arasında Clipper gibi programlama sistemleri, çeşitli programlama dilleri için çeşitli program kitaplıkları ve geliştirme otomasyon paketleri (istemci-sunucu sistemleri dahil) bulunur. En yaygın olanları şunlardır: Delphi ve Power Builder (Borland), Visual Basic (Microsoft), SILVERRUN (Computer Advisers Inc.), S-Designor (SDP ve Powersoft) ve ERwin (LogicWorks).

Bu araçlara ek olarak, verileri yönetmek ve veritabanı bakımını düzenlemek için çeşitli ek araçlar kullanılır, örneğin işlem monitörleri

DBMS kullanımının doğası gereği kişisel ve çok kullanıcılı olarak ayrılmıştır.
Kişisel veritabanı yönetim sistemi  genellikle kişisel veritabanları ve bunlarla çalışan düşük maliyetli uygulamalar oluşturma yeteneği sağlar. Kişisel DBMS'ler veya yardımlarıyla geliştirilen uygulamalar genellikle çok kullanıcılı bir DBMS'nin istemci kısmı olarak işlev görebilir. Kişisel DBMS, örneğin, Visual FoxPro, Paradox, Clipper, dBase, Access vb.

Çok kullanıcılı DBMS  veritabanı sunucusunu ve istemci bölümünü içerir ve kural olarak heterojen bir hesaplama ortamında çalışabilir ( farklı şekiller  Bilgisayarlar ve işletim sistemleri) Çok kullanıcılı DBMS'ler, örneğin Oracle ve Informix DBMS'leri içerir.

Kullanılan veri modeline göre, DBMS'ler (veritabanları gibi) hiyerarşik, ağ, ilişkisel, nesne yönelimli ve diğer türlere ayrılır. Bazı DBMS'ler aynı anda birden çok veri modelini destekleyebilir.

Kullanıcı açısından DBMS, bilgileri saklama, değiştirme (yenileme, düzenleme ve silme) ve işlemenin yanı sıra çeşitli çıktı belgeleri geliştirme ve alma işlevlerini uygular.

Veritabanında depolanan bilgilerle çalışmak için DBMS, programlar ve kullanıcılar için aşağıdaki iki tür dili sağlar:

Veri tanımlama dili - verilerin mantıksal yapısını tanımlamak için tasarlanmış, üst düzey, işlemsel olmayan bir bildiri tipi dil;

Veri işleme dili, verilerle çalışmak için temel işlemlerin uygulanmasını sağlayan bir dizi yapıdır: giriş, değişiklik ve istek üzerine verilerin seçimi.

Farklı DBMS'lerde adlandırılan diller farklı olabilir. En yaygın olarak kullanılan iki dil kullanılmaktadır: QBE (Örnekle Sorgu) - örneğe göre sorgu dili ve SQL (Yapılandırılmış Sorgu Dili) - yapılandırılmış sorgu dili. QBE'nin temel olarak dil özellikleri vardır hile  SQL, her iki dil türünün özelliklerini birleştirir - açıklamalar ve manipülasyonlar  veri.

Yukarıda listelenen DBMS işlevleri, daha düşük bir seviyenin aşağıdaki temel işlevlerini kullanır; bu işlev, düşük düzey olarak adlandırırız:

Harici bellekte veri yönetimi;

RAM arabellek yönetimi;

İşlem yönetimi;

Veritabanındaki değişiklikleri günlüğe kaydetme;

Veritabanının bütünlüğünü ve güvenliğini sağlamak. Bu işlevlerin modern DBMS'de uygulanmasının gerekliliği ve özelliklerinin kısa bir açıklamasını veriyoruz.

İşlev uygulaması harici bellekte veri yönetimi  en farklı sistemler  kaynak yönetimi düzeyinde farklılık gösterebilir ( dosya sistemleri  İşletim sistemi veya PC cihazlarının doğrudan kontrolü) ve veri yönetimi algoritmalarının mantığına göre. Temel olarak, veri yönetimi yöntemleri ve algoritmaları DBMS'nin "iç meselesi" dir ve kullanıcı ile doğrudan bir ilişkisi yoktur. Bu işlevin uygulama kalitesi, örneğin büyük veritabanları, karmaşık sorgular ve büyük miktarda veri işleme ile belirli IS'lerin performansını en güçlü şekilde etkiler.

Veri arabelleğe alma ihtiyacı ve uygulamanın bir sonucu olarak tampon yönetim fonksiyonları  RAM, RAM miktarının harici bellek miktarından daha az olmasından kaynaklanmaktadır.

tamponlar RAM alanları harici ve RAM arasındaki alışverişi hızlandırmak için tasarlanmıştır. Veritabanının parçaları geçici olarak arabelleklerde saklanır, verilerin DBMS'ye erişilirken kullanılması veya işlendikten sonra veritabanına yazılması planlanır. İşlem mekanizması, veritabanındaki veri bütünlüğünü korumak için DBMS'de kullanılır.

işlem  DBMS tarafından başından sonuna kadar izlenen veritabanı verilerinde bölünmez işlemler dizisi olarak adlandırılır. Herhangi bir nedenle (çökmeler ve donanım hataları, uygulama da dahil olmak üzere yazılımdaki hatalar) işlem tamamlanmazsa, iptal edilir.

İşlemlerin üç temel özelliği olduğu söylenir:

Atomisite (işleme dahil edilen tüm işlemler yapılır veya hiç yapılmaz);

Serileştirilebilirlik (aynı anda gerçekleştirilen işlemlerin karşılıklı bir etkisi yoktur);

Dayanıklılık (sistemin çökmesi bile sabit bir işlemin sonuçlarının kaybına yol açmaz).

Bir işlem örneği bankacılık sisteminde bir hesaptan diğerine para aktarma işlemidir. Bu en az iki adımlı bir işlem gerektirir. Önce bir hesaptan para çekerler, sonra başka bir hesaba eklerler. İşlemlerden en az biri başarılı olmazsa, işlemin sonucu yanlış olur ve hesaplar arasındaki denge bozulur.

İşlemlerin paralel olarak gerçekleştirilebildiği tek kullanıcılı ve çok kullanıcılı DBMS'lerde işlem kontrolü önemlidir. İkinci durumda, işlemlerin serileştirilebilirliği hakkında konuşurlar. Paralel işlemlerin seri hale getirilmesi, işlemlerin uygulanmasının toplam etkisinin sıralı yürütme etkisine eşdeğer olduğu, yürütülmesi için böyle bir planın hazırlanması (seri plan) olarak anlaşılmaktadır.

İşlem karışımı paralel olarak yürütüldüğünde, çözünürlüğü DBMS işlevi olan çakışmalar (kilitler) oluşabilir. Bu gibi durumlar tespit edildiğinde, genellikle bir veya daha fazla işlem tarafından yapılan değişiklikler iptal edilerek geri alma yapılır.

Günlük Kaydını Değiştir  veritabanında (değişiklik kaydı), donanım hataları ve arızaları ile yazılımdaki hataların varlığında veritabanındaki veri depolamasının güvenilirliğini sağlamak için bir DBMS gerçekleştirilir.

DBMS günlüğü, kullanıcı tarafından doğrudan erişilemeyen özel bir veritabanı veya ana veritabanının bir parçasıdır ve veritabanındaki tüm değişiklikler hakkında bilgi kaydetmek için kullanılır. Çeşitli DBMS'lerde kayıtlar, DBMS'deki farklı düzeylerde değişikliklere karşılık gelen günlüğe girilebilir: harici bellek sayfasını değiştirmenin minimum dahili işleminden bir veritabanını değiştirmenin mantıksal işlemine (örneğin, bir kayıt ekleme, bir sütunu silme, bir alandaki bir değeri değiştirme) ve hatta işlemler.

Veritabanında bir değişiklik günlüğü tutma işlevinin etkili bir şekilde uygulanması için, derginin kendisinin depolanması ve bakımı için artan güvenilirlik sağlamak gerekir. Bazen bunun için günlüğün birkaç kopyası sistemde saklanır.

Bütünlük  Veritabanı, özellikle veritabanının ağlarda kullanılması durumunda, veritabanının başarılı bir şekilde çalışması için gerekli bir koşuldur. DB bütünlüğü, bir veritabanı özelliği vardır; bu, tam, tutarlı ve konu alanı bilgilerini yeterince yansıtan içerdiği anlamına gelir.

Veritabanının bütünlüğünün korunması, veri tabanındaki tutarsızlıklar durumunda bütünlüğün ve geri yüklenmesinin kontrol edilmesini içerir. Veritabanının bütünlüğü, bütünlük kısıtlamaları  veritabanında saklanan veriler tarafından yerine getirilmesi gereken koşullar şeklinde. Bu tür koşullara bir örnek, veritabanında depolanan bilgiler veya ilişkisel veritabanları tablolarında yinelenen girişlerin bulunmaması, nesnelerin özniteliklerinin olası değerlerinin aralıklarının sınırlandırılmasıdır.

Güvenlik  DBMS'de uygulamalar, veriler, parola koruması, veritabanına ve tek tek öğelerine (tablolar, formlar, raporlar vb.) erişim düzeylerini destekleyerek şifrelenir.

Algoritmik bir dilde yazılmış bir program, makine dilinde yazılmış bir nesne modülüne dönüştürülmelidir ( ikili kodlar) Böyle bir dönüşüm çevirmenler tarafından yapılır (Assembler'den derleyici ve üst düzey dillerden derleyiciler). Bazı algoritmik diller için, bir nesne modülü oluşturmayan, ancak program her yürütüldüğünde, her bir satır veya operatör makine diline çevrilir. Nesne modülü, yükleyici bağlantı editörü tarafından işlenebilir ve yürütülebilir bir makine programına dönüştürülür.

Hata ayıklama araçları, programları izlemenize (yürütme sonuçları hakkında bilgi çıkışı ile adım adım yürütme), programın sözdizimini ve kesme noktalarındaki ara sonuçları denetlemenize ve bu noktalardaki değişkenlerin değerlerini değiştirmenize olanak tanır.

Teknik ve servis sistemleri yazılım  bir bilgisayarın, disklerin vb. sağlığını izleme, tanılama ve geri yükleme.

Uygulama yazılımı kullanıcı görevlerine bir çözüm sunar. Buradaki anahtar kavram uygulama paketidir.

Uygulama paketi, belirli bir konu veya konudaki bir dizi görevi çözmek için kullanılan bir program koleksiyonudur. Aşağıdaki uygulama paketi türleri ayırt edilir:

genel amaç - çok çeşitli kullanıcı görevlerinin otomasyonuna odaklanmıştır (kelime işlemciler, elektronik tablolar, veritabanı yönetim sistemleri, grafik işlemciler, yayın sistemleri, tasarım otomasyon sistemleri vb.);

yöntem odaklı - problemleri çözmek için çeşitli ekonomik ve matematiksel yöntemlerin uygulanması (matematiksel programlama, ağ planlama ve yönetimi, kuyruk teorisi, matematiksel istatistikler, vb.);

sorun odaklı - belirli bir konu alanında (banka paketleri, muhasebe paketleri, finansal yönetim, yasal referans sistemleri, vb.) belirli bir problemi (problemi) çözmeyi amaçlamaktadır.

Uygulama yazılımı, kullanıcı için uygun bir çalışma ortamı düzenlemek ve yardımcı işlevleri (bilgi yöneticileri, çevirmenler, vb.) Gerçekleştirmek için kullanılan servis yazılımı araçlarını içerir.

    Uzmanlaşmış profesyonel odaklı yazılım araçlarının ana türleri.

Başlıca uzman yazılım türleri.

Bu tür yazılımlar o kadar çeşitlidir (insan toplumunun faaliyeti ve bilgisayar teknolojisinin uygulama alanı ne kadar çeşitlidir), açık bir sınıflandırma yapmak oldukça zordur. Kural olarak, bunlar bilgi problemlerini çözmek ve belirli bir alanda karar almayı desteklemek için çok işlevli ve entegre yazılım sistemleridir. Bu sınıfın en çok bilinen yazılım araçlarından aşağıdaki sistemler ayırt edilebilir.

Entegre ofis çalışma sistemleri, yöneticinin işyerini otomatikleştirmek için kullanılan yazılım araçlarıdır. Bu tür sistemlerin ana işlevleri, en basit belgeleri oluşturma, düzenleme ve biçimlendirme, e-posta, faks ve telefon iletişimi işlevlerini merkezileştirme, şirketin iş akışını zamanlama ve izleme, departmanların faaliyetlerini koordine etme, idari ve ekonomik faaliyetleri optimize etme ve talep üzerine operasyonel ve referans bilgilerini sağlama işlevlerini içerir.

Muhasebe sistemleri, metin ve tablo editörleri, elektronik tablolar ve veritabanı yönetim sistemlerinin işlevlerini birleştiren özel sistemlerdir. İşletmenin birincil muhasebe belgelerinin hazırlanmasını ve bunların muhasebesini otomatikleştirmek, muhasebe planının hesaplarını tutmak ve vergi makamlarına, bütçe dışı fonlara ve kurumlara sunulmak üzere kabul edilen formdaki üretim, ekonomik ve finansal faaliyetlerin sonuçları hakkında otomatik olarak düzenli raporlar hazırlamak için tasarlanmıştır. istatistiksel muhasebe.

Teorik olarak, muhasebe sistemlerinin karakteristik tüm fonksiyonları yukarıda listelenen diğer yazılım araçlarıyla gerçekleştirilebilmesine rağmen, farklı araçların bir sisteme entegrasyonu nedeniyle muhasebe sistemlerinin kullanımı uygundur. Bir kuruluşta otomatik bir muhasebe sisteminin kullanılmasına karar verirken, düzenleyici çerçeveyi değiştirirken uyum araçlarının kullanılabilirliği ihtiyacını dikkate almak gerekir. Bu alanda Rusya'daki düzenleyici çerçevenin son derece dengesiz olması ve sık değişikliklere tabi olması nedeniyle, sistemin esnek yeniden yapılandırılması olasılığı zorunlu bir işlevdir, ancak bu gelişmiş sistem kullanıcıları gerektirir.

Finansal analitik sistemler, finansal, emtia ve emtia piyasalarındaki durumu kontrol etmenizi ve tahmin etmenizi, güncel olayları analiz etmenizi, raporlar ve raporlar hazırlamanızı sağlar.

Coğrafi bilgi sistemleri (CBS), topografik veya havacılık yöntemleriyle elde edilen bilgilere dayanarak kartografik ve jeodezik işlemleri otomatikleştirmek için tasarlanmıştır.

Video düzenleme sistemleri, video malzemelerinin dijital olarak işlenmesini sağlar.

Uygulamalı yazılım araçlarının kendi geliştirilmiş iç sınıflandırma sistemleriyle ayrı kategorileri eğitim, gelişim, referans eğlence sistemleri ve programlarını temsil eder. Bu yazılım sınıflarının karakteristik bir özelliği, multimedya bileşeni için artan gereksinimlerdir (müzik kompozisyonlarının kullanımı, grafik animasyon ve video materyallerinin araçları).

Bilgisayar destekli tasarım sistemleri (CAD sistemleri), tasarımcının (veya mimarı) yaratıcı olmayan çalışmalardan kurtaran tasarımın tüm aşamalarında teknik koşulları, normları ve kuralları otomatik olarak sağlama yeteneği ile ayırt edilir. Örneğin, makine mühendisliğinde CAD sistemleri, ürünün montaj çizimine dayanarak, parçaların çalışma çizimlerini otomatik olarak yürütebilir, işleme geçişlerinin sırasını gösteren gerekli teknolojik belgeleri hazırlayabilir, gerekli araçları, takım tezgahlarını ve kontrol cihazlarını atayabilir ve ayrıca kontrol programları hazırlayabilir sayısal program kontrollü (CNC) takım tezgahları, endüstriyel robotlar ve esnek otomatik hatlar için. Günümüzde, bilgisayar destekli tasarım sistemleri, esnek üretim sistemlerinin (GPS) ve otomatik proses kontrol sistemlerinin (APCS) uygulanmasının etkinliğinin kaybolduğu gerekli bir bileşendir.

Uzman sistemler, bilgi tabanlarında yer alan verileri analiz etmek ve kullanıcının talebi üzerine önerilerde bulunmak için kullanılır. Bu tür sistemler, ilk verilerin iyi resmileştirildiği durumlarda kullanılır, ancak karar vermek için kapsamlı özel bilgi gereklidir.

Uzman sistemlerin karakteristik bir özelliği, kendi kendilerini geliştirme yetenekleridir. Kaynak veriler, bilgi uzmanında, uzman uzmanların yardımıyla belirli bir ilişki sisteminin kurulduğu gerçekler şeklinde saklanır. Uzman sistemi test etme aşamasında, belirli konularda yanlış öneriler ve sonuçlar verdiği veya hiç veremediği tespit edilirse, bu ya temelde önemli gerçeklerin yokluğu ya da mantıksal ilişkiler sisteminde bir ihlal olduğu anlamına gelir. Her iki durumda da, uzman sistemin kendisi uzman için yeterli sayıda sorgu oluşturabilir ve kalitesini otomatik olarak artırabilir.

Uzman sistemlerin tipik kullanım alanları hukuk, tıp, farmakoloji, kimyadır. Hastalık belirtilerinin bütünlüğüne dayanarak, tıbbi uzman sistemleri tanı koymaya ve ilaçları, dozajı ve tedavi programını reçete etmeye yardımcı olur. Bir olayın işaretlerinin bütününe dayanarak, yasal uzman sistemler yasal bir değerlendirme yapabilir ve hem suçlayan taraf hem de savunucu için bir eylem önerisi sunabilir. Uzman sistemlerin kullanımı, bilgi mühendisliği adı verilen özel bir bilimsel ve teknik faaliyet alanını içerir. Bilgi mühendisleri, uzman sistemin geliştiricileri (programcılar) ile bilim ve teknolojinin belirli alanlarında (uzmanlar) önde gelen uzmanlar arasında ara bağlantı görevi gören özel niteliklerin uzmanlarıdır.

    Elektronik tablo oluşturma genel ilkeleri.

Elektronik sayfalarda, işlenen tüm bilgiler dikdörtgen bir tablonun hücrelerinde bulunur. Bir e-tablo ile basit bir arasındaki fark, değerlerinin kaynak verilerin bulunduğu diğer alanların değerleri aracılığıyla hesaplanan alanlara sahip olmasıdır. Bu, kaynak veriler değiştiğinde otomatik olarak gerçekleşir. Kaynak verilerin bulunduğu tablonun alanlarına bağımsız alanlar denir. Hesaplama sonuçlarının kaydedildiği alanlara bağımlı veya hesaplanan alanlar denir. Elektronik tablonun her hücresinin, bulunduğu sütun ve satır numarası adına oluşturulan kendi adresi vardır. Satırlar numaralandırılmıştır ve sütunlar Latin alfabesinin harfleri ile belirtilmiştir. E-tablolar büyük. Örneğin, IBM uyumlu bilgisayarlarda en sık kullanılan Excel elektronik tablosunda 256 sütun ve 16.384 satır bulunur. Bu boyuttaki bir tablonun ekrana sığmayacağı açıktır. Bu nedenle, ekran yalnızca tablonun sadece bir bölümünü görebileceğiniz bir penceredir. Ancak bu pencere hareket eder ve onunla masanın herhangi bir yerine bakabilirsiniz. Bir elektronik tablonun çeşitli çalışma modları vardır: tablo oluşturma, düzenleme, formüllerle hesaplama, bilgileri bellekte depolama, grafik ve çizelgeleri çizme, verilerin istatistiksel işlenmesi, özelliğe göre sıralama. Bağımlı alanların değerlerinin hesaplandığı formüller arasında sayılar, tablo hücrelerinin adresleri, işlem belirtileri bulunur. Elektronik sayfalarla çalışırken, kullanıcı belirli hesaplamalar için önceden hazırlanmış ve bilgisayarın belleğine girilen yerleşik formülleri kullanabilir. Çoğu tablo işlemcisi, tabloyu bazı özelliklere göre, örneğin azalan sırada düzenlemenize olanak tanır. Elektronik tablo ayrıca tabloda yer alan sayısal bilgilerin grafiksel sunumunu sağlayan grafiksel bir çalışma modu sağlar.

    DBMS oluşturmanın genel ilkeleri.

Halihazırda, verilerin toplanmasını ve işlenmesini otomatikleştirmenizi sağlayan bir bilgi sistemi olmadan çeşitli kuruluş girişimlerinin işleyişi mümkün değildir. Gerekli bilgileri içeren verileri saklamak ve bunlara erişmek için bir veritabanı oluşturulur.

Veri entegrasyonu kavramına dayanan modern bilgi sistemleri, büyük miktarda depolanmış veri, karmaşık organizasyon ve çok sayıda kullanıcının çeşitli gereksinimlerini karşılama ihtiyacı ile karakterizedir.

Herhangi bir bilgi sisteminin amacı, gerçek dünyanın hacimleri hakkındaki verileri işlemektir. Geniş anlamda bir veritabanı, herhangi bir konu alanındaki gerçek dünyanın belirli nesneleri hakkında bilgi topluluğudur. Konu alanına göre, yönetim ve otomasyonu organize etmek için incelenecek gerçek dünyanın (girişim veya üniversite) bir kısmını anlamak gelenekseldir.

"Veritabanı" teriminin birkaç terimi vardır. Çelişkili değillerdir, ancak bir kavram üzerinde farklı bakış açılarını temsil ederler. Onlardan biri üzerinde duralım:

Veritabanı - Konu alanının bilgisayar belleğinde saklanan ve genel tanımlama, depolama ve manipülasyon genel ilkelerini belirleyen kurallara göre birbirine bağlanan bir dizi veri şeklinde bir bilgi modeli.

Bilgi modeli altında belirli bir hedefe göre seçilen ve yapılandırılan nesne hakkındaki bilgileri anlayın.

Veri modeli - bir veritabanındaki mantıksal yapı türlerini belirleme yöntemleri, veri işleme yöntemleri ve veritabanı bütünlüğünü belirleme ve koruma yöntemleri de dahil olmak üzere, DBMS'de veri sunma ve işleme yöntemlerinin açıklaması.

İlk veritabanları dosya sistemleri temelinde oluşturulmuştur ve onlarla çalışmanın tüm sorumluluğu bu veritabanlarını kullanan uygulama yazılımına aittir. Dosya veritabanları artık pratikte kullanılmamaktadır. Modern veritabanı teknolojisinde, bir veritabanı oluşturulması, desteğinin ve kullanıcının ona erişiminin sağlanması, özel bir yazılım araçları olan bir veritabanı yönetim sistemi kullanılarak merkezi olarak yürütülür.

Veritabanı Yönetim Sistemi (DBMS), kullanıcılar tarafından bir veritabanı oluşturmak, sürdürmek ve kullanmak için tasarlanmış bir dil ve yazılım araçları kompleksidir.

Modern veritabanı sunucularının bileşimi, yüksek düzeyde her türlü geliştirme aracını ve kullanıcı etkileşim mekanizmalarını içerir. Kullanıcı uygulamaları olan bu geliştirme araçları, DBMS olarak çalışan uygulamalar oluşturmanıza olanak tanır.

DBMS, birçok insanın katıldığı, hem bu programlara hizmet veren hem de çalışmalarının sonucunu kullanan bir yazılım araçları kompleksidir.

Yazılım, veritabanı yönetim sisteminin işleyişinde kullanılan tüm bilgisayar programlarını içerir. Bir DBMS'nin tüm işlevlerini yerine getirmek için üç tür yazılım gerekir: 1) sistem yazılımı (ekipmanın tüm bileşenlerini yönetir ve bilgisayarda çalışan diğer tüm uygulamalar için ona erişim sağlar);

2) DBMS yazılımı (veritabanını yönetir, DBMS işlevlerini gerçekleştirir);

3) uygulama programları ve yardımcı programları (verilere erişim elde etmek ve onları ortamda manipüle etmek için tasarlanan uygulama programları, veritabanında depolanan verileri raporlar ve tablolar şeklinde temsil eder).

DBMS yazılımı ara katman yazılımı olarak sınıflandırılır.

İşlevsel görevleri temel alırsak, DBMS'de altı ana grup ayırt edilebilir:

1) Sistem yöneticileri - sorumludur ve yazılımın güvenilir şekilde çalışmasını sağlar

2) Veritabanı yöneticileri - DBMS'nin çalışmasını sağlayın ve yönetin, kayıtlar oluşturun, veri depolama güvenilirliği ile ilgili prosedürleri gerçekleştirin (hakları atayın, erişimi kısıtlayın)

3) Sistem analizi - veri, uygulama ve raporların yapısının sistematikleştirilmesi konusunda çalışmalar yapmak

4) Veritabanı tasarımcıları - DBMS yapısını tasarlar

5) Programcılar - uygulama yazılımı geliştirmek

6) Son kullanıcılar - günlük işlemleri gerçekleştirmek için uygulama programları uygulayın.

Veritabanı şunları içerir:

1) veri (veritabanında depolanan tüm gerçek materyaller). Yapılandırılacak hammaddeler ham

2) meta veriler (sistem kataloğunun içeriği). Tabloların adları ve yapısı, kullanıcı hakları, kısıtlama türleri ve diğer veritabanı nesneleri hakkındaki bilgileri temsil ederler.

3) prosedürler - sistemin önemli bir bileşeni. İşletme içinde ve müşterilerle ilişkilerde ticari, teknolojik ve endüstriyel-teknik faaliyetler yürütmek için standartlar belirlemek

DBMS sınıflandırması

Kabul edilen model türüne göre:

1) hiyerarşik - veritabanı nesneleri arasındaki bağlantı ters bir ağaç oluşturur, yani. altta yatan her bir hiyerarşi öğesi yalnızca yukarıda bulunan bir öğeye bağlıdır

2) ağ - veri nesneleri arasındaki iletişim herhangi bir sırada kurulabilir

3) ilişkisel - veritabanındaki her veri birimi tablo adı, kayıt tanımlayıcısı ve alan adı ile benzersiz bir şekilde belirlenir

4) nesne-ilişkisel - veritabanı motoru üzerinde dil uzantıları ve yazılım eklentileri biçiminde veri yapıları oluşturmak için nesneye yönelik mekanizmalar içerir

5) nesne yönelimli - üç ilkenin birleşimine dayanır: ilişkisel bir model, nesneleri ve ilkeleri tanımlama standartları

nesne yönelimli programlama

Mimariye göre:

yerel veritabanları (tüm veriler ve DBMS nesneleri tek bir bilgisayarda bulunur) ve dağıtım veritabanları (çeşitli veri parçaları ve DBMS nesneleri farklı bilgisayarlarda bulunur)

Veritabanına erişim yöntemiyle:

2) dosya sunucusu - her istemci bilgisayarda bulunur ve verilere yerel ağ üzerinden erişilir

3) istemci-sunucu - kullanıcı arasında erişim kontrolü sağlamak ve ağ ve makineleri biraz yüklemek

4) yerleşik - bir yazılım kütüphanesidir. Verilere SQL'deki bir sorgu yoluyla veya bir uygulamadan kütüphane işlevleri çağrılarak erişilir

Hızı işleyerek:

İşletim (bilgi sorgulama, alma ve sağlama için yüksek hızlara sahip) ve veri ambarları (çok büyük miktarda bilgi içeren veritabanlarından bu yana önemli zaman alır)

DBMS aşağıdaki işlevleri gerçekleştirir:

1) veri soyutlama, veri sözlüğü yönetimi - gerekli veri yapılarını ve ilişkilerini bulmak için DBMS, her programda bu tür karmaşık ilişkilerin kodlanmasını önlemeye yardımcı olan bir veri sözlüğü kullanır.

2) Veri depolama yönetimi - DBMS, veri depolama için gerekli karmaşık yapıları oluşturur ve programcıların verilerin fiziksel özelliklerini tanımlamasını ve programlamasını engeller

3) Veri dönüştürme ve sunma - DBMS, giriş verilerini yapılandırma ve depolama için uygun bir forma dönüştürme görevini üstlenir. Veri bağımsızlığını sağlayan DBMS, mantıksal sorguları fiziksel konumlarını ve alınmalarını belirleyen komutlara dönüştürür

4) Güvenlik yönetimi - DBMS, veritabanı içinde kullanıcı koruması ve veri gizliliği sağlayan bir güvenlik sistemi oluşturur

5) Çok kullanıcılı erişim yönetimi - DBMS, aynı anda birkaç kullanıcının verilerine erişim sağlayan karmaşık yapılar oluşturur

6) Yedekleme ve kurtarma yönetimi - DBMS, güvenlik ve bütünlüklerini sağlamak için verileri yedekleme ve geri yükleme prosedürlerine sahiptir

7) Veri bütünlüğü yönetimi - DBMS, veri bütünlüğünü sağlamak için veri yedekliliğini en aza indiren ve tutarlılıklarını sağlayan kurallar sağlar

8) Veri erişim dili ve yumuşak programlama arayüzleri için destek - DBMS, sorgu dilini kullanarak verilere erişim sağlar (prosedür dışı dil, yani kullanıcıya nasıl yapılacağını belirtmeden ne yapılması gerektiğini belirleme olanağı sağlar)

9) Veritabanı etkileşim arabirimleri - DBMS'nin mevcut nesli, veritabanının bir ağ ortamında son kullanıcı isteklerini kabul edebilmesi için tasarlanmış özel etkileşim programları sağlar

Veritabanlarının tasarlanması ve bilgi sistemlerinin tasarlanması birkaç aşamadan oluşur. Önemli tasarım aşamalarından biri varlık-ilişki diyagramlarının oluşturulmasıdır. Bunu yapmak için varlıkları belirlemeniz, bunlara nitelikler eklemeniz, anahtarları ayarlamanız ve ilişkileri kullanarak varlıkları birleştirmeniz gerekir. Bütün bunlar elle, sadece uygun diyagramları kağıt üzerine çizerek yapılabilir. "Varlık bağlantısı" kavramının önerildiği o günlerde bunu yaptılar, ancak geliştirilmiş grafik arayüzlü bir bilgisayarla kağıt üzerine çizimler geçmişte kaldı. Oldukça hızlı bir şekilde, sadece varlık-ilişki paradigmasında modelleme yapmakla kalmayıp, aynı zamanda hemen hemen her ortak veritabanı sunucusu için oluşturulan modellere dayalı bir veritabanı şeması oluşturmaya izin veren bir dizi yazılım ürünü oluşturuldu.

Modern veritabanı sunucularının genellikle varlık-ilişki modeli veya veri şemaları oluşturmak için diğer araçlar için modelleme araçları ile donatıldığına dikkat edilmelidir.

İnsan faaliyetinin belirli bir konu alanına ait bir bilgi modeli oluşturmanın tüm incelikleri tek bir hedef peşinde - iyi bir veritabanı elde etmek. "İyi veritabanı" terimini açıklayalım ve yerine getirmesi gereken gereksinimleri formüle edelim:

1) Kullanıcıların (kuruluşların) bilgi ihtiyaçlarını ve yeteneklerini karşılamalı ve yapı ve içerik açısından çözülmesi gereken görevlere karşılık gelmelidir;

2) Gerekli verileri kabul edilebilir bir zamanda sağlamalıdır, yani performans gereksinimlerini karşılamalıdır;

3) Konu alanının yeniden düzenlenmesi sırasında daha büyük nesnelerin genişletilmesi veya entegre edilmesi kolay olmalıdır;

4) Yazılım ve donanım ortamını değiştirirken kolayca değiştirilmelidir;

5) Veritabanına yüklenen doğru veriler geçerli kalmalıdır (veriler girilirken verilerin doğruluğu kontrol edilmelidir).

Veritabanı yönetim sistemleri, birçok kuruluş ve işletme için çok önemlidir. Bilgi kaynaklarının korunması ve ustaca kullanılmasına ihtiyaç vardır. İşletme yönetiminin etkinliği, belge yönetiminin içinde nasıl rasyonel olarak düzenlendiğine de bağlıdır. Aslında, biriken bilgilerin (veya daha da kötüsü, kaybının) etkisiz kullanımı, işletmenin çökmesine neden olabilir. Sonuçta, zamanında veya bir belgede alınmayan bilgiler, her şeyden önce, para, zaman ve kaçırılan fırsatlardır. Bunun bir sonucu olarak, çeşitli belgelerle aktif çalışmanın yürütüldüğü herhangi bir kuruluşta, er ya da geç, önemli miktarda bilginin sistemleştirilmesi, işlenmesi ve güvenli bir şekilde saklanması sorunu ortaya çıkar. Her büyüklük ve profile sahip işletmelerin faaliyetlerini optimize etmede önemli bir rol, modern elektronik belge yönetim sistemleri tarafından oynanır.

    Bilgisayar ağlarının amacı ve çeşitleri.

Bir bilgisayar ağı, bilgi alışverişi ve ortak ağ kaynaklarına kullanıcı erişimi için tasarlanmış bir donanım ve yazılım kompleksi olarak anlaşılmaktadır.

Bilgisayar ağlarının temel amacı, kullanıcılara bilgi (veri tabanları, belgeler vb.) Ve kaynaklara (veri tabanlarına) ortak erişim sağlamaktır. sabit sürücüleryazıcılar, CD-ROM sürücüler, modemler, global ağa erişim, vb.).

Ağ aboneleri - bilgi üreten veya tüketen nesneler.

Ağ aboneleri bireysel bilgisayarlar, endüstriyel robotlar, CNC makineleri (sayısal kontrollü makineler) vb. Olabilir. Herhangi bir şebeke abonesi istasyona bağlanır.

Bilgisayar ağları türleri

Mevcut ağlar şu anda esas olarak bölgesel bazda bölünmüştür:

1. Yerel Alan Ağları (LAN - Alan Ağını Bul). Böyle bir ağ, 10 km'ye kadar bireysel bilgisayarlar arasında mesafe olan küçük bir alanı kapsar. Tipik olarak, böyle bir ağ aynı kurum içinde çalışır.

2. Küresel ağlar (WAN - Geniş Alan Ağı). Böyle bir ağ genellikle geniş alanları (bir ülkenin veya birkaç ülkenin toprakları) kapsar. Bilgisayarlar on binlerce kilometre aralıklı.

3. Bölgesel ağlar. Şehirde, bölgede benzer ağlar mevcuttur. Şu anda, bu tür ağların her biri bir küresel ağın parçasıdır ve küresel ağa göre özgüllük bakımından farklılık göstermemektedir.

iletişim kanalları - ulaşım veri ağı.

Temel özellikleri:

* Bant genişliği

* veri iletiminin güvenilirliği

Kanal veri hızı standartlaştırılmıştır. Ev içi iletişim kanallarında: 200, 300, 600, 1200, 2400, 4800, 9600, 12000, 24000, 48000, 96000 bps. 300 bite kadar kanallarda - düşük hız, 600 ila 4800 - ortalama hız, 4800 ve ötesinde - yüksek hız.

Yazılım

Verilerin uzaktan işlenmesi bu şema üzerinde organize edilmiştir ve işletim sistemine dahil olan yazılım araçlarıyla desteklenmektedir. İleti, bilgisayar tarafından iletişim kanalları aracılığıyla, örneğin daha sonra biriktirildiği ve düzenlendiği giriş kuyruğuna alınır ve teleişlemenin yardımıyla program kuyruğuna girer. Bir uygulama programı, bir mesaj kuyruğuna sıralı örneklemeli bir veri kümesi olarak atıfta bulunur, özel makrolar kullanılarak işlenmek üzere bir mesaj seçer. Buna karşılık, uygulama programı tarafından üretilen mesajlar, aynı zamanda, mikro komutlar yardımıyla, ancak farklı bir tipte, kanallara kuyruğa alınır, bundan sonra mesajlar düzenlenir ve daha sonra alındıkları sırada SC'ye gönderildikleri çıkış kuyruğuna gönderilir.

Böyle bir sistemde mesaj alma ve işleme süreçleri eşzamansız olarak ilerler. Şemanın özellikleri vardır: her şey senkronize olur. Bunun bir sonucu olarak, bilgisayar kontrolü olmayan kullanıcılar arasında mesaj alışverişini organize etmek mümkündür. Bu ek iletişim (1) ile yapılır, bu nedenle kullanıcılar arasında mesaj alışverişi uygulama programını atlar. Bunun sonucu olarak, ana görevlerin yerine getirilmesinde değişim süresi azalır ve bilgisayar performansı artar.

    Açık sistemlerin etkileşimi için bir referans modeli kavramı.

Farklı devrelerdeki bilgisayarlar arasında bilgi taşımak son derece zor bir iştir. 1980'lerin başında. Uluslararası Standardizasyon Örgütü (ISO) ve Uluslararası Telgraf ve Telefon Danışma Komitesi (CCITT), tedarikçilerin birlikte çalışabilir ağ uygulamaları geliştirmelerine yardımcı olabilecek bir ağ modeli ihtiyacını kabul etmiştir. Yakın işbirliği içinde, referans model "Açık Sistemler Bağlantısı" (EMVOS) geliştirilmiştir. EMVOS, bilgisayarlar arası iletişimin iletimi için hızlı bir şekilde ana mimari model oldu. Diğer mimari modeller (çoğunlukla tescilli) geliştirilse de, çoğu ağ sağlayıcısı, tedarik ettikleri ürünlerin kullanıcılarına eğitim bilgileri vermeleri gerektiğinde, bunlara referans modeliyle eşleşen bir ağ için ürünler olarak atıfta bulunurlar. Ve aslında, bu model en çok en iyi yolağ teknolojisini öğrenmek isteyenler tarafından kullanılabilir.

OSI ağ modeli 7 seviyeden oluşur ve geri sayımı alttan başlatmak gelenekseldir. 7. Uygulama katmanı (uygulama katmanı), ağ kullanıcılarının dosyalar, e-posta, köprü metni web sayfaları, yazıcılar gibi paylaşılan kaynaklara erişebildiği çeşitli protokoller kümesidir.

Bu seviyede, bilgisayarlar arasında değil, uygulamalar arasında etkileşim gerçekleşir: hangi dosyaların değiş tokuş edileceği ile ilgili bir model belirlenir, postaları ileteceğimiz, sanal bir terminal düzenleyeceğimiz kurallar belirlenir, ağ yönetimidizinleri. Örneğin: web'de gezinme (HTTP), dosya alma ve alma (FTP, TFTP), posta gönderme ve alma (SMTP, POP3).

6. Temsilci veya sunum katmanı (sunum katmanı) - veri sunumunun işlevleri (kodlama, biçimlendirme, yapılandırma) uygulanır. Örneğin, bu düzeyde, iletim için ayrılan veriler EBCDIC'den ASCII'ye vb. Dönüştürülür. 5. Oturum katmanı (oturum katmanı) - ağın nesneleri (istasyonları) tarafından yürütülen diyalogu düzenlemek ve senkronize etmek için tasarlanmıştır. Bu düzeyde, iletişim türü (dubleks veya yarı dubleks), görevlerin başlangıcı ve bitişi, etkileşen ortakların isteklerinin ve yanıtlarının sırası ve modu belirlenir.

Her site sahibi, sitenin düzgün çalışması için yalnızca sayfa kodu içeren dosyalara değil, aynı zamanda veritabanlarına da ihtiyacınız olduğunu bilir. Veritabanlarıyla etkileşim kurmak için veritabanı yönetim sistemleri (DBMS) kullanılır. Bu yazıda, veritabanlarının ve DBMS'nin, hangi çeşitlerin var olduğu ve birbirlerinden nasıl farklı oldukları hakkında konuşmak istiyorum.

Veri tabanı

Veritabanı, kural olarak birleştirici bir özellik veya özellik (veya birkaç) ile bağlanan belirli bir veri kümesidir. Bu veriler, örneğin alfabetik olarak sıralanmıştır. Tek bir veritabanına yerleştirilebilecek çeşitli verilerin bolluğu kaydedilebilecek birçok varyasyona yol açar: kişisel kullanıcı verileri, kayıtlar, tarihler, siparişler vb. Örneğin, bir çevrimiçi mağazanız varsa, sitenizin veritabanında fiyat listeleri, bir mal veya hizmet kataloğu, raporlar, istatistikler ve müşterilerle ilgili bilgiler bulunabilir.

Her şeyden önce, bu uygundur, çünkü bilgi veritabanına hızlı bir şekilde girilebilir ve gerektiği kadar çabuk alınabilir. Web geliştirmenin başlangıcında, sayfa koduna yazılması gereken tüm gerekli veriler, şimdi böyle bir ihtiyaç yoktur - gerekli bilgiler komut dosyaları kullanılarak veritabanından talep edilebilir. Veritabanlarında kullanılan bilgileri depolamak ve aramak için özel algoritmalar, ihtiyacınız olan bilgileri tam olarak bir saniyenin kesirlerinde bulmanıza olanak tanır - ve sanal alanda çalışırken, kaynağın hızı başka hiçbir şey gibi önemli değildir.

Veritabanındaki bilgilerin birbirine bağlanması da önemlidir: bir satırın değiştirilmesi diğer satırlarda önemli değişikliklere yol açabilir. Bu şekilde verilerle çalışmak, değişikliklerin veritabanında yalnızca bir yer olması durumunda olduğundan çok daha basit ve daha hızlıdır.

Ancak bu, her sitenin bir veritabanına sahip olması gerektiği anlamına gelmez - örneğin, bir kartvizit siteniz varsa ve sitede yeni bir bilgi yayınlamıyorsanız, sadece bir veritabanına ihtiyacınız olmayacaktır. Basit bir web sitesi yapmanın en kolay yolu oluşturmaktır.

Veritabanı Yönetim sistemi

Adından da tahmin edebileceğiniz gibi, bir veritabanı yönetim sistemi (veya kısaca DBMS), veritabanları oluşturmak ve bunlarla çalışmak için kullanılan bir yazılımdır. Bir DBMS'nin ana işlevi veri yönetimidir (hem harici hem de RAM'de olabilir). DBMS zorunlu olarak veritabanı dillerini destekler ve ayrıca herhangi bir arızadan sonra verilerin kopyalanmasından ve geri yüklenmesinden sorumludur.

Veritabanlarının sınıflandırılmasına gelince, çeşitli seçenekler vardır.
  Örneğin, veritabanını veri modelleri: hiyerarşik (ağaç yapısına sahip), ağ (yapıda hiyerarşik olarak benzer), ilişkisel (ilişkisel veritabanlarını yönetmek için kullanılır), nesne yönelimli (nesne veri modeli için kullanılır) ve nesne ilişkisel (ilişkisel ve nesne yönelimli bir tür birleşmeler) tür veritabanları).

Veya, bölüm dBMS nerede, yerel olarak ayrılabilirler - tüm DBMS bir bilgisayarda bulunur ve dağıtılır - veritabanı yönetim sisteminin bazı bölümleri birkaç bilgisayarda bulunur.

Dosya sunucusu, istemci sunucusu ve katıştırılmış - bunlar, bölündüğünüzde DBMS adlarıdır veritabanı erişim yöntemi. Dosya sunucusu DBMS'leri şu anda kullanılmamaktadır; temel olarak istemci-sunucu (DBMS, veritabanının kendisiyle birlikte sunucuda bulunur) ve gömülü (gerektirmez) ayrı kurulum) sistemleri.

Veritabanlarında depolanan bilgiler yalnızca metin veya grafik dosyalarıyla sınırlı değildir; DBMS'nin modern sürümleri ses ve video dosyası formatlarını da destekler.

Bu makalede, çeşitli web kaynaklarının bilgilerini depolamak için kullanılan DBMS'ye odaklanacağım.

Bu DBMS'lere neden ihtiyaç duyulmaktadır? Ana işlevine ek olarak - depolama ve sistemleştirme çok miktarda  Bilgi - müşteri isteklerini hızlı bir şekilde işlemenizi ve yeni ve alakalı bilgiler vermenizi sağlar.

Bu, yaptığınız değişiklikler için de geçerlidir - her site dosyasındaki bilgileri değiştirmek yerine, veritabanında değiştirebilirsiniz ve ardından her sayfada hemen doğru bilgiler görüntülenir.

İlişkisel DBMS ve SQL

İlişkisel ve nesneye bağlı DBMS'ler en yaygın sistemlerden bazılarıdır. Her sütunun (“alan” veya “alan” olarak adlandırılır) sipariş edildiği ve belirli bir benzersiz ada sahip olduğu tablolardır. Satırların sırası (“kayıt” veya “kayıt” olarak adlandırılır) tabloya bilgi girme sırası ile belirlenir. Bu durumda, sütunların ve satırların işlenmesi herhangi bir sırada gerçekleşebilir. Veri içeren tablolar özel ilişkilerle birbirine bağlanır, böylece farklı tablolardaki verilerle (örneğin, bunları birleştirerek) tek bir sorgu ile çalışabilirsiniz.

İlişkisel veritabanlarını yönetmek için özel bir programlama dili kullanılır - SQL. Kısaltma Rusça'ya "yapılandırılmış sorgu dili" olarak çevrilen "Yapısal sorgu dili" anlamına gelir.

SQL'de kullanılan komutlar, verileri işleyenlere, verileri tanımlayanlara ve verileri işleyenlere ayrılır.

Veritabanı ile çalışma şeması aşağıdaki gibidir:


MySQL

MySQL, birçok şirkette (örneğin, Facebook, Wikipedia, Twitter, LinkedIn, Alibaba ve diğerleri) kullanılan en popüler ve yaygın DBMS'lerden biridir. MySQL, özgür yazılımı ifade eden ilişkisel bir veritabanı yönetim sistemidir: GNU Kamu Lisansı koşulları altında dağıtılır. Kural olarak, bu veritabanı yönetim sistemi, küçük veya orta ölçekli projelerde kullanılması önerilen iyi, hızlı ve esnek bir sistem olarak tanımlanır. MySQL'in birçok farklı avantajı vardır. Örneğin, farklı şekiller  tablolar: hem iyi bilinen MyISAM hem de InnoDB'nin yanı sıra daha egzotik HEAP ve MERGE; Ayrıca, desteklenen türlerin sayısı sürekli artmaktadır. MySQL tüm komutları hızlı bir şekilde yürütür - belki de şimdi mevcut olanların en hızlı DBMS'sidir. Sınırsız sayıda kullanıcı bu veritabanı yönetim sistemi ile aynı anda çalışabilir ve tablolardaki satır sayısı 50 milyona eşit olabilir.

MySQL, diğer DBMS'lere kıyasla daha az özelliği desteklediğinden, bununla çalışmak, örneğin aşağıda açıklanan PostgreSQL'den çok daha basittir.

MySQL'in ilk versiyonu 1995 yılında piyasaya sürüldü ve o zamandan beri her biri önemli değişiklikler getiren birkaç sonraki sürüm yayınlandı.

MySQL ile çalışmak için sadece metinsel değil, aynı zamanda grafiksel mod da kullanılır. Bu phpMyAdmin uygulaması sayesinde mümkündür: uygulamada çalışmak için SQL komutlarını bilmenize bile gerek yoktur ve veritabanınızı doğrudan tarayıcı üzerinden yönetebilirsiniz.

Genel olarak, MySQL'in küçük veya orta ölçekli bir proje için DBMS'ye ihtiyaç duyan, hızlı ve kullanımı kolay ve idari zorlukları olmayanların tercihi olduğu söylenebilir.


PostgreSQL

Bu ücretsiz veritabanı yönetim sistemi, nesne-ilişkisel DBMS tipine aittir. MySQL'de olduğu gibi, PostgreSQL ile çalışmak SQL diline dayanır, ancak MySQL'in aksine, PostgreSQL SQL-2011 standardını destekler. Bu DBMS'nin veritabanının maksimum boyutu veya tablodaki maksimum kayıt veya dizinler üzerinde herhangi bir kısıtlaması yoktur.

PostgreSQL'in faydaları hakkında konuşursak, elbette, bu işlemlerin ve çoğaltmanın güvenilirliği, kalıtım olasılığı ve kolay genişletilebilirliktir. PostgreSQL, PL / Perl, PL / Python ve PL / Java gibi programlama dillerinin çeşitli uzantılarını ve varyasyonlarını destekler. C uyumlu modülleri indirmek de mümkündür.

Birçoğu, MySQL'in aksine, bu DBMS'nin neredeyse tüm sorulara cevap veren iyi ve ayrıntılı bir belgeye sahip olduğunu unutmayın.

DBMS'den daha büyük ölçekli olmasının MySQL olduğu gerçeği, PostgreSQL'in periyodik olarak Oracle gibi güçlü bir veri yönetim sistemi ile karşılaştırıldığı gerçeği ile de kanıtlanmıştır.

Tüm bunlar, şu anda en gelişmiş DBMS'lerden biri olarak PostgreSQL hakkında konuşmamıza izin veriyor.


sQLite

Şu anda, en kompakt DBMS'lerden biridir; aynı zamanda gömülebilir ve ilişkiseldir. SQLite, tüm verileri tek bir dosyada saklamanızı sağlar ve küçük boyutu nedeniyle kıskanılacak hızı ile dikkat çeker. SQLite, yapısında MySQL ve PostgreSQL'den önemli ölçüde farklıdır: bu DBMS'nin motoru ve arayüzü aynı kütüphanede - ve tüm sorguları çok hızlı bir şekilde yürütmenize izin veren budur. Diğer DBMS'ler (MySQL, PostgreSQL, Oracle vb.) Bir ağ protokolü üzerinden iletişim oluştuğunda istemci-sunucu paradigmasını kullanır.

Eksiklikler arasında kullanıcı sistemlerinin eksikliği ve verimliliğin artırılması olasılığı belirtilebilir.

SQLite, uygulamayı hızlı bir şekilde aktarabilmeniz gereken projelerde kullanılması tavsiye edilebilir ve ölçeklenebilirliğe gerek yoktur.


torpil

Bu DBMS nesne-ilişkisel tipini ifade eder. Adı, bu sistemi geliştiren Oracle adından geliyor. SQL ile birlikte, DBMS, Java dili yanı sıra PL / SQL adlı prosedürel bir uzantı kullanır.

Oracle, bir düzineden fazla yıldır istikrarlı bir sistemdir, bu nedenle felaket kurtarma güvenilirliği, iyi çalışan bir yedekleme prosedürü, ölçeklendirme yeteneği ve diğer değerli özelliklerin önemli olduğu büyük şirketler tarafından seçilir. Ayrıca, bu DBMS mükemmel güvenlik ve etkili veri koruması sağlar.

Diğer DBMS'lerin aksine, Oracle'ın satın alma ve kullanım maliyetleri oldukça yüksektir ve bu genellikle küçük firmalarda kullanılması için önemli bir engeldir. Muhtemelen, Oracle'ın Rusya'daki 2016 için DBMS derecelendirmesinde sadece 6. sırada olmasının nedeni de budur.



  mongodb

Bu DBMS, hiyerarşik veri yapılarını depolamak için tasarlandığından farklıdır ve bu nedenle belgeye yönelik olarak adlandırılır (tablo veya diyagram kullanılmadan bir belge deposudur). MongoDB açık kaynaklıdır.

Tanımlayıcıyı kullanarak nesne üzerinde hızlı işlemler yapabilirsiniz; bu DBMS karmaşık etkileşimlerde kendini gösterir. Her şeyden önce, bu hız ile ilgilidir - bazı durumlarda, MongoDB'de yazılmış bir uygulama SQL kullanan aynı uygulamadan daha hızlı çalışacaktır, çünkü MongoDB, NoSQL DBMS sınıfına aittir ve SQL yerine nesne sorgulama dilini kullanır, bu da SQL'den çok daha kolaydır.

Bununla birlikte, bu dilin sınırlamaları vardır ve bu nedenle, karmaşık ve önemsiz örneklere ihtiyaç duyulmayan durumlarda MongoDB kullanılmalıdır.

Sonuç yerine

DBMS seçimi, kaynağınızı oluştururken önemli bir noktadır. Görevlerinizi ve yeteneklerinizi geliştirin, tam olarak en uygun seçeneği bulmak için deneyin ve deneyin.