25 Nisan 2013 Perşembe

PL/SQL YAPISI ve PROCEDURE

Merhaba,
Bir sunum hazırlarken yapılanları buraya da eklemek iyi olur. Yoksa bu gidişle hiçbirşey eklemeden duracak bu blog :) Sırayı geçtim artık ne yaparsak o :))
Neyse gelelim bugün yaptıklarımıza ve tanımlara;

PL/SQL nedir :
SQL dilinin daha da gelişmiş halidir. Bünyesinde SQL cümlelerinin, döngülerin, kontrol ifadelerinin, ve diğer yapıların kullanıldığı blok yapısında olan bir dildir. Fonksiyon, prosedür, trigger tanımlamaları gibi bir çok özelliğiyle uygulamalarda kullanabileceğimiz bir yapısı vardır.


Temel bir PL-SQL yapısı:

IS
Burada değişkenler, tipler, diğer tanımlamalar yapılır

BEGIN
Asıl işin yapıldığı kısımdır. Kontrol yapıları, SQL cümleleri, döngüler...

EXCEPTION 
İşleyiş anında oluşan hataların yakalandığı yerdir. İsteğe bağlıdır

END;
İşlemin bitirilmesidir 

PL/SQL 'de bir procedure örneği (Bu benim kurstan kalan bir örneği tekrar yapışım:) en akılda kalıcı örnek benim için buydu )
İki tane bir biri ile ilişkili tablo oluşturmuş olalım.
Ve biz kursiyer tablosuna bu şekilde veri eklemiş olalım.

       Taksit tablosuna bir taksilendirmeyi eklemek istiyorum .Karşımda  kursiyer ile ilişkili bir tablo bunu yapmanın en güzel yolu SP olacaktır.

      1. Stored Procedure Oluştururken öncelikle CREATE PROCEDURE deyimi kullanılır. Ve ardından Procedure için bir isim tanımlanır. Parantez açılır ve ilgili parametreler tanımlanır. Sonra Parantez kapatılır ve IS deyiminden sonra eğer hesaplamam gereken değerler varsa onlar tanımlanır.

CREATE  PROCEDURE  taksitlendir (KURSIYER_REFNO INT ,TAKSIT_ADET INT ,TUTAR FLOAT ,ILK_TARIH DATE ,VADE_GUN INT )
IS
TAKSIT_TUTAR FLOAT;
BAS_TARIH DATE;
TAKSIT_NO INT:=0;

2.  IS ile hesaplanması gereken parametreler tanımlanırsa. Hesaplamaya başlamayı BEGIN             ile yapıyoruz. Ben burada hesaplama diyorum ancak yapılması gereken işlem demek daha uygun olur. Eğer herhangi bir şartla değişecek parametremiz varsa o da WHILE (-olduğu sürece) LOOP(döngümüz) ile ifade edilir.

BEGIN

TAKSIT_TUTAR:=TUTAR/TAKSIT_ADET;
BAS_TARIH:=ILK_TARIH;

WHILE (TAKSIT_NO<TAKSIT_ADET)
LOOP
  TAKSIT_NO:=TAKSIT_NO+1;


3. WHILE koşulundan sonra( ki eğer bir koşulumuz varsa uyguluyoruz) SQL sorgumuzu yazabiliriz. Biz burada taksit tablosuna uygun koşullar sağlanırsa veriyi eklemeyi yaptık. Daha sonra da LOOP döngüsünü END ile sonlandırdık


INSERT INTO TAKSIT(TAKSIT_REFNO,KURSIYER_REFNO,TAKSIT_NO,TARIH,BORC,ODENEN)
  VALUES(SQ_TAKSIT.NEXTVAL,KURSIYER_REFNO,TAKSIT_NO,BAS_TARIH,TAKSIT_TUTAR,0);
  BAS_TARIH:=BAS_TARIH+VADE_GUN;
END LOOP;
END;
Ve yukarıdaki ekran görüntümüzdeki gibi çalıştırdığımızda
Taksit tablosuna istediğimiz işlemler sonucu 21 referans numaralı kursiyerin bilgilerinin eklendiğini görebiliriz.

:) Şimdilik bu kadar olsun geniş anlatımları geniş zamanlara bırakalım. 



18 Nisan 2013 Perşembe

Bir oracle database'i Sql developer içine aktarıp bağlamak

Bugün oracle ile oluşturduğumuz bir veritabanını tabloları ile birlikte sql developer'a nasıl bağlarız ona bakalım. Bir iki resim (eskilerden hatırlatma) bir de sessiz bir filmimiz :) var.

