Sümeyye Kök

önceki makalemizde visual’dan sql kodlarımızı import edebileceğimiz altyapıya ulaşmıştık..c# ile kodların birleştirilmesinden önce SQL komutlarını hatırlayalım istedim,sizde aynı istek ve kararlılıktaysanız buyrun başlayalım:)

1-) DDL (Data Definition Language)

DDL deyimleri veritabanı üzerinde nesne yaratmak için kullanılırlar.

CREATE TABLE: CREATE TABLE  Ogrenci

( Ogrenci_id   integer   NOT NULL,

Ogrenci_adi   varchar(50)  NULL,

Ogrenci_sehir  varchar(20)  NULL )

//Ogrenci isimli ve içine Ogrenci_id,Ogrenci_adi,Ogrenci_sehir  yazan sütunları olan bir tablo oluşturduk.

ALTER DEYİMİ:

Oluştrulmuş nesnenin değiştirilmesini sağlar.

ALTER TABLE  Ogrenci ADD Ogrenci_numara  varchar(50)  NOT NULL

DROP DEYİMİ:

Tabloyu ve verileri siler.

DROP TABLE Ogrenci

2-)DML(Data Manipulation Language)

veri tabanı içindeki verileri değiştimek için kullanılan sql komutlarıdır.

->SELECT

->INSERT

->UPDATE

-> DELETE

Seçeneklerin Anlamları:
ALL sözcüğü bütün satırların sonuç listesinde görünmesini sağlar.
DISTINCT sözcüğü sadece tek olan (unique) kayıtların sonuç listesinde yer almasını sağlar. liste parametresi veriden seçilecek kolonu (sütunu) belirtir.
INTO sözcüğü yeni bir tablo yaratmayı sağlar. yeni tablo parametresi sorgu sonucu yaratılacak tabloyu belirtir.
FROM sözcüğü belli bir tablonun seçilmesini sağlar. tablo parametresi ise sorgulanacak olan tablo ya  da tabloları, görünümleri belirtir.
WHERE bir koşulu belirterek sadece o kuşula uyan kayıtların seçilmesini sağlar.
GROUP BY Kayıtların gruplanmasını sağlar.
HAVING deyimiyle de ara toplamların alınmasını sağlar. HAVING sözcüğü de kayıtlarda kısıtlama yapar ancak hesaplamayı etkilemez.

SELECT DEYİMİ:

//bir tablodaki tüm verileri göstermek için

SELECT * FROM Ogrenci

//sadece istenilenleri çekmek için

SELECT Ogrenci_adi,Ogrenci_sehir FROM Ogrenci

//tablonuzdaki belli aralıktaki verileri çekmek için

SELECT * FROM Ogrenci WHERE Ogrenci_numara BETWEEN 100 AND 200

aynı anlamda SELECT * FROM Ogrenci WHERE Ogrenci <200 AND >100

VERİLERİ SIRALAMAK:

SELECT * FROM ORDER BY Ogrenci_id ASC

//burada ogrenci tablsunun Ogrenci_id sütunundaki veriler büyükten-küçüğe sıralanmış olur.Tam tersi için DESC yazmak yeterli olacaktır.

SELECT * FROM Ogrenci_adi  WHERE LIKE ‘S%’

// Ogrenci tablosunda Ogrenci_adi ‘S’ ile başlayan verileri almamızı sağlar.

INSERT DEYİMİ:

Tabloya veri ekleme işlemi yapılır.

INSERT INTO Ogrenci (Ogrenci_id,Ogrenci_adi,Ogrenci_sehir)  VALUES (‘123′,’SUMEYYE’,’ADANA’)

//Ogrenci isimli tablomuzun istediğimiz sutunlarını seçip manuel olarak eklemek istediğimiz değerleri ‘ ‘ tek tırnaklar içerisinde girdik.

UPDATE DEYİMİ:

//Güncelleme ilemleri yapılır

UPDATE Ogrenci SET Ogrenci_id=987 WHERE (Ogrenci_adi=’SUMEYYE’ )

