Oracle etiketine sahip kayıtlar gösteriliyor.
Oracle etiketine sahip kayıtlar gösteriliyor.

Oracle Linux 7 Kurulumu

Bu makalemde Oracle Enterprise Linux 7 kurulumunu inceleyeceğim. Oracle Enterprise Linux 7 Red Hat firmasının dağıtımı Red Hat Enterprise Linux (RHEL) kaynak kodları üzerine kurulu olmasının yanı sıra oracle management pack, clusterware, validated configurations ve oracle-vm servislerininde eklendigi bir linux dağıtımıdır. Bütün destek hizmetlerini ve güncellemelerini Oracle tarafından sunulan Unbreakable Linux Network programı uzerinden yapmaktadır.
 
Kurulum aşamalarında da “Red Hat” ve “CentOS” Linux  dağıtımlarıyla olan benzerliğini göreceksiniz. Öncelikle kurulum yapabilmek için Oracle Linux .ISO dosyasını "Oracle Software Delivery Cloud" sitesinde indirip DVD’ye yazıyoruz. İndirme işlemi için Oracle kullanıcı hesabımız var ise “Sign In” bir hesaba sahip değil isek "Register" ile kayıt olmamız gerekiyor. 



CD/DVD .ISO dosylarını UNetbootin programı ile USB belleğinize veya hafıza kartınıza yazdırabilirsiniz.

Oracle Linux 7 - Kuruluma Başlayalım…  


DVD’den boot işlemini gerçekleştirerek “Install Oracle Linux 7.0” seçeneği seçiliyken “Enter” tuşuna basıyoruz. 

SQL (Structured Query Language)

SQL (Structured Query Language)


Veritabanı (Database) 
Biribirinden farklı tipteki verileri düzenli bir şekilde saklayarak, verilere hızlı ve güvenli bir şekilde erişim imkanı sağlayan düzenli bilgiler topluluğuna veritabanı (database) adı verilir. Veritabanı veriler arasında ilişkiler kurmaya ve verileri muhafaza etmeye olanak sağlar. Böylece veritabanı erişilebilir, yönetilebilir, güncellenebilir ve taşınabilir.

Yazılım uygulamalarında ister Windows tabanlı ister Linux/Unix tabanlı veya web tabanlı olsun kullanılan tüm veriler veritabanında saklanırlar. Veriler bu depoda belirli bir hiyerarşi ve indexleme formatında tutulurlar.

Kısaca veritabanı ile verilerimize hükmedebiliriz…

SQL (Structured Query Language - Yapısal Sorgulama Dili)

Veritabanlarındaki veriler sıradan dosyalar gibi değildirler. Belirli bir hiyerarşik yapıya göre saklanırlar, bu nedenle bu verilere yapısal verile denir.
SQL :
  • Yapısal Sorgulama Dili'dir.
  • SQL bir programlama dili değildir, sorgulama dilidir.
  • Satırlarca kodun yapacağı işlemi SQL ile tek bir sorguda yapabilirsiniz.
  • SQL ile veri tabanına yeni tablolar, yeni kayıtlar ekleyip silinebilir ve var olan alanlar üzerinde düzenlemeler ve sorgulamalar yapılabilir.
  • SQL bir standarttır.
Veritabanı Yönetim Sistemleri (VTYS)

DataBase Management Systems (DBMS) olarak bilinen programlardır. Veritabanındaki verilere direk ulaşamayız, bu nedenle verilere hızlı, güvenli ve etkili bir şekilde erişilmesi, verilerin saklanması ve yedeklenmesi için SQL kuralları çerçevesinde işlemler yapılır. İşte bu kurallar ve kullanıcı etkileşimini sağlayan sistem DBMS'dir. Veritabanındaki verilere ulaşıp, veriler üzerinde işlem yapmamızı sağlayan araçlara VTYS denir. VTYS veritabanı ile kullanıcı arasında kurulan bir köprüye benzetebiliriz…

Örneğin SQL Server 2008 ve ORACLE  bir database değil birer Veritabanı Yönetim Sistemidirler.

Veritabanı Yönetim Sistemleri ile Neler Yapabiliriz?
  • Veritabanı oluşturabilir.
  • Veritabanına yeni alanlar ekleyebilir.
  • Verileri Okuyabilir.
  • Verileri Silebilir.
  • Verileri arası ilişkiler sağlayabilir.
  • Verileri güncelleyebilir.
  • Verilere erişim hakkı tanıyabilir veya kısıtlamalar eklenebilir.
  • Verileri yedekleyebilir.
  • Yedeklenen veriler gerektiğinde geri yüklenebilir.
