Hemen hemen her kuruluşun kendi veri tabanı vardır. Ancak gerçekte orada olan şey, siteler bile bilgilerle çalışmayı kolaylaştırmak ve kolaylaştırmak için onları kullanıyor. Aslında, sorunsuz hesaplamalar yapmanıza, gerekli verileri hızlı bir şekilde bulmanıza ve genel olarak herhangi bir bilgide sipariş oluşturmanıza izin verir.

Çoğu zaman, programcılar kendi yaratımlarıyla ilgilenirler çünkü bu, yüksek öğretim kurumlarında öğretilen karmaşık bir süreçtir. Ayrıca, veritabanları geliştirmek için yazılım oluşturmak için birçok ders, kurs ve program seti vardır, gerçekten çok çeşitli, kolayca kafanız karışabilir. Bu makale bazı temel veritabanı geliştirme programlarını tartışacaktır.

SQL hakkında

SQL, veritabanları oluşturmak için kullanılan bir programlama dilidir. Bilgisayarınıza yüklerseniz ve bir veritabanı oluşturmaya başlarsanız, çok uygun olmayacaktır. Bunun nedeni, SQL'in herhangi bir grafik kabuğunun olmaması ve veritabanına yapılan sorguların genel olarak komut satırı üzerinden gönderilmesi gerektiğidir. Bu nedenle, veri tabanlarının geliştirilmesini kolaylaştıran çeşitli türlerde programlar ortaya çıkmıştır. Ancak, bu dilin temellerini öğrenmek yine de buna değer. Birdenbire bir istekte bulunmanız gerekiyor ve program düzgün çalışmıyor.

Microsoft Access

Veritabanı oluşturmak için kullanılan bu program birçok kişiye tam olarak aşinadır. Bir paketle geliyor microsoft programları Ofis. Bu program öğrenmesi en kolay programlardan biridir, çünkü orada SQL programlama dili bilgisi pratik olarak gerekli değildir. Yalnızca hangi sorguyu yapacağınızı belirleyebilirsiniz ve program SQL sorgusunu kendisi oluşturacaktır.

Programın alaka düzeyi hakkında. Şimdiye kadar birçok kuruluşun veritabanları Microsoft Access kullanılarak yapılmıştır. Aslında programın kendisi çok hafif, sezgisel bir arayüz var. Dahası, Access'i kullanmanın temelleri okulda ve üniversitenin başlarında bile öğretiliyor!

PhpMyAdmin

Elbette erişim iyi bir programdır, ancak bir web sitesi için bir veritabanına ihtiyacınız varsa, bunu yapmaz. Sonra PhpMyAdmin kurtarmaya gelir. Veritabanları oluşturmak için çok kullanışlı bir programdır. Bir bilgisayara kurulum biraz zaman alır ve kurulum sırasında yanlış bir şey yapmak kolaydır ve işe yaramaz. Bu nedenle, veritabanları oluşturmak için bu programı kurarken, talimatları kesinlikle uygulamanız gerekir. Ancak PhpMyAdmin'in bir diğer artısı, İnternet üzerinden bir web sitesi olarak erişilebilmesidir! Örneğin, WordPress tarafından desteklenen bir web siteniz var. Bir veri tabanı olacak. Ve iyi bir barındırma üzerinde bir siteniz varsa, o zaman, büyük olasılıkla, veri tabanlarıyla çalışmak PhpMyAdmin aracılığıyla yürütülecektir ve ona barındırma kontrol panelinden erişmek mümkün olacaktır.

Veritabanları oluşturmak için başka bir program. Ücretsizdir, ancak gelişmiş özelliklere sahip ücretli bir sürümü de vardır. Bu programda tablolarla bağlantılar oluşturmak kolaydır ve gerçekten de çalışmak için uygundur. Ayrıca bir artı, veritabanını grafik biçiminde gösterebilmenizdir. Veritabanları ile çalışırken çoğu kişi bu özel programı tercih eder. Prensipte PhpMyAdmin, yetenekler açısından yetersiz değildir, ancak yine de daha çok bir site veritabanıyla çalışmak için tasarlanmıştır.

Bu makale, veritabanları oluşturmak için temel programları kapsamaktadır. Aslında, birçoğu var, bu yüzden herkes kendisi için bir araç seçiyor, ancak yeni başlıyorsanız ve bu alanda çalışmak istiyorsanız, MySQL WorkBench ile çalışmanız önerilir. SQL'in temellerini öğrendikten sonra, nerede çalışacağınız sizin için pek bir fark yaratmaz, çünkü sorgular her yerde aynıdır. Ayrıca, bir programda bir veritabanı oluşturduktan sonra, veritabanıyla da çalışmak üzere tasarlanmış başka bir yazılım aracılığıyla onu açabilirsiniz. Bir veritabanı ile yazılım oluştururken, bu bilgi olmadan yapamazsınız. Dahası, SQL konusunda uzmanlaşarak, veritabanları geliştirmek ve düzenlemek için kendi yazılımınızı bile oluşturabilirsiniz.

"Turistler" tablosundaki bilgileri ve Turistler tablosunun mevcut kaydıyla ilişkili Microsoft Access veritabanından "Turist Bilgileri" tablosunun bir kaydını görüntüleyen basit bir veritabanı uygulaması oluşturalım.

Bunun için boş bir Windows uygulaması oluşturalım. Çevre görünümü

gelişme Şekil 39'da gösterilmektedir.

Şekil: 39. Boş uygulama

Şekil 39'da, verilere erişmek ve verileri değiştirmek için bileşenler içeren "Veri" bileşen grubu vurgulanmıştır.

Veritabanı verilerinin forma bağlanması, "Bağlama Kaynağı" bileşeni tarafından gerçekleştirilir. Bunu forma aktaralım. Forma yerleştirdikten sonra geliştirme ortamı aşağıdaki formu alır (Şekil 40).

Şekil: 40. Form üzerindeki Bileşen Bağlama Kaynağı

Bileşen görsel olmadığından ek bir panelde görüntülenir. Bileşenin ana özelliği, veri kaynağına işaret eden DataSource özelliğidir. Varsayılan olarak, özellik boştur, bu nedenle değerini oluşturmanız gerekir. Bu özellik seçildiğinde, özellikler penceresinde aşağıdaki pencere görünür (Şekil 41).

Şekil: 41. Veri kaynaklarının listesi

Liste şu anda boş, bu nedenle yeni bir veri kaynağı oluşturmak ve ona bağlanmak için Proje Veri Kaynağı Ekle komutunu seçerek yeni bir veri kaynağı oluşturmanız gerekir. Aşağıdaki iletişim kutusu belirir (şek. 42).

Şekil: 42. Veri kaynaklarının listesi

Bu iletişim kutusu, aşağıdaki veri kaynakları seçimini sağlar:

Veritabanı - Veritabanı;

Hizmet - Hizmet, veri sağlayan bir hizmet türüdür. Çoğu zaman bu bir Web hizmetidir;

Nesne - Çalışmak için veri ve nesneler oluşturacak bir nesneyi seçmek için bir nesne.

Bizim durumumuzda, "Veritabanı" öğesini seçmeniz gerekir. Veri bağlantısı seçim penceresi açılır (Şek. 43).

Şekil: 43. Bir veri bağlantısı seçme

Bu iletişim kutusunun amacı, veritabanı türü, konumu, kullanıcı adları, güvenlik özellikleri vb. Gibi ADO motorunun bağlantı parametrelerini açıklayan bir bağlantı dizesi oluşturmaktır.

İletişim kutusunun açılır listesi önceden oluşturulmuş tüm bağlantıları içerir. Gerekli bağlantı listede yoksa, "Yeni bağlantı" düğmesini kullanmalısınız. Düğmeye basmak aşağıdaki iletişim kutusunun görüntülenmesine yol açar (Şekil 44).

Bu iletişim kutusunda, veri kaynağı türünü (bu durumda Microsoft Access), veritabanının adını (bu durumda, veritabanı dosyasının adı ve konumu), veritabanına bağlanmak için kullanılan kullanıcı adını ve parolayı seçersiniz. "Gelişmiş" düğmesi, ADO mekanizmasının çeşitli ayrıntılarıyla ilgili çok sayıda parametre ayarlamanıza olanak tanır. "Bağlantıyı Test Et" düğmesini kullanmak, girilen parametrelerin doğru olduğundan ve bağlantının çalıştığından emin olmanızı sağlayacaktır.

Şekil: 44. Yeni bir bağlantı oluşturmak

İletişim kutusunun son adımı, bu veri kaynağında ihtiyaç duyulan tabloların veya diğer veritabanı nesnelerinin seçilmesidir. Seçim penceresi Şekil 45'te gösterilmektedir.

Şekil: 45. Gerekli tabloların seçilmesi

Bu pencerede "Turistler" ve "Turist Bilgileri" tabloları seçilir. Veritabanında tablolardan başka nesne oluşturulmadığından, Şekil 45'te sadece tablolar görüntülenir. Bu, veri kaynağının oluşturulmasını tamamlar. Bitir'i tıklattığınızda, formdaki BindingSource'un yanında bir Veri Kümesi görünür.

Şimdi yukarıda bağlanan verilerin formda görüntülenmesi gerekir. Verileri görüntülemenin en basit yolu, Data bileşen grubundan DataGridView bileşenini kullanmaktır. Bileşen görseldir ve formda buna benzer (Şekil 46).

Şekil: 46. \u200b\u200bBileşen DataGridView

Veri düzenleme seçeneklerini belirleyen bileşen ayarları penceresi hemen görünür: "Eklemeyi Etkinleştir", "Düzenlemeyi Etkinleştir", "Silmeyi Etkinleştir"; sütunların sırasını değiştirme yeteneği: "Sütun Yeniden Sıralamayı Etkinleştir"; ve ayrıca üst kapsayıcıya yerleştirme yeteneği.

Bileşenin verileri görüntülemesi için, açılır listeden bir veri kaynağı seçmeniz gerekir. Açılır listeyi seçmek, aşağıdaki iletişim kutusunun görüntülenmesine yol açar (Şekil 47).

Şekil: 47. DataGridView için bir veri kaynağı seçme

Bu durumda veri kaynağı olarak "Turistler" tablosunu seçtik. Bu seçim, ekranı aşağıdaki şekilde değiştirir (Şekil 48).

Şekil: 48. Bileşen DataGridView, tablonun yapısını görüntüler

Şekilde, başka bir BindingSource bileşeni ve Turists tablosu ile çalışan bir TableAdapter bileşeni olduğunu görebilirsiniz. Lütfen tasarım sırasında veya geliştirme sırasında tablodaki verilerin görüntülenmediğini unutmayın.

Şimdi, bağlantılı Turist Bilgileri tablosundaki verileri görüntülemeniz gerekiyor. Bunu yapmak için, forma bir tane daha DataGridView bileşeni yerleştireceğiz ve aşağıdakileri bir veri kaynağı olarak seçeceğiz (Şekil 49).

Şekil: 49. İkinci DataGridView için bir veri kaynağı seçme

Burada, veri kaynağı "Turist Bilgileri" tablosunun kendisi değil, "Turistler" ve "Turist Bilgileri" tabloları arasındaki Bağlayıcı Kaynaktır. Bu seçim, Turistler tablosundaki geçerli satırla ilişkili Turist Bilgileri tablosundan yalnızca bu satırların seçilmesini sağlar. Ayrıca ilgili verilerin doğru şekilde güncellenmesini ve silinmesini sağlar. Elde edilen uygulamanın çalışması Şekil 50'de gösterilmektedir.

Şekil: 50. İş yerinde veritabanı uygulaması

Ok tuşlarını kullanarak veriler arasında gezinmek sakıncalıdır. Veriler arasında gezinmeye yardımcı olacak bir BindingNavigator bileşeni vardır. Onu forma yerleştirelim (şek.51).

Şekil: 51. Form üzerindeki BindingNavigator bileşeni

Bu bileşen, tablo kayıtları arasında gezinmenize, tablo satırları eklemenize ve silmenize olanak tanır. Fırsatlar ve görünüm bileşen, bir ToolStripContainer menü çubuğu olduğu için özelleştirilebilir.

Gezinilecek tabloyu tanımlayan özellik, BindingSource özelliğidir. Bu özelliğin değerini "TouristBindingSource" olarak ayarlayın. Çalışma sırasında bileşen şuna benzer (Şekil 52).

Şekil: 52. BindingNavigator bileşeni iş başında

DataGridView bileşeninin hücrelerindeki verileri uygun ayarlarla düzenlemek mümkündür, ancak zahmetlidir ve mantıklı değildir. Özellikle, girilen değerleri hatalara karşı kontrol etmek zordur. Bu nedenle, "Turistler" tablosu için, TextBox bileşenlerinde verilerin görüntülenmesine ve düzenlenmesine izin veren bir ekran formu oluşturacağız. Bunu yapmak için, formun üzerine Panel tipi bir kap ve aşağıdaki gibi üç TextBox bileşeni yerleştirin (Şek. 53).

Şekil: 53. "Turistler" tablosunun kayıtlarını düzenlemek için ekran paneli

Şimdi TextBox bileşenlerini "Turistler" tablosunun ilgili alanlarına bağlamanız gerekir. Bunu yapmak için, Şekil 54'te gösterilen DataBindings grubundaki - Advanced özelliğini kullanın.

Şekil: 54. "DataBindings - Advanced" özelliği

Bu özelliğin seçilmesi, Şekil 55'te gösterilen iletişim kutusunun görünümüne götürür. Bu iletişim kutusu, yalnızca verileri bağlamanıza değil, aynı zamanda içinde verilerin güncelleneceği bir olay ayarlamanıza ve görüntülendiğinde verileri biçimlendirmenize de olanak tanır.

Bağlama açılır listesindeki en üstteki TextBox bileşeni için, "TouristsBmdmgSource" veri kaynağını ve kaynak alanı - "Soyadı" seçin. Orta ve alt TextBox bileşenleri için, sırasıyla aynı veri kaynağını ve "Ad" ve "Patronimik" alanlarını seçin.

