Kayıtlar

Oracle Linux Üzerine Oracle Database 11g Enterprise Edition Kurulumu

Resim
Bilgisayarımıza Oracle Linux'u : CD veya DVD'den boot edecek şekilde Talip hocamızın makalesinde anlattığı gibi:   http://taliphakanozturk.wordpress.com/2011/11/04/oracle-linux-6-1-kurulumu/ Virtualbox ile oluşturacağımız sanal makinamızın üzerine: http://melihsavdert.blogspot.com/2013/06/adm-adm-oracle-vm-virtualbox-uzerine.html CD veya DVD'den boot edecek şekilde kuracağımız linux işletim sistemi için diskleri kendimiz bölümleyebileceğimiz şekilde, disk partition ile: http://www.koraykey.com/?p=228 makalelerinde anlatıldığı üzere kurabiliriz. NOT: Virtualbox ile sanal makinemizi oluşturup; Oracle Linux işletim sistemi için gerekli konfigürasyonları yaptıktan sonra kuruluma geçtiğimizde, siyah ekranla karşılaşıp makaledeki resimlerde de görüldüğü gibi kurulum GUI ekranından değilde konsol ekranından devam ediyorsa; bilgisayarınız, oracle linux işletim sisteminin sistem gereksinimini karşılamıyor olabilir. Özellikle ram miktarı az olabilir. (Oracle Linux 6.1 i...

PL/SQL'de DEĞİŞKEN TANIMLAMA, EKRANA YAZI YAZDIRMA ve GÜNCELLEME

PL/SQL yazı dizisinin 2. dersindeyiz. Bu dersimizde artık PL/SQL programları yazmaya başlayacağız. Bunun için  http://apex.oracle.com/i/index.html  sitesinde workspace'imizi oluşturup çalışmaya başlıyoruz. Workspace'imize giriş yaptıktan sonra karşımıza gelen seçeneklerden SQL Workshop'ı seçip daha sonra SQL Command'a tıklayıp PL/SQL programlarını bu ekranda çalıştırabiliriz. Örneğimize geçelim: PL/SQL'in en önemli yanlarından birisi SQL komutları ile entegreli olarak çalışabilmesidir. ODBS veya JDBS gibi aracı bir yazılıma ihtiyaç duymadan SQL ifadelerini PL/SQL programları içerisinde çalıştırabilirsiniz. Örneğin aşağıdaki kodlarda kullandığımız update ifadesi gibi. declare order_total INTEGER; begin   select sum(ORDER_TOTAL) into order_total from DEMO_ORDERS   where CUSTOMER_ID=3;   DBMS_OUTPUT.PUT_LINE ('3 numaralı müşterinin toplam siparişi: ' || order_total); end;   declare ile integer bir değişken tanımladıktan sonra CUSTOMER_ID'si 3 ...

PL/SQL NEDİR?