//Ogreci_adi SUMEYYE olan öğrencinin Ogrenci_id sini 987 yap anlamına gelir.

DELETE DEYİMİ:

DELETE * FROM Ogrenci

//Ogrenci tablosundaki tüm verileri siler

DELETE Ogrenci WHERE Ogrenci_id= ‘123’

//Ogrenci_id si 123 olan veriyi Ogrenci tablosundan siler.

Sql Server Management ile database  bağlantısı kurup,tablo oluşturma gibi işlemleri yapmak mümkün.Ancak kurulumu sıkıntılı olduğu için(2 gün boyunca uğraştım:) mis gibi Visual Studio 2010 da bulduğum çözümü paylaşmak istedim.umarım faydalı olur..

view->Server Explorer dan karşınıza bu görüntü gelecektir.

Şimdi  Server Name ve database name’i resimdeki gibi girip ok tuşuna basıyoruz.

bu işlem snucunda Server explorer da pcadisqlexpress.ORNEK.dbo yu görmeniz lazım daha sonra solda Databasein altında bilgisayarınızınadisqlexpress.ORNEK.dbo yu görmeniz lazım         bu şekildeki gibi olmalı(diğer kısımlar kafanızı karıştırmasın önceden oluşturduğum projeler..)         şimdi Tables sağ tuş ->add new table ile tablo ekleyip doldurabiliriz..(doldurup ornek_tablo ismiyle kaydettim..) bu şekilde..artık tablomuz oluştu.           şimdi yukarıdaki menü’den File->new->project ve Windows Form Application’u seçiyoruz ve bir isim veriyoruz.

bu işlem de tamamsa şimdi yine yukarıdaki menü  ‘ den Data->Show Data Sources tıklıyoruz.Ve ardından Add New Data Source diyoruz.

bu aşamadan sonra en önemli kısım son resimde göreceğiniz gibi Tables ve altındaki OGRENCİ_TABLO yu seçmeniz

bu kısımdan sonra Data Sources kısmında tablonuz oluşacaktır,bileşenlerini formunuzun içine sürükleyip bırakırsanız son resimdeki şekli elde edersiniz.Datasetimiz hazır:)   ve F5 ile çalıştırıp sonucu görebilirisniz.Bir dahaki yazımda dataset kullanmadan kaydetme,güncelleme,silme(Datagridview ve sql kullanarak)  işlemlerinden bahsetmeyi hedefliyorum,kodlar hazır en kısa zamanda buluşacak inşallah meraklılarıyla;)

SAP (System Applications and Products) okunuşuyla hafif mütebessim bir ifadeye bizi büründürecek olan bu kelime grubu sektördeki katkıları ve kazandırdığı paralarla da baya gülümseteceğe benziyor.Her neyse öznel bir girişten sonra nerden çıktı bu konu diyenlere açıklama yapalım efendm;) geçen hafta üniversitemizde düzenlenen Bilişim ve Teknoloji Günleri etkinliğinin birkaç oturumuna katılma fırsatı buldum ve bugüne kadar hiç fikir sahibi olmadığım bir konuyla karşılaştım.

BilgeAdam’ın katkısıyla gerçekleştirilen ilk oturumda SAP nedir sorusuna yanıt aradık.Daha sonra Ali Babaoğlan’ın katılımı ile daha da net yanıtlar bulduk sorularımıza..peki SAP nedir cidden,SAP:” Bir iş sistemleri yönetimi yazılımıdır. 1972 yılında beş eski IBM çalışanı tarafından Merkezi Almanya’nın Walldorf kentinde kurulmuştur.Bu tarihten beri AR-GE’ye çok ağırlık veren bir yaklaşımla geliştirilmiştir ve modern dünyada iş yönetimine ilişkin en çok tercih edilen programdır.SAP kucuk ve orta olcekli isletmelerden global sirketlere kadar her buyulukteki isletmelerin taleplerini karşılamak üzere dizayn edilmis olup her gün daha da zorlaşan rekabet ortamında, isletmeler icin buyuk avantaj tasimaktadir.”