Operasyonda geliştirilen uygulama aşağıdaki gibi görünmektedir (Şekil 56).

Şekil: 55. "DataBindings - Advanced" özelliği için iletişim kutusu

Şekil: 56. Verileri görsel bileşenlere bağlama

Ancak, değişiklik yapıldığında, tüm yeni veriler yalnızca formda kalır. Veritabanında depolanmazlar ve tabii ki uygulama tekrar çağrıldığında mevcut olmayacaklar. Bunun nedeni, verilerin bellekteki tablonun bir kopyası olan bir DataSet'e yüklenmiş olmasıdır. Tüm eylemler bu kopya ile gerçekleştirilir. Değişikliklerin veritabanına yansıtılması için TableAdapter sınıfının Update yöntemini yürütmelisiniz. Bu nedenle, geliştirilen uygulamada Güncelle düğmesini yerleştirmek ve aşağıdaki program kodunu Click olay işleyicisine yazmak gerekir:

touristTableAdapteгUpdate (bDTur_firmDataSet); info_about_touristsTableAdapter.Update (bDTur_firmDataSet);

Bu kod, veri kaynağı tarafından sağlanan Turist ve Turist Bilgi tablolarındaki bilgileri günceller. Bunu not et bu method aşırı yüklenmiştir ve türevleri hem tek bir tablo satırını hem de bir satır grubunu güncellemenize izin verir.

İyi çalışmanızı bilgi tabanına göndermek basittir. Aşağıdaki formu kullanın

Bilgi tabanını çalışmalarında ve çalışmalarında kullanan öğrenciler, yüksek lisans öğrencileri, genç bilim adamları size minnettar olacaktır.

Yayınlanan http://www.allbest.ru/

Giriş

3. Veri organizasyon modelleri

4. İlişkisel veritabanları

6. Bilgi modeli

7. Mantıksal model

8. Tabloların yapısı

12. Tablo oluşturma

16. Raporların oluşturulması

17. Program Listesi

Sonuç

Referans listesi

Giriş

Makul yapmak ve etkili çözümler Üretim faaliyetlerinde, ekonomik yönetimde ve siyasette, modern bir uzman bilgisayar ve iletişim yardımıyla verileri alabilmeli, biriktirebilmeli, depolayabilmeli ve işleyebilmeli, sonucu görsel belgeler şeklinde sunabilmelidir. Bu nedenle veritabanları ile çalışabilmek çok önemlidir.

Veritabanı, bilgi depolamak için organize bir yapıdır. Modern veritabanları yalnızca verileri değil aynı zamanda bilgileri de depolar.

Delphi'den hızlı bir uygulama geliştirme çerçevesi olarak bahsedilir. Bu görsel bir programlama teknolojisidir, yani kullanıcı gelecekteki programını hazırlar ve çalışmasının sonuçlarını programın başlamasından önce bile görür. Temel olarak, bir uygulama yazma süreci kendi başına iki bölüme ayrılmıştır. Birincisi, programcının gerekli öğeleri programın pencerelerine yerleştirmesi, konumlandırması, gerekli boyutları ayarlaması, özellikleri değiştirmesidir. İkincisi, aslında program kodu yazmak, yalnızca uygulamanın çalışması sırasında mevcut olan öğelerin özelliklerini açıklamak, bir pencerenin ortaya çıkması olayına tepkileri açıklamak, bir düğmeye basmak, vb. geliştirilmekte olan uygulamanın büyük metin dizeleri yazmasına gerek yoktur; bu özelliği nesne denetçisinde (seçilen öğenin özellik izleyicisi olarak adlandırılan) değiştirin. Bu değişiklik, program kodunu otomatik olarak ekler veya değiştirir.

Bu, görsel programlama teknolojisinde büyük bir artıdır. Kullanıcı, yazılım ürününü oluştururken veya değiştirirken, program öğesinin bazı özelliklerini bilmeden veya dikkate almadan, ancak yalnızca gerekli olanları kullanarak, bazen karmaşıklıkta eşit bir temelde hareket eden, tamamen bitmiş bir çalışan ürün yazar. görsel olmayan bir editörde yazılmış.

Görevimiz, eğitim sürecinin müfredatıyla ilgili verileri içerecek bir veritabanı oluşturmaktır. Veritabanını doldurduktan sonra, Sql sorgularını kullanarak seçici bir analiz yapmanız gerekir.

veritabanı bilgi tablosu programı

1. Veritabanı uygulamalarının geliştirilmesi için genel gereksinimler

Veritabanı içermelidir

a. Veri depolamak için tablolar, en az 3 tablo. Her tablo en az 10 kayıt içermelidir.

b. Kolay görüntüleme, veri girme, düzenleme ve arama, sorgu oluşturma ve görüntüleme için formlar. Form, açıklamalar ve ipuçları içermelidir. Form alanlarını doldururken, bilinen değer kümeleri için, bir listeden değer seçme yeteneğini kullanın. Sonradan gezinmeyi optimize etmek için mümkün olan her durumda formlar birbirine bağlanmalıdır. Form, kullanıcı için olabildiğince fazla bilgi içermelidir. Ortaya çıkan anlamsal hataların işlenmesini sağlayın.

c. Tüm tabloları, formları, sorguları içeren raporlar

d. Çeşitli veritabanı nesnelerine erişim menüsü

e. Görevin tam açıklamasını içeren yardım

2. Veritabanı programlaması için SQL dili, DELPHI programlama sistemi ile ilgili ek literatür kullanmak gerekir.

3. Bağımsız olarak çözülen sorunların listesi ve yöntemleri

1. Problem ifadesinin ve konu alanının analizi.

2. Enformasyon tasarımı, bilgi nesnelerinin doğrulanması, alanlar, nitelikler, bağlantılar, bir infolojik model oluşturma.

3. Mantıksal tasarım, temel ilişkilerin inşası ve doğrulanması, normalleştirme.

4. Sql-sorgular tasarlama.

5. Veritabanındaki yapıyı ve genel fonksiyonları programlama.

6. Bir yazılım ortamında bir veri tabanı tasarlama.

7. Program arayüzünün geliştirilmesi.

8. Açıklayıcı bir notun uygulanması.

4. Kurs çalışması için edinilen yetkinliklerin değerlendirilmesi için kriterler

Tablo 1'de verilen çalışmayı savunurken kriterler öğretmen tarafından doldurulur. Ortalama nota göre ders çalışmasının notu verilir.

Tablo 1. Yetkinliklerin değerlendirilmesi

Yetkinlik adı

Değerlendirme nesnesi

Gereksinimleri anlayın ve uygulayın

Elde edilen sonuçlar (DB) (hacim, yapı, göreve uygunluk)

Yazılı iletişim

Açıklayıcı notta sunum kalitesi, açıklık, hacim, yapı, göreve uygunluk.

DELPHI programlama sisteminin unsurlarını bilin ve uygulayın

Veritabanı uygulama bileşenleri, veritabanı uygulamasıyla ilgili soruların yanıtları

Veritabanı teknolojisinin unsurlarını bilir ve uygular

Tasarımla ilgili soruların muhtemelen test formatında cevapları

Veritabanı teknolojisinin uygulanmasına yönelik ihtiyaçları anlayın

Açıklayıcı notun tanıtımı

İş planlaması, iş organizasyonu

Geri dönüş süresi

Sorunları kendi başınıza çözün

Bağımsız olarak çözülen sorunların listesi ve yöntemleri

Sözlü iletişim

Veritabanının kamusal koruması

Analiz etme, sentezleme yeteneği

İnfolojik, mantıksal veritabanı modeli

Kaliteli sonuçlara bağlılık

Yapılan işin kalitesi, ergonomik göstergeler, işleyiş kalitesi.

Yeni fikirler üretme yeteneği

Arayüzün kalitesi, veritabanının ek işlevleri, görevde dikkate alınmaz.

Bilgileri yönetme (arama) yeteneği

Miktar bilgi kaynaklarıkurslarda bulunan ve kullanılan danışman sayısı.

2. Veritabanı yönetim sistemlerinin temel kavramları ve sınıflandırılması

Veritabanı (DB), bir bilgi işlem sisteminin belleğinde depolanan ve söz konusu konu alanındaki nesnelerin durumunu ve birbirleriyle ilişkilerini yansıtan yapılandırılmış verilerin bir koleksiyonudur.

Veritabanında depolanan verilerin mantıksal yapısı, veri sunum modeli olarak adlandırılır. Veri sunumunun ana modelleri (veri modelleri) hiyerarşik, ağ ve ilişkiseldir.

Veritabanı yönetim sistemi (DBMS) bir dil karmaşıklığıdır ve yazılım araçları, bir veritabanının birçok kullanıcı tarafından oluşturulması, sürdürülmesi ve paylaşılması için tasarlanmıştır. Tipik olarak, bir DBMS, kullanılan veri modeli ile ayırt edilir. Dolayısıyla, ilişkisel bir veri modelinin kullanımına dayanan DBMS, ilişkisel DBMS olarak adlandırılır.

Bir veritabanıyla çalışmak için, DBMS araçları genellikle yeterlidir. Ancak, vasıfsız kullanıcılar için veri tabanı ile çalışma rahatlığının sağlanması gerekiyorsa veya DBMS arayüzü kullanıcılara uygun değilse, uygulamalar geliştirilebilir. Yaratılışları programlama gerektirir. Uygulama, uygulanan herhangi bir sorunun çözümünü otomatikleştiren bir program veya program kümesidir. Uygulamalar, Delphi veya C ++ Build gibi veritabanı erişim araçlarını kullanan bir programlama sistemi kullanılarak ortamda veya DBMS ortamının dışında oluşturulabilir. Bir DBMS ortamında geliştirilen uygulamalar genellikle DBMS uygulamaları olarak adlandırılır ve DBMS dışında geliştirilen uygulamalar genellikle harici uygulamalar olarak adlandırılır.

Veri sözlüğü, veri yapıları, veritabanı dosyalarının birbirleriyle ilişkileri, bunların sunumlarının veri türleri ve biçimleri, kullanıcılara ait veriler, güvenlik kodları ve erişim kontrolü vb. Hakkındaki bilgilerin merkezi olarak depolanması için tasarlanmış bir veritabanı alt sistemidir.

Veritabanlarının kullanımına dayalı bilgi sistemleri genellikle bir istemci-sunucu mimarisinde çalışır. Bu durumda, veritabanı sunucu bilgisayarda barındırılır ve paylaşılır.

Bir bilgisayar ağındaki belirli bir kaynağın sunucusu, bu kaynağı yöneten bir bilgisayardır (program), bir istemci bu kaynağı kullanan bir bilgisayardır (program). Bir bilgisayar ağının kaynağı olarak, örneğin veritabanları, dosyalar, yazdırma hizmetleri, posta hizmetleri hareket edebilir.

Kuruluşun onuru bilgi sistemi istemci-sunucu mimarisinde merkezi depolama, hizmet ve ortak kurumsal bilgilere paylaşılan erişim ile bireysel kullanıcı deneyiminin başarılı bir birleşimidir.

İstemci-sunucu mimarisinin temel ilkesine göre, veriler yalnızca sunucu üzerinde işlenir. Bir kullanıcı veya bir uygulama, SQL talimatları şeklinde veritabanı sunucusuna gelen sorgular üretir. Veritabanı sunucusu, gerekli verilerin aranmasını ve alınmasını sağlar ve bu veriler daha sonra kullanıcının bilgisayarına aktarılır. Bu yaklaşımın öncekilere kıyasla avantajı, fark edilir şekilde daha az miktarda iletilen veridir.

Aşağıdaki DBMS türleri ayırt edilir:

* tam özellikli DBMS;

* veritabanı sunucuları;

* Bir veritabanıyla çalışmak için programlar geliştirmek için araçlar.

Tam özellikli DBMS'ler geleneksel DBMS'lerdir. Bunlar dBase IV, Microsoft Access, Microsoft FoxPro ve daha fazlasını içerir.

Veritabanı sunucuları, bilgisayar ağlarındaki veri işleme merkezlerini düzenlemeye yöneliktir. Veritabanı sunucuları, genellikle SQL ifadelerini kullanarak istemci programı isteklerinin işlenmesini sağlar. Veritabanı sunucularının örnekleri şunlardır: Microsoft SQL Sunucusu, Inter Base vb.

Genel durumda, bir DBMS istemci programları rolünde kullanılabilir, elektronik tablolar, kelime işlemcileri, programlar e-posta adresi ve benzeri.

Bir veritabanıyla çalışmak için programlar geliştirmeye yönelik araçlar, aşağıdaki programları oluşturmak için kullanılabilir:

* müşteri programları;

* veritabanı sunucuları ve bunların ayrı bileşenleri;

* özel uygulamalar.

Kullanımlarının doğası gereği, DBMS'ler çok kullanıcılı (endüstriyel) ve yerel (kişisel) olarak ayrılır.

Endüstriyel, DBMS, büyük ekonomik nesneler için otomatik kontrol sistemlerinin geliştirilmesi için bir yazılım temelini temsil eder. Endüstriyel DBMS aşağıdaki gereksinimleri karşılamalıdır:

* birçok kullanıcının ortak paralel çalışmasını organize etme yeteneği;

* ölçeklenebilirlik;

* çeşitli donanım ve yazılım platformlarına taşınabilirlik;

* Depolanan bilgilerin çok düzeyli bir yedekleme sisteminin varlığı da dahil olmak üzere çeşitli türlerdeki hatalarla ilgili kararlılık;

* Depolanan verilerin güvenliğini ve bunlara gelişmiş bir yapılandırılmış erişim sisteminin sağlanması.

Kişisel DBMS, yerel bir kullanıcının veya küçük bir kullanıcı grubunun sorunlarını çözmeyi amaçlayan ve kişisel bir bilgisayarda kullanılması amaçlanan bir yazılımdır. Bu onların ikinci adını açıklıyor - masaüstü. Masaüstü sistemlerin tanımlayıcı özellikleri şunlardır:

* göreceli kullanım kolaylığı, temelde çalışabilir kullanıcı uygulamaları oluşturmanıza olanak tanır;

