Veritabanlarıyla çalışmak için uygulamaların geliştirilmesi. Veritabanları oluşturmak için programlara genel bakış Bilgibilimsel tasarım, bilgi nesnelerinin, etki alanlarının, niteliklerin, bağlantıların doğrulanması, bir bilgibilimsel modelin hazırlanması

Turistler tablosundaki bilgileri ve Turist tablosundaki geçerli kayıtla ilişkili bir Microsoft Access veritabanındaki Turist Bilgileri tablosu kaydını görüntüleyen basit bir veritabanı uygulaması oluşturalım.

Bunu yapmak için boş bir Windows uygulaması oluşturacağız. Çevrenin görünüşü

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

Pirinç. 39. Boş uygulama

Şekil 39, verilere erişmek ve bunları işlemek için bileşenleri içeren "Veri" ("Veri") bileşen grubunu vurgulamaktadır.

Veritabanı verilerinin forma bağlanması "Binding Source" bileşeni tarafından gerçekleştirilir. Forma aktaralım. Form üzerine yerleştirildikten sonra geliştirme ortamı aşağıdaki formu alır (Şekil 40).

Pirinç. 40. Formdaki Bağlama Kaynağı bileşeni

Bileşen görsel değildir, bu nedenle 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 belirir (Şekil 41).

Pirinç. 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 gerekiyor. Aşağıdaki diyalog kutusu belirir (Şek. 42).

Pirinç. 42. Veri kaynaklarının listesi

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

Veritabanı - Veritabanı;

Servis - Servis, bu veri sağlayan bir servistir. Çoğu zaman bu bir Web hizmetidir;

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

Bizim durumumuzda, "Veritabanı" öğesini seçmeniz gerekiyor. Veri bağlantısı seçim penceresi görünür (Şek. 43).

Pirinç. 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 altyapısı için 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. Eğer gerekli bağlantı listede yoksa "Yeni bağlantı" butonu kullanılmalıdır. Düğmeye basmak, aşağıdaki iletişim kutusunun görünmesine yol açar (Şek. 44).

Bu iletişim kutusunda, veri kaynağının türü seçilir ( bu durum Microsoft Access), veritabanının adı (bu durumda veritabanı dosyasının adı ve konumu), veritabanına bağlanmak için kullanılan kullanıcı adı ve parola. "Gelişmiş" düğmesi, ADO motorunun çeşitli bölümleriyle ilgili çok sayıda parametre ayarlamanıza olanak tanır. "Bağlantıyı Test Et" düğmesinin kullanılması, girilen parametrelerin doğru olduğundan ve bağlantının çalıştığından emin olacaktır.

Pirinç. 44. Yeni bir bağlantı oluşturun

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

Pirinç. 45. Gerekli tabloların seçilmesi

Bu pencerede "Turistler" ve "Turistler hakkında bilgiler" tabloları seçilir. Veritabanında tablolar dışında herhangi bir nesne oluşturulmadığı için Şekil 45'te sadece tablolar gösterilmiştir. Bu, veri kaynağının oluşturulmasını tamamlar. BindingSource bileşeninin yanındaki "Son" düğmesine tıkladıktan sonra formda DataSet bileşeni görünür.

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

Pirinç. 46. ​​​​DataGridView Bileşeni

Veri düzenleme yeteneklerini belirleyen bileşen ayarları penceresi hemen görünür: “Düzenlemeyi etkinleştir” (“Eklemeyi Etkinleştir”), “Düzenlemeyi etkinleştir” (“Düzenlemeyi Etkinleştir”), “Silmeyi etkinleştir” (“Silmeyi Etkinleştir”); sütun sırasını değiştirme yeteneği: "Sütunların sırasını değiştirme yeteneğini etkinleştir" ("Sütun Yeniden Sıralamayı Etkinleştir"); yanı sıra ana kapsayıcıya sabitleme yeteneği.

Bileşenin verileri gösterebilmesi için açılır listeden veri kaynağını seçmelisiniz. Açılır listenin seçilmesi, aşağıdaki iletişim kutusunun görüntülenmesine yol açar (Şek. 47).

Pirinç. 47. DataGridView için Veri Kaynağı Seçme

Bu durumda veri kaynağı olarak “Turistler” tablosunu seçtik. Bu seçim ekran formunu aşağıdaki gibi değiştirir (Şek. 48).

Pirinç. 48. DataGridView bileşeni, tablonun yapısını görüntüler

Şekil, "Tourists" tablosuyla çalışan başka bir BindingSource bileşeni ve bir TableAdapter bileşeni olduğunu göstermektedir. Tasarım sırasında veya geliştirme sırasında tablodaki verilerin görüntülenmediğini lütfen unutmayın.

Şimdi "Turist Bilgileri" ile ilgili tablodaki verileri görüntülemeniz gerekiyor. Bunun için forma başka bir DataGridView bileşeni yerleştirelim ve veri kaynağı olarak aşağıdakini seçelim (Şekil 49).

Pirinç. 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ğlantıdır (Bağlayıcı Kaynak). Bu seçim, Turist Bilgileri tablosundan yalnızca Turist tablosundaki geçerli satırla ilgili olan Turist Bilgileri tablosundaki satırların seçilmesini sağlar. Ayrıca ilgili verilerin doğru bir şekilde güncellenmesini ve silinmesini sağlar. Ortaya çıkan uygulamanın çalışması Şekil 50'de gösterilmektedir.

Pirinç. 50. Veritabanı uygulaması iş başında

Ok tuşlarını kullanarak veriler arasında gezinmek elverişsizdir. Veri gezintisini basitleştirmek için bir BindingNavigator bileşeni vardır. Formun üzerine yerleştirelim (Şek. 51).

Pirinç. 51. Formdaki BindingNavigator bileşeni

Bu bileşen, tablo girişleri arasında gezinmenize, tablo satırları eklemenize ve silmenize olanak tanır. Bileşenin özellikleri 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 "touristsBindingSource" olarak ayarlayın. Çalışmada, bileşen şöyle görünür (Şek. 52).

Pirinç. 52. BindingNavigator bileşeni iş başında

DataGridView bileşeninin hücrelerindeki verileri uygun ayarlarla düzenlemek mümkündür, ancak uygunsuz ve mantıklı değildir. Özellikle girilen değerlerin hatalara karşı kontrol edilmesi zordur. Bu nedenle “Turistler” tablosu için TextBox bileşenlerinde verileri görüntülemenizi ve düzenlemenizi sağlayan bir ekran formu oluşturacağız. Bunun için formun üzerine Panel tipi bir kap ve üzerine aşağıdaki gibi üç adet TextBox bileşeni yerleştirelim (Şekil 53).

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

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

Pirinç. 54. "DataBindings - Gelişmiş" özelliği

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

Binding açılır listesindeki üst TextBox bileşeni için, "touristsBmdmgSource" veri kaynağını ve "Soyadı" kaynak alanını seçin. TextBox'ın orta ve alt bileşenleri için aynı veri kaynağını ve sırasıyla "First Name" ve "Patronymic" alanlarını seçeceğiz.

Geliştirilen uygulama çalışırken şuna benzer (Şekil 56).

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

Pirinç. 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 saklanmazlar ve uygulama tekrar çağrıldığında elbette yok olurlar. Bunun nedeni, verilerin tablonun bellek içi bir kopyası olan bir DataSet nesnesine yüklenmiş olmasıdır. Tüm eylemler bu kopya üzerinde gerçekleştirilir. Değişikliklerin veritabanına yansıtılabilmesi için TableAdapter sınıfının Update yöntemini çalıştırmanız gerekir. Bu nedenle geliştirilmekte olan uygulamada “Güncelle” butonunun yerleştirilmesi ve Click olay işleyicisine aşağıdaki program kodunun yazılması gerekmektedir:

TuristTableAdapteGUpdate(bDTur_firmDataSet); turist_informationTableAdapter.Update(bDTur_firmDataSet);

Bu kod, veri kaynağı tarafından sağlanan "Turistler" ve "Turist Bilgileri" tablolarındaki bilgileri günceller. Dikkat Bu method aşırı yüklenir ve varyantları hem tek bir tablo satırını hem de bir grup satırı güncellemenize izin verir.

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

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

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

giriiş

3. Veri organizasyonu modelleri

4. İlişkisel veritabanları

6. Bilgibilimsel model

7. Mantık modeli

8. Tabloların yapısı

12. Tablolar oluşturun

16. Raporlar oluşturun

17. Program Listeleme

Çözüm

bibliyografya

giriiş

Üretim faaliyetlerinde, ekonomik yönetimde ve siyasette sağlıklı ve etkili kararlar almak için modern bir uzman, bilgisayar ve iletişim kullanarak 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 bir ortam olarak konuşulur hızlı oluşturma uygulamalar. Bu görsel bir programlama teknolojisidir, yani. kullanıcı gelecekteki programını çizer ve çalışmasının sonuçlarını programın kendisini başlatmadan önce bile görür. Prensip olarak, bir başvuru yazma süreci iki kısma ayrılır. Birincisi - programcı, programının pencerelerine gerekli öğeleri yerleştirir, konumlar, gerekli boyutları ayarlar, özellikleri değiştirir. İkincisi, aslında program kodunu yazmak, yalnızca uygulama çalışırken kullanılabilen öğelerin özelliklerini tanımlamak, bir pencerenin görünümü olayına tepkileri açıklamak, bir düğmeye basmak, vb. Bir öğe için herhangi bir özelliği ayarlamak için Geliştirilmekte olan uygulamada, büyük metin satırları yazmak hiç gerekli değildir, bu özelliği Nesne Denetçisinde (seçilen öğenin özellik izleyicisi olarak adlandırılır) değiştirmek yeterlidir. Bu değişiklik, program kodunu otomatik olarak ekler veya değiştirir.

Bu, görsel programlama teknolojisinde büyük bir artı. Yazılım ürününü oluştururken veya değiştirirken, kullanıcı, program öğesinin bazı özelliklerini bilmeden veya bunlara dikkat etmeden, ancak yalnızca gerekli olanları kullanarak, tamamen bitmiş bir çalışma ürünü yazar, bazen karmaşık olarak eşit şartlarda hareket eder. görsel olmayan bir editör.

Eğitim sürecinin müfredatına ilişkin verileri içerecek bir veri tabanı oluşturma görevi ile karşı karşıyayız. Veritabanını doldurduktan sonra, Sql sorgularını kullanarak seçici bir analiz yapmanız gerekir.

temel bilgi tablosu programı

1. Genel Gereksinimler veritabanı uygulamalarının geliştirilmesine

Veritabanı şunları içermelidir

a. Veri depolamak için tablolar, en az 3 tablo. Her tablo en az 10 giriş içermelidir.