Öncelikle SQL Plus ile veritabanımıza bağlanalım.,
Kullanıcı adı ve şifre olayına daha önce değinmiştik. Host string kısmına gelince. Bu system kullanıcısı adı altında oluşturulan database'lerimiz sadece bir tane olmayacağından hangisine bağlanmak istiyorsak onu yazıyoruz. Burada önceden oluşturduğum "ybs" isimli olanına bağlandım. Daha önce database üzerinde sınırlı yetkiler verebileceğimiz kullanıcılar oluşturabileceğimizi anlatmıştık. O işlemi atlayarak sadece "z1" adında bir kullanıcı tanımladığımı belirterek devam edelim .

Yukarıda göründüğü gibi bu örnek için temel özellikleri olan kısa bir tablo oluştuşturduk ve içine bir satırlık bilgi girdik.




Ve yukarıdaki şekilde grant ile başlayan komutumuzla z1 kullanıcısına sadece "select" komutu yetkisi verelim. Böylece bir kullanıcıya nasıl yetki veririz görmüş olduk. Onun aşağısındaki tabloda diğer yetkilerin de verilmiş hali var. Ancak belirttiğim gibi kullanıcılara genelde sınırlı yetki verilir çünki database administrator yane system yetkileri elinde olan kişi haricindekilerin full yetkiye sahip olması kalıcı hasarlara neden olabilir.


Ve system kullanıcısından çıkarak daha önce oluşturmuş olduğumuz z1 kullanıcısı ile giriş yapalım.



Yetki verdiğimiz için yukarıda görüldüğü gibi tabloya veri ekleyebildi.


System ile giriş yaptıktan sonra görüldüğü gibi " revoke" komutu ile istediğimiz herhangi bir yetkiyi geri alabiliriz. Ve z1 kullanıcısı ile girdiğinizde geri aldığınız bir yetki ile işlem yaptığından size yetkiniz yok olarak uyarı verecektir.

Neyse ;
Aslında bu örneğimizin temeli SQL Developer'a database'i aktarmak bağlamak, kullanıcı oluşturup yeni tablo oluşturmadan da system üzerindekini de aktarabilirdik. Ancak iki konuyu birden geçmek iyi olur diye ve örnek için zaten yeni bir tablo oluşturacağım için böyle yaptım :)
Şimdi aktarımı sessiz videomuzda izleyebiliriz.





17 Nisan 2013 Çarşamba

SQL komutları devamı

Herzamanki gibi blog sayfamıza ara verdik biliyorum :) Madem öyle dedik gündelik yaptıklarımızı ekleyelim.
Bir ERP genel anlamda ayrıntısız veritabanını oluştururken. Bir kısmı ile anlatım yapmak iyi olur. Aşağıda gördüğünüz diyagram veritabanı diyagramının bir parçası. Bu eer diyagramını bir yazılım mühendisi veya veritabanı uzmanı kolaylıkla okuyabilir. Ve hem veritabanını çıkarır hem de yazılımı nasıl yazılması gerekiyorsa bağlantıları kurarken rahatlık oluşur. Bu diyagramı önce oluşturursunuz veya veritabanı kodları yazdıktan sonra benim gibi MySql Workbench ile diyagramı SQL kodlarından oluştur diyebilirsiniz :) Hatta diyagram oluştuktan sonra yazdığınız kodlardaki hataları ve eksikleri bulmanız daha da kolaylaşıyor. O yüzden bu tarz diyagramları en baştan oluşturarak yola çıkmanızı tavsiye ederim.
Diyagrama gelecek olursak. Herbir kare bize herbir tablomuzu ifade etmekte, tablolardaki anahtarlar ise primary key, pembe işaretli olanlar ise foreign key olarak belirlenmiş demek oluyor.
Primary key : Bir sütunu eşsiz bir değer yapar. Ben genelde bunu otomatik atamaya ayarlarım. Bunu da auto_increment ile yapabilirsiniz.
Foreign key: Bir tablonun belli yada belirli sutünlarına girilecek değerleri, ilişkilenen başka bir tablonun bir sütunundaki değerine eş olması için kullanılır. 
Oluşturma kodlarımız ise şöyle :Tabi sizin yazılar rengarenk olmayacak :) sadece daha net anlaşılsın diye renklerini ayırdım.

create table calisan
(calisan_id int not null auto_increment,
calisan_adi varchar(50),
calisan_tc int not null unique,
meslek_kod int not null,
calisan_aciklama varchar(50),
primary key (calisan_id) );

create table meslek
(meslekid int not null auto_increment,
meslek_adi varchar(50),
primary key (meslekid) );

create table meslekdurumu
(meslek_id int not null,
calisan_id int not null,
foreign key (meslek_id) references meslek(meslekid),
foreign key (calisan_id) references calisan(calisan_id) )

