Konu Anlatımı
CRUD İşlemleri
CRUD İşlemleri, Web Tabanlı Uygulama Geliştirme dersi kapsamındaki Veritabanı İşlemleri ünitesinin temel konularından biridir. Bu konu alanın gerektirdiği bilgi ve becerilerin kazandırılmasına temel oluşturur.
Temel Bilgiler
- CRUD ekleme, okuma, güncelleme, silme anlamına gelir.
- Birincil anahtar kaydı benzersiz tanımlar.
- İlişkisel veritabanında tablolar yabancı anahtarla bağlanır.
Uygulama ve Dikkat Edilmesi Gerekenler
Bu konunun uygulamasında iş güvenliği kurallarına uyulmalı, kullanılan araç ve malzemeler amacına uygun seçilmeli ve yapılan işlemler standartlara göre kontrol edilmelidir. Öğrenilen bilgiler atölye ve iş yeri uygulamalarıyla pekiştirildiğinde kalıcılık artar.
CRUD İşlemlerinin Tanımları
Veritabanı uygulamalarının dört temel işi vardır: CREATE veri ekler, READ veri okur, UPDATE kaydı değiştirir, DELETE kaydı siler. Bu işlemler SQL'de sırasıyla INSERT INTO, SELECT, UPDATE ve DELETE deyimleriyle yapılır. Her işlemin hedefi ve geri dönen etkisi farklıdır: INSERT satır sayısını, UPDATE değiştirilen satır sayısını bildirir.
Güvenli Uygulama Kuralları
Kullanıcı girdisi doğrudan sorguya eklenirse SQL enjeksiyonu oluşur; önlem, parametreli sorgulardır. Yer tutucu kullanılarak yazılan sorguda değer, sorgu yapısından ayrı iletilir, böylece girdi kod olarak yorumlanmaz. Ayrıca işlemler gerektiğinde birlikte ya da hiç olmayacak biçimde (işlem/transaction) yürütülür.
Adım Adım İşlem Sırası
- İhtiyacı belirle: ekleme mi, okuma mı, güncelleme mi, silme mi.
- Doğrulama ve yetki kontrolünü yap.
- Parametreli sorguyla işlemi çalıştır.
- Etkilenen satır sayısını kontrol et ve kullanıcıya sonucu bildir.
Örnek Uygulama
Ürün güncelleme işleminde fiyat alanı sunucuda sayı olarak doğrulanır, parametreli UPDATE çalıştırılır, etkilenen satır sayısı 1 ise işlem başarılı bildirilir. Kayıt yoksa 0 döner ve bu durum kullanıcıya ayrı bir mesajla iletilir.
Sınav ve Uygulama Odaklı Noktalar
Sınavda dört işlemin SQL karşılığı ve parametreli sorgunun SQL enjeksiyonunu neden önlediği sık sorulur. Silme işlemindeWHERE koşulunun unutulmasının tüm tabloyu silme riski taşıdığı ayrıca vurgulanır.
İşlem sonunda dönen etkilenen satır sayısı kaydedilir; beklenen değerden farklıysa işlem başarısız sayılır ve kullanıcıya açıklayıcı hata metni gösterilir.
Büyüktablolarda koşulsuz sorgular çalıştırılmaz, koşul alanı için indeks değerlendirilir.
Parametreli Sorguların Önemi
Parametreli sorgular, veritabanı uygulamalarında güvenlik ve veri bütünlüğünü korumak için kritik öneme sahiptir. Kullanıcı girdisi doğrudan sorguya eklenirse SQL enjeksiyonu oluşur; bu durumda kötü niyetli kullanıcılar veritabanını kötüye kullanabilir. Parametreli sorgular, kullanıcı girdilerini sorgu yapısından ayrı olarak iletmekle birlikte, sorgunun güvenliğini artırır. Bu nedenle, veritabanı işlemlerinde parametreli sorguların kullanılması, uygulamanın güvenliğini ve veri bütünlüğünü korumak için zorunlu bir adımdır.
Parametreli sorgular, veritabanı uygulamalarında güvenli kodlama uygulamalarını destekler. Sorgu yapısını ve kullanıcı girdilerini ayrı tutarak, veritabanına yönelik riskleri azaltır. Bu yöntem, özellikle kullanıcı girdisiyle ilgili riskleri en aza indirir. Ayrıca, parametreli sorguların kullanımı, veritabanı işlemlerinin güvenliğini ve veri bütünlüğünü korumak için en etkin yoludur.
Etkilenen Satır Sayısının Yorumlanması
Etkilenen satır sayısı, veritabanı işlemlerinde sonucun doğru anlaşılmasına yardımcı olur. Bu sayı, veritabanında değişiklik yapılıp yapılmadığını gösterir. Etkilenen satır sayısı 1 ise işlem başarılı olarak kabul edilir; 0 ise kayıtlı veri bulunmamıştır. Bu bilgi, kullanıcıya işlem sonucunu net bir şekilde bildirmek için kullanılır. Etkilenen satır sayısı, veritabanı işlemlerinin başarılı olup olmadığını anlamak için kritik bir parametredir.
Etkilenen satır sayısı, veritabanı işlemlerinde hata ayıklama sürecini kolaylaştırır. Bu sayı, veritabanında yapılan değişikliklerin etkisini ölçmek için kullanılır. Ayrıca, etkilenen satır sayısı, veritabanı işlemlerinin başarılı olup olmadığını anlamak için kritik bir bilgidir. Bu nedenle, etkilenen satır sayısını dikkatlice yorumlamak, veritabanı uygulamalarında güvenli ve etkili işlemler gerçekleştirmek için önemlidir.
Ne Öğreneceğiz
Web Tabanlı Uygulama Geliştirme dersi kapsamında CRUD İşlemleri konusu. Bu konuda ögrenme çıktıları:
- CRUD İşlemleri ile ilgili temel kavramları açıklar.
- CRUD İşlemleri konusunun Web Tabanlı Uygulama Geliştirme dersi içindeki yerini ve önemini belirtir.
- Konuyla ilgili araç, gereç ve malzemeleri amacına uygun seçer.
- İş sağlığı ve güvenliği kurallarına uygun çalışır.
- Öğrendiği bilgi ve becerileri atölye/iş yeri uygulamalarında kullanır.
Ön Bilgi
Bu konuya başlamadan önce temel kavram ve ön koşulları kavramanız yardımcı olacaktır. Konunun çerçevesinde şu kavramlar dikkat ister:
- CRUD ekleme, okuma, güncelleme, silme anlamına gelir.
- Birincil anahtar kaydı benzersiz tanımlar.
- İlişkisel veritabanında tablolar yabancı anahtarla bağlanır.
- UPDATE ve DELETE işlemlerinde WHERE koşulu doğrulanmadan çalıştırılmaz, aksi halde tüm tablo etkilenir.
- Çok adımlı işlemler transaction ile birlikte yürütülür: biri başarısızsa geri alınır.
Basit Örnek ve Günlük Yaşam
Günlük yaşamda ve mesleki bağlamda bir uygulama:
Soru: CRUD ekleme, okuma, güncelleme, silme anlamına gelir.
- Konuyu tanımla ve ilgili kavramları belirle.
- Doğru yöntem veya hesaplamayı uygula.
- Sonucu standartlara göre kontrol et.
Sonuç/cevap: Doğru uygulama sonucunda konuyla ilgili kazanım elde edilir.
İleri Örnek
Daha ileri bir uygulama:
Soru: Hesaptan para düşülüp başka hesaba eklenecektir. Tutarlılık nasıl sağlanır?
- Adım 1: İşlemi başlat: BEGIN.
- Adım 2: Çıkış ve giriş UPDATE'lerini sırayla çalıştır.
- Adım 3: İkisi de başarılıysa COMMIT, biri başarısızsa ROLLBACK uygula.
Sonuç/cevap: Başarısızlıkta geri alma (ROLLBACK) sayesinde iki tablo tutarlı kalır.
Karşılaştırma Tablosu
| Kavram | Açıklama |
|---|
| CRUD ekleme, okuma, güncelleme, silme an | CRUD ekleme, okuma, güncelleme, silme anlamına gelir. |
| Birincil anahtar kaydı benzersiz tanımla | Birincil anahtar kaydı benzersiz tanımlar. |
| İlişkisel veritabanında tablolar yabancı | İlişkisel veritabanında tablolar yabancı anahtarla bağlanır. |
| UPDATE ve DELETE işlemlerinde WHERE koşu | UPDATE ve DELETE işlemlerinde WHERE koşulu doğrulanmadan çalıştırılmaz, aksi halde tüm tablo etkilenir. |
| Çok adımlı işlemler transaction ile birl | Çok adımlı işlemler transaction ile birlikte yürütülür: biri başarısızsa geri alınır. |
Sık Yapılan Hatalar
CRUD İşlemleri ile ilgili kavramları birbirine karıştırmak: Temel kavramları tablo veya zihin haritasıyla ayırt et.
Uygulamada standartlara ve iş güvenliği kurallarına uymamak: Her adımda güvenlik ve kalite kurallarını uygula.
Kullanılan araç-gereci amacına uygun seçmemek ve bakımını ihmal etmek: Doğru ekipmanı seç, kullanım öncesi ve sonrası kontrol et.
Kullanıcı girdisini sorguya metin olarak birleştirmek: Bu yol SQL enjeksiyonuna açıktır; parametreli sorgu kullanılmalıdır.
Özet
CRUD İşlemleri, Web Tabanlı Uygulama Geliştirme dersi kapsamında ele alınan temel konulardan biridir. CRUD ekleme, okuma, güncelleme, silme anlamına gelir. Birincil anahtar kaydı benzersiz tanımlar. İlişkisel veritabanında tablolar yabancı anahtarla bağlanır. Bu bilgiler uygulama ve iş güvenliği kurallarıyla birlikte pekiştirilmelidir.
Kendini Dene
Soru: Yönerge: Ürün kataloğu tablosu için CRUD işlemleri bütünü hazırla. Yeni ürün ekleyen INSERT, ürünleri listeleyen SELECT, fiyatı güncelleyen UPDATE ve stokta olmayan ürünü kaldıran DELETE sorgularını yaz; ardından her işlemde kullanılması gereken birincil anahtar, doğrulama ve transaction koşulunu açıkla.
Örnek cevap: Puanlama anahtarı: INSERT INTO ile sütun ve değerlerin doğru yazılması 3 puan; SELECT ile yalnız gerekli sütunların seçilmesi ve WHERE koşulunun 3 puan; UPDATE ile değerin yalnız ilgili kayıtta değiştiğinin yazılması 3 puan; DELETE ile koşulun silmeden önce doğrulanmasının 3 puan; birincil anahtarın kaydı benzersiz tanımladığının yazılması 3 puan; çok adımlı işlemlerde transaction kullanılacağının yazılması 3 puan; enjeksiyon önlemi olarak parametreli sorgunun yazılması 2 puan. Toplam 20 puan. Model cevap: Dört işlem CRUD'a karşılık gelir; her birinde anahtar koşulu ve doğrulama vardır, çok adımlı işler transaction ile yürütülür.