b. Kolay görüntüleme, veri girme, düzenleme ve veri arama, sorgu oluşturma ve görüntüleme için formlar. Form açıklamalar, ipuçları içermelidir. Form alanlarını doldururken, bilinen değer kümeleri için bir listeden değer seçme özelliğini kullanın. Gezinmeyi optimize etmek için mümkün olduğunda formlar birbirine bağlanmalıdır. Form, kullanıcı için mümkün olduğunca fazla bilgi içermelidir. Ortaya çıkan anlamsal hataların ele alınmasını sağlayın.

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

d. Çeşitli veritabanı nesnelerine erişmek için menü

e. içeren yardım Tam tanım görevler

2. Veritabanı programlaması için, DELPHI programlama sistemi olan SQL dili hakkında ek literatür kullanmak gereklidir.

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

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

2. Bilgibilimsel tasarım, bilgi nesnelerinin, etki alanlarının, niteliklerin, bağlantıların doğrulanması, bir bilgibilimsel modelin oluşturulması.

3. Mantıksal tasarım, temel ilişkilerin kurulması ve gerekçelendirilmesi, normalleştirme.

4. Sql sorguları tasarlama.

5. Veritabanındaki yapı ve genel fonksiyonların programlanması.

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

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

8. Açıklayıcı bir not almak.

4. Dönem ödevinde edinilen yetkinlikleri değerlendirme kriterleri

Tablo 1'de gösterilen çalışmayı savunurken ölçütler öğretmen tarafından doldurulur. Ortalama nota göre ders çalışmasına bir not verilir.

Tablo 1. Yeterliklerin Değerlendirilmesi

yetkinliklerin adı

Değerlendirmenin amacı

Gereksinimleri anlayın ve bunlara uyun

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

Yazılı iletişim

Açıklayıcı notta sunumun kalitesi, netlik, hacim yapısı, göreve uygunluk.

DELPHI programlama sisteminin unsurlarını bilir ve uygular

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

Veritabanı teknolojisinin unsurlarını bilir ve uygular

Tasarımla ilgili soruların yanıtları, muhtemelen bir test formatında

Veritabanı teknolojisini uygulama gereksinimlerini anlayın

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

İş planlaması, iş organizasyonu

geri dönüş süresi

Sorunları bağımsız olarak çözün

Kendi kendine çözülen görevlerin listesi ve yöntemleri

Sözlü iletişim

Genel veritabanı koruması

Analiz etme, sentezleme yeteneği

Bilgiye dayalı, mantıksal veritabanı modeli

Kaliteli sonuçlara bağlılık

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

Yeni fikirler üretme yeteneği

Arayüz kalitesi, göreve dahil olmayan ek veritabanı işlevleri.

Bilgileri yönetme (arama) yeteneği

Miktar bilgi kaynakları bulunan ve kullanılan dönem ödevi, danışman sayısı.

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

Bir veritabanı (DB), bir bilgisayar sisteminin belleğinde depolanan ve nesnelerin durumunu ve incelenen konu alanındaki ilişkilerini yansıtan bir dizi yapılandırılmış veridir.

Veritabanında depolanan verilerin mantıksal yapısına veri temsil modeli denir. Ana veri sunum modelleri (veri modelleri) hiyerarşik, ağ, ilişkisel içerir.

Bir veritabanı yönetim sistemi (DBMS), bir dizi dil ve yazılım araçları, bir veritabanı oluşturmak, sürdürmek ve birçok kullanıcıyla paylaşmak için tasarlanmıştır. RDBMS genellikle kullanılan veri modeli ile ayırt edilir. Bu nedenle, ilişkisel veri modelinin kullanımına dayanan VTYS'ye ilişkisel VTYS denir.

Bir veritabanıyla çalışmak için DBMS araçları genellikle yeterlidir. Ancak, vasıfsız kullanıcılar için veritabanı ile çalışma kolaylığı sağlanması isteniyorsa veya VTYS arayüzü kullanıcılara uygun değilse uygulamalar geliştirilebilir. Yaratılışları programlama gerektirir. Uygulama, uygulanan bir görevin çözümünü otomatikleştiren bir program veya bir dizi programdır. Uygulamalar, DBMS ortamında veya dışında oluşturulabilir - örneğin, Delphi veya C ++ Вuildeg gibi veritabanı erişim araçlarını kullanan bir programlama sistemi kullanılarak. Bir DBMS ortamında geliştirilen uygulamalara genellikle DBMS uygulamaları denirken, bir DBMS ortamının dışında geliştirilen uygulamalara genellikle harici uygulamalar denir.

Veri sözlüğü, veri yapıları, veri tabanı dosyaları arasındaki ilişkiler, veri türleri ve sunum biçimleri, kullanıcıların veri sahipliği, güvenlik ve erişim kontrol kodları vb. hakkında bilgilerin merkezi olarak depolanması için tasarlanmış bir veri tabanı alt sistemidir.

Veritabanı kullanımına dayalı bilgi sistemleri genellikle istemci-sunucu mimarisinde çalışır. Bu durumda veritabanı sunucu bilgisayarda bulunur ve paylaşılır.

Belirli bir kaynağın sunucusu bilgisayar ağı Bu kaynağı yöneten bir bilgisayara (program) istemci - bu kaynağı kullanan bir bilgisayar (program) denir. Bir bilgisayar ağ kaynağı olarak, örneğin veritabanları, dosyalar, yazdırma hizmetleri, posta hizmetleri hareket edebilir.

Örgütün saygınlığı bilgi sistemi istemci-sunucu mimarisinde, merkezi depolama, bakım ve ortak kurumsal bilgilere toplu erişimin bireysel kullanıcı çalışmasıyla başarılı bir birleşimidir.

İstemci-sunucu mimarisinin temel ilkesine göre veriler yalnızca sunucu üzerinde işlenir. Kullanıcı veya uygulama, SQL deyimleri şeklinde veritabanı sunucusuna gelen sorguları oluşturur. Veritabanı sunucusu, daha sonra kullanıcının bilgisayarına aktarılan gerekli verilerin aranmasını ve çıkarılmasını sağlar. Bu yaklaşımın öncekilere kıyasla avantajı, iletilen veri miktarının gözle görülür şekilde daha az olmasıdır.

Aşağıdaki DBMS türleri vardır:

* tam özellikli DBMS;

* veritabanı sunucuları;

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

Tam özellikli VTYS'ler geleneksel VTYS'lerdir. Bunlara dBase IV, Microsoft Access, Microsoft FoxPro vb. dahildir.

Veritabanı sunucuları, bilgisayar ağlarındaki veri işleme merkezlerini düzenlemek için tasarlanmıştır. Veritabanı sunucuları, genellikle SQL deyimlerinin yardımıyla, istemci programlarından gelen isteklerin işlenmesini sağlar. Veritabanı sunucularına örnekler: Microsoft SQL Server, Inter Üssü vb.

İstemci programlarının rolünde, genel olarak DBMS, elektronik tablolar, kelime işlemciler, programlar E-posta ve benzeri.

Veritabanı 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 bireysel bileşenleri;

* özel uygulamalar.

DBMS kullanımının doğasına göre, çok kullanıcılı (endüstriyel) ve yerel (kişisel) olarak ikiye ayrılırlar.

Endüstriyel, DBMS program çerçevesi geliştirme için otomatik sistemler büyük ekonomik nesnelerin yönetimi. Endüstriyel VTYS aşağıdaki gereksinimleri karşılamalıdır:

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

* ölçeklenebilirlik;

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

* saklanan bilgiler için çok seviyeli bir yedekleme sisteminin varlığı da dahil olmak üzere çeşitli türlerdeki arızalarla ilgili kararlılık;

* Depolanan verilerin güvenliğinin ve bunlara erişim için geliştirilmiş yapılandırılmış bir sistemin sağlanması.

Kişisel DBMS (şimdiki değeri) yazılım yerel bir kullanıcının veya küçük bir kullanıcı grubunun sorunlarını çözmeye odaklanmış ve kişisel bilgisayar. Bu, ikinci adlarını açıklar - masaüstü. Masaüstü sistemlerinin tanımlayıcı özellikleri şunlardır:

* Göreceli kullanım kolaylığı, temelinde uygulanabilir kullanıcı uygulamaları oluşturmanıza olanak tanır;

* donanım kaynakları için nispeten sınırlı gereksinimler.

Kullanılan veri modeline göre, VTYS hiyerarşik, ağ, ilişkisel, nesne yönelimli vb. olarak ayrılır. Bazı VTYS'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 tanımlama dili -- prosedürel olmayan üst düzey dil
mantıksal bir tanımlamayı amaçlayan bildirim tipi
veri yapıları

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

Farklı DBMS'deki adlandırılmış dillerde farklılıklar olabilir. En yaygın olarak kullanılan iki standartlaştırılmış dildir: QBE -- kalıplı bir sorgu dili ve SQL -- yapılandırılmış bir sorgu dili QBE temel olarak bir veri işleme dilinin özelliklerine sahiptir, SQL her iki dil türünün özelliklerini birleştirir.

DBMS aşağıdaki ana işlevleri uygular düşük seviye:

* sırasında veri yönetimi harici bellek;

* RAM arabellek yönetimi;

* iş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.

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

Veri 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ı gereken veya işlendikten sonra veritabanına yazılması planlanan veritabanı parçalarını geçici olarak depolar.

İşlem mekanizması, veritabanındaki verilerin bütünlüğünü korumak için DBMS'de kullanılır. İşlem, DBMS tarafından baştan sona izlenen, veritabanı verileri üzerindeki bazı bölünmez işlem dizisidir. Herhangi bir nedenle (ekipman arızaları ve arızaları, uygulama dahil yazılımdaki hatalar) işlem eksik kalırsa, iptal edilir.

İşlemlerin üç ana özelliği vardır:

* atomisite (işlemin içerdiği tüm işlemler gerçekleştirilir veya hiçbiri);

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

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

İşlem örneği, bankacılık sisteminde bir hesaptan diğerine para aktarma işlemidir. Önce bir hesaptan para çekilir, sonra başka bir hesaba yatırılır. Eylemlerden en az biri başarıyla tamamlanmazsa, işlemin sonucu yanlış olacak ve işlemin dengesi bozulacaktır.

Değişiklik günlüğü, donanım ve yazılım arızalarının varlığında 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. Veri tabanının bütünlüğü, veri tabanının bir özelliğidir, yani tam, tutarlı ve konu alanı bilgilerini yeterince yansıtmaktadır. Veritabanının durumunun bütünlüğü, veritabanında depolanan veriler tarafından karşılanması gereken koşullar biçimindeki bütünlük kısıtlamaları kullanılarak tanımlanır.