Buradan yolla çıkarsak eğer diyelim ki bağlantı kurmayı unuttunuz ve diyagramı oluşturdunuz sonra farkettiniz ki olması gereken bir bağlantı yok:)Benim başıma geldiği gibi , o zaman şu kodlarla hemen foreign'lerimizi ekleyebiliriz. Aslında sadece foreign key için değil başka değişiklikler için de kodlar var ama şimdilik bunu yapalım. Eğer yukarıdaki koyu mavi satırlı yeri unutursak, aşağıdaki kodlarla bunu ekleyebiliriz.

ALTER TABLE meslekdurumu
ADD FOREIGN KEY (meslekid)
REFERENCES meslek(meslekid);

Şimdilik hoşçakalın. Bir dahaki sefere daha ayrıntılı yazmak üzere diyelim öyle olsun :)




12 Aralık 2012 Çarşamba

Oracle Database Oluşturma

Şimdi biz bu kodları tam olarak nerde yazacaz database nerde nasıl oluşturdun der gibisiniz ya da bilenleriniz neden anlatmadı der gibi :D
Hemen konuya girelim başta aslında oluşturduğumda ya video olarak ya da resimli anlatmam gerekeni şu an anlatıyorum.

Yukardaki şekilde Oracle yükledikten sonra program files bölümümüzde oluşacak olan programın içindeyiz.
SQL Plus diye işaretlediğim yer komutlarınızı geliştireceğiniz platformunuz. Database Configuration Assistant ise database oluşturmak için başlatacağımız database oluşturma asistanımız :P Şimdi orayı tıklıyoruz ve aşağıdaki gibi bir pencere çıkıyor.

Biz bir database oluşturacağımız için en üstteki yeni bir database oluşturu tıklayıp next diyoruz.


Yukarıdaki çıkan ekrana(bu arada aslında sıra başka pencerede ama ben orayı atladım direk next deyin sonra istersek ayrıntılara gireriz) database ismimizi yazıyoruz.
                                           
                                                        
 Şimdi Aşağıda gördüğünüz giriş isimlerine ayrı ayrı veya hepsine aynı şifreyi verebilirsiniz. Ben hepsine aynı şifreyi veriyorum.

                                              
Database dosyaları için dosya sistemini seçiyoruz.


Database için saklama alanımızı seçiyoruz.

Burada geri yükleme seçeneklerini belirliyoruz. Burası veri yedekleme ve veriyi kurtarma kısımlarında ayrıntılı işlenir.

Samples Shemas kutucuğunu işaretliyoruz.

Buraları değiştirmesek daha iyi ama özel database alanları karakter uzunlukları..vs gibi durumları buradan ayarlıyorsunuz.
Burada size oluşturduğunuz ve üzerinde değişiklik yapabileceğiniz dosyaların bilgilerini veriyor. Madde madde gösterdiği dosyaları herhangi bir yazımda tekrar detaylı anlatırız. Başlangıç derslerinde biraz bahsettik ama daha sonra bahsetmekte de fayda var.
Database oluştur diyoruz.

Ve oluşturdu.

Oracle Sql Plus 'ımızı programlar bölümünden açıyoruz. Kullanıcı adı ve şifremizle girişimizi yapıyoruz.
Yukarda yazdığımız kod ile oluşturduğumuz database 'imizin ismini bulabiliriz.

Bir hoşçakalın demeden önce. Oracle yüklememizde yükleme dosyamızı nereden aldığımızı söylememiştik. Yukarıdaki resimde de görüldüğü gibi oracle sitesinden downloads bölümünden kendi sisteminize uygun olanını yükleyebilirsiniz.







11 Aralık 2012 Salı

SQL Komutları Örnek

Bir yüklemeyi beklerken neler yapabilirim derken blog sayfama girmek aklıma geldi. Şimdi ilk SQL öğrenme zamanlarımda verilen küçük ödevlerimden birini buraya direk yapıştırmaya karar verdim. Çünki sorulu cevaplı bazen bazı şeyler daha anlaşılır oluyor. Ve bundan sonra  foreing key , tablo birleştirme, SQL Developer yüklenmesi,...vs olaylarına gireriz(yazıyorum ki unutmayayım :)birçok şeyi unutuyorum ne yapmıştım ne olmuştu-benim pc gene yedi formatı :S tekrar yükle tekrar database oluştur felanları ben video olarak yükleyeyim fırsat bu fırsat :D ) daha sonra da PLSql de birkaç örnek yaparız :) İyi iyi uzun bir aradan sonra canlandık galiba ...