Bu kısa tanımlamadan sonra Nasıl SAP danışmanı olunur ve kimler SAP danışmanı-uzmanı olabilir? sorularımıza cevap bulduk.Şöyle ki; ekonomi,iktisat,işletme ,istatistik ve tabiki mühendislik okuyan her kişinin(hatırlayamadığım diğer birçok bölüm de dahil olmak üzere) 3 aylık bir SAP kursu eğitimi alarak,stajını tamamlayıp SAP danışmanı sertifikasını alabildiği belirtildi.Eğer yazılım bölümünde seçerseniz ABAP eğitimleri için de nesne tabanlı bir programlama diline temel seviyede hakim olma şartı boyut kazanmakta,ancak sadece programlama bilgisine biraz sahip herkese yönelik bir eğitim verildiğinden bahsedildi.Bir de dil bilmenin çok önemli bir koşul olduğu değinilen noktalar arasındaydı.

SAP Eğitim Türleri:

*SAP FI (Finans) Financial Accounting

*SAP BC (Basis=Sistem) NetWeaver-Core Technology

*SAP BI-BW (İş Zekası) Business Warehouse

*SAP MM (Malzeme Yönetimi) Materials Management

*SAP PP (Üretim Planlama) Production Planning

*SAP ABAP (Yazılım) SAP Development – ABAP Academy

*SAP SD (Satış ve Dağıtım) Sales&Distribution

*SAP HRC (İnsan Kaynakları) Human Resource Management Systems

Türkiye’de yaklasik 20 bin kullanıcısı bulunan SAP , ERP pazarında dünyada olduğu gibi Türkiyede de birçok önemli firmanın(Ülker,Erricson,Mercedes,HP,Turkcell..) lideri konumdadir.

Etiketler:

sadece not yazmak istiyorum diyen kullanıcıların isteklerini sanırım Google desktop widgetleri ya da eklentiler ya da yapışkan notlar yeterince gidermiştir fakat eski notlarımı saklamak,resimlerimi etiketleyip onlarlada not tutma sistemi oluşturmak istiyorum ya da daha geliştirilebilir bir uygulamaya ihtiyacım var diyorsanız işte evernote tam sizlik bizlik bir uygulama.:)peki neler yapabilriz evernote ile..?

Evernote’u kullanmak oldukça kolay. Senkronizasyon basit ve zahmetsiz… Kullanım amacı ise tamamen bize kalmış.Ücretli ve ücretsiz versiyonları mevcut.ücretsiz versiyonundaki kısıtlamalara rağmen yine de çok işe yarayan, notlarınızı veya yazılarınızı depolayabileceğiniz güzel bir programdır. notlarınızı isterseniz internet’e depolayabilir ve istediğiniz yerden ulaşabilirsiniz, ya da sadece kendi bilgisayarınız içinde de depolayabilirsiniz. notlar içinde arama yapabilir ve etiketleyerek sınıflandırabilirsiniz.Aralarındaki fark aylık olarak kullanabileceğiniz bant genişliği ve ücretli versionda pdf, doc vb. farklı formatta dosyaların da not olarak eklenebilmesi. Ücretsiz versionda aylık 40 mb, premiumda 500 mb veri transferi yapabiliyorsunuz. sıkça not alan biriyseniz işinize yarayacaktır.

  • Diyelim ki birçok beğendiğiniz kitap var ya da dergiler olabilir,hepsini bir albüm gibi bütünleştirip saklamak isterseniz size çok iyi bir imkan tanıyor.Mesela sizin  taradığınız ya da resmini yüklediğiniz belgenin içindeki yazılarıda okuyabiliyor.Bu sayede resimler içinde de arama yapabiliyorsunuz.
  • Uçak bileti, onay numaraları, rezervasyon kodları gibi bilgilerin saklanmasında kullanabilirsiniz.Aynı zamanda depolama imkanı da sağlamış olacaktır.
  • Toplantılarda alınan notlar
  • Web sitelerinde gördüğümüz, daha sonra göz atmak istediğimiz notlar
  • beğendiğiniz ayakkabı,çanta,kıyafet gibi kategorileri gruplamanıza yardımcı olarak iyi bir hiyerarşi oluşturacaktır.