* nispeten sınırlı donanım kaynağı gereksinimleri.

Kullanılan veri modeline göre, DBMS'ler hiyerarşik, ağ, ilişkisel, nesne yönelimli vb. Olarak ayrılır. Bazı DBMS'ler aynı anda birkaç veri modelini destekleyebilir.

Veritabanında depolanan verilerle çalışmak için aşağıdaki dil türleri kullanılır:

* veri açıklama dili - yüksek seviyeli bir prosedürel olmayan dil
bildirim temelli tür, mantıksal bir
veri yapıları

* veri işleme dili - verilerle çalışmak için temel işlemleri sağlayan bir dizi yapı: istek üzerine verilerin girişi, değiştirilmesi ve geri alınması.

Adı geçen diller farklı DBMS'de farklılık gösterebilir. En yaygın olanı iki standartlaştırılmış dildir: QBE - modele dayalı bir sorgu dili ve SQL - yapılandırılmış bir sorgu dili QBE esas olarak bir veri işleme dilinin özelliklerine sahiptir, SQL her iki dil türünün özelliklerini birleştirir.

DBMS, aşağıdaki temel düşük seviyeli işlevleri uygular:

* veri yönetimi harici hafıza;

* RAM tamponlarının yönetimi;

* işlem yönetimi;

* Veritabanındaki değişikliklerin günlüğünü tutmak;

* Veritabanının bütünlüğünü ve güvenliğini sağlamak.

Veri yönetimi fonksiyonunun harici bellekte uygulanması, kaynak yönetiminin organizasyonunu sağlar. dosya sistemi İŞLETİM SİSTEMİ.

Verileri arabelleğe alma ihtiyacı, RAM miktarının harici bellek miktarından daha az olmasından kaynaklanmaktadır. Tamponlar, harici ve RAM arasındaki alışverişi hızlandırmak için tasarlanmış RAM alanlarıdır. Tamponlar, verilerin DBMS'ye erişilirken kullanılması beklenen veya işlendikten sonra veritabanına yazılması planlanan veritabanının parçalarını geçici olarak depolar.

İşlem mekanizması, veri tabanındaki verilerin bütünlüğünü korumak için DBMS'de kullanılır. İşlem, veritabanı verilerinde baştan sona DBMS tarafından izlenen belirli bir bölünmez işlem dizisidir. Herhangi bir nedenle (ekipman arızaları ve arızaları, yazılımbaşvuru dahil) işlem eksik kalır, ardından iptal edilir.

İşlemlere özgü üç ana özellik vardır:

* atomiklik (işleme dahil olan tüm işlemler yürütülür veya hiçbiri yapılmaz);

* serileştirilebilirlik (aynı anda yürütülen işlemlerin karşılıklı etkisi yoktur);

* dayanıklılık (bir sistem çökmesi bile taahhüt edilen bir işlemin sonuçlarının kaybolmasına yol açmaz).

İşlemin bir örneği, bankacılık sisteminde bir hesaptan diğerine para transferi işlemidir. Önce bir hesaptan para çekilir, ardından başka bir hesaba yatırılır. Eylemlerden en az biri başarılı olmazsa operasyonun sonucu yanlış olur ve operasyonun dengesi bozulur.

Değişiklik günlüğü, donanım ve yazılım arızaları durumunda veritabanındaki veri depolamanın güvenilirliğini sağlamak için DBMS tarafından gerçekleştirilir.

Veritabanının bütünlüğünün sağlanması, özellikle bir ağ üzerinde kullanıldığında, veritabanının başarılı bir şekilde çalışması için gerekli bir koşuldur. Veritabanının bütünlüğü, veritabanının bir özelliğidir, yani konu alanı bilgilerini eksiksiz, tutarlı ve yeterli şekilde yansıtan içerir. Veritabanının integral durumu, veritabanında depolanan veriler tarafından karşılanması gereken koşullar formundaki bütünlük kısıtlamaları kullanılarak açıklanır.

Veri şifreleme, parola koruması, veri tabanına erişim seviyeleri desteği ve tek tek unsurları (tablolar, formlar, raporlar, vb.) İle DBMS'de güvenlik sağlanır.

3. Veri organizasyon modelleri

Hiyerarşik bir modelde, varlık nesneleri ve etki alanı ilişkileri, ağaç benzeri (hiyerarşik) bir yapıya sahip veri kümeleriyle temsil edilir. Hiyerarşik veri modeli tarihsel olarak ilkti. Temelde, 60'ların sonunda - 70'lerin başında, ilk profesyonel DBMS geliştirildi.

Hiyerarşik bir modelde bütünlük kısıtlamalarının odağı, temel kurala tabi olarak, atalar ve nesiller arasındaki referansların bütünlüğü üzerinedir: bir ebeveyn olmadan hiçbir alt öğe olamaz.

Ağ veri modeli, veri öğelerinin çeşitli ilişkilerini rastgele bir grafik biçiminde görüntülemenizi sağlar. Bir ağ veritabanı, bir dizi kayıttan ve bir dizi ilgili bağlantıdan oluşur. Bir bağlantının oluşumunda özel bir kısıtlama yoktur. Hiyerarşik yapılarda, bir alt kaydın yalnızca bir üst kayda sahip olması durumunda, ağ veri modelinde bir alt kaydın keyfi sayıda üst kaydı olabilir.

Ağ veri orta bölümünün avantajı, etkili uygulama olasılığıdır. Hiyerarşik model ile karşılaştırıldığında, ağ modeli, keyfi bağlantıların oluşumunun kabul edilebilirliği anlamında daha büyük fırsatlar sağlar.

Ağ veri modelinin dezavantajı, temelde oluşturulan veritabanı şemasının yüksek karmaşıklığı ve katılığı ile sıradan bir kullanıcı tarafından anlaşılmasının karmaşıklığıdır. Ek olarak, ağ veri modelinde, kayıtlar arasında keyfi bağlantıların kurulmasının kabul edilebilirliği nedeniyle bağlantıların bütünlüğünün kontrolü zayıflatılır.

Ağ modeline dayalı sistemler pratikte yaygın olarak kullanılmamaktadır.

İlişkisel veri modeli, IBM çalışanı Edgar Codd tarafından önerildi ve bir ilişki kavramına dayanıyor.

Bir ilişki, tuples adı verilen bir dizi unsurdur. İki boyutlu bir tablo, bir ilişkinin görsel bir temsil biçimidir.

Bir tablo kullanarak, veriler arasındaki en basit ilişki türünü, yani: bir nesnenin, tabloda depolanan bilgiler, her biri bir satır veya tablo kaydına karşılık gelen birçok alt nesneye bölünmesi.

İlişkisel modelin temel dezavantajları şunlardır: bireysel kayıtları tanımlamak için standart araçların olmaması ve hiyerarşik ve ağ ilişkilerini tanımlamanın karmaşıklığı.

4. İlişkisel veritabanları

Belirli bir konu alanının ilişkisel veri modeli (RDM), zamanla değişen bir dizi ilişkidir. Bir bilgi sistemi oluştururken, bir dizi ilişki, konu alanındaki nesneler hakkında veri depolamanıza ve bunlar arasındaki bağlantıları modellemenize olanak tanır. RMD terimleri tabloda sunulmaktadır. 4.1

Tablo 4.1. İlişkisel modelin şartları

Dönem-ilişkisel giyinmiş

Eşdeğer

Tutum

İlişki diyagramı

Tablo Sütun Başlıkları Satırı (Tablo Başlığı)

Tablo satırı, kayıt

Öz

Nesne özelliklerinin açıklaması

Sütun, alan

Birçok geçerli değer

nitelik

Birincil anahtar

Benzersiz tanımlayıcı

Kardinalite

Satır sayısı

Sütun sayısı

İlişkisel veritabanı, bir dizi iki boyutlu tablo içeren bir veri deposudur. Tablolardaki veriler aşağıdaki ilkelere uygun olmalıdır:

1. Öznitelik değerleri atomik olmalıdır (başka bir deyişle,
bir satır ve bir sütunun kesişme noktasında bulunan her bir değer,
birkaç değere bölünmemelidir).

2. Her bir özelliğin değerleri aynı türde olmalıdır.

3. Tablodaki her kayıt benzersizdir.

4. Her alanın benzersiz bir adı vardır.

5. Tablodaki alanların ve kayıtların sırası gerekli değildir.

Oran en önemli kavramdır ve bazı verileri içeren iki boyutlu bir tablodur.

Bir varlık, hakkında verilerin bir veritabanında depolandığı herhangi bir doğadaki nesnedir. Varlık verileri bir ilişki içinde saklanır.

Nitelikler, bir varlığı karakterize eden özelliklerdir. Tablonun yapısında her bir öznitelik adlandırılır ve tablodaki belirli bir sütunun başlığına karşılık gelir.

Bir ilişkinin anahtarı, ilişkinin her bir parçasını benzersiz şekilde tanımlayan bir öznitelikler kümesidir. Başka bir deyişle, ilişkinin anahtarı olan K nitelikleri kümesi, benzersiz olma özelliğine sahiptir. Bir anahtarın sonraki özelliği fazlalık değildir. Yani, K kümesinin uygun alt kümelerinin hiçbiri benzersizlik özelliğine sahip değildir.

Her ilişkide her zaman anahtar görevi görebilecek bir özellik kombinasyonu bulunur.

Bir ilişkinin, her biri ilişkinin tüm demetlerini benzersiz bir şekilde tanımlayan birkaç özellik kombinasyonuna sahip olduğu durumlar olabilir. Bu özellik kombinasyonlarının tümü olası ilişki anahtarlarıdır. Olası anahtarlardan herhangi biri birincil olarak seçilebilir.

Anahtarlar genellikle aşağıdaki amaçlar için kullanılır:

Anahtar özniteliklerinde yinelenen değerlerin ortadan kaldırılması (diğer öznitelikler dikkate alınmaz);

Tuple sıralamaları. Tüm anahtar özelliklerin değerlerinin artan veya azalan sırasına göre ve ayrıca karışık sıralama (bir - artan ve diğerleri tarafından - azalan);

Bağlantı tablolarının organizasyonları.

Yabancı anahtar kavramı önemlidir. Bir yabancı anahtar, değerleri başka bir R1 ilişkisinin olası bir anahtarının değerleriyle çakışması gereken bir R2 ilişkisinin bir öznitelik kümesi olarak tanımlanabilir.

Yabancı anahtarı oluşturan K2 ilişkisinin nitelikleri, bu ilişki için anahtar değildir.

İlişkiler arasındaki bağlantılar yabancı anahtarlar kullanılarak kurulur.

Bilgi sistemleri veri tabanlarını tasarlamak oldukça zahmetli bir iştir. Veritabanında saklanması gereken, konu alanının yapısını ve süreçlerini resmileştirmek temelinde gerçekleştirilir. Kavramsal ve şematik-yapısal tasarım arasında ayrım yapın.

Bir IS DB'nin kavramsal tasarımı büyük ölçüde sezgisel bir süreçtir. Kendi çerçevesinde inşa edilen konu alanının infolojik modelinin yeterliliği, YS işleyiş sürecinde deneysel olarak doğrulanmaktadır.

Kavramsal tasarım aşamaları:

* oluşum için konu alanının incelenmesi genel görünüm Onun hakkında;

* Geliştirilen IS'nin işlevlerinin ve görevlerinin seçimi ve analizi;

* konu alanının ana nesnelerinin-varlıklarının tanımı
ve aralarındaki ilişki;

* konu alanının resmi sunumu.

İlişkisel bir veritabanı şeması tasarlarken, aşağıdaki prosedürler ayırt edilebilir:

* tabloların listesinin ve aralarındaki bağlantıların belirlenmesi;

* alanların listesinin, alan türlerinin, her tablonun anahtar alanlarının belirlenmesi (tablo şeması), yabancı anahtarlar aracılığıyla tablolar arasında bağlantılar kurulması;

* tablolardaki alanlar için indekslemenin oluşturulması;

* numaralandırmalı alanlar için listelerin (sözlüklerin) geliştirilmesi
veri;

* tablolar ve bağlantılar için bütünlük kısıtlamalarının belirlenmesi;

* tabloların normalleştirilmesi, tabloların ve bağlantıların listesinin düzeltilmesi. Veritabanı tasarımı, fiziksel ve mantıksal düzeyde gerçekleştirilir. Fiziksel düzeyde tasarım, bir DBMS aracılığıyla gerçekleştirilir ve genellikle otomatikleştirilir.

Mantıksal tasarım, tabloların sayısını ve yapısını belirlemeyi, veritabanına sorguları geliştirmeyi, belgeleri raporlamayı, veritabanına veri girmek ve düzenlemek için formlar oluşturmayı vb. İçerir.

Mantıksal veritabanı tasarımının en önemli görevlerinden biri veri yapılandırmadır. Veri yapılarının tasarımına yönelik aşağıdaki yaklaşımlar ayırt edilir:

* Bir tablo (bir ilişki) içindeki varlık nesneleriyle ilgili bilgileri, ilişkilerin normalleşmesine dayalı olarak birbiriyle bağlantılı birkaç tabloya daha sonra ayrıştırma ile birleştirmek;

* Bitmiş bir veritabanı şeması veya bitmiş bir uygulamalı bilgi sistemi elde etmek için CA5E sistemini kullanarak sistem hakkında bilgi formülasyonu (ilk veri ve ilişkilerin türlerinin belirlenmesi) ve veri işleme gereksinimleri;

* sistem analizinin uygulanması ve yapısal modellerin geliştirilmesi.

5. SQL işleminin amacı ve ilkesi