ARAC_TAKIP_REFNO sayı üreteci oluşturun


  • Tabloyu oluşturun
  • 5 adet farklı tarih,plaka ve şöför 'e ait giriş çıkış yapın
  • Son girilen kaydı silin
  • İlk girilen kaydın Plaka nosunu 06 HB 634 yapın
  • İki tarih arasında giriş çıkış listesi alın
  • Sadece bir plakaya ait listeyi getirin




CREATE TABLE ARAC_TAKIP
(
  ARAC_TAKIP_REFNO INT NOT NULL,
  SIRANO INT NOT NULL,
  TARIH DATE DEFAULT SYSDATE,
  GIRIS_SAATI NUMBER(4,2) NOT NULL,
  CIKIS_SAATI NUMBER(4,2),
  SOFOR_ADI VARCHAR(30) NOT NULL,
  PLAKA_NO VARCHAR(10) NOT NULL
)
/
CREATE SEQUENCE SQ_ARAC_TAKIP START WITH 1 INCREMENT BY 1
/
INSERT INTO ARAC_TAKIP VALUES(SQ_ARAC_TAKIP.NEXTVAL,&SIRANO,TO_DATE('&TARIH','dd/mm/yyyy'),&GIRIS_SAATI,&CIKIS_SAATI,'&SOFOR_ADI','&PLAKA_NO')
/
DELETE FROM ARAC_TAKIP WHERE ARAC_TAKIP_REFNO=(SELECT MAX(ARAC_TAKIP_REFNO) FROM ARAC_TAKIP)
/
UPDATE ARAC_TAKIP SET PLAKA_NO='06HB634' WHERE ARAC_TAKIP_REFNO=(SELECT MIN(ARAC_TAKIP_REFNO) FROM ARAC_TAKIP)
/
SELECT * FROM ARAC_TAKIP WHERE TARIH BETWEEN TO_DATE('&T1','dd/mm/yyyy') AND TO_DATE('&T2','dd/mm/yyyy')
/
SELECT * FROM ARAC_TAKIP WHERE PLAKA_NO='&P1'
/

5 Eylül 2012 Çarşamba

Yoğunum , Yorgunum Kelimelerini Literatürden Atmak

Merhabalar efendim :)
Son 4-5 aydır, daha öncelerde literatürümden attığım bu iki kelimeyi tekrar zihnime ve dilime döktüğümü dün bir kitapla farkettim.
Taksimden geçerken ikinci el kitap satan biryer var oraya girelim bişiler kurcalayalım dedim. Kişisel gelişim kitapları okumaktan o kadar sıkılmışım ki yıllardır okumuyorum :) Ama yine de " mutlu olmak" cümlesini görünce ister istemez hadi al can sıkıcı olamaz bişileri belki hatırlarsın zeytuni diye çekip alıverdim.
Yatmadan önce okuduğum cümleler aslında benim hayatımda uyguladığım ve 4-5 aydır uygulamayı kestiğim şeylerdi..
Yoğunum diyorsanız eğer, işleri öncelik sırasına göre dizemiyor ve hep işleri erteliyorsunuzdur. Yorgunsanız işlerinizi hep yarım bırakıyorsunuzdur.
Önünüze bir iş geldi mi onu yapın sonra devam edin. Öncelik sırasına dizin ve hızınızı asla kesmeyin :) Tabi cümleler bunlar değil bunlar benim cümlelerim. Ama buna benzer işte. Eğer böyle yapmazsanız hiçbirşeye zaman yettiremezsiniz. Yalnız bir durum var :) Ben sadece blog sayfama zaman yettirememişim :(
Artık kendimize gelme zamanı 4-5 ayda kullandığım o yoğun ve yorgun kelimelerini tekrar kapı dışarı ediyoruz . Ve tekrar "Merhaba" diyoruz.

31 Temmuz 2012 Salı

Android Uygulamalarını SD Karta Yükleme

Merhabalar efendim :) Bugün birkaç uğraşımızdan ve araştırmamızdan sonra Android uygulamalarımızı "Uygulamayı SD-karta yükle";gerçi telefonda cümle böyle mi geçiyor bilmem ama siz anladınız onu neyse bu
 kısmı aktifleştirmeyi başardık. Benim gibi ilk vuruşta başaramayıp ikincilere uğraşmayın diye yazıyorum:)