DBMS'de güvenlik, veri şifreleme, parola koruması, veri tabanına ve bireysel öğelerine (tablolar, formlar, raporlar, vb.) erişim seviyeleri için destek ile sağlanır.

3. Veri organizasyonu modelleri

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

Hiyerarşik modeldeki bütünlük kısıtlamalarının odak noktası, ebeveyn olmadan hiçbir çocuğun var olamayacağı temel kuralına tabi olarak, atalar ve torunlar arasındaki referans bütünlüğüdür.

Ağ veri modeli, veri öğeleri arasındaki çeşitli ilişkileri rastgele bir grafik biçiminde görüntülemenize olanak tanır. Bir ağ veritabanı, bir dizi kayıttan ve bir dizi karşılık gelen 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 kaydı olabilirse, ağ veri modelinde bir alt kaydın keyfi sayıda üst kaydı olabilir.

Ağ veri middelinin avantajı, verimli uygulanması 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 açısından daha fazla fırsat sunmaktadır.

Ağ veri modelinin dezavantajı, temelinde oluşturulan veritabanı şemasının yüksek karmaşıklığı ve katılığının yanı sıra onu anlamanın zorluğudur. normal kullanıcı. Ek olarak, ağ veri modelinde, kayıtlar arasında keyfi bağlantılar kurulmasının kabul edilebilirliği nedeniyle bağlantıların bütünlüğünün kontrolü zayıflar.

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

İlişkisel veri modeli, IBM çalışanı Edgar Codd tarafından önerilmiştir ve ilişki kavramına dayanmaktadır.

İlişki, tuple adı verilen bir dizi öğedir. Bir ilişkinin görsel temsili iki boyutlu bir tablodur.

Bir tablonun yardımıyla, veriler arasındaki en basit ilişki türünü, yani: tabloda saklanan bir nesnenin, her biri bir satıra veya tabloya karşılık gelen birçok alt nesneye bölünmesi uygundur. giriş.

İlişkisel modelin ana dezavantajları şunlardır: standart araçlar bireysel kayıtların tanımlanması ve hiyerarşik ve ağ ilişkilerinin tanımlanmasını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 ilişkileri modellemenize olanak tanır. RMD terimleri Tablo'da sunulmuştur. 4.1

Tablo 4.1. İlişkisel modelin şartları

terim ilişkisel model

Eşdeğer

Davranış

ilişki şeması

Tablo sütun başlığı satırı (tablo başlığı)

Tablo satırı, kayıt

Öz

Nesne özelliklerinin açıklaması

Sütun, alan

İzin verilen değerler kümesi

bağlanmak

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 ambarıdır. Tablolardaki veriler aşağıdaki ilkelere uygun olmalıdır:

1. Nitelik değerleri atomik olmalıdır (diğer bir deyişle,
bir satır ve bir sütunun kesişiminde bulunan her bir değer,
birden çok değere bölünmemelidir).

2. Her özelliğin değerleri aynı tipte olmalıdır.

3. Tablodaki her giriş benzersizdir.

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

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

İlişki en önemli kavramdır ve bazı verileri içeren iki boyutlu bir tablodur.

Bir varlık, verileri bir veritabanında depolanan herhangi bir nitelikteki bir nesnedir. Varlık verileri ilişki içinde saklanır.

Nitelikler, bir varlığı karakterize eden özelliklerdir. Tablonun yapısında her bir öznitelik isimlendirilir ve bazı tablo sütunlarının başlığı buna karşılık gelir.

Bir ilişkinin anahtarı, ilişkinin her bir grubunu benzersiz bir şekilde tanımlayan nitelikler kümesidir. Başka bir deyişle, ilişkinin anahtarı olan K öznitelikleri kümesi teklik özelliğine sahiptir. Bir anahtarın sonraki özelliği artıklık değildir. Yani, K kümesinin uygun alt kümelerinin hiçbiri benzersizlik özelliğine sahip değildir.

Her ilişki her zaman bir anahtar işlevi görebilecek bir nitelik kombinasyonuna sahiptir.

Bir ilişkinin, her biri ilişkinin tüm gruplarını benzersiz bir şekilde tanımlayan çeşitli nitelik kombinasyonlarına sahip olduğu durumlar vardır. Bu öznitelik kombinasyonlarının tümü olası ilişki anahtarlarıdır. Olası anahtarlardan herhangi biri birincil olarak seçilebilir.

Anahtarlar genellikle aşağıdaki hedeflere ulaşmak için kullanılır:

Anahtar özelliklerde değerlerin yinelenmesinin hariç tutulması (diğer nitelikler dikkate alınmaz);

Tuple sıralaması. Tüm temel niteliklerin değerlerini artan veya azalan düzende ve ayrıca karışık düzende (bir - artan ve diğerlerine göre - azalan) sıralamak mümkündür;

Kuruluşları birbirine bağlayan tablo.

Yabancı anahtar kavramı önemlidir. Yabancı anahtar, değerleri başka bir R1 ilişkisinin olası bir anahtarının değerleriyle eşleşmesi gereken bir R2 ilişkisinin bir dizi özelliği olarak tanımlanabilir.

Yabancı anahtarı oluşturan K2 ilişkisinin nitelikleri bu ilişkinin anahtarı değildir.

Yabancı anahtarlar, ilişkiler arasında ilişkiler kurar.

Bilgi sistemlerinin veritabanlarını tasarlamak oldukça zaman alan bir iştir. Hakkında bilgi veri tabanında saklanması gereken konu alanının yapısının ve süreçlerinin resmileştirilmesi temelinde gerçekleştirilir. Kavramsal ve şematik-yapısal tasarım vardır.

Bir DB IS'nin kavramsal tasarımı büyük ölçüde buluşsal bir süreçtir. İD'in işleyişi sürecinde, kendi çerçevesinde inşa edilen konu alanının bilgibilimsel modelinin yeterliliği ampirik olarak doğrulanmaktadır.

Kavramsal tasarımın aşamaları:

* konu alanı hakkında genel bir fikir oluşturmak için çalışma;

* geliştirilen IS'nin işlev 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 resmileştirilmiş temsili.

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

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

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

* tablolardaki alanlar için indekslemenin ayarlanması;

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

* tablolar ve ilişkiler için bütünlük kısıtlamaları oluşturmak;

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

Mantıksal tasarım, tabloların sayısını ve yapısını belirlemek, veritabanına sorgular geliştirmek, belgeleri raporlamak, veritabanına veri girmek ve düzenlemek için formlar oluşturmak vb.

Mantıksal veritabanı tasarımının en önemli görevlerinden biri veri yapılandırmasıdır. Veri yapılarını tasarlamak için aşağıdaki yaklaşımlar vardır:

* varlık nesneleri hakkındaki bilgileri bir tablo (bir ilişki) içinde birleştirmek ve ardından ilişkileri normalleştirme prosedürüne dayalı olarak birbiriyle ilişkili birkaç tabloya ayrıştırmak;

* sistem hakkında bilgi formüle etme (ilk veri ve ilişki türlerini belirleme) ve veri işleme gereksinimleri, CA5E sistemini kullanarak hazır bir veritabanı şeması veya hatta hazır uygulamalı bilgi sistemi elde etme;

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

5. SQL'in amacı ve çalışma prensibi