daha detaylı bilgiye http://www.evernote.com/ bu adresten ulaşabilirsiniz..

Etiketler:

Bugün katıldığım Oracle nedir, neden önemlidir? başlığıyla yapılan seminere Sn. Yasin Saygılı konuşmacı olarak katıldı.Gerçekten 0 bilgiyle katıldığım bu seminer sonunda geldiğim nokta: Oracle öğrenmeye karşı duyulan derin istek olarak nitelendirilse yalan olmaz:)  peki kısa bir giriş yapalım->ORACLE

İlişkisel Veritabanı Yönetim Sistemleri : (Relational Database Management Systems – RDBMS) büyük miktarlardaki verilerin güvenli bir şekilde tutulabildiği, bilgilere hızlı erişim imkanlarının sağlandığı, bilgilerin bütünlük içerisinde tutulabildiği ve birden fazla kullanıcıya aynı anda bilgiye erişim imkanının sağlandığı programlardır. Oracle veritabanı da bir ilişkisel veri tabanı yönetim sistemidir.
Oracle veritabanının özellikleri şunlardır:
• ♥Büyük miktarda veri tutabilmekte ve verilerin depolandığı alanları ayarlama imkanı vermektedir.
• ♥Aynı anda çok sayıda kullanıcıya verilerin bütünlüğünü bozmadan hizmet verebilmektedir.
• ♥İşletim sistemi, veri erişim dilleri ve ağ iletişim protokolleri standartlarıyla uyumludur.
• Yetkisiz erişimleri engelleme ve kontrol edebilme imkanı sağlamaktadır.
• Bütünlüğü veritabanı düzeyinde sağlayabilmektedir, böylece daha az kod yazılmaktadır.
• İstemci/Sunucu mimarisinin bütün avantajlarını kullanabilmektedir. Belirttiğimiz gibi Oracle bir ilişkisel veritabanı yönetim sistemidir. Yani bir programlama dili değildir. Fakat Oracle tarafından geliştirilen ve Oracle’ın kendi uygulama geliştirme araçları içerisinde kullanılan bir programlama dili vardır. Oracle ürünleri genellikle büyük çaplı veri kontrolünü gerektiren uygulamalarda kullanılır. Öncelikle bir ağda Oracle veritabanı sadece sunucu olarak adlandırılan bilgisayara yüklenir. Bu sunucu Oracle’ın desteklediği herhangi bir işletim sistemiyle çalışıyor olabilir. Yani Oracle’ın faklı işletim sistemleri için farklı sürümleri vardır. Bu sunucu bilgisayara kurulan veritabanı üzerinde tablolar, indeksler, eşanlamlar,tablo uzayları ve ihtiyaç duyulan kayıtlı prosedürler oluşturulur. Bunlar raporun sonraki bölümlerinde anlatılmaktadır. Oracle’ın bu veritabanına erişerek uygulama programı geliştirmeye yarayan diğer ürünleri de istemci bilgisayarlara kurulur. Tabi sunucu bilgisayara da isteğe bağlı olarak bu ürünler kurulabilir.Bu kısımları sadece ön bilgi olması açısından paylaştım ancak bugün katıldığımız seminer daha çok commit,rollback,concurrency.. gibi alt başlıklara hakimdi.Hevesimin devam edeceğini belirtiyorum ve oracle yolculuğumuza giriş yapıp huzurunuzdan ayrılıyorum..:)

Etiketler:

SEMİNERLER.. Çukurova Ünverisitesi yazılım klübü nün etkinlikleri kapsamında 2 gündür seminerlerle adeta coşuyoruz efendim:) dün yazlım mühendisi nedir? nasıl olunur? başlıklarıyla şekillenen seminerimiz İsmail Bahadır Aktan(TURKCELL VAS Servisleri Uzmanı) sayesinde gayet verimli bilgiler içerdi ve şimdi edindiğimiz birikimleri yani stack e attığmız ne varsa sizlerle paylaşayım..:)