Adımlarımızı sayalım:
1. Android sdk programını indiriyoruz. Ben buradan indirdim .
2. Yüklenmiş olan Android sdk manager programımızı açıyoruz.
3. Çıkan ekranda "android sdk platform-tools" işaretliyoruz
4. Yüklüyoruz :)
5. Telefonumuzu USB ile bilgisayara bağlıyoruz. Ancak ondan önce telefonumuzda ayarlar-uygulamalar bölümünden USB hata ayıklamayı işaretliyoruz.
6. Komut istemine gelerek (başlat-çalıştır kısmına cmd yazarsak geliyor )
7. Önce android-sdk klasörüne sonra platform-tools klasörüne gidiyoruz - Ben C 'de Program Files'a kaydettiğim için komut istemine bu şekilde yazdım. "C:\Program Files\android-sdk\platform-tools> "
8. Komut isteminde komut vermeye devam ediyoruz. Daha sonra "adb shell" yazıyoruz. Tırnak işaretleri yok :)
9. Komut istemlerinde herhangi bir hata oluşmadıysa , "örn; cihaz bulunamadı" gibi " ve alt satıra şu şekilde geçtiyse "root@android:/"  yanına "pm set-install-location 2" yazıyoruz ve işlemimiz tamamlanıyor.
10. Şimdi telefonunuzun ayarlar bölümünden uygulamalara gidip bir uygulamayı tıkladığınızda "SD karta taşı " kısmının aktif olduğunu göreceksiniz.

Kolay gelsin :)

23 Temmuz 2012 Pazartesi

DATA DEFINATION LANGUAGE


Bir tablo oluşturalım sonra sırası ile yapılası tahmini :) işlemleri yapalım ;

CREATE NESNE_TIPI TABLO_ADI
(
KOLON1 VERI_TIPI (NULL| NOT NULL) [DEFAULT DEGER1],
KOLON2 VERI_TIPI (NULL| NOT NULL) [DEFAULT DEGER2],
...
KOLONn VERI_TIPI (NULL| NOT NULL) [DEFAULT DEGERn]
)

Örn;

CREATE TABLE ISCI
(
ISCI_ID INT NOT NULL,
AD_SOYADI VARCHAR(50) NOT NULL,
DOGUM_TARIHI DATE,
ADRES VARCHAR(150),
TELEFON NUMBER(10),
)

Yukarıda yazdığımız komutlar veritabanımızda -daha önceki derslerde oracle kurulum veritabanı oluşturma ve giriş yapmıştık- giriş yaptıktan sonra yukarıdaki komutları yazarsanız, aşağıdaki tablo oluşacaktır. Ve oluştuğuna dair mesaj verecektir. Eğer komutlarınızda hata varsa bunu size belirtecektir. Bundan sonraki yazıda komut isteminde oluşan kısımların resimlerini eklemeye çalışacağım.
ISCI_ID
ADI_SOYADI
DOGUM_TARIHI
ADRES
TELEFON






Tabloya da veri ekleyelim ;

INSERT INTO TABLO_ADI(KOLON1,KOLON2, ... KOLONn) VALUES(DEGER1,DEGER2,... DEGERn)
Örn:
INSERT INTO OGRENCI VALUES(1,'Su Altın',12/12/85,'İstanbul',111111)
INSERT INTO OGRENCI VALUES(2,'Damla Altın',12/12/85,'İstanbul',222222)

ISCI_ID
ADI_SOYADI
DOGUM_TARIHI
ADRES
TEL
1
Su Altın

12/12/85
İstanbul
111111
2
Damla Altın
12/12/85
İstanbul

222222

Veri ekleme işleminden sonra tablomuz bu şekil olacaktır.Dediğimiz gibi komutlarda hata olursa zaten bunu size bildirecektir.

*Madem tablolardan giriş yaptık. Bir tabloyu silme ve üzerinde değişiklikle devam edelim.
DROP TABLE TABLO_ADI;
Örn:
DROP TABLE ISCI;

*Bir tablodan kayıt silme ;
DELETE FROM TABLO_ADI WHERE KOLON1=DEGER1
Örn:
DELETE FROM ISCI WHERE AD_SOYADI='Su Altın' ;

*Tablo üzerinde değişiklik yapmak için;
UPDATE TABLO_ADI SET KOLON1=DEGER1,KOLON2=DEGER2, ... KOLONn=DEGERn
WHERE KOLON1=DEGER1,KOLON2=DEGER2, ... KOLONn=DEGERn
Örn:
UPDATE ISCI SET AD_SOYADI='Damla Altundal' WHERE AD_SOYADI='Damla Altın';
- Yalnız benim unutkanlığım tuttu şimdi :) Diğer yazılarda veritabanı oluşturmuş muyduk ? Baktım üstün körü bir giriş yapmışız. Ben bunu resimlerle de bundan öncesine ekleyeyim sonrasında da görsel olarak komut sisteminde yazdıklarımı eklesem daha iyi olur sankim...
Data Defination Language kısmına burada kısmen son verelim. Daha sonra ayrıntılı örneklerle devam ederiz. Hatta hepsini bir sıraya koyarak güzel bir doküman oluştururuz.
Şimdilik Hoşçakalın..