SQL (genellikle Yapılandırılmış Sorgu Dili'nin kısaltması olan "devamı" olarak okunur) Yapılandırılmış Sorgu Dili anlamına gelir.

SQL, bir bilgisayar veritabanında bulunan verileri işlemek ve okumak için tasarlanmış bir araçtır. İlişkisel veritabanlarını verimli bir şekilde oluşturmayı ve bunlarla çalışmayı mümkün kılan bir dildir.

Veritabanları dünyası gittikçe daha bütünleşmiş hale geliyor ve bu da birçok farklı türden bilgi işlem ortamında çalışabilen standart bir dil ihtiyacını doğurdu. Standart dil, bir komut setini bilen kullanıcıların, ister kişisel bir bilgisayarda, ister ağ bağlantılı iş istasyonunda veya ana bilgisayarda çalışıyor olsun, bilgi oluşturmak, aramak, değiştirmek ve iletmek için bunları kullanmasına izin verecektir. Gittikçe birbirine bağlı bilgisayar Dünyasıböyle bir dille donatılmış bir kullanıcı, çeşitli kaynaklardan gelen bilgileri çeşitli şekillerde kullanma ve özetlemede büyük bir avantaja sahiptir.

Adından da anlaşılacağı gibi SQL, bir veritabanıyla kullanıcı etkileşimini düzenlemek için kullanılan bir programlama dilidir. Aslında SQL yalnızca ilişkisel veritabanlarıyla çalışır.

6. Bilgi modeli

Enfolojik model oluşturulurken, verilen veri tabanının konu alanı "PMI'nin yönüne göre çalışılan disiplinlerin müfredatı" incelenmiştir. 4 nesne tahsis edildi: Müfredat, Disiplin, Öğrenci, Öğretmen ve ayrıca öğrenciler ve disiplinler arasında ve ayrıca öğretmenler ve disiplinler arasında bağlantı kuran iki ek tablo. Müfredat nesnesi şu özelliklere sahiptir: Oluşturma yılı, Müfredat numarası. Disiplin nesnesi aşağıdaki özelliklere sahiptir: Disiplin adı, Disiplin kodu, Müfredat numarası, Ders saati sayısı, Uygulama saati sayısı, Laboratuvar çalışması için saat sayısı, Toplam saat, Haftalık saat sayısı, Disiplin raporlama formu, Çalışma dönemi . Sudent nesnesi aşağıdaki özelliklere sahiptir: Not defteri numarası, tam ad. Ve Öğretmen nesnesinin nitelikleri vardır: isim, personel numarası, departman, pozisyon, telefon. Nesneler Müfredat ve Disiplin 1: n ilişkisiyle ilişkilidir, nesneler Disiplin ve Öğrenci 1: n ilişkisiyle ilişkilidir ve nesneler Disiplin ve Öğretmen 1: n ilişkisiyle ilişkilidir.

İnfolojik modeli açıklamak için ER diyagramları kullanıldı:

Resim 1

7. Mantıksal model

Mantıksal model, konu alanı kavramlarını, bunların ilişkilerini ve konu alanı tarafından empoze edilen veriler üzerindeki kısıtlamaları tanımlar.

Mantıksal veri modeli, gelecekteki veritabanı için ilk prototiptir. Bilgi birimleri açısından oluşturulmuştur, ancak belirli bir DBMS'ye atıfta bulunulmamıştır. Dahası, mantıksal veri modelinin ilişkisel veri modeli açısından ifade edilmesi gerekmez.

Mantıksal bir model oluşturmak için, her nesneye belirli bir alan kümesine sahip bir tablo atandı. Nesne Disiplini ve Öğretmen 1: n ilişkisiyle ilişkili olduğundan, Disiplin ve Öğretmen: Öğretir nesneler arasındaki ilişkiyi temsil eden ek bir tablo ortaya çıkar.

Toplamda 4 nesnemiz var ve bu nedenle sunumları için 4 tablo olacak, Müfredat nesnesi yalnızca bilgi amaçlıdır, çünkü veritabanının çalışması yalnızca bir müfredatla gerçekleştirilmektedir:

Ancak iki nesne arasında 1: n ilişkisi vardır, bu nedenle bu tablolar arasındaki ilişkileri temsil etmek için başka bir tablo sunmamız gerekir. Bu Disciplina-Prepodavatel tablosu ve Disciplina-Student tablosudur.

Sunulan veritabanı, 5'inci ile ilişkilendirilebilir. normal formdan beri 3 normal formdur ve birincil anahtar basittir. Mantık diyagramı Microsoft Access'te uygulanır.

Resim 2

8. Tabloların yapısı

Orijinal veritabanı 5 tablodan oluşur (bir müfredat kullanıldığından Müfredat tablosunu saymıyoruz).

Alanların kodunun çözülmesi:

vDisciplina.db

Ш Nazv- disiplin adı, alan türü: Dize;

Ш Kod - benzersiz disiplin kodu: LongInt;

Ш Sömestr - öğretildiği dönem: String;

Ш KolLeKCh - bu disiplindeki ders sayısı: LongInt;

Ш KolPraktCh - bu disiplindeki uygulama sayısı: LongInt;

Ш KolLabRabCh - bu disiplindeki ders sayısı: LongInt;

Ш VsegoCh - toplam saat sayısı: LongInt;

Ш NomerYP - disiplini içeren müfredatın numarası: LongInt.

vStudent.db

Ш NomerStudBileta - öğrenci kimlik numarası: LongInt;

Ш FIO - öğrenci soyadı: ShortInt;

vPrepodaet.db (Disciplina-Prepodavatel)

Ш TabNomerPrepod - ilgili disiplini öğreten öğretmenin personel numarası: LongInt;

Ш FIO- ilgili disiplini öğreten öğretmenin adı: String.

vPrepod.db

Ш FIO - Öğretmenin tam adı: String;

Ш TabelNomerPrepodavatelya - öğretmenin benzersiz personel numarası: LongInt;

Ш Kafedra - çalıştığı bölüm: String;

Ш Dolshnost - Öğretmenin konumu: String;

Ø Telefon - öğretmenin iletişim telefonu: String.

v Izuchaet.db (Disciplina- Öğrenci)

Ш KodDiscip- disiplin kodu: LongInt;

Ш NomerStudBileta - disiplini okuyan öğrencinin öğrenci kimlik numarası: LongInt;

Ш FIO - ilgili disiplini inceleyen öğrencinin tam adı: String;

Ш Ocenka - çalışılan disiplinde öğrencinin değerlendirmesi: LongInt;

9. SQL sorguları tasarlama

1. Her dönem için bir kredi ve sınav listesi oluşturun.

nazv, FormaOtchet'i seçin

semestr \u003d: s ve

(Disciplina.FormaOtchet \u003d "Geçiş" veya Disciplina.FormaOtchet \u003d "Sınav");

2. Her konu için sınav ve test sayfaları / ana ve ek / oluşturmak.

Ana sayfa:

prepodaet.FIO öğesini seçin,

Disciplina.ObsheeKolChVNed, Disciplina.Semestr, Izuchaet.FIO, Izuchaet.

Ocenka, Disciplina.Nazv

from Disciplina, Prepodaet, Izuchaet

disciplina.KodDiscip \u003d Prepodaet.KodDiscip

ve (Disciplina.FormaOtchet \u003d "Sınav" veya Disciplina.FormaOtchet \u003d "Geçiş")

Ek beyan (2'li öğrenciler için):

disciplina.Nazv, Prepodaet.FIO,

Disciplina.ObsheeKolChVNed, Izuchaet.FIO, Disciplina.Semestr, Izuchaet.Ocenka

from Izuchaet, Disciplina, Prepodaet

izuchaet.Ocenka \u003d "2" nerede

and Disciplina.KodDiscip \u003d Izuchaet.KodDiscip

and Disciplina.KodDiscip \u003d Prepodaet.KodDiscip

ve (Disciplina.FormaOtchet \u003d "Sınav" veya Disciplina.FormaOtchet \u003d "Geçiş");

Disciplina'yı Güncelle

obsheeKolChVNed \u003d VsegoCh / 17 olarak ayarlayın;

4. Her öğrencinin diploması için bir ek hazırlayın:

disciplina.Nazv, Izuchaet.Ocenka, Izuchaet.FIO seçin

from Izuchaet, Disciplina

disciplina.KodDiscip \u003d Izuchaet.KodDiscip nerede

ve Disciplina.FormaOtchet \u003d "Sınav"

SrBall olarak AVG'yi (Ocenka) seçin

SrBall desc tarafından sipariş;

5. Grubu, ortalama puana göre azalan sırada listeleyin:

SrBall olarak FIO, AVG (Ocenka) seçin

SrBall desc tarafından sipariş;

10. Sistem yapısı ve işlevleri

Ders çalışması bir proje "Proje1" ve 13 modülden oluşmaktadır.

1. Ünite1 - form, başlık sayfası olan burada saklanır. Kullanılan bileşenler: Memo, Düğme.

2. Ünite2 - form veri tabanının ilk sayfası olan burada saklanır. Bileşenler burada kullanılır: Düğme, Not.

3. Ünite3 - tüm veritabanı tablolarını sekmeler şeklinde içeren form burada saklanır. Bileşenler burada kullanılır: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

4. Unit4 - Görevin görüntülendiği form burada saklanır. Bileşenler burada kullanılır: Not, Düğme.

5. Ünite5 - ek inceleme sayfasını gösteren form burada saklanır. Bileşenler burada kullanılır: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

6. Ünite6 - burada, sınavların ve testlerin bir listesini görüntüleyen bir form saklanır. Burada bileşenler kullanılır: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

7. Ünite7 - ana muayene sayfasını görüntüleyen form burada saklanır. Bileşenler burada kullanılır: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

8. Unit8 - form burada saklanır ve grup listesini azalan sırada görüntüler. Bileşenler burada kullanılır: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

9. Ünite9 - diploma ekinin görüntülendiği form burada saklanır. Bileşenler burada kullanılır: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

10. Unit10 - form burada saklanır ve elektronik hesap özetini doldurmak için formu görüntüler. Bileşenler burada kullanılır: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.

11. Ünite11 - menünün görüntülendiği form burada saklanır. Bileşenler burada kullanılır: Kısa Not, Düğme, Etiket.

12. Ünite12 - elektronik inceleme sayfasının oluşturulmasıyla ilgili bir raporu görüntüleyen bir form burada saklanır. Burada kullanılan bileşenler Memo ve Button, RVProject, RVQueryConnnection ve Query'dir.

13. Ünite 13 - burada, bir diploma ekinin oluşturulmasıyla ilgili bir rapor görüntüleyen bir form saklanır. Burada kullanılan bileşenler Memo ve Button, RVProject, RVQueryConnnection ve Query'dir.

11. Kullanım kılavuzu

1. Projeyi başlatın. Önümüzde kurs çalışmasının başlık sayfası görünür

Figür 3

Buradan hemen veritabanına girebiliriz veya göreve bakıp bu forma dönebiliriz. "Görevi göster" i seçiyoruz

2. Önümüzde dönem ödevinin atanması hakkında bilgi içeren bir pencere açılır

Şekil 4

3. Uygun düğmeye tıklayarak geri dönün ve önceki "Devam" penceresinin düğmesine tıklayarak çalışmaya başlayın.

Şekil 5

4. Bu sayfadaki bilgileri inceledikten sonra, "Oturum Aç" düğmesine tıklayın

Şekil 6

Önümüzde, sekmelerde veritabanında bulunan tüm bilgileri içeren bir pencere belirir. Burada disiplinlerin, çalışma grubunun, öğretmenlerin, öğrencilerin hangi konularda çalıştığını ve öğretmenler tarafından hangi konunun öğretildiğini görebiliriz.

5. Ayrıca bu pencereden sorgulara gidebiliriz. İlgili düğmeye tıklayın.

Şekil 7

Burada herhangi bir ilgi talebini uygun düğmeye tıklayarak seçebiliriz. Ayrıca burada masalara dönebilir ve sınav sayfasının elektronik bir versiyonunun oluşturulmasına geçebiliriz.

6. "Her sömestr için kredi ve sınav listesini görüntüle" düğmesini tıklayın.

Figür 8

Burada dönem numarasını girmeniz ve aşağıdaki butona tıklamanız gerekiyor, ardından girdiğiniz dönem için sınavların ve testlerin bir listesi tablo penceresinde görünecektir. Bu sayfadan sorgulara geri dönebiliriz.

7. "Ana inceleme sayfasına git" düğmesine tıklayın

Burada açılır listeden disiplinin adını seçmeniz ve ardından açılır listenin altındaki kutuya bu adı girmeniz ve "Yürüt" düğmesini tıklamanız gerekir. Talep, girdiğiniz disiplini çalışmak için haftalık toplam saat sayısını gösterecek, ayrıca bu disiplini okuyan öğrencilerin bir listesini ve bu disiplin için notlarını gösterecektir. Dikkat! Not alanı, Öğrenci-Disiplin sekmesindeki tablolarla formda doldurulur. Ayrıca bu sayfada ek bir inceleme sayfası oluşturabilirsiniz. 2. notu olan öğrenciler için Bu sayfadan sorulara geri dönebiliriz.

Figür 9

8. "Ek inceleme sayfasına git" düğmesine tıklayın

Figür 10

Burada belirli bir disiplinde 2 notu olan öğrencileri görebiliriz. Bu sayfadan sorgulara geri dönebiliriz.

9. "Diploma için ek oluştur" düğmesine tıklayın

Figür 11

Burada açılır listeden uygun öğrenciyi seçerek mezunun tam adını girmeniz gerekir. Ardından tuşuna basın. Ve sonra, talep üzerine, "Disiplin" sütunu 5 yıllık eğitim için çalışılan disiplinlerin bir listesi ile doldurulacak ve ilgili işaretler görünecektir. Aynı sayfada görüntüleyebilirsiniz elektronik versiyon "Baskı sürümü" düğmesine tıklayarak ekleyin. Bu sürümü görüntüledikten sonra, ekranın sağ üst köşesinde kırmızı çarpı işareti ile açılan pencereyi kapatmanız yeterlidir.

Figür 12

10. "Ortalama puana göre azalan sırada grup listesini görüntüle" düğmesine tıklayın.

Figür 13

Burada grubun listesini ve her öğrenciye karşılık gelen ortalama notu azalan sırada düzenlenmiş olarak görüyoruz. Bu sayfadan sorgulara geri dönebiliriz.

Figür 14

Açılır listeden, örneğin ekonomi gibi ilgilendiğimiz disiplini seçin ve açılır listenin altındaki kutuya adını girin. Ardından yürüt düğmesine basın ve bu disiplinin öğretmeninin adını görün.

Figür 16

Burada seçtiğimiz disiplinin adını, bu disiplinin öğretmeninin adını görüyoruz. Ve ayrıca bu disiplini okuyan öğrencilerin listesi. Rapordan çıkmak için, ekranın sağ üst köşesindeki haçı tıklamanız yeterlidir. Önceki sayfaya dönüyoruz. Bu sayfadan sorgulara geri dönebiliriz.

12. Tablo oluşturma

Tablolar oluşturmak için Veritabanı Masaüstü yardımcı programları kullanıldı. Çalıştırabilirsiniz - Başlat / Programlar / Borland Delphi 7 / Veritabanı Masaüstü. Yardımcı programın çalışma dizini yapılandırılmalıdır. Dosya / Çalışma Dizini komutunu seçin ve çalışma dizininizi ayarlayın. Tablo oluşturmak için Dosya / Yeni / Tablo komutunu seçin. O zaman tablo türünü seçmeniz gerekir. PARADOX 7 türü, dosya sunucusu tabloları için en iyisi olarak kabul edilebilir.

1. YchebPlan tablosu (Müfredat) oluşturun:

Figür 17

5. Table Disciplina'nın (Disiplin) oluşturulması:

Figür 18

6. Öğrenci tablosunun oluşturulması:

Figür 19

7. Prepodaet tablosu oluşturma (Disiplin-Öğretmen):

Figür 20

5. Prepod tablosu oluşturma (Öğretmen):

Figür 21

8. Izuchaet masasının oluşturulması (Disiplin-Öğrenci):

Figür 22

13. Delphi'de bir uygulama oluşturma

Yeni bir uygulama oluşturmak için Dosya menüsünde Yeni / Uygulama öğesini seçin. Bir form ve bir modül görünür (genel olarak buna proje denir), şimdi forma yerleştirebilirsiniz gerekli bileşenler... Gerekirse, başka bir form (ve birden fazla) oluşturabilirsiniz, bunun için Dosya menüsünde Yeni / Form öğesini seçmeniz gerekir.

1. Tablo. Verilerle dolduruluyor. Veri görüntüleme.

Bir formdaki tabloyu görüntülemek için, üzerine bileşenleri yerleştirmeniz gerekir:

· Tablo (BDE sekmesinde) - Nesne denetçisinde, "Parametreler" sekmesinde, Tablo adı özelliğinde gerekli tabloyu seçin.

Figür 23

· DBGrid (DataControls sekmesinde) - Tabloyu formda, Object Inspector'da, DataSource özelliğinde görüntülemek için gerekli veri kaynağını belirtin.

Figür 24

· DBNavigator (DataControls sekmesinde) - tablo kayıtlarında gezinmek için gereklidir. Object denetçisinde, DataSource özelliği DBGrid ile aynı veri kaynağını belirtir. Gezginin işlevleri, uygulama çalışırken düğmelerine tıklanarak kullanılabilir.Bileşen 10 düğme içerir.

Figür 25

· DataSource (Veri Erişimi sekmesi) - verilere erişim için orta düzey bir bileşen. DBMS tabloları ve ekran kontrolleri (DBGrid, DBNavigator) arasında bir aracı görevi görür.

Figür 26

14. Bilgi (Not) ve düğmelerle bir alan oluşturma

Not bileşeni, Standart sekmesinde bulunan forma yerleştirilir.

Figür 27

"Parametreler" sekmesindeki nesne denetçisinde, Çizgiler özelliğinde, görüntüleme için gerekli metni girin

Figür 28

Düğmelerin oluşturulması.

Formu doğru bir şekilde kapatmak için, Standart sekmesinde bulunan Düğme bileşeni üzerine yerleştirilir.

Figür 29

Düğmenin çalışması için, OnClick olay işleyicisinde şunları belirtmeniz gerekir:

prosedür TForm1.N5Click (Gönderen: TObject);

başla

Form2.Show;

Form1.Close;

son;

15. Tablolar için imza oluşturma

Kurs çalışmasında tabloyu imzalamak için Standart sekmesinde bulunan Etiket bileşeni kullanıldı. Object Inspector da, Caption özelliğinde, metni yazmanız yeterlidir.

Figür 30

16. Bir açılır liste oluşturun

Mevcut listeden bir komut seçmek için ComboBox bileşenini (açılır liste) kullanın. Bu şekilde doldurulabilir

Nesne Denetçisinde, Öğeler özelliğinde şunları yazmanız gerekir:

Figür 31

16. Raporların oluşturulması

Rapor, baştan bağlanması gereken QReports aracı kullanılarak oluşturulur: Bileşen-\u003e paketleri yükle-\u003e ekle bin klasörünü açın dclqrt70.bpl dosyasını seçin Tamam'a tıklayın ve ardından QReport bileşenlerini içeren bir sekme görünecektir. Kullandığım bileşenler:

Tablo 2

17. Program Listesi

Proje Açıklaması

programı Project1;

kullanır

Formlar,

"Unit1.pas" (Form1) içindeki Unit1,

"Unit2.pas" (Form2) içindeki Unit2,

"Unit3.pas" (Form3) içindeki Unit3,

"Unit4.pas" (Form4) biriminde Unit4,

"Unit5.pas" (Form5) biriminde Unit5,

"Unit6.pas" (Form6) içindeki Unit6,

"Unit7.pas" (Form7) biriminde Unit7,

"Unit8.pas" (Form8) biriminde Unit8,

"Unit9.pas" (Form9) biriminde Unit9,

"Unit10.pas" (Form10) biriminde Unit10,

"Unit11.pas" (Form11) içindeki Unit11,

"Unit12.pas" (Form12) biriminde Unit12,

"Unit13.pas" (Form13) biriminde Unit13,

"Unit14.pas" (Form14) biriminde Unit14;

($ R * .res)

başla

Application.Initialize;

Application.CreateForm (TForm1, Form1);

Application.CreateForm (TForm2, Form2);

Application.CreateForm (TForm3, Form3);

Application.CreateForm (TForm4, Form4);

Application.CreateForm (TForm5, Form5);

Application.CreateForm (TForm6, Form6);

Application.CreateForm (TForm7, Form7);

Application.CreateForm (TForm8, Form8);

Application.CreateForm (TForm9, Form9);

Application.CreateForm (TForm10, Form10);

Application.CreateForm (TForm11, Form11);

Application.CreateForm (TForm12, Form12);

Application.CreateForm (TForm13, Form13);

Application.CreateForm (TForm14, Form14);

Application.Run;

son.

Unit1 modül açıklaması

birim Birim1;

arayüz

kullanır

İletişim Kutuları, StdCtrls;

tip

TForm1 \u003d sınıf (TForm)

Memo1: TMemo;

Button1: TButton;

Button2: TButton;

Button3: TButton;

özel

(Özel beyannameler)

halka açık

(Resmi bildirimler)

son;

var

Form1: TForm1;

uygulama

unit2, Unit4, Unit6, Unit7, Unit5, Unit8, Unit9, Unit10 kullanır;

($ R * .dfm)

prosedür TForm1.Button3Click (Gönderen: TObject);

başla

Form2.show;

son;

prosedür TForm1.Button2Click (Gönderen: TObject);

başla

Form1.Close;

son;

prosedür TForm1.Button1Click (Gönderen: TObject);

başla

Form4.show;

son;

son.

Unit2 modül açıklaması

birim Birim2;

arayüz

kullanır

Windows, Mesajlar, SysUtils, Varyantlar, Sınıflar, Grafikler, Kontroller, Formlar,

İletişim Kutuları, StdCtrls;

tip

TForm2 \u003d sınıf (TForm)

Memo1: TMemo;

GroupBox1: TGroupBox;

Button1: TButton;

Button2: TButton;

prosedür Button1Click (Gönderen: TObject);

prosedür Button2Click (Gönderen: TObject);

özel

(Özel beyannameler)

halka açık

(Resmi bildirimler)

son;

var

Form2: TForm2;

uygulama

unit3'ü kullanır;

($ R * .dfm)

prosedür TForm2.Button1Click (Gönderen: TObject);

başla

Form3.show;

Form2.Close;

son;

prosedür TForm2.Button2Click (Gönderen: TObject);

başla

Form2.Close;

son;

Unit3 modül açıklaması

birim Birim3;

arayüz

kullanır

Windows, Mesajlar, SysUtils, Varyantlar, Sınıflar, Grafikler, Kontroller, Formlar,

İletişim kutuları, ComCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables,

StdCtrls, QuickRpt, QRCtrls;

tip

TForm3 \u003d sınıf (TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

TabSheet5: TTabSheet;

TabSheet6: TTabSheet;

DataSource1: TDataSource;

DataSource2: TDataSource;

DataSource3: TDataSource;

DataSource4: TDataSource;

Tablo 1: TTable;

Tablo 2: TTable;

Tablo 3: TTable;

Tablo 4: TTable;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

DBGrid3: TDBGrid;

DBNavigator3: TDBNavigator;

DBGrid4: TDBGrid;

DBNavigator4: TDBNavigator;

DBGrid5: TDBGrid;

DBNavigator5: TDBNavigator;

DBGrid6: TDBGrid;

DBNavigator6: TDBNavigator;

Button1: TButton;

DataSource5: TDataSource;

DataSource6: TDataSource;

Tablo5: TTable;

Tablo 6: TTable;

Sorgu1: TQuery;

Button2: TButton;

Etiket1: TLabel;

Memo1: TMemo;

Etiket3: TLabel;

Button3: TButton;

prosedür Button1Click (Gönderen: TObject);

prosedür Button2Click (Gönderen: TObject);

prosedür Button3Click (Gönderen: TObject);

özel

(Özel beyannameler)

halka açık

(Resmi bildirimler)

son;

var

Form3: TForm3;

uygulama

unit5, Unit11 kullanır;

($ R * .dfm)

prosedür TForm3.Button1Click (Gönderen: TObject);

başla

Form11.show;

Form3.close;

son;

prosedür TForm3.Button2Click (Gönderen: TObject);

başla

Query1.ExecSQL;

Form3.Refresh;

son;

prosedür TForm3.Button3Click (Gönderen: TObject);

başla

Form3.close;

son;

Unit4 modül açıklaması

birim Birim4;

arayüz

kullanır

Windows, Mesajlar, SysUtils, Varyantlar, Sınıflar, Grafikler, Kontroller, Formlar,

İletişim Kutuları, StdCtrls;

tip

TForm4 \u003d sınıf (TForm)

Memo1: TMemo;

Button1: TButton;

prosedür Button1Click (Gönderen: TObject);

özel

(Özel beyannameler)

halka açık

(Resmi bildirimler)

son;

var

Form4: TForm4;

uygulama

unit1'i kullanır;

($ R * .dfm)

prosedür TForm4.Button1Click (Gönderen: TObject);

başla

Form1.show;

son;

Ünite 5 modül açıklaması

birim Birim5;

arayüz

kullanır

Windows, Mesajlar, SysUtils, Varyantlar, Sınıflar, Grafikler, Kontroller, Formlar,

Diyaloglar, DB, DBTables, Grids, DBGrids, StdCtrls, Mask, DBCtrls, ExtCtrls;

tip

TForm5 \u003d sınıf (TForm)

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Sorgu1: TQuery;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

Etiket1: TLabel;

Etiket2: TLabel;

Etiket3: TLabel;

Etiket4: TLabel;

DBNavigator1: TDBNavigator;

Button1: TButton;

yordam ComboBox1Change (Gönderen: TObject);

prosedür Edit1Change (Gönderen: TObject);

prosedür Button1Click (Gönderen: TObject);

özel

(Özel beyannameler)

halka açık

(Resmi bildirimler)

son;

var

Form5: TForm5;

uygulama

unit11'i kullanır;

($ R * .dfm)

prosedür TForm5.ComboBox1Change (Gönderen: TObject);

başla

Sorgu1.Aktif: \u003d doğru;

son;

prosedür TForm5.Edit1Change (Gönderen: TObject);

başla

Sorgu1.Açık;

son;

prosedür TForm5.Button1Click (Gönderen: TObject);

başla

Form11.show;

Form5.Close;

son;

Ünite 6 açıklaması

birim Unit6;

arayüz

kullanır

Windows, Mesajlar, SysUtils, Varyantlar, Sınıflar, Grafikler, Kontroller, Formlar,

Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls;

tip

TForm6 \u003d sınıf (TForm)

Button1: TButton;

Düzenleme1: TEdit;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Sorgu1: TQuery;

Etiket1: TLabel;

DBNavigator1: TDBNavigator;

Etiket2: TLabel;

Memo1: TMemo;

Button2: TButton;

Etiket3: TLabel;

prosedür Button1Click (Gönderen: TObject);

prosedür Button2Click (Gönderen: TObject);

özel

(Özel beyannameler)

halka açık

(Resmi bildirimler)

son;

var

Form6: TForm6;

uygulama

unit11'i kullanır;

($ R * .dfm)

prosedür TForm6.Button1Click (Gönderen: TObject);

başla

Sorgu1.Close;

sorgu 1. değilse o zaman

Sorgu1.Hazırlayın;

uzunluk ise (edit1.text)<>0 sonra

başka

başla

Sorgu1.Params.Value: \u003d 0;

son;

Sorgu1.Açık;

son;

prosedür TForm6.Button2Click (Gönderen: TObject);

başla

Form11.show;

Form6.Close;

son;

Ünite 7 modül açıklaması

birim Birim 7;

arayüz

kullanır

Windows, Mesajlar, SysUtils, Varyantlar, Sınıflar, Grafikler, Kontroller, Formlar,

İletişim kutuları, StdCtrls, Grids, DBGrids, DBTables, DB, Mask, DBCtrls, ExtCtrls,

QRCtrls, QuickRpt;

tip

TForm7 \u003d sınıf (TForm)

Etiket1: TLabel;

Etiket2: TLabel;

DataSource1: TDataSource;

Sorgu1: TQuery;

Düzenleme2: TEdit;

Button1: TButton;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

Etiket3: TLabel;

DBGrid1: TDBGrid;

Etiket4: TLabel;

Etiket5: TLabel;

DBNavigator1: TDBNavigator;

Button2: TButton;

Etiket6: TLabel;

Etiket7: TLabel;

Memo1: TMemo;

ComboBox1: TComboBox;

Etiket8: TLabel;

Button3: TButton;

prosedür Button1Click (Gönderen: TObject);

prosedür Button2Click (Gönderen: TObject);

prosedür Button3Click (Gönderen: TObject);

özel

(Özel beyannameler)

halka açık

(Resmi bildirimler)

son;

var

Form7: TForm7;

uygulama

unit5, Unit11 kullanır;

($ R * .dfm)

prosedür TForm7.Button1Click (Gönderen: TObject);

başla

Sorgu1.Close;

sorgu 1. değilse o zaman

Sorgu1.Hazırlayın;

eğer uzunluk (edit2.text)<>0 sonra

Query1.Params.Value: \u003d edit2.Text

başka

başla

Sorgu1.Params.Value: \u003d 0;

edit2.Text: \u003d "Lütfen bir başlık girin!";

son;

Sorgu1.Açık;

son;

prosedür TForm7.Button2Click (Gönderen: TObject);

başla

Form5.show;

Form7.close;

son;

prosedür TForm7.Button3Click (Gönderen: TObject);

başla

Form11.show;

Form7.close;

son;

Unit 8 modül açıklaması

birim Unit8;

arayüz

kullanır

Windows, Mesajlar, SysUtils, Varyantlar, Sınıflar, Grafikler, Kontroller, Formlar,

tip

TForm8 \u003d sınıf (TForm)

Etiket4: TLabel;

DataSource1: TDataSource;

Sorgu1: TQuery;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Button1: TButton;

Memo1: TMemo;

prosedür Button1Click (Gönderen: TObject);

özel

(Özel beyannameler)

halka açık

(Resmi bildirimler)

son;

var

Form8: TForm8;

uygulama

unit11'i kullanır;

($ R * .dfm)

prosedür TForm8.Button1Click (Gönderen: TObject);

başla

Form11.show;

Form8.close;

son;

Ünite 9 modül açıklaması

birim Unit9;

arayüz

kullanır

Windows, Mesajlar, SysUtils, Varyantlar, Sınıflar, Grafikler, Kontroller, Formlar,

Diyaloglar, Izgaralar, DBGridler, DB, DBTables, StdCtrls, Mask, DBCtrls, ExtCtrls;

tip

TForm9 \u003d sınıf (TForm)

Düzenleme1: TEdit;

Sorgu1: TQuery;

DataSource1: TDataSource;

DBGrid1: TDBGrid;

Button1: TButton;

Sorgu2: TQuery;

DataSource2: TDataSource;

Button2: TButton;

DBEdit1: TDBEdit;

DBNavigator1: TDBNavigator;

Etiket1: TLabel;

Etiket2: TLabel;

Etiket3: TLabel;

İsim: TComboBox;

Button3: TButton;

Memo1: TMemo;

Etiket4: TLabel;

Button4: TButton;

prosedür Button1Click (Gönderen: TObject);

prosedür Button2Click (Gönderen: TObject);

prosedür Button3Click (Gönderen: TObject);

özel

(Özel beyannameler)

halka açık

(Resmi bildirimler)

son;

var

Form9: TForm9;

uygulama

unit11, Unit13 kullanır;

($ R * .dfm)

prosedür TForm9.Button1Click (Gönderen: TObject);

başla

Sorgu1.Close;

sorgu 1. değilse o zaman

Sorgu1.Hazırlayın;

uzunluk ise (edit1.text)<>0 sonra

Query1.Params.Value: \u003d edit1.Text

başka

başla

Sorgu1.Params.Value: \u003d 0;

edit1.Text: \u003d "Lütfen mezun ismini giriniz!";

son;

Sorgu1.Açık;

son;

prosedür TForm9.Button2Click (Gönderen: TObject);

başla

Query2.Close;

query2.Prepared değilse

Query2.Prepare;

uzunluk ise (edit1.text)<>0 sonra

Query2.Params.Value: \u003d edit1.Text

başka

başla

Query2.Params.Value: \u003d 0;

edit1.Text: \u003d "Lütfen dönem numarasını girin!";

son;

Sorgu2.Açık;

son;

prosedür TForm9.Button3Click (Gönderen: TObject);

başla

Form11.show;

Form9.close;

son;

prosedür TForm9.Button4Click (Gönderen: TObject);

başla

Form13.QuickRep1.Preview;

son;

Ünite 10 modül açıklaması

birim Birim 10;

arayüz

kullanır

Windows, Mesajlar, SysUtils, Varyantlar, Sınıflar, Grafikler, Kontroller, Formlar,

İletişim kutuları, ExtCtrls, QuickRpt, StdCtrls, DB, DBTables, Mask, DBCtrls,

Izgaralar, DBGridler;

tip

TForm10 \u003d sınıf (TForm)

Button1: TButton;

Sorgu1: TQuery;

DataSource1: TDataSource;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

Etiket1: TLabel;

Etiket2: TLabel;

Düzenleme1: TEdit;

Button2: TButton;

Etiket3: TLabel;

ComboBox1: TComboBox;

Etiket4: TLabel;

Etiket5: TLabel;

Memo1: TMemo;

Etiket6: TLabel;

Etiket7: TLabel;

Button3: TButton;

prosedür Button1Click (Gönderen: TObject);

prosedür Button2Click (Gönderen: TObject);

prosedür Button3Click (Gönderen: TObject);

özel

(Özel beyannameler)

halka açık

(Resmi bildirimler)

son;

var

Form10: TForm10;

uygulama

unit3, Unit7, Unit12, Unit11 kullanır;

($ R * .dfm)

prosedür TForm10.Button1Click (Gönderen: TObject);

başla

Form12.QuickRep1.Preview;

son;

prosedür TForm10.Button2Click (Gönderen: TObject);

başla

Sorgu1.Close;

sorgu 1. değilse o zaman

Sorgu1.Hazırlayın;

uzunluk ise (edit1.text)<>0 sonra

Query1.Params.Value: \u003d edit1.Text

başka

başla

Sorgu1.Params.Value: \u003d 0;

edit1.Text: \u003d "Lütfen bir başlık girin!";

son;

Sorgu1.Açık;

son;

prosedür TForm10.Button3Click (Gönderen: TObject);

başla

Form11.show;

son;

Ünite 11 modül açıklaması

birim Birim 11;

arayüz

kullanır

Windows, Mesajlar, SysUtils, Varyantlar, Sınıflar, Grafikler, Kontroller, Formlar,

İletişim Kutuları, StdCtrls;

tip

TForm11 \u003d sınıf (TForm)

Button1: TButton;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

Memo1: TMemo;

Etiket1: TLabel;

Etiket2: TLabel;

Etiket3: TLabel;

Button7: \u200b\u200bTButton;

Etiket4: TLabel;

Etiket5: TLabel;

prosedür Button2Click (Gönderen: TObject);

prosedür Button1Click (Gönderen: TObject);

prosedür Button4Click (Gönderen: TObject);

prosedür Button3Click (Gönderen: TObject);

prosedür Button5Click (Gönderen: TObject);

prosedür Button6Click (Gönderen: TObject);

prosedür Button7Click (Gönderen: TObject);

özel

(Özel beyannameler)

halka açık

(Resmi bildirimler)

son;

var

Form11: TForm11;

uygulama

Benzer belgeler

    Tabloların oluşturulması ve veritabanı yönetim sistemlerinin tasarımı. Infolojik tasarım. İlişkisel veritabanı şeması. Sistemlerin uygulanan değeri: tedarikçiler ve tedarik ettikleri mallar hakkında bir rapor. Mağazadaki malların mevcudiyetine ilişkin açıklama.

    dönem ödevi, 12/01/2008 eklendi

    SQL sorguları kullanarak MySQL veritabanı yönetim sistemini kullanarak, çalışanlar, mallar ve mal türlerinin referans kitabıyla ilgili bilgiler içeren bir veritabanı geliştirilmesi. Konu alanına ilişkin bir infolojik modelin geliştirilmesi. Tabloların yapısı, veritabanı alanları.

    test, 04/13/2012 eklendi

    Bir veritabanı tasarlama süreci, mantıksal yapısını konu alanının infolojik modeline göre geliştirme. Access DBMS programı, tabloların özellikleri ve alanları ile çalışma, tablolar arası bağlantılar oluşturma; bilgi tasarımı.

    dönem ödevi, 12/17/2009 eklendi

    Veritabanı ve veritabanı yönetim sistemlerinin temel kavramları. Çalıştıkları veri türleri microsoft tabanları Giriş. DBMS'nin sınıflandırılması ve temel özellikleri. İlişki sonrası veritabanları. Modern bilgi sistemleri dünyasındaki eğilimler.

    dönem ödevi eklendi 01/28/2014

    Bir infolojik modelin geliştirilmesinin ve ilişkisel bir veritabanı yapısının oluşturulmasının özellikleri. Veritabanı tasarımının temelleri. İlgili model hakkında bilgi görüntülemek için tabloların, formların, sorguların geliştirilmesi. Veritabanları ve nesneleriyle çalışmak.

    dönem ödevi, 11/05/2011 eklendi

    Bir veritabanı yönetim sisteminin özelliklerinin ve işlevselliğinin incelenmesi Microsoft Office Giriş. Ana nesne sınıflarının tanımı. "Ofis işleri" veritabanının geliştirilmesi. Tablolar, formlar, sorgular, raporlar ve veri şemaları oluşturun.

    Özet 12/05/2014 tarihinde eklendi

    Veritabanı yönetim sistemlerinin gelişme eğilimi. Hiyerarşik ve ağ DBMS modelleri. Dağıtılmış bir veritabanı için temel gereksinimler. Dağıtılmış istek işleme, birlikte çalışabilirlik. Veri kopyalama teknolojisi ve katmanlı mimari.

    Özet, 29.11.2010 eklendi

    Teorik bilgiler ve veritabanlarının temel kavramları. Veritabanı yönetim sistemleri: kompozisyon, yapı, güvenlik, çalışma modları, nesneler. OpenOffice.Org BASE'de veritabanları ile çalışma: Sorgu Sihirbazı'nı kullanarak tablolar, bağlantılar, sorgular oluşturma.

    04/28/2011 tarihinde eklenen dönem ödevi

    Bilgi teknolojisi departmanına başvuruları kabul etmek, işlemek ve kaydetmek için bir sistemin veri tabanının tasarlanması; bilgi ve veri modellerinin geliştirilmesi, fiziksel bir modelin uygulanması. Veritabanı ile çalışmanın görselleştirilmesi için uygulamaların oluşturulması.

    tez, 01/25/2013 eklendi

    Bilgi nesnelerinin tahsisi ve infolojik modeli. İlişkisel bir veritabanının mantıksal yapısı. Veritabanı yönetim sisteminde tabloların geliştirilmesi verilere erişim... DBMS Access'te sorgu, form ve raporların oluşturulması. Kullanıcı uygulaması geliştirme.

"Turistler" tablosundaki bilgileri ve Turistler tablosunun mevcut kaydıyla ilişkili Microsoft Access veritabanından "Turist Bilgileri" tablosunun bir kaydını görüntüleyen basit bir veritabanı uygulaması oluşturalım.

Bunun için boş bir Windows uygulaması oluşturalım. Çevre görünümü

gelişme Şekil 39'da gösterilmektedir.

Şekil: 39. Boş uygulama

Şekil 39'da, verilere erişmek ve verileri değiştirmek için bileşenler içeren "Veri" bileşen grubu vurgulanmıştır.

Veritabanı verilerinin forma bağlanması, "Bağlama Kaynağı" bileşeni tarafından gerçekleştirilir. Bunu forma aktaralım. Forma yerleştirdikten sonra geliştirme ortamı aşağıdaki formu alır (Şekil 40).

Şekil: 40. Form üzerindeki Bileşen Bağlama Kaynağı

Bileşen görsel olmadığından ek bir panelde görüntülenir. Bileşenin ana özelliği, veri kaynağına işaret eden DataSource özelliğidir. Varsayılan olarak, özellik boştur, bu nedenle değerini oluşturmanız gerekir. Bu özellik seçildiğinde, özellikler penceresinde aşağıdaki pencere görünür (Şekil 41).

Şekil: 41. Veri kaynaklarının listesi

Liste şu anda boş, bu nedenle yeni bir veri kaynağı oluşturmak ve ona bağlanmak için Proje Veri Kaynağı Ekle komutunu seçerek yeni bir veri kaynağı oluşturmanız gerekir. Aşağıdaki iletişim kutusu belirir (şek. 42).

Şekil: 42. Veri kaynaklarının listesi

Bu iletişim kutusu, aşağıdaki veri kaynakları seçimini sağlar:

Veritabanı - Veritabanı;

Hizmet - Hizmet, veri sağlayan bir hizmet türüdür. Çoğu zaman bu bir Web hizmetidir;

Nesne - Çalışmak için veri ve nesneler oluşturacak bir nesneyi seçmek için bir nesne.

Bizim durumumuzda, "Veritabanı" öğesini seçmeniz gerekir. Veri bağlantısı seçim penceresi açılır (Şek. 43).

Şekil: 43. Bir veri bağlantısı seçme

Bu iletişim kutusunun amacı, veritabanı türü, konumu, kullanıcı adları, güvenlik özellikleri vb. Gibi ADO motorunun bağlantı parametrelerini açıklayan bir bağlantı dizesi oluşturmaktır.

İletişim kutusunun açılır listesi önceden oluşturulmuş tüm bağlantıları içerir. Gerekli bağlantı listede yoksa, "Yeni bağlantı" düğmesini kullanmalısınız. Düğmeye basmak aşağıdaki iletişim kutusunun görüntülenmesine yol açar (Şekil 44).

Bu iletişim kutusunda, veri kaynağı türünü (bu durumda Microsoft Access), veritabanının adını (bu durumda, veritabanı dosyasının adı ve konumu), veritabanına bağlanmak için kullanılan kullanıcı adını ve parolayı seçersiniz. "Gelişmiş" düğmesi, ADO mekanizmasının çeşitli ayrıntılarıyla ilgili çok sayıda parametre ayarlamanıza olanak tanır. "Bağlantıyı Test Et" düğmesini kullanmak, girilen parametrelerin doğru olduğundan ve bağlantının çalıştığından emin olmanızı sağlayacaktır.

Şekil: 44. Yeni bir bağlantı oluşturmak

İletişim kutusunun son adımı, bu veri kaynağında ihtiyaç duyulan tabloların veya diğer veritabanı nesnelerinin seçilmesidir. Seçim penceresi Şekil 45'te gösterilmektedir.

Şekil: 45. Gerekli tabloların seçilmesi

Bu pencerede "Turistler" ve "Turist Bilgileri" tabloları seçilir. Veritabanında tablolardan başka nesne oluşturulmadığından, Şekil 45'te sadece tablolar görüntülenir. Bu, veri kaynağının oluşturulmasını tamamlar. Bitir'i tıklattığınızda, formdaki BindingSource'un yanında bir Veri Kümesi görünür.

Şimdi yukarıda bağlanan verilerin formda görüntülenmesi gerekir. Verileri görüntülemenin en basit yolu, Data bileşen grubundan DataGridView bileşenini kullanmaktır. Bileşen görseldir ve formda buna benzer (Şekil 46).

Şekil: 46. \u200b\u200bBileşen DataGridView

Veri düzenleme seçeneklerini belirleyen bileşen ayarları penceresi hemen görünür: "Eklemeyi Etkinleştir", "Düzenlemeyi Etkinleştir", "Silmeyi Etkinleştir"; sütunların sırasını değiştirme yeteneği: "Sütun Yeniden Sıralamayı Etkinleştir"; ve ayrıca üst kapsayıcıya yerleştirme yeteneği.

Bileşenin verileri görüntülemesi için, açılır listeden bir veri kaynağı seçmeniz gerekir. Açılır listeyi seçmek, aşağıdaki iletişim kutusunun görüntülenmesine yol açar (Şekil 47).

Şekil: 47. DataGridView için bir veri kaynağı seçme

Bu durumda veri kaynağı olarak "Turistler" tablosunu seçtik. Bu seçim, ekranı aşağıdaki şekilde değiştirir (Şekil 48).

Şekil: 48. Bileşen DataGridView, tablonun yapısını görüntüler

Şekilde, başka bir BindingSource bileşeni ve Turists tablosu ile çalışan bir TableAdapter bileşeni olduğunu görebilirsiniz. Lütfen tasarım sırasında veya geliştirme sırasında tablodaki verilerin görüntülenmediğini unutmayın.

Şimdi, bağlantılı Turist Bilgileri tablosundaki verileri görüntülemeniz gerekiyor. Bunu yapmak için, forma bir tane daha DataGridView bileşeni yerleştireceğiz ve aşağıdakileri bir veri kaynağı olarak seçeceğiz (Şekil 49).

Şekil: 49. İkinci DataGridView için bir veri kaynağı seçme

Burada, veri kaynağı "Turist Bilgileri" tablosunun kendisi değil, "Turistler" ve "Turist Bilgileri" tabloları arasındaki Bağlayıcı Kaynaktır. Bu seçim, Turistler tablosundaki geçerli satırla ilişkili Turist Bilgileri tablosundan yalnızca bu satırların seçilmesini sağlar. Ayrıca ilgili verilerin doğru şekilde güncellenmesini ve silinmesini sağlar. Elde edilen uygulamanın çalışması Şekil 50'de gösterilmektedir.

Şekil: 50. İş yerinde veritabanı uygulaması

Ok tuşlarını kullanarak veriler arasında gezinmek sakıncalıdır. Veriler arasında gezinmeye yardımcı olacak bir BindingNavigator bileşeni vardır. Onu forma yerleştirelim (şek.51).

Şekil: 51. Form üzerindeki BindingNavigator bileşeni

Bu bileşen, tablo kayıtları arasında gezinmenize, tablo satırları eklemenize ve silmenize olanak tanır. Bileşenin işlevselliği ve görünümü, bir ToolStripContainer menü çubuğu olduğu için özelleştirilebilir.

Gezinilecek tabloyu tanımlayan özellik, BindingSource özelliğidir. Bu özelliğin değerini "TouristBindingSource" olarak ayarlayın. Çalışma sırasında bileşen şuna benzer (Şekil 52).

Şekil: 52. BindingNavigator bileşeni iş başında

DataGridView bileşeninin hücrelerindeki verileri uygun ayarlarla düzenlemek mümkündür, ancak zahmetlidir ve mantıklı değildir. Özellikle, girilen değerleri hatalara karşı kontrol etmek zordur. Bu nedenle, "Turistler" tablosu için, TextBox bileşenlerinde verilerin görüntülenmesine ve düzenlenmesine izin veren bir ekran formu oluşturacağız. Bunu yapmak için, formun üzerine Panel tipi bir kap ve aşağıdaki gibi üç TextBox bileşeni yerleştirin (Şek. 53).

Şekil: 53. "Turistler" tablosunun kayıtlarını düzenlemek için ekran paneli

Şimdi TextBox bileşenlerini "Turistler" tablosunun ilgili alanlarına bağlamanız gerekir. Bunu yapmak için, Şekil 54'te gösterilen DataBindings grubundaki - Advanced özelliğini kullanın.

Şekil: 54. "DataBindings - Advanced" özelliği

Bu özelliğin seçilmesi, Şekil 55'te gösterilen iletişim kutusunun görünümüne götürür. Bu iletişim kutusu, yalnızca verileri bağlamanıza değil, aynı zamanda içinde verilerin güncelleneceği bir olay ayarlamanıza ve görüntülendiğinde verileri biçimlendirmenize de olanak tanır.

Bağlama açılır listesindeki en üstteki TextBox bileşeni için, "TouristsBmdmgSource" veri kaynağını ve kaynak alanı - "Soyadı" seçin. Orta ve alt TextBox bileşenleri için, sırasıyla aynı veri kaynağını ve "Ad" ve "Patronimik" alanlarını seçin.

Operasyonda geliştirilen uygulama aşağıdaki gibi görünmektedir (Şekil 56).

Şekil: 55. "DataBindings - Advanced" özelliği için iletişim kutusu

Şekil: 56. Verileri görsel bileşenlere bağlama

Ancak, değişiklik yapıldığında, tüm yeni veriler yalnızca formda kalır. Veritabanında depolanmazlar ve tabii ki uygulama tekrar çağrıldığında mevcut olmayacaklar. Bunun nedeni, verilerin bellekteki tablonun bir kopyası olan bir DataSet'e yüklenmiş olmasıdır. Tüm eylemler bu kopya ile gerçekleştirilir. Değişikliklerin veritabanına yansıtılması için TableAdapter sınıfının Update yöntemini yürütmelisiniz. Bu nedenle, geliştirilen uygulamada Güncelle düğmesini yerleştirmek ve aşağıdaki program kodunu Click olay işleyicisine yazmak gerekir:

touristTableAdapteгUpdate (bDTur_firmDataSet); info_about_touristsTableAdapter.Update (bDTur_firmDataSet);

Bu kod, veri kaynağı tarafından sağlanan Turist ve Turist Bilgi tablolarındaki bilgileri günceller. Bu yöntemin aşırı yüklendiğini ve varyantlarının hem bir tablonun tek bir satırını hem de bir satır grubunu güncellemenize izin verdiğini unutmayın.

VERİTABANLARI İLE ÇALIŞMAK İÇİN BİR UYGULAMANIN GELİŞTİRİLMESİ

Roza Gaynanova

genel Eğitim Disiplinleri Bölümü Öğretim Üyesi

Kazan Ulusal Araştırma Teknoloji Üniversitesi

Rusya, Kazan

AÇIKLAMA

Makale, veritabanlarına erişim yöntemlerini ve bu erişim yöntemlerinde kullanılan programlama arayüzlerini tartışmaktadır. Visual C # uygulamalarının Microsoft SQL Server 2012 DBMS ile entegrasyonu düşünülmüştür, "Seyahat Acentesi" bilgi sisteminin geliştirilmesi örnek olarak alınmıştır.

ÖZ

Makale, veri tabanlarına erişim yöntemlerini ve bu erişim yöntemlerinde kullanılan yazılım arayüzlerini incelemektedir. Visual C # uygulamalarının Microsoft SQL Server 2012 veritabanı sunucusu ile entegrasyonunu düşünüyoruz. Örnek olarak "Turist Acentesi" bilgi sisteminin geliştirilmesi ele alınmıştır.

Anahtar Kelimeler: veritabanı, SQL Server, uygulama, kullanıcılar, kontrol, sorgu.

Anahtar Kelimeler: veritabanı, SQL Server, uygulama, kullanıcılar, kontrol öğesi, sorgu.

Bir bilgi sistemi, belirli bir hedefe ulaşmak için bilgileri depolamak, işlemek ve yayınlamak için kullanılan birbiriyle bağlantılı araçlar, yöntemler ve personel kümesidir. Geliştirilen bilgi sistemi, istemci-sunucu teknolojisi kullanılarak inşa edilecektir. Bu tür sistemlerde bilgiler sunucuda saklanır ve bilgi sisteminin arayüzü üzerinde saklanır. istemci bilgisayarlarbunun aracılığıyla bilgi sistemi kullanıcıları verilere erişim sağlar.

Bir bilgi sistemi geliştirirken, iki ana görevin çözülmesi gerekir:

  • bilgi depolamak için bir veri tabanı geliştirme görevi;
  • geliştirme görevi grafik arayüzü istemci uygulamalarının kullanıcısı.

"Seyahat acentesi" veritabanı Microsoft SQL Server 2012'de oluşturulmuştur. Veritabanı, bu seyahat acentesinin müşterileri (turistler), sunduğu turlar, kuponların kaydı ve ödenmesi ile ilgili bilgileri depolar. Veritabanının tasarım aşamasında "Turistler", "Turlar", "Kuponlar", "Mevsimler", "Ödeme" tabloları oluşturulur. Tablolar arasında bağlantılar kurulur.

Seyahat acentesi uygulaması seyahat acentesi müdürü, satış müdürleri, muhasebeci, kasiyer ve seyahat acentesi ofis personeli tarafından kullanılacaktır. Ofis çalışanlarından biri sistem yöneticisi tarafından atanır. Kullanıcı hesaplarını yalnızca o tutacaktır. Beş ana tabloya ek olarak, veritabanı kullanıcıları hakkında bilgi içeren "Kullanıcılar" tablosu oluşturulur. Bu tablo diğer tablolarla ilgili değildir. Bu tablonun yapısı: kullanıcı kodu, soyadı, pozisyon, kullanıcı adı ve şifre. Bu tabloda yalnızca sistem yöneticisi değişiklik yapabilir.

SQL Server güvenliği iki kavram üzerine kurulmuştur: kimlik doğrulama ve yetkilendirme. SQL Server güvenlik sistemi yöneticisi, her kullanıcı için ayrı bir oturum açma nesnesi oluşturur. Bu nesne, SQL Server kullanıcı hesap adını, parolasını, tam nitelikli adı ve SQL Server veritabanlarına erişimi kontrol eden diğer öznitelikleri içerir. Kullanıcı, SQL Server'a bağlanarak, hesabının kayıtlı olduğu veritabanlarına erişim kazanır. Bir hesabı belirli bir veritabanına kaydetmek için, sistem yöneticisi içinde bir veritabanı kullanıcı adı oluşturur ve bunu belirli bir veritabanıyla ilişkilendirir. hesap... Sistem yöneticisi kullanıcılara belirli ayrıcalıklar verir. Bir satış müdürü, sonraki turun satışından sonra "Turistler", "Turlar" tablolarında değişiklik yapabilir ve "Turlar" tablosundaki "Koltuk_sayısı" sütununu değiştirebilir. Seyahat acentesinin bir çalışanı "Mevsimler" ve "Turlar" tablolarında değişiklik yapabilir. Muhasebeci ve kasiyer - "Ödeme" tablosunda.

İlgili kullanıcı için özellikler penceresini açarak SQL Server Management Studio'da izinler verebilirsiniz. GRANT ifadesini kullanarak da izinleri temsil edebilirsiniz. Bir yöneticiye yetki verme örnekleri. Aşağıdaki ifade Menedger kullanıcısına Turistler tablosunu görüntüleme, değiştirme, yeni satır ekleme ve eski verileri silme hakkı verir.

Seyahat Acentasını KULLANIN

SEÇME, GÜNCELLEME, EKLEME, SİLME VERME

Turistler ÜZERİNE

"Turlar" tablosuyla çalışmak için benzer bir talimat oluşturulur. Yöneticiye "Turlar" tablosunun yalnızca bir sütununu değiştirme hakkı vermek için, değişken sütununun adı Turlar (Yer sayısı) tablo adından sonra parantez içinde belirtilir. SEÇME, GÜNCELLEME işlemleri sağlandı.

Veri Kontrol Dilinde (DCL) dört talimat vardır: COMMIT, ROLLBACK, GRANT, REVOKE. Bu talimatların tümü, veri tabanını kazara veya kötü niyetli hasarlardan korumakla ilgilidir. Veritabanları, tam olarak üzerlerinde değişiklik yapıldığında savunmasızdır. Veritabanını korumak için SQL işlemlerle sınırlıdır. Bu onu değiştirebilir, böylece yalnızca işlemler içinde yürütülürler. Birden çok kullanıcı aynı veritabanı tablosunu aynı anda kullanmaya çalıştığında, eşzamanlı erişim durumu oluşturulur. Uygulama yeterli eşzamanlılık kontrolüne sahip olmayan çok kullanıcılı bir sistemde kurulur ve çalıştırılırsa, nispeten basit uygulamalarda bile eşzamanlı erişim sorunları ortaya çıkar. Sıralı olarak yürütülürlerse hiçbir işlem çakışması olmaz.

Veritabanı bütünlüğünü korumanın ana araçlarından biri bir işlemdir. Bir işlem, veritabanını etkileyebilecek tüm SQL ifadelerini içerir. SQL işlemi iki ifadeden biriyle sona erer: COMMIT veya ROLLBACK. İşlem bir ROLLBACK ifadesiyle biterse, tüm ifadeleri iptal edilir, veritabanı ilk durum... Normal bir işlem iki moddan birinde yürütülebilir: OKUMA-YAZMA (okuma-yazma) veya SADECE OKUMA (salt okunur). İşlem, aşağıdaki izolasyon seviyelerinden birine ayarlanabilir: SERİLEŞTİRİLEBİLİR (sıralı yürütme), TEKRARLANABİLİR OKUMA (tekrarlanan okuma), İLETİSİZ OKUMA (onaylanmamış verileri oku). Varsayılan özellikler OKUMA-YAZMA ve SERİLEŞTİRİLEBİLİR'dir. Varsayılan SQL işlem özellikleri genellikle çoğu kullanıcı için uygundur.

Uygulama, C # programlama dili kullanılarak Visual Studio 2012'de oluşturulur. Tasarım yazılım ürünü kullanıcı arayüzünün geliştirilmesiyle başlar.

Uygulamanın ana penceresi, uygulama ile çalışmak için ana işlevleri çağırmalıdır (Şekil 1). Menü, bu işlemleri gerçekleştirmek için kullanılır. Menü şu öğelerden oluşur: "Tablolar", "Sorgular", "Raporlar". Bu noktaların her biri alt noktalar içerir. Her işlev kendi penceresinde yürütülecektir. MenuStrip öğesi ana uygulama penceresine kurulur, menü seçenekleri oluşturulur. PictureBox öğesi form penceresine yerleştirilir. Eleman alanına bir resim yüklenir. Çizim tüm alanı kapsamalıdır. SizeMode özelliği, resmin ölçeklendirmesini ayarlar. Bu özellik için, açılır listeden StretchImage seçilir, çizim nesnenin tüm yüzeyini kaplayacak şekilde ölçeklenir.

ComboBox kontrolü, Seyahat Acentesi veritabanı ile çalışma hakkına sahip kullanıcıların listesini görüntülemek için kurulur. ComboBox öğesi bir veri kaynağına bağlanır. Pencere " FROMomboBox Görevler"," Veriye bağlı öğeleri kullan "onay kutusunun seçildiği durumda, bu onay kutusu seçilirse, veri bağlama seçenekleri açılır. ComboBox öğesi Kullanıcılar tablosuna bağlıdır ve Üyeyi Göster satırında Soyadı seçilir. Oturum açmak için, textBox2 şifresini girmek için metin kutusu1 kontrolü kurulur. TextBox1 ve textBox2 için UsesSystemPasworChar özelliği, metin kutusundaki metnin varsayılan parola karakterleri kullanılarak görüntülenip görüntülenmeyeceğini belirten true olarak ayarlanır. İki komut düğmesi "Oturum Aç" ve "Kullanıcıyı değiştir" yüklenir.

Bir comboBox öğesini Kullanıcılar tablosuna bağladığınızda, Form1_Load olay işleyicisi formun program kodunda görünür.

private void Form1_Load (nesne gönderen, EventArgs e)

this.usersTableAdapter1.Fill (this.tour agencyDataSet10.Users);

Uygulamayı başlatırken menü kullanılamaz. Sisteme girmek için kullanıcı verilerini girmeniz ve "Oturum Aç" düğmesine tıklamanız gerekir. Form yüklendiğinde, Kullanıcılar tablosunda bulunan kullanıcı soyadları comboBox1 denetimine yüklenir. Bu işleyicide, menüleri erişilemez kılan satırlar eklenir, "Kullanıcı değiştir" düğmesi ve comboBox1 öğesinde hiçbir öğe seçilmez:

menuStrip1.Enabled \u003d false; comboBox1.SelectedIndex \u003d -1;

button2.Enabled \u003d false;

Şekil 1. Ana uygulama penceresinin görünümü

"Giriş" butonuna tıkladığınızda "Kullanıcılar" tablosunda verilen soyadına sahip bir kullanıcı olup olmadığı, kullanıcı adı ve şifresinin doğru girilip girilmediğine bakılır. Form sınıfı açıklama alanı, sql komutuna iletilen parametreleri tanımlar. Bunlar üç parametredir: kullanıcının soyadı, kullanıcı adı ve şifresi.

özel dizge parfam, parpasw, parlog;

Satır ad alanına eklenir:

system.Data.SqlClient kullanarak;

// "Oturum Aç" düğmesini tıklamak için olay işleyici

string sql \u003d "";

string connstr \u003d @ "Veri Kaynağı \u003d B302CN-8 \\ TEST_SQL; İlk Katalog \u003d Seyahat Acentesi; Entegre Güvenlik \u003d Doğru";

SqlDataReader cmReader;

parfam \u003d comboBox1.Text; parlog \u003d textBox1.Text;

SqlConnection bağlantısı \u003d new SqlConnection (bağlantı);

sql \u003d "Kullanıcılardan Soyadı, Kullanıcı Adı, Şifre SEÇİN" +

"NEREDE (Soyadı \u003d @fam) ve (Şifre [e-posta korumalı])";

SqlCommand cmdkod \u003d new SqlCommand (sql, conn);

cmdkod.Parameters.Add (yeni SqlParameter ("@ fam", SqlDbType.NChar, 25));

cmdkod.Parameters ["@ fam"]. Değer \u003d parfam;

cmdkod.Parameters.Add (yeni SqlParameter ("@ pasw", SqlDbType.NChar, 10));

cmdkod.Parameters ["@ pasw"]. Değer \u003d parpasw;

cmdkod.Parameters.Add (yeni SqlParameter ("@ log", SqlDbType.NChar, 15));

cmdkod.Parameters ["@ log"]. Değer \u003d parlog;

eğer (! cmReader.Read ())

MessageBox.Show ("Yanlış şifre!");

cmReader.Close (); conn.Close ();

menuStrip1.Enabled \u003d true; comboBox1.SelectedIndex \u003d -1;

button1.Enabled \u003d false; button2.Enabled \u003d true;

textBox1.Text \u003d ""; textBox1.Enabled \u003d false;

textBox2.Text \u003d ""; textBox2.Enabled \u003d false;

comboBox1.Enabled \u003d false;

cmReader.Close ();

private void button2_Click (nesne gönderen, EventArgs e)

menuStrip1.Enabled \u003d false; comboBox1.Enabled \u003d true;

textBox1.Enabled \u003d true; textBox2.Enabled \u003d true;

button1.Enabled \u003d true; button2.Enabled \u003d false;

"Enter" düğmesine basmak için olay işleyicisinin işleminin açıklaması.

Connstr dizesi bağlantı dizesini içerir. Sql satırı, üretilen sorgunun metnini select ifadesinden başlayarak yazar ve ardından from sözcüğünden sonra belirtilen tablolardan seçilebilir alanlar listelenir.

İşleyici, SQL sunucusuna bağlantı sağlayan SqlConnection nesnesinin yeni bir örneğini oluşturur. SqlCommand nesnesi, verilen soyadı, oturum açma adı ve parolaya sahip bir kullanıcı için Kullanıcılar tablosunda arama yapmak için üç parametre içeren bir komut içerir. Button1_Click işleyici bir SqlConnection açar. İşleyici daha sonra cmdkod nesnesinde depolanan SQL komutunu yürütür.

cmReader \u003d cmdkod.ExecuteReader ();

ExecuteReader yönteminin yürütülmesinin bir sonucu olarak, SqlDataReader sınıfının bir nesnesi oluşturulur ve bu, SQL komut yürütmesinin tüm satırlarını sıralı olarak okumanıza olanak tanır. SqlDataReader yöntemi seçim için kullanılır. Okuyun. "Kullanıcılar" tablosu belirtilen soyadı, oturum açma adı ve parolaya sahip herhangi bir kayıt içermiyorsa, cmReader.Read () yöntemi yanlış döndürür. Bu, yanlış bir kullanıcı adı veya şifre girdiğiniz anlamına gelir. Bu durumda, geçersiz verilerle ilgili bir mesaj görüntülenir ve cmReader ve SqlConnection nesneleri kapatılır. Kullanıcı verileri doğru girilirse, menü ve "Kullanıcı değiştir" düğmesi kullanılabilir hale gelir. "Oturum Aç" düğmesi kullanılamaz hale gelir. TextBox1 ve textBox2 öğeleri temizlenir ve erişilemez hale getirilir. ComboBox1 öğesi de erişilemez hale gelir (Şekil 2)

Şekil 2. Kullanıcı oturum açtıktan sonra ana pencere görünümü

Tablolar ve sorgu sonuçları DataGridView denetimlerinde görüntülenecektir. Bu öğelerin temel amacı, öncelikle veritabanı tabloları olmak üzere dış veri kaynaklarının tablolarıyla bağlantı kurmaktır. Yeni girişleri görüntüleme ve girme kolaylığı için, "Mevsimler", "Turlar" ve "Turlar", "Ödeme" tabloları tek bir pencerede ikişer ikişer görüntülenecektir. Her DataGridView denetimi, Seyahat Acentesi veritabanındaki karşılık gelen bir tabloyla ilişkilendirilir. Bu pencerede "Turistler" tablosu seçilir (Şekil 3). Bağlantıyı tamamladıktan sonra (Bitir'e tıklayın) DataSet, BindingSource ve TableAdapter bileşenleri formda görünür. Bu bileşenler görsel değildir, bu nedenle ek panelde görüntülenirler. DataSet, bir veritabanı görüntüsü içeren özel bir nesnedir. DataSet ile gerçek veri kaynağı arasındaki etkileşimi uygulamak için TableAdapter türünde bir nesne kullanılır. Bu nesnenin tam adı - adaptör, dönüştürücü - doğasını gösterir. TableAdapter, DataSet ile sunucunun SQL veritabanında depolanan tablo arasında ileri ve geri veri aktarımlarını gerçekleştiren Doldurma ve Güncelleme yöntemlerini içerir. Fiil yöntemi, DataSet'i SQL Server'dan gelen verilerle doldurur ve Update, SQL Server veritabanını yerel DataSet'teki verilerle günceller. BindingSource bileşeni, bir form üzerindeki denetimleri verilere bağlamayı kolaylaştırır. BindingSource bileşeninin ana özelliği, veri kaynağına işaret eden Veri Kaynağı özelliğidir.

Tablolar veri kaynaklarına bağlandıktan sonra, Form2_Load olay işleyicisi formun program kodunda görünür.

private void Form2_Load (nesne gönderen, EventArgs e)

this.touristsTableAdapter.Fill (this.travel agencyDataSet9.Tourists);

Form yüklendiğinde, Turistler tablosunda bulunan veriler Form2 form penceresinde DataGridView denetiminde görüntülenir. Tabloda değişiklik yapabilir ve yeni kayıtlar ekleyebilirsiniz. Değişiklikleri yaptıktan sonra, "Turistleri Kaydet" düğmesine tıklayın. "Turistleri Kaydet" düğmesini tıklamak için olay işleyici:

private void button1_Click (nesne gönderen, EventArgs e)

seasonsTableAdapter.Update (seyahat acentesiDataSet9);

MessageBox.Show ("Veriler kaydedildi");

Şekil 3. "Turistler" tablosunun bulunduğu pencerenin görünümü

Her istek ayrı bir pencerede görüntülenir. Form1 penceresinde, Sorgular menüsüne isteğin adını içeren yeni bir öğe eklenir. Sorguda parametre yoksa, sorgu yürütme sonuçlarını görüntülemek için form penceresine bir DataGridView denetimi yüklenir ve uygun yordam veya veritabanı işlevine bağlanır.

Bu makale, veri tabanlarıyla çalışan uygulamalar geliştirmenin bazı yöntemlerini, sınırlı sayıda insanla çalışmak için erişimi düzenlemenin bir yolunu, Visual C # uygulamalarını bir Microsoft SQL Server 2012 DBMS ile entegre etmenin yollarını açıklar.Visual C # programlamasını kullandığınızda SQL ile geniş bir yetenekler yelpazesine sahip güçlü uygulamalar oluşturabilirsiniz. SQL'in temel gücü veri erişiminde yatmaktadır. Tabloda kaç satır olursa olsun, bunları tek bir SELECT ifadesiyle alabilirsiniz. Aynı zamanda, SQL dilinin ana dezavantajı, az gelişmiş kullanıcı arayüzüdür. Prosedürel dilleri kullanarak, verileri girmek ve görüntülemek için kullanıcı dostu arayüzler oluşturabilirsiniz. SQL'i prosedürel dillerle birleştirmek için en yaygın teknik SQL enjeksiyonu olarak adlandırılır. SQL ifadesi, prosedür programında istenen konuma eklenir. Bilgi, prosedürel bir dilde yazılmış bir program ile SQL kodu arasında akmalıdır. Bunun için temel değişkenler kullanılır. SQL'in bu değişkenleri tanıması için bildirilmeleri gerekir. Değişkenler, kod açıklamasından önce formun sınıf açıklama alanında bildirilir. Kodda, yeni oluşturulan SqlConnection nesnesi SQL sunucusuna bir bağlantı sağlar. SqlCommand nesnesi, gömülü SQL komutunun yürütülmesini sağlar.

Referans listesi:

  1. Allen Taylor. Dummies için SQL, 8. Baskı: Per. İngilizceden. - M.: LLC "I.D. Williams ”, 2014. - 416 s.
  2. Gaynanova R.Sh. Veritabanları ile çalışmak için uygulamaların geliştirilmesi MS SQL Server 2012 // Temel ve uygulamalı bilimler bugün: XI uluslararası pratik konferans bildirileri (10-11 Nisan 2017 Noth Charleston, ABD), cilt 3 - s. 34-41.
  3. Frolov A.V., Frolov G.V. C # uygulamalarının görsel tasarımı. - M .: KUDRITS-OBRAZ, 2003, - 512'ler.