√ yazılım yaparım,ben sadece kod yazarım ardıma dönüp bakmam mantalitesinden vazgeçiyoruz ve donanımla birleştirme çabasına giriyoruz.diyerek başlayan seminerimiz; iş hayatındaki yüzlerce problemden mesela 5 milyon kişinin kullandığı bir sistemi yönetirken rastlanabilecek sıkıntılardan(projenin zamanında bitmesi,kod yazma,derleme,geliştirme,test etme gibi birçok süreç) bahsedildi.Bu sayede işimizin ne kadar ciddi ve önemli olduğunu ve bu sektörde iyi bir noktada olmak için sürekli gelişim içerisinde olmamız gerektiği fikrine hep beraber tekrar focus yaptık. Beni etkileyen bir başka kısım; seminerin sonuna doğru aktarılan, hiçbirşeyi fazla abartmayın,sosyal olun ve çalışacam derken hayatnızdaki fırsatları kaçırmayın vurgusuydu..:)Erricson’da aynı koltuğa 3 gün ardı ardına oturmanın yasak olduğunu belirtti:) ve şöyle bir karikatür vardı: çöp adamın biri, diğer pc kurdunu güneşin batışını izlemeye davet ediyor,ancak pc kurdu arkadaş hayır diyerek reddediyordu. (karikatür bu kadardı:)) işte bizde bişey anlamadık diyormuşum:D vurgulanan tema süperdi cidden;) tamam çalışalım ama bu arada hayata dair fırsatları da kaçırmayalım;))

>animasyon şeklinde resim geçişi yapmak istiyoranız ya da hareket katmak istiyorsanız buyrun tam yerine geldiniz:D
1.ilk olarak ctrl+O tuşuyla istedğimiz bir resimi açıyoruz.

2. layer->new layer sekmesinden yeni bir layer açıp ok diyoruz.
window->animation diyerek altta aktif olan geçiş penceresini aktif ediyoruz.

3.bu adımda önce yeni bir layer daha açıyoruz.(eğer layerlarını ayrı ayrı görmek istiyorsanız window->arrange->tile seçebilirsiniz.)yeni layer ımızı açtık.şimdi de eklemek istediğimiz resimi yine ctrl4O ile açıyoruz.ekranda iki ayrı resim görmekteyiz.şimdi klavyeden V tuşuna basarak ikinci resimi ilk resimin üzerine sürükleyip bırakıyoruz.

iki resimin birleştirilmiş hali
şimdi animation frame kutucuğu içerisindeki  dublicates selected frames diye üzerine gelince yazar:) çöp kutusu işaretinin yanındaki simgeye tıklıyoruz(:böylece istediğimiz kadar çoğaltmış olduk şimdi ilk layer ı seçiyoruz ve o layer hariç diğer layer ların göz işaretlerini yanlarındna kaldırıyoruz.şöyle ki..
dikkate drseniz 0sec yazıyor altında.üzerine gelip tıklayın mesela 1.0 ı seçelim. sonra diğer resimi seçip bu seferde tam tersini yapalım.yani ikinci resim hariç tüm layer lardaki göz işaretlerini tıklayarak kaldıralım.
bunun içinde 0sec i 1.0 yapalım veee artık o animation frame kutucuğundaki play düğmesine basbilirz:)evet evt hareketli bi nesne olştrudk=) bunu nasıl mı gif yapcaz şöle efenim..
file->saveas açılan pencereden uzantıyı gif olarak değiştirelim
kaydetme işlemini de bu şekilde bitirmiş oluyoruz.yalnız kullandığınız resimlerin boyutuna dikkat etmenizi tavsiye ederim.eğer çok büyük boyutlarda çalışırsanız hem file->save for web &device sekmesinde hemde bu anlatılan kısımda sıkıntı yaşayabilirsiniz.
ayrıca ben bu adresten çok faydalandım bence yararı olacaktır tavsiye ederim