18 Haziran 2012 Pazartesi

Temel SQL Komutlarına Örnekler

Oracle  yapısını yazmaktan ben sıkıldım. Aslında daha fazla yapı ile ilgili bilgi var ve yedekeleme kurtarma durumlarını temelden uzmanlığa kadar bilmeniz açısından yapıyı iyi algılamak gerek. Yapılara yedeklemeye gelince tekrar devam ederiz diye düşünüyorum. Ondan önce PL/Sql anlatmamız gerektiğine karar verdim. Bunun için SQL komutlarına bir giriş yapalım : Data Manipulation Language;

SELECT Komutu:
Veritabanındaki herhangi bir tablodan verilerin bilgilerini okuyan kullanan yane seçen komuttur.
SELECT * FROM FABRIKA- Burada select komutundan sonra gelen * tablodaki bütün verileri seçmenizi sağlar from komutundan sonra gelen fabrika ise tablo adıdır- hangi tablodan veri çekmek istersek onun ismini yazarız.
Select komutunda sınırlamalar ve sıralamalar yapabiliriz.
Mesela ; FABRİKA tablomuzun calisan_id, calisan_ad, calisan_soyad, calısan_basl_trh, calisan_maas gibi sütunlar olsun.
Not: calisan_id kısmına detaylı olarak key'leri anlatırken değineceğiz.

-Ve şimdi bir sınırlama yapalım , FABRIKA tablosundaki sadece calisan_id ve calisan_ad sütunlarını sıralayalım.
SELECT calisan_id, calisan ad
FROM FABRIKA ;

-İsmi aynı olanları 1 'den fazla defa sıralamasını engelliyelim
SELECT DISTINCT calisan_ad
FROM FABRIKA;

-Şimdi sütunlarımızın seçimlerine şartlar, sınırlamalar ekleyelim
SELECT * FROM FABRIKA WHERE calisan_ad ='z1' ; (String ifadeler tek tırnaklar içine alınır.)
Burada fabrika tablosundaki ismi z1 olan çalışanları sıralayacaktır.

SELECT * FROM FABRIKA WHERE calisan_basl_trh = '02.02.2009' ; (Burada dikkat edilmesi gereken DATE verisini yazarken oluşturulan biçimdir. DD.MM.YY olarak biçimlendirildiğini farzettik-bunu öğrenmek için ise SELECT SYSDATE FROM DUAL; komut satırını yazmamız yeterli olacaktır.)

SELECT* FROM FABRIKA WHERE calisan_maas= 2500; (Integer değerlerde herhangi bir tırnak işareti kullanmanıza gerek yoktur. )

Şimdilik başlangıç olarak komutları bu şekilde gösterdik.

Sonrasında , WHERE komutu ile kullanılan IN, BETWEEN, LIKE,OR,AND komutlarının kullanımı ve ORDER BY ile ilgili örneklerle devam  ederiz.
sağlıcakla kalın...

7 Haziran 2012 Perşembe

Kadından Mühendis mi ?

Birgün bana yazılım mühendisi bir bayan olarak çektiğin zorlukları yaz anlat dediler. Ama yazar mıyım yazmam dedim. Şimdi yazıyorum çünki çok sinirliyim herkese, bana bu yazıyı yaz diyenlere de sinirliyim. Derler ki ; kadınlar hep sinirlidir zaten. Hadi oradan durduk yere mi sinirliler?
Sinirlendirmeyin kardeşim.
Bakalım kadınlar neler yaşıyor.
Gerçi bazı şeyleri anlatmak zordur. O yüzden şimdilik sadece bunları yazmak en iyisi.

Neyse gelelim sadede ;
Mezun oluyorsunuz kadınsınız, çömezsiniz, ayrıca bir de kapatıyorsanız başınızı, beşvakit namaz kılacaksanız(Dipnot:Bunlar sizin yaşam tarzı seçişinizdir dört dörtlük bir müslüman oluşunuz değil, İslam mükemmeldir müslümanlar değil) vee bir topluluk psikolojisinden ayrı bir kuzu iseniz ahaaa işte o zaman yandınız.
Ve eğer bunlara rağmen bir işiniz varsa :) siz gerçekten güçlü bir kadınsınız. Ne kadar para kazandığınızı ne kadar elit bir yerde çalıştığınızıdiğer insanlarla karşılaştırarak gücenmeler yapmayın aramızda kalsın siz asıl gücü olanlardansınız. Ve o yüzden herkes sizden korkar :D