Resim
Herkese merhabalar. Pl sql ile ilgili yeni bir yazı dizisine başlıyorum. İlk olarak pl sql nedir, ne değildir biraz tanımını yapalım. PL= Procedural Language  SQL= Structured Query Language Prosedürel Yapısal Sorgulama Dili Oracle şirketi tarafından SQL'in kısıtlamalarının üstesinden gelmek için oluşturulan Oracle sistemlerine özel bir dildir. Ama kesinlikle C, Visual Basic gibi bir programlama dili değil; sorgulama dilidir.  PL/SQL'in karasteristik özellikleri: PL/SQL prosedürel bir dildir. (if/else, for veya while gibi döngü veya kontrol mekanizmalarına izin verir. Sql ise izin vermez. Çok iyi derecede yapılandırılmış, okunabilir, erişilebilir bir dildir. Oracle geliştirme için standart ve taşınabilir bir dildir. Örneğin; kendi bilgisayarınızdaki Oracle database'de yazdığınız bir prosedür veya fonksiyonu ortak ağınızdaki başka bir database'e taşıyabilir, hiçbir değişiklik yapmadan çalıştırabilirsiniz.  PL/SQL programları genellikle veritaba...

Grouping Sets Fonksiyonu

Resim
Sql Server 2008 ve sonrasında gelen sürümlerde karşımıza çıkan Grouping sets fonksiyonu ile aynı veriler üzerinde birden fazla gruplama işlemi yapabiliriz. Eskiden group by ve union all ifadeleriyle yapılan bu işlem grouping sets ile daha kolay ve anlaşılır hale gelmiştir. Örneğimizde de görüleceği üzere ilk önce CustomerId' ye göre gruplanır. 2. etapta sırası ile ilk önce Yıla göre sonrasında ProductId'ye göre gruplama yapılır: select CustomerID,ProductID,YEAR(OrderDate) as [Year],sum(Quantity) as [Quantities] from Orders o inner join [Order Details] od on o.OrderID=od.OrderID where CustomerID like 'A%' group by GROUPING SETS( (CustomerID,YEAR(OrderDate)), (CustomerID,ProductID)) Order by CustomerID Grouping sets içerisindeki parametrelere (CustomerID)' yi eklersek; yıla ve ProductID' ye göre grupladıktan sonra CustomerID için genel toplam verir. Parametrelere boş parantezi de eklersek ( ) , sorgu sonucundaki tüm alanları ( sum(Quantity) ) toplar, ...

Group By Rollup

Resim
Merhabalar, Group by rollup operatörü ile gruplama yaptığımız veriler üzerinde hem ara toplam hem de genel toplama erişebiliriz. Sorgumuzda where şartıyla belirtilen ülkelerde bulunan şehirlerdeki toplam müşteri sayısı görüntülenir. Ara toplam olarak her ülkeye ait müşteri sayısı toplanır. Genel toplamda ise bu ülkelerdeki tüm müşteriler toplanır. select Country,City,count(City) from Customers where Country in('Brazil','Venezuela','UK','Spain') group by rollup(Country,City) Sorgumuzun sonuç ekranı: Daha fazla örnek için:  http://blog.sqlauthority.com/2010/02/24/sql-server-introduction-to-rollup-clause/

Group By Cube

Resim
Herkese iyi günler Uzun bir aradan sonra yeniden bloguma sql ile ilgili öğrendiklerimi pekiştirmek için yazmaya devam ediyorum. Bilindiği üzere group by operatörü verileri gruplayıp özet halinde göstermek için kullanılır. Group by cube operatörü de aynı işi yapar fakat group by'dan tek farkı gruplanan verilerin toplamını extra bir satır ekleyerek göstermesi. Örnekle daha iyi anlaşılacağına göre hemen başlayalım. Bu örneğimizde northwind veritabanını kullandım. Şehir bilgisi Buenos Aires,London,Paris veya Sevilla'dan birine eşit olan şehirlerde bulunan toplam müşteri sayısını gösterir. select City as 'Şehir' ,Count(CustomerID) as 'Müşteri Sayısı' from Customers where City in('Buenos Aires','London','Paris','Sevilla') group by City select isnull(City,'Toplam Müşteri') as 'Şehir', Count(CustomerID) as 'Müşteri Sayısı' from Customers where City in('Buenos Aires','London','Paris'...

Sql Server Database Engine Servisinin Konfigüre Edilmesi ve Yönetilmesi-4

4. Sql Server Sistem Veritabanları Sql Server çalışmasını ve devamlılığını sağlamak amacıyla kendine ait verileri tuttuğu veritabanlarıdır. a) Master Veritabanı Master veritabanında linked server'lar, kullanıcıların bilgileri, sistem stored procedure'leri, sistem fonksiyonları, veritabanları ve dosyalar hakkında bazı bilgiler tutulur.  Bu veritabanının zarar görmesi halinde sql server servisi çalışmaz. Bu veritabanının düzenli olarak ve yeni bir veritabanı oluşturulduktan sonra, veritabanının özelliklerini değiştirdikten sonra, kullanıcı oluşturduktan sonra yedeğinin alınması önerilir. b) Model Veritabanı Model veritabanı adı üzerinde yeni oluşturacağımız veritabanları için bir model niteliğindedir. Veritabanı oluşturulurken model veritabanının kopyası oluşturulur, sadece isim gibi özellikleri değiştirilir. Model veritabanında oluşturulan tablo, stored procedure veya fonksiyon bundan sonra oluşturulan bütün veritabanlarına otomatik olarak eklenir. c) MSDB Veritabanı...