Bilgisayar Programcılığı | |||||
Önlisans | TYYÇ: 5. Düzey | QF-EHEA: Kısa Düzey | EQF-LLL: 5. Düzey |
Ders Kodu: | BIL213 | ||||
Ders İsmi: | Veritabanı Sistemlerine Giriş | ||||
Ders Yarıyılı: | Güz | ||||
Ders Kredileri: |
|
||||
Öğretim Dili: | Türkçe | ||||
Ders Koşulu: | |||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||
Dersin Türü: | Zorunlu | ||||
Dersin Seviyesi: |
|
||||
Dersin Veriliş Şekli: | Yüz yüze | ||||
Dersin Koordinatörü: | Öğr. Gör. AHMET SELİM ÖVER | ||||
Dersi Veren(ler): | Öğr. Gör. Ahmet Selim Över | ||||
Dersin Yardımcıları: |
Dersin Amacı: | Bu ders, öğrencilere karmaşık SQL komutları yazabilme, Varlık İlişki modeli ile ilişkisel veritabanı tasarlayabilme ve modelleyebilme, veritabanı yönetebilme, Veritabanı kullanıcı hakları oluşturma, yönetme ve yetkilendirme, ileri veritabanı yönetimi için Görünüm, Saklı Yordam ve Tetikleyici gibi ileri veritabanı nesnelerini oluşturabilme ve yetkilendirme, kısıtlamalarla veri bütünlüğü sağlama, Hareketler aracılığıyla eşzamanlılığı yönetebilme yetkinliklerini kazandırmayı ve pratik uygulamalarla yetkinlikleri pekiştirmeyi amaçlamaktadır. |
Dersin İçeriği: | Karmaşık SQL Sorguları, Mantıksal Veritabanı Tasarımı, E-R Diyagramları, Görünümler (Views), Saklı Yordam (Stored Procedures), Fonksiyonlar(Functions), Tetikleyiciler(Triggers), İndeksler, Hareketler (Transactions), Eşzamanlılık ve Kurtarma (Recovery), Kısıtlamalar (Constraints) ve Veri Bütünlüğü, Veritabanı Yetkilendirme, Kullanıcı Rolleri ve Hakları, Veritabanı Tasarımı ve Geliştirme Uygulamaları |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Karmaşık SQL Sorguları yazabilme 2) Bir veritabanının ER modelini oluşturma 3) Görünüm (View) oluşturma ve yönetme 4) Saklı Yordam (Stored Procedure) oluşturma ve yönetme 5) Tetikleyici (Trigger) oluşturma ve yönetme 6) Transaction kavramı ve yönetimi 7) Veritabanında roller, haklar ve yetkileri tanımlama, farklı veritabanı nesnelerini yetkilendirme 8) Kısıtlamalarla veri bütünlüğü sağlama 9) İndekslerle ve uygulamaların özelliklerine uygun ek veri nesneleri kullanarak uygulamaların performansı artırma 10) Veritabanı tasarımı ve uygulama geliştirme pratikleri |
Hafta | Konu | Ön Hazırlık |
1) | Derse Giriş, Veritabanı Yönetim Sistemleri ve SQL'e Genel Bakış | Ön hazırlık gerekli değildir. |
2) | Gelişmiş SQL Sorguları, Veritabanı Değiştirme İşlemleri | Ön hazırlık gerekli değildir. |
3) | Mantıksal Veritabanı Tasarımı, Varlık İlişki (ER) Model | Ön hazırlık gerekli değildir. |
4) | SQL Birleştirme (Join) Komutları, Görünümler (View), Görünüm Oluşturma | Ön hazırlık gerekli değildir. |
5) | Hareket (Transaction) Yönetimi, Eşzamanlılık, Kurtarma (Recovery) | Ön hazırlık gerekli değildir. |
6) | Data Integrity and Constraints | Ön hazırlık gerekli değildir. |
7) | Veri Yapıları ve Semalar, İndeks Tanımları | Ön hazırlık gerekli değildir. |
8) | Vize | 1-7. Hafta Tekrarı |
9) | Fonksiyon ve Saklı Yordam (Stored Procedure) Oluşturma, Parametreli ve Parametresiz Saklı Yordam Çağırma | Ön hazırlık gerekli değildir. |
10) | Saklı Yordam ile Gelişmiş Örneklem | Ön hazırlık gerekli değildir. |
11) | Tetikleyiciler (Trigger) ve Örnekler, Gelişmiş Toplama Özellikleri | Ön hazırlık gerekli değildir. |
12) | Veritabanı Yetkilendirme, Kullanıcılar, Roller, Haklar | Ön hazırlık gerekli değildir. |
13) | Veritabanı Yönetimi, Sunucu ve Kullanıcı Yönetim Fonksiyonları, Yedekleme ve Kurtarma İşlemleri | Ön hazırlık gerekli değildir. |
14) | Veritabanı Tasarımı ve Uygulama Geliştirme | Ön hazırlık gerekli değildir. |
15) | Final | 1-14. Hafta Tekrarı |
Ders Notları / Kitaplar: | Lecture presentations and notes “Database System Concepts”, A. Silberschatz, H.F. Korth, S. Sudarshan, Mc Graw Hill |
Diğer Kaynaklar: | Lecture presentations and notes “Database System Concepts”, A. Silberschatz, H.F. Korth, S. Sudarshan, Mc Graw Hill |
Course Learning Outcomes | 1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
|||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | |||||||||||||
1) Problem çözme ve analitik düşünme yeteneklerini kazanır. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
2) Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
3) Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
4) Nesneye yönelik programlama konseptini ve web programlamayı kavrar. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
5) Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
6) Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
7) Veritabanı tasarım ve kodlamasını yapar. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
8) Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
9) İngilizce dilini etkin bir biçimde kullanır. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
10) Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
11) Bireysel ya da takım olarak yazılım geliştirir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
12) Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | |||
13) Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 |
Etkisi Yok | 1 En Düşük | 2 Orta | 3 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | Problem çözme ve analitik düşünme yeteneklerini kazanır. | 3 |
2) | Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. | 3 |
3) | Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. | 3 |
4) | Nesneye yönelik programlama konseptini ve web programlamayı kavrar. | 3 |
5) | Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. | 3 |
6) | Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. | 3 |
7) | Veritabanı tasarım ve kodlamasını yapar. | 3 |
8) | Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. | 3 |
9) | İngilizce dilini etkin bir biçimde kullanır. | 3 |
10) | Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. | 3 |
11) | Bireysel ya da takım olarak yazılım geliştirir. | 3 |
12) | Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. | 3 |
13) | Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. | 3 |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Ödev | 1 | % 15 |
Ara Sınavlar | 1 | % 35 |
Final | 1 | % 50 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 50 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 50 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | Aktiviteye Hazırlık | Aktivitede Harçanan Süre | Aktivite Gereksinimi İçin Süre | İş Yükü | ||
Ders Saati | 3 | 12 | 1 | 39 | |||
Ödevler | 1 | 25 | 1 | 26 | |||
Ara Sınavlar | 1 | 30 | 1 | 31 | |||
Final | 1 | 35 | 1 | 36 | |||
Toplam İş Yükü | 132 |