Gelelim ilk hikayemize ve buradaki isimsiz kahramanlara (!) kimlerin suçlu olduğuna siz karar verin. Yeni mezun olarak iş görüşmeleri birbiri ardına gelir herkesin başına geldiği gibi. Ama size olan bakışlar çok farklıdır. Paranoya değilsiniz merak etmeyin :) Ben bunları ıspatladım.

*Toplu mülakat sorular sorular size olan bakışlar farklıdır. Yer İstanbul'un elit kesimi. Bu arada siz İstanbul'da oturmuyorsunuz. Güç bela babacığınızdan izin almış veya bir büyüğünüzden düşmüşsünüz yollara.
Ve bir soru gelir soruyu hatırlasam soracam da tek hatırladığımız : nesneye dayalı programlama ile ilgili basit bir soru . Bu cevabı veren tek kişi sizsiniz. O gülen adamın suratı asılır. Size döner istemeyerek “evet” der . Alay edecek konu yoktur. Adam şoktadır. Mülakat biter anlam veremezsiniz. Sorarsınız o günlerdeki arkadaşınıza “neden” o size gerçek cevabı yapıştırır: Anlattığına göre adamın nasıl biri olduğu belli seni zaten işe almayacaktı o sadece seni merak etmiş bu özgeçmişteki kız kim? :)

*Bir mail gelir gidersiniz. Adam size bakıp buyrun der. Mail göndermiştiniz mülakat için geldim. Hımm isim nedir? İsmim .... Hımm o siz misiniz? Evet . Yaw adam özgeçmişimdeki fotoğrafa da mı bakmamış. Yanlışlık olmuşkusura bakmayın. Daha soru yok mülakat yok hiçbirşey yok . Sekretere dönüp yamuk ağızla “bunu kim çağırdı,kapalı... “haydaaa dersiniz.

*Bir telefon gelir. Odtü (burada ismi vermek bana çok hış geliyor) teknokentte bir firma. Şirket tanıtılır . Sizi çok uygun görüyoruz(internette bir siteden bulunmuşum) eğitiminiz tam istediğimiz gibi. İki fotoğraf ve diplomanızın fotokopileri ile şu şu gün bekleriz.
Jeton düşer: Pardon bir yazılım projesi olduğunu anladım da projeyi biraz açar mısınız?
Telefondaki kadın : Askeriyeye hazırlanacak bir yazılım.
...: Hımmm Peki siz benim özgeçmişimdeki fotoğrafı gördünüz mü?
...: Hayır.
...: ) Ben tesettürlüyüm.
...: sessizilik. Pardon biz sizi gün için arayalım olur mu?
...: Olur arayın bakalım ben gelecem mi :D

*Böyle komik günler geçer bazı aracılı yerlere de mülakata gidersiniz komik şeyler olur onlarıda anlatırdım da boşverin. Haa hep tesettür üzerine mi hayır. Biri vardı komedi zaten:
Kendi şehrimde İstanbul değil. Mülakat iyi işe uygunum soru dankkk.
...: Evli veya nişanlı mısınız?
...: Hayır
...: Evlenecek misiniz?
...: Hönk . Nasip
...: Hayır işe girersiniz sonra evlenir gidersiniz de ondan dedim.
...: sessilik
...: Sevgiliniz var mı ?
...: Anlamadım? İçimdeki ses : Sanane kardeşim!
...:Yüzük var da parmağınızda
...: içimdeki ses :(siyah akik yüzükten bahsediyor geri). Olduuuu siz işe alacak olursanız beni ararsınız.
İşe alınmazsınız sebep işi yapamayacak olmanız olarak karar verildiği söylenir. Ancak siz buna inanmaz ve üstelersiniz. Gerçeği öğrenirsiniz. Kuvvetli referansı olan birini işe almak isteyenler var.
Not: Tesettürlü bayanların çalışmasına izin veren bir yerdi. Ben işe girdikten sonra iki defa görüşmeye çağıran ikincisinde sizi işe almayı düşünüyoruz diyen yer.
Şimdi zevkle ben sizi görüşme için ararım diyorum :)

Sadece muhafazakar olmayanlardan değil muhafazakarlardan da darbeyi yersiniz. İki kesimde de bütün hepsini kapsamıyor bu yaşanılanlar , sözüm meclisten dışarı .

Gelgit gelgit bir işe girersiniz. 4 ay kadar maaş verilmez sadece sana değil başkalarına da . Neyse babanızdan para istemek zorunuza gider. Başka şehirdesiniz. Patrona gider söylersiniz.
  • sen kapalısın ve yeni mezunsun bir de bayansın seni işe almışım sen de para derdine düşmüşsün!
    Hönk . Hiçbirşey söylenmeden işten çıkarsınız. Arkanızdan kalan iş için ararlar iş arkadaşı hatırına küçük bir cevap verirsiniz.

