PostgreSQL Nedir?
Herkese selamlar bugün size İstanbul Data Science Academy de öğrendiğim Oracle SQL i , biraz da PostgreSQL ‘i tanıtarak uygulamalı olarak anlatacağım.
PostgreSQL, birçok alanda veri tabanı yöneticisi olarak da kullanılmaktadır. PostgreSQL’in doğuşunun hikayesi 1986 yılına dek eskiye dayanıyor. Berkley’deki Kaliforniya Üniversitesi’nde POSTGRES projesinin bir parçası olarak doğan PostgreSQL’in çekirdek platformunu, gelişimi yaklaşık 30 yıldır sürdürmektedir.
Öncelikle PostgreSQL nedir ? Avantajları nedir?
- PostgreSQL , tüm dünyada özellikle son yıllarda popüler olan açık kaynak kodlu bir ilişkisel veritabanı yönetim sistemidir.
- Yüksek performanslı, kararlı ve güvenilirdir.
- Ekonomiktir, lisans ücreti yoktur, size üretici bağımsızlığı sağlar. PostgreSQL i istediğin kadar sunucuya kurabilir dağıtım yapabilirsiniz.
- Platform bağımsızdır. PostgreSQL i kullanmak için geliştirme ortamınızı ve sistemlerinizi değiştirmenize gerek yoktur. Tüm işletim sistemleri(Linux,Unix,Windows, Mac vb.) üzerinde çalışır.
- PostgreSQL ‘in öğrenmesi, kurulumu , konfigürasyonu , yönetimi, izlenmesi ve bakımı kolaydır.
- PostgreSQL in çok aktif ve güçlü geliştirici komünitesi vardır.
- PostgreSQL , günümüz dijital projeleri ver teknolojileri ile uyumlu bir çok yeni ve yenilikçi özelliğe sahiptir. (Örnek vermek gerekirse JSON veri tipini desteklemesi ve üzerinde sorgu çalıştırabilmesi)
- Yüksek güvenliklidir. Yüksek erişebilirdir ve genişleyen mimariye sahiptir. Her işlem ve veri büyüklüğüne göre ölçeklenebilir, genişleyebilir ve daraltılabilir.
Şimdi de gelelim PostgreSQL i makinelerimize kurmaya…
PostgreSQL i uygun işletim sisteminize şu linkten kurabilirsiniz https://www.postgresql.org/download/windows/
Kurulum oldukça kolay kurabildiğinizi varsayarak ilerliyorum. Ben Windows işletim sistemime kurdum. Ve herkeste bu ekranın gelmiş olması lazım.
1-) Database oluşturmak;
Databases yazan yere sağ click yaptığınızda yeni create database oluşturabilirsiniz. Ben names isminde bir database oluşturdum.
2-) Tablo oluşturmak;
Öncelikle names databasemiz üzerinde tables olan yere sağ click +create diyerek tables oluşturalım.
Şu an Customers adında bir boş table oluşturdum. Ve kolonları da id,name,last_name,city den oluşmaktadır.
Ya da Sol üstte ki Tools seçeneğine tıklayarak Querry Tool seçeneğini seçerek şu şekilde oluşturabiliriz.
create table product
(
id integer primary key not null,
name varchar(20) not null,
brand varchar(20),
stock integer,
category varchar(15)
)
Hepsini seçip F5 tuşuna bastığınızda table oluşmuş olacak.
Oluşturduğumuz sorgunun başına -- koyarsak yorum satırı anlamına gelir. şu şekilde;
3-) Tablo silmek;
Oluşturduğumuz bir tabloyu silmek için drop komutunu kullanırız.
create table deneme(
name varchar(16) not null)drop table deneme
4-) Tabloya veri (data) ekleme;
Önce tablomuz üzerinde sağ click + View/edit data + All Rows ile veri girişi yapabiriz.
Buraya tek tek veri girişlerimizi manuel olarak yapabiliriz.
insert sorgusu ile veri eklemek için Tool kısmından Querry Tool ksımını açın ve şu şekilde yeni veriyi sorgu yazarakta ekleyebiliriz.
INSERT INTO public."customers "(
id, name, last_name, city)
VALUES (4, 'ali', 'ak', 'ankara');
4. kayıt olarak eklendi.
Buradan sonrası bizim klasik Oracle SQL tarafında ki sorgularla aynı.Orada anlattığım komutları deneyebilirsiniz. Sadece CSV tarzı dosyaları nasıl ekleriz onu da anlatacağım.
5-) CSV file(dosyası) ekleme:
Aslında bu adım da çok kolay import CSV file postgreSQL https://www.postgresqltutorial.com/import-csv-file-into-posgresql-table/ olarak google üzerinden dökumantasyon ile kolayca ulaşabilirsiniz. Bu arada herhangi yapmak istediğiniz başka sorgu işlemlerinde ezberlemenize gerek yok https://www.postgresqltutorial.com/ yazarak çok rahat her türlü kodu bulup aynı zamanda da deneyerek öğrenebilirsiniz.
Şimdi ben size örnek bir CSV dosyasını nasıl ekleriz kendi yaptığım şekilde kısaca anlatıcam.
1.adım: Bizden name_freq adında bir tablo oluşturmamız isteniyor şu kodu query editör üzerinden yazarak oluşturdum.
CREATE TABLE name_freq(
state TEXT,
gender TEXT,
year INT,
name TEXT,
freq INT
)
2. adım: Daha sonra makinemiz de bulunan yüklemek istedğimiz CSV file dosyasını yazmak için şu kodu ve csv dosyamızın bulunduğu Path ile oluşturduğumuz table içine atıyoruz.
COPY name_freq(state, gender, year, name,freq)
FROM 'C:\Users\ASUS\Desktop\DESUMMER21\week3\sql\datSa\all_state_1950.csv\all_state_1950.csv'
DELIMITER ','
CSV HEADER;
3. adım: Şimdide acaba table içine CSV datamızı doğru göndermiş miyiz bir kontrol edelim şu şekilde klasik bildiğimiz SQL sorgusu .
select* from name_freq
Harika gördüğünüz gibi bu kadar kolay . Bir CSV dosyamızı çok rahat bir şekilde kendi oluşturduğumuz tablonun içerisine aktardık.
Buraya kadar yaptıysanız tebrikler bundan sonrası klasik SQL yeteneklerinizi geliştirmenize ve zamanla deneyerek el alışkanlığı kazanmanıza kalmıştır. Tavsiyem Kaggle vb. yerlerden Data setleri alarak üzerinde çeşitli sorgu yöntemleri ile ilerleyebilirsiniz .
Benden bu kadar keyifli çalışmalar:)
Okumaya araştırmaya ve üretmeye devam :)