Geri Git   ForumSinsi - 2006 Yılından Beri > Eğitim - Öğretim - Dersler - Genel Bilgiler > Eğitim & Öğretim

Yeni Konu Gönder Yanıtla
 
Konu Araçları
kısa, notlar, projelerinden, sql, tips, tricks

Tips &Amp; Tricks: Sql Projelerinden Kısa Notlar

Eski 12-20-2012   #1
Prof. Dr. Sinsi
Varsayılan

Tips &Amp; Tricks: Sql Projelerinden Kısa Notlar



Arşivleme çalışmalarım sırasında OCP eğitimimde aldığım bazı notları buldum Sanırım Koray’la birlikte MIS standartlarını oluşturmak için eğitimde hazırlamıştım Artık o da ben de Oracle dünyasına uzak kalacağız sanırım
Koray’la konuştuğumuz ucube IT dilindeki projeleri özlemiyor değilim Onun icatları ve benim standartlarım ile sıkı çalışmalar ortaya koyduğumuzun ispatını da gördük elbette…
Bari bundan sonra siz değerli takipçilerimize faydası olsun diyelim 30 maddeden oluşan notlar çok anlaşılır olmasa da aslında birçoğu genel SQL dünyasına uygulanabilir ipuçları diyebiliriz
[*]NULL alanların varsayılan değerlerinde değişiklik yapılması için gerekli kriter IS NULL ya da IS NOT NULL olarak kullanılacak[*]Sütun ALIAS kullanımları mutlaka VIEW içerisinde yer alacak Quotation marks (“”) kullanımı SSRS yapılandırmasında sorun yaratacağından underscore (_) boşluk karakteri yerine kullanılacak[*]ALIAS tanımlarında ayırtetme kolaylığı açısından tercihen AS anahtar kelimesi kullanılacaktır[*]SSRS rapor şablonlarında birleştirilen alanlar için VIEW sorgusunda concat (||) kulllanılarak alan sorguda oluşturulacaktır[*]NOT EQUAL TO karşılığı olarak <> karakter çifti kullanılacaktır[*]Tarih aralığında koşul verilmesi durumunda başlangıç ve bitiş tarihlerinin dahil olması (inclusive) için BETWEEN … AND … kullanılacaktır[*]AND ve OR operatörlerinin yer aldığı kriter öbekleri (…) ile gruplanacaktır Böylece öncelik (precedence) kurallarının otomatik işlemesi ezilecektir[*]Tüm VIEW nesnelerinde sorgunun varsayılan sıralama tanımları ORDER BY ile yapılacaktır[*]Sorgularda string değerleri tutarlılık adına LOWER(), UPPER() ve INITCAP() anahtar kelimeleri ile başlık manipulasyonu yapılacakKarakter manipülasyonu yapan fonksiyonlar verilerin istenildiği şekilde gösterimi için kullanılacak
CONCAT, SUBSTR, LENGTH, INSTR, LPAD, RPAD, REPLACE, TRIMSüre vb bütün rakamsal sonuçlar sayısal fonksiyonlar ile kullanılacak
ROUND, TRUNC, MOD[*]Özellikle tarihsel, sayısal ya da metinsel düzeltme gereken yerlerde TO_CHAR(), TO_DATE() ve TO_NUMBER() fonksiyonları kullanılacakGenel fonksiyonlar raporlarda kullanılan şart açıklamaları yerine daha ideal olacaktır
NVL, NVL2, NULLIF, COALESCE[*]Çoklu koşullandırmalarda IF…THEN ELSE IF…THEN yerine CASE; IF…IF…IF yerine DECODE kullanılacak[*]Birleştirilen (Joining) tablolarda mutlaka tablolar alias ile kullanılacaklar ve böylece sorgunun okunabilirliği artacak[*]JOIN komutlarında NATURAL kullanılmayacak ancak iki tablo varsa USING kullanılabilir JOIN yapıları ON ile sağlanacak[*]Tablolardaki kısıtları (constraints) mutlaka dökümlemek gerekiyor Bu kısıtlar; NOT NULL, UNIQUE, PK, FK, CHECK[*]Tablodaki bilgileri COLUMN_NAME, DATA_TYPE, LENGTH özellikleriyle almak için DESCRIBE komutu uygulanacak[*]Tüm sorgular ORACLE veritabanında VIEW yapılarında oluşturulacak[*]MIS tarafından oluşturulacak tüm view nesneleri için WITH READ ONLY komutu ile sadece sorgulanabilirlik sağlanır[*]Veri sözlüğü sorguları ORACLE SCADMIN ve SCAUTO şemaları için gerçekleştirilecek ve sonuçları dokümente edilecek[*]Ünlü v$ tabloları çıkarılacak ve sistem yönetimi için rapor şablonları hazırlanacak Mevcut oturum raporu ya da TOP5 sorgu gibi raporlar oluşturulacak[*]Veritabanı nesnelerinin hepsi info sorguları ile alınarak dokümente edilecek Excel sheet kopyaları da raporlama standartlarında kullanılacak[*]İsimlendirme standartları tüm nesne, geliştirme, sunum vb işlemler için doküman haline getirilecek (bkz NAMING CONVENTION MANUAL)[*]Hocanın tavsiyesine göre JOIN sorgularak ciddi maliyet getiriyor o halde SQL DW üzerinden sorgularken denormalize bir sorgu haline getirmemiz gerekecek İkinci altenatif olarak da ETL öncesi veriler doğrudan sorgulanabilir[*]OLTP web sorgulama arayüzlerini OFFLINE / ONLINE diye seçimli olarak yapılandırma ile geçmiş tüm verileri SQL DW’den iletmeliyiz Böylece gün içerisinde yoğun raporların alınarak sistemin SELECT LOCK (PGA) atması engellenebilir[*]Oracle Production sorgulamasında rapor şablonlarında “expression” kullanımı olmadan tüm koşullandırma ve kümelendirmeleri PL/SQL ile yapacağız[*]HR veritabanı olmadığı için HR’dan ve IS’den SIRKET CALISAN LISTESI, ADRES DEFTERI BILGISI, IZIN KULLANIMLARI (DOKUM) bilgileri SAP ve Siebel gibi excel formatında alınarak DW’e atılacak[*]Mevcut rapor sorguları SQL DEVELOPER sayfalarına alındıktan sonra FORMAT SQL (Ctrl B) yapılarak standart olarak düzenlenmesi sağlanacak[*]SQL DEVELOPER üzerinde SNIPPET kullanımı sağlanacak[*]/wwwmisjournalcom/


Alıntı Yaparak Cevapla
 
Üye olmanıza kesinlikle gerek yok !

Konuya yorum yazmak için sadece buraya tıklayınız.

Bu sitede 1 günde 10.000 kişiye sesinizi duyurma fırsatınız var.

IP adresleri kayıt altında tutulmaktadır. Aşağılama, hakaret, küfür vb. kötü içerikli mesaj yazan şahıslar IP adreslerinden tespit edilerek haklarında suç duyurusunda bulunulabilir.

« Önceki Konu   |   Sonraki Konu »


forumsinsi.com
Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ForumSinsi.com hakkında yapılacak tüm şikayetlerde ilgili adresimizle iletişime geçilmesi halinde kanunlar ve yönetmelikler çerçevesinde en geç 1 (Bir) Hafta içerisinde gereken işlemler yapılacaktır. İletişime geçmek için buraya tıklayınız.