Duruma binaeren şunu dersiniz : Muhafazar çevre, tesettürlü bayanları ucuz iş gücü olarak görüyor! Artık devir bu hale geldi.

Bunun üzerine muhafazakar çevreden referansla işe girmiş BİR kadın cevap verir: Bir tek sen böyle bişi yaşadın diye zaman böyle diyemezsin!
Muhafazakar BAZI erkeklerden gelen cevap : Öyle herkesle irtibatın olmayacak topluluklara uyacaksın seni güzel işlere alacaklar oturacaksın. Olmadı evlen ne işin var orda burda çalışmalarda (bunları diyenler okumuşüniversiteliler) Sürüden ayrılanı kurt kapar.

*bazı ve bir kelimelerine dikkat çekerim yine belirtiyorum herkesi yargılayamayız!

“Heee evet kurt kapar siz sürü sürü diye tepeleri dağları gezmeyi unutmuş . Bana dokunmayan yılan bin yaşasın yahudi mantığıyla gitmiş işe yaramaz bir koloni olunca, insan pek duramıyor.”
Aslında doğru sizler birer koyunsunuz ! Ben değilim o yüzden o sürüde değilim.

Not: Patron kollarını sıvaya sıvaya abdestli gezinen ( bütün abdestli namazlıları öyle sanmayın sadece iki yüzlü insanlar olduğunu bilin diyorum) biriydi. Bunu yıllarca pek kimseye söylemememin sebebi her namazlı kişinin böyle olacağı izlenimi bırakmak istemedim.
Desen ki sen çömezsin işi öğreniyorsun yenisin biz de sıkışığız eyvallah dersiniz. Ama kapalısın iş veriyoruz ohooo . Keşke yanımda bir İsmail abi olsaydı da (Leyla ile mecnundaki) verseydi ağzının payını. Ben vermeye bile tenezzül etmek istemedim de. Ve şirket iflas etti.

Yılmazsınız kendinizi güzel güzel geliştirirsiniz. Sonra mütevazi bir iş bulursunuz . Çevre rahat durur mu kız başına aaa bu iş yapılır mı? Zaten kızlara göre değil ki yazılım mış mühendislik miş bilgisayarmış ...vs sen git o kadar oku kız başına şimdi de git bir şehirde kız başına bir de tek başına çalış kal . Yok yok bi de o maaşa :)
Kim bilir ne haltlar yiyor ailesinden uzakta tek başına o şehirlerde...
-He evet çok haltlar var da karnım tok be topluluk :P


Ve isyan başlar : Sizene kardeşim maaşımdan sizene kardeşim benim tek olmamdan sizene kardeşim statüsüz kamusal olmayan biryerde çalışmamdan siz sadece anlattıklarımı bilirsiniz ya bunların ayrıntısı zımbırtısı anlatılmayanları!

*Kadından mühendis olur mu? Olur
*Statülü büyük kurumsal güzel yerlerde çalışır mı -aslında bu soru erkekler için de geçerli?Türkiye'de referansla (topluluk psikolojisine uyarak öyle sivri diş olmayacan)
*Bunların dışındakiler mi ? Kadınsa, yıpranırlar varolan yetenekleri söner (amaç bence odur zaten :P) hevesleri kaçar, mühendislik okuduklarına lanet okurlar, kızım olursa ya doktor ya öğretmen olacak derler :D ya da evlendirecem gitsin :P.
Böyleleri ;mütevazi yaşamı zaten seviyorlardır buldularsa dokumayın.

*Ve...Bir gruba girersiniz amacınız vardır. Grupta tek kız olursanız şöyle bir ses muhakkak çıkar : Yaw bizim tanıdığımız bir kız arkadaş var onu da gruba katalım da yalnız kalma!
-Hönk!
  • He arkamdan malum bu kız niye gönüllü bizimle diye soruyorlar ya cevap şu : Bari benim bulunduğum topluluk kadınları iki gruba ayırmasın! Şu anki amacım sanırım bunu yapmak sonrasını bilemem.
  • El Sonuç ;
Biri ile karşılaştığınızda önce insan olduğunu unutmayın. Önce insan, sonra ...meslek, sonra kadın erkek, sonra din, kültür,....vs.
Bu sırayı şaşırırsanız bizler hep yorulacağız, yetenekler kaybedilecek, hergün bir kadın mühendis bir şeyler üretebilecekken sizin yıpratmalarınızla yok olacak.

Aman ağaçlar yok olmasın gibi bişi oldu bu :)) Kadın mühendisleri koruyalım yaşatalım :P Dernek mi kursam ki acep :D

Yane özetle herzaman dediğim gibi ÖNCE İNSAN diye bakın karşınızdakine!