Kısacası Veritabanı Yönetim Sistemleri veriler üzerinde yapılabilecek tüm işlemleri yapmamızı sağlayan sistemlerdir.

Popüler Veritabanları : Oracle, Microsoft SQL Server, Microsoft Access, MySQL, IBM DB2, Informix, Interbase, Postgre SQL…vb.

İlişkisel Veritabanı Kavramı 

İlişkisel veritabanı günümüzde en çok kullanılan veritabanı yönetim biçimidir. Veriler arasında ilişkilendirme yapılmasına olanak tanıyan yapılara İlişkisel Veritabanı Yönetim Sistemi (Relational Database Management System - RDBMS) adı verilir. Günümüzde veritabanları mimari yapı olarak RDBMS kullanmaktadırlar. Bu modelde veriler birbirleriyle ilişkilendirilerek veriler arası bağlar oluşturulur. İlişkilendirilmiş verile RDBMS üzerinde tablolar ve sütunlar içerisinde tutulurlar. Veriler arasındaki ilişkisel bağlar oluşturulurken gerçek hayatta olan ilişkiler baz alınmalıdır. 

İlişkisel Veritabanı Temel Kavramlar

Tablo (Table) : Tablolar verilerin tutulduğu alanlardır. Tabloları excel dosyalarına benzetebiliriz. Fakat unutmamak gerektirki veritabanının sunduğu avantajları excel dosyaları sunamazlar. 

Satır (Row) : Satırlar tablolarda bulunan belirli bir kayda ait veriler bütünüdür. Tablolardaki satırlar birbirlerinden  farklı olmalıdır. 

Sütun (Column) : Satırlara ait farklı bilgileri tutan özelliklerdir. Bir satırda birden fazla sütun bulunabilir.  Bir tabloda tanımlanabilecek sütun sayısı VTYS'ne göre farklılık gösterebilir.

Primary Key (Birincil Anahtar) : Her satırı tekil bir şekilde tanımlayan benzersiz anahtardır. Primary Key sayesinde tablolarda bulunan satırlar birbirlerinden farklı olur ve her satırın Primary Key değeri farklı atanır. Primary Key tek bir sütun olduğu gibi birden fazla sütundan da oluşabilir.

NOT : Bazı VTYS'ler tabloda Primary Key olmadığında INSERT, UPDATE, DELETE işlemlerine izin vermezler.

Primary Key olacak sütun asla boş değer almamalıdır.
Primary Key olacak sütun tekrarı olmayan kayıtlarda oluşmalıdır…Örneğin TC Kimlik No, Öğrenci No vb…
Primary Key sütunu olabildiğince küçük ve basit veri tipinde tanımlanmalıdır.

Foreign Key (Yabancı Anahtar)

Bir tablodaki sütunun başka tablodaki anahtara olan referansını belirler. Primary Key'den farklı olarak bir tabloda birden fazla Foreign Key olabilir.

Indexler : Az sayıda kaydın bulunduğu tablolarda kayıt aramak oldukca kolaydır. Ne varki yüzlerce, milyonlarca kaydın tutulduğu bir tabloda aradığımız veriye ulaşmak zorlaşır ve performans oldukca düşer. Bu nedenle tablolardaki sütünlarda bir arama indexi tanımlanır. Indexler verileri belirli bir sıralama dahilinde sorgulamalarda hızlı ve etkin sonuç almamıza olanak sağlarlar.

Oracle wm_concat fonksiyonundaki , karakterini değiştirmek.

d.t_detayadi alanlarını birleştirir araya , atar.
select to_char(wm_concat((d.t_detayadi)) as "Kolon"
          from hst_hasta_hiz_hareket q, hst_islem_detay d
         where d.t_detaykodu = q.t_hizmetkodu
         and q.t_hizmetkodu like '6%'
           and q.t_basvuruno = '441370' 
 
d.t_detayadi alanlarını wm_concat gibi birleştirir fakat araya istenilen karakteri atar. 
select LISTAGG(d.t_detayadi, ' + ') WITHIN GROUP (ORDER BY d.t_detayadi) as "Kolon"
          from hst_hasta_hiz_hareket q, hst_islem_detay d
         where d.t_detaykodu = q.t_hizmetkodu
         and q.t_hizmetkodu like '6%'
           and q.t_basvuruno = '441370'

eğer birleştirmek istenilen alanlarda , varsa wm_concat fonksiyonu karıştırıyor.
LISTAGG ile daha verimli çalışıyor.