Veritabanı Yönetim Sistemleri
ER modeli, ilişkisel model, ilişkisel cebir, SQL, normalizasyon, indeksleme.
Kaynak kitap: A. Silberschatz, H. F. Korth, S. Sudarshan, “Database System Concepts”, 6th edition, McGraw Hill
- 1. haftaIntroduction to Database Management Systems
- Veritabanı yönetim sistemlerine girişDosya sistemi yerine neden DBMS kullanılır, şema ile örnek farkı, üç seviyeli mimari, veri bağımsızlığı, DDL/DML ve transaction fikri. Dönem boyunca kullanacağımız üniversite veritabanı da burada tanıtılıyor.
- 2. haftaEntity-Relationship Model
- Varlık-ilişki (ER) modeliVarlıklar, öznitelik türleri, ilişkiler, kardinalite ve katılım, zayıf varlıklar ve specialization. Vizede ER diyagramı okuma ve çizme sorularının temeli.
- 3. haftaIntroduction to Relational Data Model
- İlişkisel model, anahtarlar ve ER'den tabloyaİlişki, şema, örnek, domain; super/candidate/primary/foreign key; referans bütünlüğü ve ER diyagramını tablolara çevirme kuralları. Hem cebir hem SQL soruları bu tablolara dayanır.
- 4. haftaRelational Algebra
- İlişkisel cebir: temel operatörlerSeçme, izdüşüm, küme işlemleri, Kartezyen çarpım ve yeniden adlandırma ile sorgu yazmak; sınavdaki “write the relational algebra expression” ve “give the result” sorularının temeli.
- 5. haftaRelational Algebra
- İlişkisel cebir: birleştirmeler, bölme ve gruplamaTheta, doğal ve dış birleştirmeler, bölme (division), atama ve gruplama (γ) ile çok tablolu sorgular yazmak; “for every” ve “for each” sorularının çözüm kalıpları.
- 6. haftaStructured Query Language (SQL)
- SQL temeli: DDL, kısıtlar, SELECT ve joinTablo kurmak (CREATE TABLE ve kısıtlar), tek tablodan sorgu yazmak ve tabloları birleştirmek (inner, natural, outer, self join). Vizedeki "write the SQL" sorularının temeli.
- 7. haftaStructured Query Language (SQL)
- İleri SQL: GROUP BY, NULL, alt sorgular, DML ve viewAggregate fonksiyonlar, GROUP BY/HAVING, NULL'un üç değerli mantığı, IN/EXISTS/korelasyonlu alt sorgular, küme işlemleri, INSERT/UPDATE/DELETE ve view. Vizenin en zor SQL soruları buradan.
- 8. haftaMidterm Exam
- Vize tekrarı: DBMS, ER, ilişkisel model, cebir ve SQLİlk yedi haftanın tek sayfalık özeti ve karışık vize soruları. Sınavdan önceki akşam buradan başla, eksik gördüğün konunun kendi haftasına dön.
- 9. haftaRelational Database Design
- Kötü tasarım, fonksiyonel bağımlılıklar ve closureTek tabloya her şeyi koymanın neden anomali ürettiğini, fonksiyonel bağımlılığı, Armstrong aksiyomlarını ve closure ile anahtar bulmayı öğrenirsin. Normalizasyon sorularının hepsi bu hesaplara dayanır.
- 10. haftaRelational Database Design
- Kanonik örtü ve normal formlar: 1NF, 2NF, 3NF, BCNFGereksiz öznitelikleri atıp kanonik örtüyü bulmayı ve bir şemanın hangi normal formda olduğunu adım adım belirlemeyi öğrenirsin. 'What is the highest normal form?' sorusunun reçetesi bu sayfada.
- 11. haftaRelational Database Design
- Ayrıştırma: kayıpsız birleştirme, bağımlılık koruma, BCNF ve 3NF algoritmalarıBir şemayı parçalara bölerken veri kaybetmemeyi (lossless join) ve FD'leri korumayı test etmeyi, BCNF ayrıştırma ve 3NF sentez algoritmalarını adım adım uygulamayı öğrenirsin.
- 12. haftaIndexing and Query Processing
- İndeksleme: dense/sparse indeks, B+ ağacı, hash ve seçim maliyetiKayıtlar diskte nasıl durur, indeks aramayı nasıl hızlandırır, B+ ağacına ekleme nasıl yapılır ve bir seçimin maliyeti nasıl hesaplanır.
- 13. haftaQuery Processing and Query Optimization
- Sorgu işleme ve optimizasyon: join algoritmaları, denklik kuralları, tahminBir sorgunun hangi adımlardan geçtiği, nested-loop/block/indexed/merge/hash join maliyetlerinin nasıl hesaplandığı ve optimizer'ın sorgu ağacını nasıl yeniden yazdığı.
- 14. haftaIntroduction to Data Analysis and Data Mining Concepts
- Veri analizi ve veri madenciliği: OLAP, yıldız şema, birliktelik kurallarıOLTP ile OLAP farkı, veri ambarı ve yıldız şema, küp işlemleri ve ROLLUP/CUBE, sonra veri madenciliği: support/confidence/lift, Apriori, karar ağacında bilgi kazancı ve k-means. Finalde kavram ve küçük hesap soruları buradan gelir.