>masaüstümü toplarken yanı desktop olan masaüstü bu sakın kimse gerçek hayatla ilişkilendirmesin:)) gözüme bi klasörüm çarptı..bu yıl yazdığım bir kodun içerisindeki kısmı copy-paste leyesim geldi:) sizde kendi kodlarınızın içine entegre edebillirsiniz..umarım yardımcı olur.kolay gelsin şimdiden..=)

/* basamak,basamak2 bu değişkenler girilen sayının basamak sayısını tutuyor 
sonsua basamakta iki sayı okuyabilmek için klavyeden string şeklinde okumalıyız zaten strlen() ile de basamak sayılarını bulabilrsiniz.*/
int basamak,basamak2, top,dizitop1[10000],topdizi[10000],abc=0; 
int sonuc,islem,dizidd1[10000],dizidd2[10000]; 

//TOPLAMA
if((basamak==basamak2)||(basamak<basamak2))
{

for(m=0;m<basamak2;m++)
dizidd1[basamak+m]=0;

for(k=0;k<basamak2;k++)
{

toplam=dizidd1[k]+dizidd2[k]+abc;
abc=0;
if(toplam>=10)
{topdizi[basamak2-k]=toplam%10;
abc=toplam/10;
}
else topdizi[basamak2-k]=toplam;
}
if(abc!=0)
{topdizi[0]=abc;
for(k=0;k<=basamak2;k++)
printf(“%d”,topdizi[k]);
}

else
{
for(k=1;k<=basamak2;k++)
printf(“%d”,topdizi[k]);
}
}
abc=0;
toplam=0;
//////////////////

if(basamak>basamak2)
{
for(m=0;m<basamak;m++)
dizidd2[basamak+m]=0;

for(k=0;k<basamak;k++)
{

toplam=dizidd1[k]+dizidd2[k]+abc;
abc=0;
if(toplam>10)
{topdizi[basamak-k]=toplam%10;
abc=toplam/10;
}
else topdizi[basamak-k]=toplam;
}
if(abc!=0)
{topdizi[0]=abc;
for(k=0;k<=basamak;k++)
printf(“%d”,topdizi[k]);
}

else
{
for(k=1;k<=basamak;k++)
printf(“%d”,topdizi[k]);
}

}
}

>veri yapıları dersimizde sadece “algoritmalrın sürelerini hesaplayın” sözüyle başlayan time.h kütüphanesi ile yollarımızı kesiştiren nadide söz öbeğinden arta kalanı paylaşıyorum arkadaşlar,umarım işinize yarar:)
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<time.h>
int fonksiyonadi(parametreler)
{

clock_t basla,bit,fark;
basla=clock();
//fonksiyonun mantığı kodlar
bit=clock();
fark=(bit-basla)/CLK_TCK;
return fark;
}
void zaman(int *sure,int *dk)
{
if(*sure>0) {
*dk=*sure/60;
*sure%=60;
}
}
int main ()
{
int sure, dk=0;
  srand(time(NULL));
sure=fonksiyonadi(parametreler);
zaman(&sure,&dk);
printf(“\nsuresi:%d.%d”,dk,sure);
sure=0;
dk=0;
getch();
return 0;
}

>Yılda ortalama 1.2 milyon kişinin hayatını kaybettiği trafik kazalarına en teknolojik çözüm bilişimde sınır tanımayan Google dan geldi.Bu büyük soruna getirilen çözüm ise oldukça basit; kendini süren arabalar.Yazılım mühendisi Sebastien Thrun şirketin resmi blogundan yaptığı açıklamada, diğer araçları görmek için üstünde video kameralar, radar sensörleri ve lazer menzil ayarlayıcıları bulunan otomobillerin, şimdiye dek yapılan deneme sürüşlerinde 224 bin kilometreden fazla yol katettiğini belirtti.Test aşamasında bir yazılım uzmanı ve her an kontrolü eline alabilecek deneyimli bir sürücünün de bulunduğu belirtildi.İlk izlenimlerin ümit verici olduğu ortada,ancak şu aşamada ilk yapılmak istenen insansız araçtan ziyade sürücüye maksimum yardımı sağlamak.Thrun’nun da söylediği gibi “Gelecek heyecan veriyor(:”