SQL (genellikle "sequel" olarak telaffuz edilir, Structured Query Language'in kısaltması), Structured Query Language anlamına gelir.

SQL, bir bilgisayar veri tabanında bulunan verileri işlemek ve okumak için bir araçtır. Bu, ilişkisel veritabanlarını etkili bir şekilde oluşturmayı ve onlarla çalışmayı mümkün kılan bir dildir.

Veritabanı dünyası giderek daha birleşik hale geliyor, bu da çok çeşitli farklı türde bilgi işlem ortamlarında işlev görebilen standart bir dile duyulan ihtiyacı doğurdu. Standart dil, bir dizi komutu bilen kullanıcıların, ister kişisel bir bilgisayarda, ister ağda çalışıyor olsunlar, bilgileri oluşturmak, almak, değiştirmek ve iletmek için bunları kullanmalarına izin verecektir. iş istasyonu veya bir ana bilgisayar bilgisayarında. giderek daha fazla birbirine bağlı bilgisayar Dünyası, böyle bir dille donatılmış kullanıcı, çok sayıda kaynaktan gelen bilgileri çok sayıda yolla kullanma ve özetleme konusunda büyük bir avantaja sahiptir.

Adından da anlaşılacağı gibi SQL, bir veritabanı ile 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. Bilgibilimsel model

İnfolojik bir model oluştururken, verilen veritabanının konu alanı "Müfredat, PMI yönünün çalışılan disiplinleri" analiz edildi. 4 nesne seçildi: Müfredat, Disiplin, Öğrenci, Öğretmen ve ayrıca öğrenciler ve disiplinler ile öğretmenler ve disiplinler arasında bağlantı kuran iki ek tablo. Müfredat nesnesi aşağıdaki ö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ı, Ders saati sayısı laboratuvar çalışmaları, Toplam saat, Haftalık saat sayısı, Disipline göre raporlama formu, Çalışma dönemi. Sudent nesnesi aşağıdaki özelliklere sahiptir: Not defteri numarası, tam ad. Ve Teacher nesnesi şu özelliklere sahiptir: Tam ad, Personel numarası, Departman, Pozisyon, Telefon. Müfredat ve Ders nesneleri 1:n ilişkisiyle, Course ve Student nesneleri 1:n ilişkisiyle ve Course ve Teacher nesneleri 1:n ilişkisiyle ilişkilidir.

İnfolojik modeli tanımlarken ER diyagramları kullanıldı:

Resim 1

7. Mantık modeli

Mantıksal model, konu alanı kavramlarını, bunların ilişkisini ve konu alanı tarafından getirilen verilere kısıtlamaları açıklar.

Mantıksal veri modeli, gelecekteki veritabanının ilk prototipidir. Bilgi birimleri açısından inşa edilmiştir, ancak belirli bir DBMS'ye atıfta bulunmadan. Ayrıca mantıksal veri modelinin ilişkisel veri modeli aracılığıyla ifade edilmesi gerekmez.

Mantıksal bir model oluşturmak için, her nesneye belirli bir alan kümesine sahip bir tablo atanmıştır. Nesneler Disiplini ve Öğretmen 1:n ilişkisinde ilişkili olduğundan, Disiplin ve Öğretmen: Öğretiyor nesneleri arasındaki ilişkiyi temsil eden ek bir tablo görünür.

Toplamda 4 nesnemiz var ve bu nedenle bunları temsil edecek 4 tablo olacak, Müfredat nesnesi yalnızca bilgi amaçlıdır, çünkü veritabanı yalnızca bir müfredatla çalışır:

Ancak iki nesne arasında 1:n'lik bir ilişki var, bu yüzden bu tablolar arasındaki ilişkileri temsil etmek için başka bir tablo tanıtmamız gerekiyor. Bu, Öğretir (Disiplin-Öngörüntü) tablosu ve Öğrenir (Disiplin-Öğrenci) tablosu olacaktır.

Sunulan veri tabanı 5. normal forma atfedilebilir, çünkü 3. normal formdadır ve birincil anahtar basittir. mantık diyagramı Microsoft Access'te uygulandı.

şekil 2

8. Tabloların yapısı

İlk veritabanı 5 tablodan oluşur (bir müfredat kullanıldığı için Müfredatlar tablosu dikkate alınmaz).

Alanların açıklaması:

v disiplin.db

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

Ш Kod - disiplinin benzersiz bir kodu: LongInt;

Ш Dönem - öğ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 numarası: LongInt.

vöğrenci.db

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

Ш FIO - öğrencinin soyadı: ShortInt;

v Prepodaet.db (Disiplin-Öğretmen)

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

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

v Prepod.db

Ш FIO - öğretmenin tam adı: Dize;

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

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

Ш Dolshnost - Öğretmenin konumu: Tel;

Ш Telefon - öğretmenin iletişim telefon numarası: String.

v Izuchaet.db(Disiplin-Öğrenci)

Ш KodDiscip - disiplin kodu: LongInt;

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

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

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

9. SQL sorguları tasarlama

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

Nazv,FormaReport'u seçin

nerede Sömestr=:s ve

(Disciplina.FormaOtchet="Geçti" veya Disciplina.FormaOtchet="Sınav");

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

Ana liste:

Öğretmen.FIO'yu seçin,

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

Ocenka,Disiplin.Nazv

Disciplina, Prepodaet, Izuchaet'ten

nerede Disciplina.KodDiscip=Prepodaet.KodDiscip

ve (Disciplina.FormaOtchet="Sınav" veya Disciplina.FormaOtchet="Geçti")

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

Disciplina.Nazv,Prepodaet.FIO'yu seçin,

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

Izuchaet,Disciplina,Prepodaet'ten

nerede Izuchaet.Evaluation="2"

ve Disciplina.KodDiscip=Izuchaet.KodDiscip

ve Disciplina.KodDiscip=Prepodaet.KodDiscip

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

Disiplini Güncelle

ObsheeKolChVNed=VsegoCh/17 olarak ayarlayın;

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

Disciplina.Nazv, Izuchaet.Ocenka, Izuchaet.FIO'yu seçin

Izuchaet, Disciplina'dan

nerede Disciplina.KodDiscip=Izuchaet.KodDiscip

ve Disciplina.FormaRetchet="Sınav"

AVG(Ocenka)'yı SrBall olarak seçin

SrBall'a göre sırala desc;

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

SrBall olarak FIO, AVG(Ocenka) seçin

SrBall'a göre sırala desc;

10. Sistemin yapısı ve işlevleri

Kurs çalışması bir proje “Proje1” ve 13 modülden oluşmaktadır.

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

2. Unit2 - form burada saklanır, başlangıç ​​sayfası Veri tabanı. Aşağıdaki bileşenler burada kullanılır: Düğme, Not.

3. Unit3 - burada tüm veritabanı tablolarını sekmeler şeklinde içeren bir form saklanır. Burada şu bileşenler kullanılır: Not, Düğme, TabSheet, Tablo, DBGrid, DBNavigator, Label, Query.

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

5. Ünite5 - burada ek bir inceleme sayfası görüntüleyen bir form saklanır. Burada şu bileşenler kullanılır: Not, Düğme, TabSheet, Tablo, DBGrid, DBNavigator, Label, Query.

6. Unit6 - burada, muayenelerin ve testlerin bir listesini görüntüleyen bir form saklanır. Burada şu bileşenler kullanılır: Not, Düğme, TabSheet, Tablo, DBGrid, DBNavigator, Label, Query.

7. Unit7 - burada ana inceleme sayfasını görüntüleyen bir form saklanır. Burada şu bileşenler kullanılır: Not, Düğme, TabSheet, Tablo, DBGrid, DBNavigator, Label, Query.

8. Unit8 - grup listesini azalan sırada görüntüleyen bir form burada saklanır. Burada şu bileşenler kullanılır: Not, Düğme, TabSheet, Tablo, DBGrid, DBNavigator, Label, Query.

9. Unit9 - diplomadaki eki gösteren formun saklandığı yer burasıdır. Burada şu bileşenler kullanılır: Not, Düğme, TabSheet, Tablo, DBGrid, DBNavigator, Label, Query.

10. Unit10 - burada elektronik bir beyanname doldurmak için bir form görüntüleyen bir form saklanır. Burada şu bileşenler kullanılır: Not, Düğme, TabSheet, Tablo, DBGrid, DBNavigator, Label, Query.

11. Unit11 - menünün görüntülendiği form burada saklanır. Burada şu bileşenler kullanılır: Not, Düğme, Etiket.

12. Ünite12 - burada bir elektronik inceleme sayfasının oluşturulması hakkında bir rapor görüntüleyen bir form saklanır. Burada kullanılan bileşenler şunlardır: Memo and Button, RVProject, RVQueryConnection ve Query.

13. Ünite13 - burada, diplomada bir ek oluşturma hakkında bir rapor görüntüleyen bir form saklanır. Burada kullanılan bileşenler şunlardır: Memo and Button, RVProject, RVQueryConnection ve Query.

11. Kullanım kılavuzu

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

Figür 3

Burada hemen veri tabanına girebiliriz veya göreve bakıp bu forma dönebiliriz. "Görevi göster" i seçin

2. Dönem ödevi ataması hakkında bilgi içeren bir pencere önümüzde belirir.

Şekil 4

3. Uygun butona tıklayarak geri dönün ve önceki penceredeki "Devam" butonuna tıklayarak çalışmaya başlayın.

Şekil 5

4. Bu sayfadaki bilgileri inceledikten sonra "Giriş" butonuna tıklayınız.

Şekil 6

Önümüzde, veritabanında bulunan tüm bilgileri sekmelerde içeren bir pencere belirir. Burada disiplinlerin, çalışma gruplarının, öğretmenlerin, bu veya bu öğrencilerin ne okuduklarını ve öğretmenlerin hangi konuları öğrettiklerini görebiliriz.

5. Ayrıca bu pencereden isteklere geçebiliriz. Uygun düğmeye tıklayın.

Şekil 7

Burada uygun butona tıklayarak herhangi bir ilgi talebini seçebiliriz. Ayrıca burada tablolara dönebilir ve sınav kağıdının elektronik versiyonunu oluşturmaya devam edebiliriz.

6. "Her dönem için kredi ve sınav listesini görüntüleyin" düğmesine tıklayın.

Şekil 8

Burada dönem numarasını girip aşağıdaki butona tıklamanız gerekiyor, ardından tablo penceresinde girdiğiniz dönem için sınav ve kredi listesi 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, ardından açılır listenin altındaki kutuya bu adı yazmanız ve "Çalıştır" düğmesine tıklamanız gerekir. Sorgu, girdiğiniz disiplinde çalışmak için haftada toplam saat sayısını gösterecek ve ayrıca bu disiplinde çalışan öğrencilerin bir listesini ve bu disiplin için aldıkları notu gösterecektir. Dikkat! Form üzerinde Öğrenci-Konu sekmesindeki tablolarla değerlendirme alanı doldurulur. Ayrıca bu sayfada ek bir muayene sayfası oluşturabilirsiniz. Notu 2 olan öğrenciler için Bu sayfadan isteklere dönebiliriz.

Şekil 9

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

Şekil 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

Şekil 11

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

Şekil 12

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

Şekil 13

Burada, azalan düzende düzenlenmiş bir grup listesi ve her bir öğrenciye karşılık gelen ortalama puan görüyoruz. Bu sayfadan sorgulara geri dönebiliriz.

Şekil 14

Açılır listeden ilgilendiğimiz disiplini, örneğin ekonomiyi 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.

Şekil 16

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

12. Tablolar oluşturun

Tabloları oluşturmak için Database Desktop yardımcı programları kullanıldı. Başlatılabilir - 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. Bir tablo oluşturmak için Dosya/Yeni/Tablo komutunu seçin. Ardından tablo türünü seçmeniz gerekir. PARADOX 7 türü, dosya sunucusu tabloları için en iyisi olarak kabul edilebilir.

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

Şekil 17

5. Disiplin (Disiplin) tablosunu oluşturun:

Şekil 18

6. Tablo oluştur Öğrenci:

Şekil 19

7. Prepodaet tablosunun oluşturulması (Disiplin-Öğretmen):

Şekil 20

5. Tablo Prepod (Öğretmen) oluşturun:

Şekil 21

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

Şekil 22

13. Delphi'de uygulama oluşturma

Yeni bir uygulama oluşturmak için Dosya menüsünden Yeni/Uygulama'yı seçin. Bir form ve bir modül belirir (genel olarak buna proje denir), şimdi gerekli bileşenleri forma yerleştirebilirsiniz. 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 doldurma. Veri görüntüleme.

Bir formda bir tablo görüntülemek için, üzerine bileşenleri yerleştirmeniz gerekir:

· Tablo (BDE sekmesinde) - Object Inspector'da, Parameters sekmesinde, Tablename özelliğinde istediğiniz tabloyu seçin.

Şekil 23

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

Şekil 24

· DBNavigator (DataControls sekmesinde) - tablo kayıtlarında gezinmek için gereklidir. Object Inspector'da DataSource özelliği, DBGrid'dekiyle aynı veri kaynağını belirtir. Navigator fonksiyonları uygulama çalışırken butonlarına tıklanarak kullanılabilir.Bileşen 10 buton içerir.

Şekil 25

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

Şekil 26

14. Bilgi (Not) ve düğmeler içeren bir alan oluşturma

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

Şekil 27

Nesne Denetçisinde, "Parametreler" sekmesinde, Çizgiler özelliğinde, görüntülenmesi için gereken metni girin

Şekil 28

Düğmeler oluşturma.

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

Şekil 29

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

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

başlamak

Form2.Göster;

Form1.Kapat;

son;

15. Tablolar için başlıklar oluşturun

Ders çalışmasında tabloyu imzalamak için Standart sekmesinde bulunan Lable bileşeni kullanılmıştır. Object Inspector'da Caption özelliğinde metni yazmanız yeterlidir.

Şekil 30

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

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

Nesne Denetçisinde, Öğeler özelliğinde şunu yazın:

Şekil 31

16. Raporlar oluşturun

Rapor, öncelikle bağlanması gereken QReports aracı kullanılarak oluşturulur: Bileşen->paketleri yükle->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 Listeleme

Proje Açıklaması

program Projesi1;

kullanır

formlar,

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

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

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

"Unit4.pas" (Form4) içindeki Unit4,

"Unit5.pas" içindeki Unit5 (Form5),

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

"Unit7.pas" içindeki Unit7 (Form7),

"Unit8.pas" içindeki Unit8 (Form8),

"Unit9.pas" içindeki Unit9 (Form9),

"Unit10.pas" içindeki Unit10 (Form10),

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

"Unit12.pas" içindeki Unit12 (Form12),

"Unit13.pas" (Form13) içindeki Unit13,

"Unit14.pas" içindeki Unit14 (Form14);

($R*.res)

başlamak

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);

