Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301) GENEL DERS BİLGİLERİ Öğretim Elemanı : Öğr. Gör. Erdal GÜVENOĞLU Ofis : MUH 313 Ofis Saatleri : Pazartesi: 10.00-12.00, Salı: 10.00 12.00, Salı: 14.00 15.50 Çarşamba: 15.00-15.50 Telefon : 0216 626 10 50 / PBX: 1409 E-Posta : erdalg@maltepe.edu.tr Sınıf : 308-312 Lab2 Ders Saatleri : Pazartesi: 17.00 17.50; Salı: 16.00 16.50 Çarşamba: 11.10-13.00 Ders Kitabı : Database systems, design, implementation and management (7 th edition, Thomson Peter Rob and Carlos Coronel. Yardımcı Kitap : 1.Yazılımcılar için SQL Server 2005 ve Veritabanı Programlama (1.baskı, Seçkin Yayınevi), Yaşar Gözüdeli 2. Veri Tabanı Sistemleri (2.baskı,Alfa Yayınları), Dr.Yalçın ÖZKAN DERS İÇERİĞİ Bölüm Ders 1 Veri Tabanı Sistemleri Veri tabanı nedir? Veri tabanı sistemlerine giriş Temel kavramlar Klasik dosya yapıları ve veri tabanı sistemleri 1
DBMS in avantaj ve rolleri Veri tabanı Tipleri Veri tabanı tasarımı neden önemlidir? 2 Veri Modelleri Veri modellerinin önemi Temel veri modeli blokları Veri modellerinin evrimi - Hiyerarşik model - Network Model - İlişkisel Model - Varlık İlişki Modeli - Diğer modeller - Veritabanı modelleri ve İnternet 3 İlişkisel Veri Tabanı Modeli Tablolar ve karakteristikleri Anahtarlar Veri tabanı bütünlüğü İlişkisel Cebir ifadeleri İlişkisel veri tabanı ilişkileri 1:M İlişki 1:1 İlişki M:N İlişki İndeksler 4 Varlık İlişki Modeli Varlıklar Nitelikler Kimlikler Birincil anahtarlar Birleşik anahtarlar İlişkiler Normalleştirme 2
5 Veri Tabanı Tabloları ve Normalleştirme Normalizasyon için gereksinimler Normalizasyon işlemi Birinci normal formun kuralları İkinci normal formun kuralları Üçüncü normal formun kuralları Yüksek seviye normal formlar Boyce-Codd normal formu Beşinci normal form 6 SQL Yapısal Sorgulama Diline Giriş SQL Server 2005 e giriş Veritabanı oluşturma Veritabanı şemaları Veri Tipleri Tablo oluşturma SQL indeksleri Tabloya kayıt ekleme Tablo kayıtlarının listelenmesi Kayıtların güncellenmesi 7 Operatörler Aritmetik operatörler Mantıksal operatörler Between, like, NULL, IN, EXISTS operatörleri İleri veri tanımlama komutları Alter table Update table Delete table Sütun Ekleme Sütun silme 3
8 İleri SELECT sorgulamaları ORDER BY kullanımı DISTINCT kullanımı İçiçe select ifadeleri Kümeleme fonksiyonları COUNT MAX ve MIN SUM AVG Verilerin guruplanması (HAVING) 9 Sanal Tablolar Wiev oluşturmak Wiev sorgulamak Wiev silmek Veri tabanı tablolarının birleştirilmesi Tablolarda takma isimlerin kullanılması 10 İlişkisel dizi operatörleri UNION UNION ALL SQL JOIN operatörleri CROSS JOIN NATURAL JOIN OUTER JOIN Where Deyimi ve alt sorgular 11 SQL Fonksiyonları Tarih ve Zaman fonksiyonları Sayısal fonksiyonlar Alfabetik fonksiyonlar Dönüşüm fonksiyonları Trigerlar 4
12 DML İşlemleri Stored procedures Stored procedure ü çalıştırmak Stored procedure leri yönetmek Stored procedure lerde değişiklik yapmak Girdi parametreleriyle Stored procedure çağırmak Çıktı parametreleriyle çalışmak 13 T-SQL ifadeleri SQL server 2005 T-SQL ortamını etkin kullanmak Dinamik SQL çalıştırmak EXEC fonksiyonu ile dinamik SQL çalıştırmak T-SQL de hata yakalama Sistem mesajları Sisteme yeni mesaj eklemek Hata kontrolü ve TRY-CATCH yapısı 14 Kullanıcı Tanımlı Fonksiyonlar Kullanıcı tanımlı fonksiyonlarla çalışmak Kullanıcı tanımlı fonksiyonların özellikleri Skaler kullanıcı tanımlı fonksiyonlar Türetilmiş sütun olarak skaler fonksiyon Satırdan tablo döndüren fonksiyonlar Çoklu ifadeler ile tablo döndüren fonksiyonlar Rekürsif fonksiyonlar 5
PROJE: 14 safhayı içeren bir dönem projesi vardır. Safhalar için gereken tarihler sınıfta önceden bildirilecektir. Proje çalışması ilgili tarihte sınıfta teslim edilecektir. İlgili tarihten sonra teslim edilen projelere 0 verilecektir. Proje her öğrenci için farklı bir çalışma olarak yürütülecektir. Öğrenciler kendi çalışma konularını kendileri seçebilecekler ve ikinci haftanın sonuna kadar bize bildireceklerdir. PROJE HAKKINDA NOTLAR: Teslim edilecek proje dokümanları MS Word veya başka bir kelime işlemci kullanılarak hazırlanmış olmalıdır. Elle yazılmış/çizilmiş dokümanlar kabul edilmeyecektir. Projelerde her iki haftada bir proje ilerleme raporu sunulacaktır. Proje değerlendirilirken şu kriterler gözönünde bulundurulacaktır 1. Veri tabanına bağlantıların nasıl gerçekleştirildiği 2. Veri tabanı bağlantısından sonra herhangi bir programlama dili ile kayıt ekleme, silme, güncelleme gibi işlemlerin SQL yapısal sorgulama ifadeleri kullanılarak gerçekleştirilmesi. Dönemin son haftasında sınıfta proje sunulacaktır ve yazılım demo edilecektir.sunumun süresi 30 dakikayı geçmeyecektir. 6
YOKLAMA VE DERSE KATILIM Dersler katılmak zorunludur. Zamanında sınıfta olmalısınız. Derste sorular sormanız ve tartışmalara katılmanız beklenmektedir. Derse en az %70 (laboratuar %80) oranında katılmalısınız. Aksi halde dersten kalırsınız. (Sınavlara girme hakkınız olmayacaktır.) SINAVLAR Vize ve Final olmak üzere iki yazılı sınav olacaktır. NOT DEĞERLENDİRMESİ Not değerlendirmesi aşağıdaki gibi olacaktır: Vize : 60% [13 Kasım 2007] [yazılı sınav] + 25% ödev [19 Kasım 2007 kadar] +15% derse aktif katılım Final : 85% [genel yazılı sınav] + 15% Proje 7