Uygulama.Çalıştır;

son.

Unit1 modülünün açıklaması

birim Birim1;

arayüz

kullanır

İletişim kutuları, StdCtrls;

tip

TForm1 = sınıf(TForm)

Not1: TBildiri;

Düğme1: T Düğme;

Button2: TButton;

Button3: TButton;

özel

(Özel beyanlar)

halka açık

(Kamu beyanları)

son;

var

Form1: TForm1;

uygulama

Unit2, Unit4, Unit6, Unit7, Unit5, Unit8, Unit9, Unit10'u kullanır;

($R *.dfm)

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

başlamak

form2.göster;

son;

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

başlamak

Form1.Kapat;

son;

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

başlamak

form4.göster;

son;

son.

Unit2 modülünün açıklaması

birim Birim2;

arayüz

kullanır

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

İletişim kutuları, StdCtrls;

tip

TForm2 = sınıf(TForm)

Not1: TBildiri;

GroupBox1: TGroupBox;

Düğme1: T Düğme;

Button2: TButton;

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

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

özel

(Özel beyanlar)

halka açık

(Kamu beyanları)

son;

var

Form2: TForm2;

uygulama

Unit3'ü kullanır;

($R *.dfm)

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

başlamak

form3.göster;

Form2.Kapat;

son;

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

başlamak

Form2.Kapat;

son;

Unit3 modülünün 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 = 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;

Tablo1: TT Tablosu;

Tablo2: TT Tablosu;

Tablo3: TT Tablosu;

Tablo4: TT Tablosu;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

DBGrid2: TDBGrid;

DBNavigator2: TDBNavigator;

DBGrid3: TDBGrid;

DBNavigator3: TDBNavigator;

DBGrid4: TDBGrid;

DBNavigator4: TDBNavigator;

DBGrid5: TDBGrid;

DBNavigator5: TDBNavigator;

DBGrid6: TDBGrid;

DBNavigator6: TDBNavigator;

Düğme1: T Düğme;

DataSource5:TDataSource;

DataSource6:TDataSource;

Tablo5: TT Tablosu;

Tablo6: TTtablo;

Sorgu1: T Sorgusu;

Button2: TButton;

Etiket1: T Etiketi;

Not1: TBildiri;

Etiket3: T Etiketi;

Button3: TButton;

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

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

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

özel

(Özel beyanlar)

halka açık

(Kamu beyanları)

son;

var

Form3: TForm3;

uygulama

Unit5, Unit11'i kullanır;

($R *.dfm)

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

başlamak

Form11.göster;

Form3.kapat;

son;

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

başlamak

Query1.ExecSQL;

Form3.Yenile;

son;

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

başlamak

Form3.kapat;

son;

Unit4 modülünün açıklaması

birim Birim4;

arayüz

kullanır

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

İletişim kutuları, StdCtrls;

tip

TForm4 = sınıf(TForm)

Not1: TBildiri;

Düğme1: T Düğme;

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

özel

(Özel beyanlar)

halka açık

(Kamu beyanları)

son;

var

Form4: TForm4;

uygulama

Unit1'i kullanır;

($R *.dfm)

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

başlamak

form1.göster;

son;

Ünite 5 modülünün 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 = sınıf(TForm)

DataSource1:TDataSource;

DBGrid1: TDBGrid;

Sorgu1: T Sorgusu;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

Etiket1: T Etiketi;

Etiket2: T Etiketi;

Etiket3: T Etiketi;

Etiket4: T Etiketi;

DBNavigator1: TDBNavigator;

Düğme1: T Düğme;

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

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

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

özel

(Özel beyanlar)

halka açık

(Kamu beyanları)

son;

var

Form5: TForm5;

uygulama

Unit11'i kullanır;

($R *.dfm)

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

başlamak

Query1.Active:=true;

son;

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

başlamak

Sorgu1.Aç;

son;

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

başlamak

Form11.göster;

Form5.Kapat;

son;

Ünite 6 modülünün açıklaması

birim Birim6;

arayüz

kullanır

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

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

tip

TForm6 = sınıf(TForm)

Düğme1: T Düğme;

Düzenleme1: TDüzenle;

DataSource1:TDataSource;

DBGrid1: TDBGrid;

Sorgu1: T Sorgusu;

Etiket1: T Etiketi;

DBNavigator1: TDBNavigator;

Etiket2: T Etiketi;

Not1: TBildiri;

Button2: TButton;

Etiket3: T Etiketi;

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

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

özel

(Özel beyanlar)

halka açık

(Kamu beyanları)

son;

var

Form6: TForm6;

uygulama

Unit11'i kullanır;

($R *.dfm)

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

başlamak

Sorgu1.Kapat;

Query1.Prepared değilse o zaman

Sorgu1.Hazırla;

if uzunluk(edit1.text)<>0 o zaman

başka

başlamak

Query1.Params.Value:=0;

son;

Sorgu1.Aç;

son;

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

başlamak

Form11.göster;

Form6.Kapat;

son;

Ünite 7 modülünün açıklaması

birim Birim7;

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 = sınıf(TForm)

Etiket1: T Etiketi;

Etiket2: T Etiketi;

DataSource1:TDataSource;

Sorgu1: T Sorgusu;

Düzenleme2: TDüzenle;

Düğme1: T Düğme;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

Etiket3: T Etiketi;

DBGrid1: TDBGrid;

Etiket4: T Etiketi;

Etiket5: T Etiketi;

DBNavigator1: TDBNavigator;

Button2: TButton;

Etiket6: T Etiketi;

Etiket7: T Etiketi;

Not1: TBildiri;

ComboBox1: TComboBox;

Etiket8: T Etiketi;

Button3: TButton;

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

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

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

özel

(Özel beyanlar)

halka açık

(Kamu beyanları)

son;

var

Form7: TForm7;

uygulama

Unit5, Unit11'i kullanır;

($R *.dfm)

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

başlamak

Sorgu1.Kapat;

Query1.Prepared değilse o zaman

Sorgu1.Hazırla;

if uzunluk(edit2.text)<>0 o zaman

Query1.Params.Value:=edit2.Text

başka

başlamak

Query1.Params.Value:=0;

edit2.Text:="Bir başlık girin!";

son;

Sorgu1.Aç;

son;

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

başlamak

form5.göster;

Form7.kapat;

son;

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

başlamak

Form11.göster;

Form7.kapat;

son;

Ünite 8 modülünün açıklaması

birim Birim8;

arayüz

kullanır

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

tip

TForm8 = sınıf(TForm)

Etiket4: T Etiketi;

DataSource1:TDataSource;

Sorgu1: T Sorgusu;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Düğme1: T Düğme;

Not1: TBildiri;

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

özel

(Özel beyanlar)

halka açık

(Kamu beyanları)

son;

var

Form8: TForm8;

uygulama

Unit11'i kullanır;

($R *.dfm)

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

başlamak

Form11.göster;

Form8.kapat;

son;

Ünite 9 modülünün açıklaması

birim9;

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 = sınıf(TForm)

Düzenleme1: TDüzenle;

Sorgu1: T Sorgusu;

DataSource1:TDataSource;

DBGrid1: TDBGrid;

Düğme1: T Düğme;

Sorgu2: T Sorgusu;

DataSource2: TDataSource;

Button2: TButton;

DBEdit1: TDBEdit;

DBNavigator1: TDBNavigator;

Etiket1: T Etiketi;

Etiket2: T Etiketi;

Etiket3: T Etiketi;

Ad: TComboBox;

Button3: TButton;

Not1: TBildiri;

Etiket4: T Etiketi;

Button4: TButton;

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

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

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

özel

(Özel beyanlar)

halka açık

(Kamu beyanları)

son;

var

Form9: TForm9;

uygulama

Unit11, Unit13'ü kullanır;

($R *.dfm)

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

başlamak

Sorgu1.Kapat;

Query1.Prepared değilse o zaman

Sorgu1.Hazırla;

if uzunluk(edit1.text)<>0 o zaman

Query1.Params.Value:=edit1.Text

başka

başlamak

Query1.Params.Value:=0;

edit1.Text:="Mezununuzun adını girin!";

son;

Sorgu1.Aç;

son;

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

başlamak

Sorgu2.Kapat;

Query2.Prepared değilse o zaman

Query2.Prepare;

if uzunluk(edit1.text)<>0 o zaman

Query2.Params.Value:=edit1.Text

başka

başlamak

Query2.Params.Value:=0;

edit1.Text:="Dönem numarasını girin!";

son;

Sorgu2.Aç;

son;

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

başlamak

Form11.göster;

Form9.kapat;

son;

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

başlamak

Form13.QuickRep1.Önizleme;

son;

Unit 10 modülünün açıklaması

birim Birim10;

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 = sınıf(TForm)

Düğme1: T Düğme;

Sorgu1: T Sorgusu;

DataSource1:TDataSource;

DBEdit1: TDBEdit;

DBEdit2: TDBEdit;

Etiket1: T Etiketi;

Etiket2: T Etiketi;

Düzenleme1: TDüzenle;

Button2: TButton;

Etiket3: T Etiketi;

ComboBox1: TComboBox;

Etiket4: T Etiketi;

Etiket5: T Etiketi;

Not1: TBildiri;

Etiket6: T Etiketi;

Etiket7: T Etiketi;

Button3: TButton;

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

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

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

özel

(Özel beyanlar)

halka açık

(Kamu beyanları)

son;

var

Form10: TForm10;

uygulama

Unit3, Unit7, Unit12, Unit11'i kullanır;

($R *.dfm)

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

başlamak

Form12.QuickRep1.Önizleme;

son;

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

başlamak

Sorgu1.Kapat;

Query1.Prepared değilse o zaman

Sorgu1.Hazırla;

if uzunluk(edit1.text)<>0 o zaman

Query1.Params.Value:=edit1.Text

başka

başlamak

Query1.Params.Value:=0;

edit1.Text:="Bir başlık girin!";

son;

Sorgu1.Aç;

son;

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

başlamak

Form11.göster;

son;

Birim 11 modülünün açıklaması

birim Birim11;

arayüz

kullanır

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

İletişim kutuları, StdCtrls;

tip

TForm11 = sınıf(TForm)

Düğme1: T Düğme;

Button2: TButton;

Button3: TButton;

Button4: TButton;

Düğme5: T Düğme;

Button6: TButton;

Not1: TBildiri;

Etiket1: T Etiketi;

Etiket2: T Etiketi;

Etiket3: T Etiketi;

Button7: ​​TButton;

Etiket4: T Etiketi;

Etiket5: T Etiketi;

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 beyanlar)

halka açık

(Kamu beyanları)

son;

var

Form11: TForm11;

uygulama

Benzer Belgeler

    Tablo oluşturma ve veritabanı yönetim sistemleri tasarlama. Bilgisel tasarım. İlişkisel veritabanı şeması. Uygulanan sistemlerin değeri: tedarikçiler ve onlar tarafından sağlanan mallar hakkında bir rapor. Mağazadaki malların mevcudiyetinin beyanı.

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

    Veritabanı yönetim sistemini kullanarak mal türleri dizini ile çalışanlar, mallar hakkında bilgi içeren bir veritabanının geliştirilmesi MySQL verileri SQL sorguları kullanarak. Konu alanının bilgisel bir modelinin geliştirilmesi. Tabloların yapısı, veritabanı alanları.

    test, 13/04/2012 eklendi

    Bir veri tabanı tasarlama, mantıksal yapısını konu alanının bilgibilimsel modeline uygun olarak geliştirme süreci. Programla çalışmak VTYS Erişimi, tabloların özellikleri ve alanları, tablolar arası bağlantıların oluşturulması; infolojik tasarım.

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

    Veritabanı ve veritabanı yönetim sistemlerinin temel kavramları. Microsoft Access veritabanlarının birlikte çalıştığı veri türleri. 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, 28/01/2014 eklendi

    Bir bilgi modeli geliştirmenin özellikleri ve ilişkisel bir veritabanı yapısının oluşturulması. 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 nesneleri ile çalışma.

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

    Araştırma özellikleri ve işlevsellik Veritabanı Yönetim Sistemleri Microsoft Office erişim. Ana nesne sınıflarının tanımı. "Ofis işleri" veritabanının geliştirilmesi. Tablolar, formlar, sorgular, raporlar ve veri şemalarının oluşturulması.

    özet, eklendi 12/05/2014

    Veritabanı yönetim sistemlerinin geliştirilmesindeki eğilim. DBMS'nin hiyerarşik ve ağ modelleri. Dağıtılmış bir veritabanı için temel gereksinimler. Dağıtılmış isteklerin işlenmesi, birlikte çalışabilirlik. Veri çoğaltma teknolojisi ve çok katmanlı mimari.

    özet, 29.11.2010 eklendi

    teorik bilgi ve veritabanlarının temel kavramları. Veritabanı yönetim sistemleri: kompozisyon, yapı, güvenlik, çalışma modları, nesneler. OpenOffice.Org BASE'de veritabanlarıyla çalışma: Sorgu Sihirbazını kullanarak tablolar, ilişkiler, sorgular oluşturma.

    dönem ödevi, 28/04/2011 eklendi

    Departmana başvuruların kabul edilmesi, işlenmesi ve muhasebeleştirilmesi için bir sistem için bir veritabanı tasarlamak Bilişim Teknolojileri; infolojik ve verisel modellerin geliştirilmesi, fiziksel bir modelin uygulanması. Veritabanı ile çalışmanın görselleştirilmesi için uygulamaların oluşturulması.

    tez, eklendi 25.01.2013

    Bilgi nesnelerinin seçimi ve onların bilgi modeli. mantıksal yapı ilişkisel veritabanı. Access veritabanı yönetim sisteminde tabloların geliştirilmesi. DBMS Access'te istek, form ve raporların oluşturulması. Kullanıcı uygulaması geliştirme.

Hemen hemen her kuruluşun kendi veritabanı vardır. Neden, web siteleri bile bunları bilgilerle çalışmayı daha kolay ve basit hale getirmek için kullanıyor. Gerçekten de, sorunsuz bir şekilde hesaplama yapmanıza, gerekli verileri hızlı bir şekilde bulmanıza ve genel olarak herhangi bir bilgide basitçe düzen oluşturmanıza izin verirler.

Genellikle programcılar bunların yaratılmasına dahil olurlar, çünkü bu, yüksek öğretim kurumlarında öğretilen karmaşık bir süreçtir. Ayrıca veritabanı yazılımı oluşturmak için birçok ders, kurs ve yazılım paketi var.Gerçekten çok fazla var, kafa karıştırmak kolay olabilir. Bu makale, veritabanlarını geliştirmek için bazı ana programlara odaklanacaktır.

SQL hakkında

SQL, veritabanları oluşturmak için kullanılan bir programlama dilidir. Bir bilgisayara kurar ve bir veritabanı oluşturmaya başlarsanız, çok uygun olmayacaktır. Bunun nedeni, SQL'in kendisinin herhangi bir grafik kabuğa sahip olmaması ve veritabanı sorgularının tamamı aracılığıyla gönderilmesi gerekmesidir. Komut satırı. Bu nedenle, veritabanlarının geliştirilmesini kolaylaştıran çeşitli programlar ortaya çıkmıştır. Ancak, bu dilin temellerini öğrenmek yine de buna değer. Aniden, bir tür istekte bulunmanız gerekiyor, ancak program düzgün çalışmıyor.

Microsoft Erişimi

Veritabanları oluşturmak için bu program kesinlikle birçok kişiye tanıdık geliyor. Sonuçta, Microsoft Office paketi ile birlikte geliyor. Bu program, öğrenmesi en kolay programlardan biridir, çünkü SQL programlama dili bilgisi orada pratik olarak gerekli değildir. Yalnızca hangi sorgunun yapılacağını belirtebilirsiniz ve programın kendisi bir SQL sorgusu yapacaktır.

Programın alaka düzeyi hakkında. Şimdiye kadar birçok kuruluşun veri tabanları Microsoft Access kullanılarak yapılmıştır. Gerçekten de programın kendisi çok kolay, sezgisel bir arayüz var. Üstelik Access'te çalışmanın temelleri okulda ve ilkokul derslerinde bile öğretilir!

PhpMyAdmin

Access elbette iyi bir programdır, ancak bir site için bir veritabanına ihtiyacınız varsa, bununla baş edemez. Sonra PhpMyAdmin kurtarmaya gelir. Bu çok faydalı program veritabanları oluşturmak için. Bir bilgisayara kurulum biraz zaman alır ve kurulum sırasında yanlış bir şey yapmak kolaydır ve çalışmayacaktır. Bu nedenle, veritabanları oluşturmak için bu programı kurarken, talimatları net bir şekilde izlemelisiniz. Ancak PhpMyAdmin'in bir başka artısı da internet üzerinden bir web sitesi şeklinde de erişilebilmesidir! Örneğin, WordPress tarafından desteklenen bir web siteniz var. Veritabanı olacak. Ve eğer iyi bir hostinge sahip bir siteniz varsa, o zaman, büyük olasılıkla, veritabanlarıyla çalışma PhpMyAdmin aracılığıyla gerçekleştirilecek ve ona hosting kontrol panelinden erişmek mümkün olacaktır.

Veritabanları oluşturmak için başka bir program. Ücretsizdir, ancak daha iyi özelliklere sahip ücretli bir sürümü de vardır. Bu programda tablolarla bağlantılar oluşturmak kolaydır ve genel olarak çalışmak için uygundur. Veritabanını grafiksel olarak gösterebilmeniz de bir artıdır. Veritabanlarıyla çalışırken çoğu kişi bu programı tercih eder. Prensip olarak, PhpMyAdmin yetenekler açısından daha düşük değildir, ancak yine de site veritabanlarıyla çalışmak üzere tasarlanmıştır.

Bu makalede, veritabanları oluşturmak için ana programlar ele alınmıştır. Aslında, çok sayıda var, bu yüzden herkes kendisi için bir araç seçiyor, ancak buna yeni alışıyorsanız ve bu alanı incelemek istiyorsanız, o zaman birlikte çalışmanız önerilir. MySQL Workbench. SQL'in temellerini öğrendikten sonra, sorgular her yerde aynı olduğu için artık nerede çalışacağınız konusunda sizin için önemli bir fark kalmayacak. Bir programda bir veritabanı oluşturduktan sonra, veritabanıyla çalışmak üzere tasarlanmış başka bir yazılım aracılığıyla açabilmeniz de uygundur. Veritabanı ile yazılım oluştururken, bu bilgi olmadan yapamazsınız. Ayrıca, SQL'de uzmanlaşarak, veritabanlarını geliştirmek ve düzenlemek için kendi yazılımınızı bile oluşturabilirsiniz.

VERİTABANLARI İLE ÇALIŞMA UYGULAMASI GELİŞTİRİLMESİ

roza gaynanova

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

Kazan Ulusal Araştırma Teknoloji Üniversitesi

Rusya, Kazan

DİPNOT

Makale, veritabanı erişim yöntemlerini ve bu erişim yöntemlerinde kullanılan programlama arabirimlerini tartışır. Visual C# uygulamalarının Microsoft SQL Server 2012 DBMS sunucusu ile entegrasyonu ele alınmıştır.Örnek olarak "Seyahat Acentesi" bilgi sisteminin geliştirilmesi ele alınmıştır.

ÖZ

Makale, veritabanları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ı sunucusuyla 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 birbirine bağlı araçlar, yöntemler ve personel setidir. Geliştirilen bilgi sistemi, istemci-sunucu teknolojisi üzerine kurulacaktır. Bu tür sistemlerde, bilgi sunucuda depolanır ve bilgi sisteminin arayüzü, bilgi sistemi kullanıcılarının verilere erişim elde ettiği istemci bilgisayarlarda depolanır.

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

  • bilgi depolamak için tasarlanmış bir veritabanı geliştirme görevi;
  • geliştirme görevi GUI istemci uygulaması kullanıcısı.

"Seyahat Acentesi" veritabanı Microsoft SQL Server 2012'de oluşturulmuştur. Veritabanı, bu seyahat acentesinin müşterileri (turistler), sunduğu turlar, kayıt ve turlar için ödeme hakkında bilgileri depolar. Veritabanının tasarım aşamasında "Turistler", "Turlar", "İzinler", "Mevsimler", "Ödeme" tabloları oluşturulur. Tablolar arasında bağlantılar kurulur.

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

SQL Server güvenlik sistemi iki kavram üzerine kuruludur: kimlik doğrulama ve yetkilendirme. Sistem yöneticisi SQL Server güvenliğinden sorumlu olan , her kullanıcı için ayrı bir oturum açma nesnesi oluşturur. Bu nesne, SQL Server veritabanlarına erişimi kontrol etmek için kullanılan SQL Server kullanıcı hesabı adını, parolasını, tam adını ve diğer öznitelikleri içerir. SQL Server'a bağlanarak, kullanıcı hesabının kayıtlı olduğu veritabanlarına erişim elde eder. Belirli bir veritabanına bir hesap 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 yetkiler verir. Satış müdürü, bir sonraki kuponu sattıktan sonra "Turistler" ve "İzinler" tablolarında değişiklik yapabilir ve "Turlar" tablosundaki "Yer 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.

SQL Server Management Studio'da ilgili kullanıcının özellikler pencereleri açılarak izinler verilebilir. GRANT deyimini kullanarak da izin verebilirsiniz. Bir yöneticiye yetki verme örnekleri. Aşağıdaki ifade, Menedger kullanıcısına Turist tablosunu görüntüleme, değiştirme, yeni satırlar ekleme ve eski verileri silme hakkı verir.

Seyahat Acentesini KULLAN

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

AÇIK Turistler

"Turlar" tablosuyla çalışmak için benzer bir talimat oluşturulmuştur. Yöneticiye "Turlar" tablosunun yalnızca bir sütununu değiştirme hakkını vermek için, parantez içindeki tablo adından sonra değiştirilen sütunun adı "Turlar" (Oturma Sayısı) belirtilir. Sağlanan SEÇ, GÜNCELLEME işlemleri.

Veri Kontrol Dili'nde (DCL) dört talimat vardır: COMMIT (tamamlandı), ROLLBACK (geri alma), GRANT (hibe), REVOKE (iptal). Bu talimatların tümü, veritabanını kazara veya kasıtlı hasarlardan korumakla ilgilidir. Veritabanları, tam olarak üzerlerinde değişiklik yapıldığında savunmasızdır. Veritabanını korumak için SQL, işlemleri sınırlamayı sağlar. Hangisi 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 bir çekişme durumu oluşur. Eşzamanlılık sorunları göreceli olarak bile ortaya çıkar. basit uygulamalar uygulama, yeterli eşzamanlılık denetimine sahip olmayan çok kullanıcılı bir sistemde kuruluysa ve çalışıyorsa. İşlemler sırayla yürütülürse çakışmaz.

Veritabanının bütünlüğünü korumak için ana araçlardan biri bir işlemdir. Bir işlem, veritabanını etkileyebilecek tüm SQL ifadelerini kapsar. Bir SQL işlemi iki ifadeden biriyle sona erer: COMMIT (tamamlandı) veya ROLLBACK (geri alma). Bir işlem bir ROLLBACK ifadesi ile biterse, tüm ifadeleri iptal edilir ve veritabanı orijinal durumuna döndürülür. Normal bir işlem iki moddan birinde yürütülebilir: OKUMA-YAZMA (okuma-yazma) veya SADECE OKUMA (salt okunur). Bir işlem için aşağıdaki yalıtım düzeylerinden birini ayarlayabilirsiniz: SERIAIZABLE (seri yürütme), REPEATABLE READ (tekrarlanan okuma), READ UNCOMMITED (kabul edilmemiş verileri okuyun). Varsayılan olarak READ-WRITE ve SERIAIZABLE özellikleri etkindir. Bir SQL işleminin varsayılan özellikleri genellikle çoğu kullanıcı için uygundur.

Uygulama ortamda oluşturulur görsel stüdyo 2012 C# programlama dilini kullanarak. Bir yazılım ürünü tasarlamak, bir kullanıcı arayüzünün geliştirilmesiyle başlar.

Ana uygulama penceresi, uygulama ile çalışmak için ana fonksiyonları ç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 öğelerin her biri alt öğeler içerir. Her fonksiyon kendi penceresinde yürütülecektir. MenuStrip elemanı ana uygulama penceresinde ayarlanır, menü seçenekleri oluşturulur. Form penceresine bir PictureBox öğesi yerleştirilir. Öğe alanına bir görüntü yüklenir. Çizim tüm alanı kapsamalıdır. SizeMode özelliği, çizimin ölçeklemesini ayarlar. Bu özellik için açılır listeden StretchImage seçilir, çizim nesnenin tüm yüzeyini kaplayacak şekilde ölçeklenir.

"Seyahat Acentesi" veri tabanı ile çalışma hakkına sahip kullanıcıların listesini görüntülemek için bir comboBox kontrolü kurulur. comboBox öğesi bir veri kaynağına bağlıdır. Pencere " İTİBARENOmboBoxGörevler"Veriye bağlı öğeleri kullan" onay kutusunun işaretlendiği ”, bu onay kutusu işaretlenirse veri bağlama seçenekleri açılır. ComboBox elemanı "Kullanıcılar" tablosuna bağlanır, "Görüntüle üye" satırında "Soyadı" seçilir. Bir oturum açmak için, bir metin kutusu1 kontrolü, bir şifre girmek için metin Kutusu2 ayarlanır. textBox1 ve textBox2 öğeleri için, metin kutusundaki metnin varsayılan olarak parola karakterleriyle görüntülenip görüntülenmeyeceğini belirten UsesSystemPasworChar özelliği true olarak ayarlanır. İki komut düğmesi "Giriş" ve "Kullanıcıyı değiştir" ayarlanmıştır.

ComboBox öğesini "Kullanıcılar" tablosuna bağlarken, program kodu Form1_Load olay işleyicisi görünür.

özel geçersiz Form1_Load(nesne gönderen, EventArgs e)

this.usersTableAdapter1.Fill(this.seyahat acentesiDataSet10.Users);

Uygulamayı başlatırken, menü kullanılamaz. Giriş yapmak için kullanıcı bilgilerinizi girin ve "Giriş" butonuna tıklayın. Form yüklendiğinde, Kullanıcılar tablosunda bulunan kullanıcıların soyadları comboBox1 denetimine yüklenir. Bu işleyiciye menüyü erişilemez hale getiren satırlar eklenir, "Kullanıcıyı Değiştir" düğmesi ve comboBox1 öğesinde tek bir öğe seçilmez:

menuStrip1.Enabled = yanlış; comboBox1.SelectedIndex = -1;

button2.Enabled=yanlış;

Ş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ığı, giriş ve şifrenin doğru girilip girilmediği kontrol edilir. Form sınıfının açıklama alanı, sql komutuna iletilen parametreleri açıklar. Bunlar üç parametredir: kullanıcının soyadı, oturum açma adı ve şifresi.

özel dize parfam, parpasw, parlog;

Ad alanına aşağıdaki satır eklenir:

System.Data.SqlClient kullanarak;

// "Giriş" butonu olay işleyicisine tıklayın

string sql = "";

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

SqlDataReader cmOkuyucu;

parfam = comboBox1.Text; parlog = textBox1.Text;

SqlConnection bağlantı = new SqlConnection(bağlantı);

sql = "Kullanıcılardan Soyadı, Kullanıcı Adı, Parola SEÇİN" +

" NEREDE (Soyadı = @fam) ve (Parola [e-posta korumalı])";

SqlCommand cmdkod = new SqlCommand(sql, conn);

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

cmdkod.Parameters["@fam"].Value = parfam;

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

cmdkod.Parameters["@pasw"].Value = parpasw;

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

cmdkod.Parameters["@log"].Value = parlog;

eğer (!cmReader.Read())

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

cmReader.Close(); bağlantı.Kapat();

menuStrip1.Enabled = true; comboBox1.SelectedIndex = -1;

button1.Enabled=yanlış; button2.Enabled = doğru;

textBox1.Text = ""; textBox1.Enabled = yanlış;

textBox2.Text = ""; textBox2.Enabled = yanlış;

comboBox1.Enabled = yanlış;

cmReader.Close();

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

menuStrip1.Enabled = yanlış; comboBox1.Enabled = doğru;

textBox1.Enabled = doğru; textBox2.Enabled = doğru;

button1.Enabled = doğru; button2.Enabled=yanlış;

"Giriş" düğmesi tıklama olay işleyicisinin nasıl çalıştığının açıklaması.

Connstr satırı, bağlantı dizesini içerir. Sql dizesi, select deyiminden başlayarak oluşturulan sorgunun metnini içerir, ardından from kelimesinden sonra belirtilen tablolardan seçilen alanlar listelenir.

İşleyici, SQL sunucusuna bağlantı sağlayan SqlConnection nesnesinin yeni bir örneğini oluşturur. SqlCommand nesnesi, verilen soyadı, kullanıcı adı ve parolaya sahip bir kullanıcıyı Kullanıcılar tablosunda aramak için üç parametreli bir komut içerir. button1_Click işleyicisi bir SqlConnection açar. Ardından, işleyici cmdkod nesnesinde depolanan SQL komutunu yürütür.

cmReader = cmdcode.ExecuteReader();

ExecuteReader yönteminin yürütülmesinin bir sonucu olarak, SQL komutunun yürütülmesinin tüm satırlarını sırayla okumanıza izin veren SqlDataReader sınıfının bir nesnesi oluşturulur. Örnekleme için SqlDataReader yöntemi kullanılır. okuman. "Kullanıcılar" tablosu, verilen soyadı, oturum açma ve parola ile herhangi bir kayıt içermiyorsa, cmReader.Read() yöntemi false döndürür. Bu, yanlış bir kullanıcı adı veya şifre girildiği anlamına gelir. Bu durumda girilen geçersiz veriler hakkında bir mesaj görüntülenir, 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. "Giriş" düğmesi kullanılamaz hale gelir. textBox1 ve textBox2 öğeleri temizlenir ve erişilemez hale gelir. comboBox1 öğesi de kullanılamaz hale gelir (Şekil 2)

Şekil 2. Kullanıcı girişi sonrası ana pencerenin görünümü

Tablolar ve sorgu sonuçları DataGridView denetimlerinde görüntülenecektir. Bu elemanların temel amacı, başta veritabanı tabloları olmak üzere dış veri kaynaklarının tablolarına bağlantı sağlamaktır. Yeni girişleri görüntüleme ve girme kolaylığı için "Mevsimler", "Turlar" ve "İzinler", "Ödeme" tabloları bir pencerede iki kez 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ı tamamlandıktan sonra ("Finish" butonuna tıklanarak) DataSet, BindingSource ve TableAdapter bileşenleri form üzerinde belirir. Bu bileşenler görsel değildir, bu nedenle ek bir panelde görüntülenirler. DataSet, bir veritabanının görüntüsünü 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 adı - adaptör, dönüştürücü - doğasını gösterir. TableAdapter, DataSet ile SQL Server veritabanında depolanan tablo arasında ileri ve geri veri aktarımı gerçekleştiren Doldur ve Güncelle yöntemlerini içerir. Fiil yöntemi, DataSet'i SQL sunucusundan gelen verilerle doldurur ve Update, sunucu veritabanını günceller. SQL verileri yerel DataSet'ten. BindingSource bileşeni, bir formdaki 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ın veri kaynaklarına bağlantısı tamamlandıktan sonra, formun program kodunda Form2_Load olay işleyicisi görünür.

özel geçersiz Form2_Load(nesne gönderen, EventArgs e)

this.touristsTableAdapter.Fill(this.seyahat acentesiDataSet9.Tourists);

Form yüklendiğinde, Form2 form penceresindeki DataGridView denetiminde "Turistler" tablosunda yer alan veriler 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üğmesinin olay işleyicisine tıklayın:

private void button1_Click(nesne gönderici, 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, "Talepler" menüsüne istek adıyla yeni bir öğe eklenir. Sorgunun parametresi yoksa, sorgu sonuçlarını form penceresinde görüntülemek için bir DataGridView denetimi yüklenir ve uygun veritabanı prosedürüne veya işlevine bağlanır.

Bu makale, veritabanlarıyla çalışan uygulamalar geliştirmek için bazı yöntemler, sınırlı bir insan çevresiyle çalışmak için erişimi organize etmenin bir yolu, Visual C # uygulamalarını Microsoft SQL Server 2012 DBMS sunucusuyla entegre etmenin yollarını sunar. SQL ile programlama dili, çok çeşitli özelliklere sahip güçlü uygulamalar oluşturabilirsiniz. SQL'in ana gücü, verilerin çıkarılmasında yatmaktadır. Bir tabloda kaç satır olursa olsun, tek bir SELECT deyimi ile alınabilirler. Aynı zamanda, SQL dilinin ana dezavantajı, az gelişmiş kullanıcı arayüzüdür. Prosedürel dilleri kullanarak, veri girmek ve görüntülemek için uygun arayüzler oluşturabilirsiniz. SQL'i prosedürel dillerle birleştirmenin en yaygın yöntemine SQL kod enjeksiyonu denir. SQL ifadesi, prosedür programında istenen yere eklenir. Prosedürel bir dilde yazılmış bir program ile SQL kodu arasında bilgi iletilmelidir. 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, program kodunun açıklamasından önce form sınıfının açıklama alanında bildirilir. Kodda, SqlConnection nesnesinin yeni oluşturulan örneği, SQL sunucusuna bir bağlantı sağlar. SqlCommand nesnesi, gömülü SQL komutunun yürütülmesini sağlar.

Kaynakça:

  1. Allen Taylor. Aptallar için SQL, 8. baskı.: Per. İngilizceden. - M.: LLC "I.D. Williams”, 2014. - 416 s.
  2. Gainanova R.Ş. Veritabanları ile çalışmak için uygulamaların geliştirilmesi MS SQL Server 2012 // Günümüzün temel ve uygulamalı bilimleri: XI International'ın Materyalleri pratik konferans(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ı. - E.: KUDRITS-OBRAZ, 2003, - 512s.

Turistler tablosundaki bilgileri ve Turist tablosundaki geçerli kayıtla ilişkili bir Microsoft Access veritabanındaki Turist Bilgileri tablosu kaydını görüntüleyen basit bir veritabanı uygulaması oluşturalım.

Bunu yapmak için boş bir Windows uygulaması oluşturacağız. Çevrenin görünüşü

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

Pirinç. 39. Boş uygulama

Şekil 39, verilere erişmek ve bunları işlemek için bileşenleri içeren "Veri" ("Veri") bileşen grubunu vurgulamaktadır.

Veritabanı verilerinin forma bağlanması "Binding Source" bileşeni tarafından gerçekleştirilir. Forma aktaralım. Form üzerine yerleştirildikten sonra geliştirme ortamı aşağıdaki formu alır (Şekil 40).

Pirinç. 40. Formdaki Bağlama Kaynağı bileşeni

Bileşen görsel değildir, bu nedenle 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 belirir (Şekil 41).

Pirinç. 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 gerekiyor. Aşağıdaki diyalog kutusu belirir (Şek. 42).

Pirinç. 42. Veri kaynaklarının listesi

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

Veritabanı - Veritabanı;

Servis - Servis, bu veri sağlayan bir servistir. Çoğu zaman bu bir Web hizmetidir;

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

Bizim durumumuzda, "Veritabanı" öğesini seçmeniz gerekiyor. Veri bağlantısı seçim penceresi görünür (Şek. 43).

Pirinç. 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 altyapısı için 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. Eğer gerekli bağlantı listede yoksa "Yeni bağlantı" butonu kullanılmalıdır. Düğmeye basmak, aşağıdaki iletişim kutusunun görünmesine yol açar (Şek. 44).

Bu iletişim kutusu, veri kaynağının 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çer. "Gelişmiş" düğmesi, ADO motorunun çeşitli bölümleriyle ilgili çok sayıda parametre ayarlamanıza olanak tanır. "Bağlantıyı Test Et" düğmesinin kullanılması, girilen parametrelerin doğru olduğundan ve bağlantının çalıştığından emin olacaktır.

Pirinç. 44. Yeni bir bağlantı oluşturun

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

Pirinç. 45. Gerekli tabloların seçilmesi

Bu pencerede "Turistler" ve "Turistler hakkında bilgiler" tabloları seçilir. Veritabanında tablolar dışında herhangi bir nesne oluşturulmadığı için Şekil 45'te sadece tablolar gösterilmiştir. Bu, veri kaynağının oluşturulmasını tamamlar. BindingSource bileşeninin yanındaki "Son" düğmesine tıkladıktan sonra formda DataSet bileşeni görünür.

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

Pirinç. 46. ​​​​DataGridView Bileşeni

Veri düzenleme yeteneklerini belirleyen bileşen ayarları penceresi hemen görünür: “Düzenlemeyi etkinleştir” (“Eklemeyi Etkinleştir”), “Düzenlemeyi etkinleştir” (“Düzenlemeyi Etkinleştir”), “Silmeyi etkinleştir” (“Silmeyi Etkinleştir”); sütun sırasını değiştirme yeteneği: "Sütunların sırasını değiştirme yeteneğini etkinleştir" ("Sütun Yeniden Sıralamayı Etkinleştir"); yanı sıra ana kapsayıcıya sabitleme yeteneği.

Bileşenin verileri gösterebilmesi için açılır listeden veri kaynağını seçmelisiniz. Açılır listenin seçilmesi, aşağıdaki iletişim kutusunun görüntülenmesine yol açar (Şek. 47).

Pirinç. 47. DataGridView için Veri Kaynağı Seçme

Bu durumda veri kaynağı olarak “Turistler” tablosunu seçtik. Bu seçim ekran formunu aşağıdaki gibi değiştirir (Şek. 48).

Pirinç. 48. DataGridView bileşeni, tablonun yapısını görüntüler

Şekil, "Tourists" tablosuyla çalışan başka bir BindingSource bileşeni ve bir TableAdapter bileşeni olduğunu göstermektedir. Tasarım sırasında veya geliştirme sırasında tablodaki verilerin görüntülenmediğini lütfen unutmayın.

Şimdi "Turist Bilgileri" ile ilgili tablodaki verileri görüntülemeniz gerekiyor. Bunun için forma başka bir DataGridView bileşeni yerleştirelim ve veri kaynağı olarak aşağıdakini seçelim (Şekil 49).

Pirinç. 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ğlantıdır (Bağlayıcı Kaynak). Bu seçim, Turist Bilgileri tablosundan yalnızca Turist tablosundaki geçerli satırla ilgili olan Turist Bilgileri tablosundaki satırların seçilmesini sağlar. Ayrıca ilgili verilerin doğru bir şekilde güncellenmesini ve silinmesini sağlar. Ortaya çıkan uygulamanın çalışması Şekil 50'de gösterilmektedir.

Pirinç. 50. Veritabanı uygulaması iş başında

Ok tuşlarını kullanarak veriler arasında gezinmek elverişsizdir. Veri gezintisini basitleştirmek için bir BindingNavigator bileşeni vardır. Formun üzerine yerleştirelim (Şek. 51).

Pirinç. 51. Formdaki BindingNavigator bileşeni

Bu bileşen, tablo girişleri arasında gezinmenize, tablo satırları eklemenize ve silmenize olanak tanır. Bileşenin özellikleri 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 "touristsBindingSource" olarak ayarlayın. Çalışmada, bileşen şöyle görünür (Şek. 52).

Pirinç. 52. BindingNavigator bileşeni iş başında

DataGridView bileşeninin hücrelerindeki verileri uygun ayarlarla düzenlemek mümkündür, ancak uygunsuz ve mantıklı değildir. Özellikle girilen değerlerin hatalara karşı kontrol edilmesi zordur. Bu nedenle “Turistler” tablosu için TextBox bileşenlerinde verileri görüntülemenizi ve düzenlemenizi sağlayan bir ekran formu oluşturacağız. Bunun için formun üzerine Panel tipi bir kap ve üzerine aşağıdaki gibi üç adet TextBox bileşeni yerleştirelim (Şekil 53).

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

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

Pirinç. 54. "DataBindings - Gelişmiş" özelliği

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

Binding açılır listesindeki üst TextBox bileşeni için, "touristsBmdmgSource" veri kaynağını ve "Soyadı" kaynak alanını seçin. TextBox'ın orta ve alt bileşenleri için aynı veri kaynağını ve sırasıyla "First Name" ve "Patronymic" alanlarını seçeceğiz.

Geliştirilen uygulama çalışırken şuna benzer (Şekil 56).

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

Pirinç. 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 saklanmazlar ve uygulama tekrar çağrıldığında elbette yok olurlar. Bunun nedeni, verilerin tablonun bellek içi bir kopyası olan bir DataSet nesnesine yüklenmiş olmasıdır. Tüm eylemler bu kopya üzerinde gerçekleştirilir. Değişikliklerin veritabanına yansıtılabilmesi için TableAdapter sınıfının Update yöntemini çalıştırmanız gerekir. Bu nedenle geliştirilmekte olan uygulamada “Güncelle” butonunun yerleştirilmesi ve Click olay işleyicisine aşağıdaki program kodunun yazılması gerekmektedir:

TuristTableAdapteGUpdate(bDTur_firmDataSet); turist_informationTableAdapter.Update(bDTur_firmDataSet);

Bu kod, veri kaynağı tarafından sağlanan "Turistler" ve "Turist Bilgileri" tablolarındaki bilgileri günceller. Bu yöntemin aşırı yüklendiğini ve türevlerinin hem tek bir tablo satırını hem de bir grup satırı güncellemenize izin verdiğini unutmayın.