Last active
November 22, 2017 21:33
-
-
Save denizozger/7179af3ba6f824f307cce6351a5ad794 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<mengus> ba$layalim madem | |
<mengus> Veritabani neye denir oncelikle? | |
<mengus> bir veritabani, birbiriyle ilintili verileri | |
<mengus> saklamaya, ve daha sonra bu verilere eri$meye yarayan | |
<mengus> bir sistemdir | |
<mengus> en basit veritabani ornegi olarak | |
<mengus> (dunyadaki tum veritabani tutoriallarindaki bir ornek olarak) | |
<mengus> telefon rehberlerini ele alabiliriz | |
<mengus> bir telefon rehberinde neler vardir? | |
<mengus> isimler ve telefonlar | |
<mengus> ornegin | |
<mengus> detay -- 123 4567 | |
<mengus> mengus -- 987 6543 | |
<mengus> gibi 'kayit'lar vardir bir telefon rehberinde | |
<mengus> ve detayin telefon numarasini bulmak icin | |
<mengus> 'detay' a ait kaydi bulmaniz gerekir | |
<mengus> peki veritabanlari her daim boyle basit yapilar midir? | |
<mengus> hayir, | |
<mengus> ornegin bankalarin binlerce mu$terinin hesaplarini,bu hesaplardaki hareketleri | |
<mengus> surekli takip etmek icin kullandiklari sistemler de veritabanlaridir | |
<mengus> telefon rehberi ornegimize geri donelim | |
<mengus> telefon rehberimiz bir veritabani olmanin yanisira, bir 'tablo' durda | |
<mengus> $oyle du$unebiliriz | |
<mengus> | isim | telefon no | | |
<mengus> | detay | 123 4567 | | |
<mengus> | mengus | 987 6543 | | |
<mengus> 'isim' ve 'telefon no' dediklerimiz | |
<mengus> bu tablodaki 's¸tun (column)' larin isimleridir | |
<mengus> her satir, 'kayit (record)' olarak adlandirilir | |
<mengus> her kaydin, bir kolona denk gelen kar$iligina ise 'h¸cre' (cell, field) adi verilir | |
<mengus> <WooDo> yane bu boyle eksel gibi bi$ey mi hocam? | |
<mengus> eh evet, oyle sayilabilir | |
<mengus> excel'de 'tablo'lar vardir | |
<mengus> daha once kullanmi$ olanlariniz bilirler | |
<mengus> bir veritabaninda birden cok tablo bulunabilir | |
<mengus> ornegin 'telefonlar' diye bir tablonun yanisira 'adresler' diye bir tablomuz da bulunabilir veritabanimizin icinde | |
<mengus> buraya kadar kafasina bi$ey takilan (yava$ yava$ gitmek istiyorum) | |
<mengus> ok | |
<mengus> alayim sorulari hemen | |
<UnConscious> adresler ile telefonlar nasIl tek bir veritabanI olu$turuyor | |
<sersem_yarasa> bu database'leri nerde nasIl hazIrlarIz meng¸z hojam? | |
<tuonela> her kayIt bir satIr mIdIr | |
<mengus> ok tek tek cevap verelim: | |
<mengus> adresler ve telefonlar nasil tek bir veritabani olu$turuyor | |
<cortez> sersem_yarasaya ben cevap veriimi :) | |
<mengus> veritabani ve tablo ayrimini iyi yapmak gerekir | |
<mengus> dedigim gibi, bir veritabaninda birden cok tablo bulunabilir | |
<mengus> bunlar birbiriyle ili$kili olabilecegi gibi | |
<mengus> birbirinden bagimsiz tablolar da bulunabilir | |
<mengus> yani veritabanimizda | |
<mengus> az evvel gosterdigimiz telefonlar tablosuna ek olarak | |
<mengus> | isim | adres | | |
<mengus> | detay | orda burda | | |
<mengus> | mengus | nikaragua | | |
<mengus> gibi bir tablo da bulounabilir | |
<mengus> bunlarin ayni veritabaninda bulunmasinin ne i$e yarayacagina daha sonra gelecegiz | |
<mengus> bu database^'leri nerede nasil hazirlariz | |
<mengus> $u an kullanilmakta olan yuzlerce farkli 'veritabani yonetim sistemi' mevcuttur | |
<mengus> en pop¸lerlerinden biri microsoft access'tir, ev kullanimina yatkin oldugundan | |
<mengus> ancak bunlarin detaylarina $u anda cok inmeyecegiz | |
<mengus> dersin ba$inda da dedigim gibi daha cok teorik gidecegiz | |
<mengus> her kayit bir satir midir | |
<mengus> evet, daha dogru bir cumle ile ifade etmek grekirse | |
<mengus> 'her satir bir kayittir' :) | |
<mengus> <def> buyuk sirketler (mesela bankalar vs) kendilerine ozel veritabanlari mi kullaniyorlar yoksa oracle gibi daha piyasaya yonelik seyler mi kullaniyorlar? | |
<mengus> bu tamamen $irketlerin kendi tercihlerine baglidir | |
<mengus> oyle bir sinirlama, zorunluluk yoktur. | |
<mengus> ba$ka soru? | |
03/07/23 20:18:37 * detay_DB101 notu: tercih edilecek database engine icin belirleyici faktorler fiyat, lisanslama, desteklenen veri tipleri, performans ve uzerine yazilim gelistirebilme yetenekleridir | |
<UnConscious> tek bir isim ve iki telefon numarasI varsa bu iki ayrI kayIt mI gerektirir | |
<mengus> UnConscious: duruma gore degi$ir | |
<mengus> az evvel gosterdigimiz tabloda, evet iki farkli kayit gerektirirdi. | |
<mengus> ancak misal | |
<mengus> |isim | telefon1 | telefon2 | | |
<mengus> gibi bir tabloda | |
<mengus> tek satir gerekirdi | |
<mengus> burada $u an konumuz olmayan bir kavram olan 'normalization' i$in icine giriyor | |
<mengus> ki buraya henuz girmek niyetinde degilim | |
<UnConscious> database engine nedir peki? | |
<mengus> UnConscious: oraya da gelecegim birazdan. | |
<mengus> $imdi | |
<mengus> 'veritabanlari ne i$e yarar?' | |
<mengus> konumuz telefon rehberleri degil de bilgisayarlarda kullandigimiz veritabanlari oldugundan dolayi | |
<mengus> bunlari anlatacagim. | |
<mengus> ornegin, bir programin, web sitesinin kullanici kayitlarini tutmak icin bir veritabani kullanilabilir | |
<mengus> cogunuzun a$ina oldugu bir ornek oldugundan dolayi | |
<mengus> ek$i sozluk ya da ftuff uzerinden anlatabilirim burayi | |
<mengus> ek$i sozluge ya da ftuff'a 'login' oldugunuzda, yani kullanici adinizi ve $ifrenizi yazdiginizda | |
<mengus> daha once kayit olurken aldiginiz ya da size verilen kullanici adi ve $ifrenin bulundugu veritabani 'sorgulanir (query)' | |
<mengus> sizin verdiginiz bilgiler ile veritabanindaki bilgiler kar$ila$tirilir | |
<mengus> buna gore girebilirsiniz ya da giremezsiniz. eger girerseniz, | |
<mengus> ornegin veritabaninda size ait farkli bilgiler varsa | |
<mengus> bunlar da i$lenir | |
<mengus> misal ek$i sozluk'te hangi theme'i kullandiginiz | |
<mengus> ya da size gelmi$ mesaj var mi vs. | |
<mengus> bir diger ornek, amazon.com olabilir | |
<mengus> amazon.com'a gittiginiz zaman | |
<mengus> binlerce kitap, cd, dvd vs gorursunuz | |
<mengus> bunlarin hepsi icin ayri ayri web sayfalari hazirlanip bunlar sunulmaz sizlere | |
<mengus> zira bu hem ba$langicta cok zor bir i$ olacaktir | |
<mengus> hem de bir urunun bilgilerinde degi$iklik oldugunda | |
<mengus> bunun kullaniciya yansitilmasi zor olacaktir | |
<mengus> bu sebepten dolayi | |
<mengus> bu urunler bir veritabaninda bulunur | |
<mengus> ve siz bir urunu gormek istediginize | |
<mengus> bu urun ile ilgili bilgiler veri tabani sorgulanarak olu$turulan bir web sayfasinda (ki 'dinamik icerik' denilen budur) | |
<mengus> size sunulur | |
<mengus> $imdilik bir sorusu olan? | |
<Zeus> work offline dedikten sonra goremedigimiz sayfalar dinamik olanlar mi oluyor bu durumda? | |
<mengus> Zeus: bunun konuyla pek alakasi yok | |
<cortez> eheh | |
<Zeus> hmm | |
<mengus> work offline dedigimizde | |
<mengus> goremedigimiz sayfalar internet explorer -ya da browseriniz- tarafindan 'cache'lenmemi$ sayfalardir | |
<Zeus> anladim. | |
<def> bu tur buyuk e-alis veris yerlerinde database ler parca parca ayriliyor mu? | |
<mengus> parca parca ayrilmak derken? | |
<def> yani mesela amazon hayvan gibi bir yer | |
03/07/23 20:27:07 * detay_DB101 notu: veri tabani uygulamalarini internet ile kisitli gormeyiniz, kullanilan muhasebe programlari veyahut otel rezervasyon programlari gibi veri i$leyen tum programlar birer database uygulamasidir. | |
<def> yuzbinlerce urun | |
<def> orada databse ler bizim kulandigimiz gibi mi? yani tek dosya falan | |
<def> yoksa her urun grubu icin ayri db ler link mi ediliyor | |
<mengus> bu tamamen veritabaninin ne $ekilde kullanildigina | |
<mengus> ne $ekilde normalize ve optimize edildigine baglidir | |
<mengus> dolayisiyla 'oyledir' ya da 'degildir' demek mumkun degil | |
<def> anladim, tercih tamamen | |
<mengus> evet. | |
<mengus> ba$ka soru? | |
<detay_DB101> def: aksi de mumkundur, performansi arttirmak amaciyla bazen tek bir amaca hizmet eden birden fazla database sunucusu da bulunabilir. | |
<mengus> ok. | |
<mengus> veritabani konseptini peki$tirmek icin biraz veritabanlarinin geli$iminden bahsedecegim. | |
<mengus> ilk bilgisayarli veri depolama metodlari -ki bilgisayarlarin ortaya ciki$indan cok kisa sure sonra ortaya cikmi$lardir- | |
<mengus> bilgisayarlarin yeteneklerinden faydalanmak yerine | |
<mengus> eski donemlerde kullanilan veri depolama yontemlerine oykunerek cali$iyorlardir | |
<mengus> cali$iyorlardi* | |
<mengus> bir kutuphane gibi du$unebilirsiniz | |
<mengus> bir kutuphanede aradiginiz kitabi bulmak icin kullanilan yontem | |
<mengus> bilgisayar olmayan donemlerde $oyle bir $eydi | |
<mengus> 'card catalog'larin durdugu | |
<mengus> bir dolabin icinde | |
<mengus> aradiginiz kitabin kartini ariyordunuz once | |
<mengus> daha sonra bu kartta 'kitabi nerede bulacaginiz'a dair bilgileri buluyor | |
<mengus> gidip gereken yerden, gereken raftan kitabinizi aliyordunuz | |
<mengus> ilk bilgisayarli veri depolama yontemleri de buna benzer bir yontem kullaniyordu | |
<mengus> tek bir dosyanin icinde tek bir tablo | |
<mengus> --duzeltme | |
<mengus> ilk bilgisayarli veri depolama sistemleri, tek bir dosya icindeki tek bir tabloyu saatlerce arayip taramaniza dayanan bir yontem kullaniyordu | |
<mengus> :) | |
<mengus> herhangi bir 'katalog' ya da 'dizin' yoktu | |
<mengus> 100.000 kayitlik bir tabloda | |
<mengus> bu arama saatler alabiliyordu dogal olarak | |
<mengus> daha sonra bu az evvel anlattigim kataloglama, indexleme sistemi geli$tirildi | |
<mengus> farkli bir dosyada, | |
<mengus> 'hangi kayit hangi satirda' bilgisini tutan bir tablo bulunuyor | |
<mengus> ve bu dosyadan arama yaparak, esas verinin bulundugu dosyada aradiginiza daha kolay ula$iyordunuz | |
<mengus> ornegin | |
<mengus> | anahtar_kelime | satir | | |
<mengus> |detay | 25 | | |
<mengus> |mengus | 120 | | |
<mengus> gibi | |
<mengus> bu 'index'te bulunan kelimelere 'anahtar kelime (keyword)' denir | |
<mengus> ve fakat bu sistemlerde halen bir cok sorun mevcuttu | |
<mengus> veri fazlaligi - ayni veri, farkli yerlerde depolanmi$ olabilir | |
<mengus> yani, o tablo icinde 'detay' adina tek bir kayit mi var yoksa nedir? | |
<mengus> veriyi kolayca manip¸le etmekteki yetersizlik - dosyalari elle duzenlemek hem zor hem de hata yapmanin cok kolay oldugu bir i$lemdi | |
<mengus> karman corman i$ aki$lari - veriye eri$mek inanilmaz programcilik kasmayi gerektiriyordu, ve gercek kullanicilar (programci olmayan, cahil, cuhela) icin cok zordu. | |
<mengus> tum bu eksiklikler ve zorluklar sonucunda | |
<mengus> gunumuzde kullanilan veritabani sistemlerinin temelleri atildi | |
<mengus> bugun veritabani dedigimizde ne anlariz? | |
<mengus> veri, veriyi fiziksel olarak saklayan donanim, | |
<mengus> donanimin dosya sistemini: | |
<mengus> a) veriyi saklamak | |
<mengus> a) veriyi saklamak | |
<mengus> icin kullanan bir yazilim, | |
<mengus> ve son olarak, veriyi 'bilgi' ye ceviren kullanicilardan olu$an bir sistem anla$ilir bugun veritabani dendiginde. | |
<mengus> veritabanlari, compact, hizli, kullanimi kolay, saglam, verinin birden cok kullanici arasinda payla$ilmasini saglayan ve guvenli bir yontem olarak, | |
<mengus> onceki 'dosya tabanli' veri depolama sistemlerinin dertlerine deva olmu$tur | |
<mengus> buraya kadar soru? | |
<cortez> compact nedemek desem ilgisiz mi olur | |
<mengus> :) | |
<cortez> ok :) | |
<mengus> buradaki anlami 'her $ey bir arada' | |
<mengus> gibi | |
<cortez> hah :) saol | |
<cortez> ok devam! :) | |
<mengus> ba$ka soru yok mu kimsenin kafasi kari$miyor mu | |
<UnConscious> "veriyi 'bilgi' ye ceviren kullanicilardan olu$an bir sistem" kIsmInI anlamadIm pek | |
<mengus> UnConscious: bu sen oluyosun | |
<mengus> insan yani :) | |
<UnConscious> yazilim dedigimiz de access gibi mi | |
<mengus> gereksiz bir bilgi olabilir ama insan olmadan bunlarin hic biri bi i$e yaramiyor, ne kadar iyi ve saglam bir veritabani tasarlami$ olursak olalim, bundan glen veriyi anlamli bi$eylere cevirecek insan gereklidir :) | |
<mengus> yazilim dedigimiz evet acces gibi | |
<UnConscious> ok | |
<mengus> devam ediyorum? | |
<WooDo> bir ek'im olacak | |
<mengus> tabii | |
<WooDo> teorik olarak kitaplar three schema mimarisi diye | |
<WooDo> birseyden bahseder | |
<cortez> tree :) | |
<cortez> sanirim o :} | |
<WooDo> daha teorik dusunecek olursak moern veri tabanlarinda sunlar olmalidir | |
<WooDo> Internal level schema: fiziksel saklama, dosya yapisi | |
<WooDo> Conceptual level schema: tum veritabanini yapisi, fiziksel kayit yapisi saklanarak | |
<WooDo> External || view level: bir kullaniciya da kullanici grubu icin hazilanmis veri tabaninin bir goruntusu, gereksiz yerler saklanarak | |
<Zeus> katmanlar yani? | |
<WooDo> zeus: evet | |
<UnConscious> fiziksel kayIt yapIsI nedir | |
<mengus> evet, woodo'nun dedigi dogrudur, az evvel anlatmaya cali$tiklarimin bilimsel ifadesi gibidir hatta :) | |
<WooDo> bunu veri tabani yonetim sistemini tasarlayan insanlar belirler | |
<WooDo> guzelligi ise, biz son kullanicilar icin bu bilginin irrelevant olmasidir | |
<WooDo> cunku (normal sartlarda) fiziksel katmana hicbir zaman direkt olarak ulasmayiz | |
<WooDo> (bkz. Fundamentals of DB systems, Elmasri, Navathe, Addison-Wesley) | |
<mengus> yani: bir veritabani sistemi kullanicinin gormesine gerek olmayan/gormemesi gereken yerleri kullanicidan saklamalidir. | |
<detay_DB101> kisacasi ikinci bir konu gundeme geliyor, veri tabani guvenligi | |
<mengus> bu 'saklama' yi $u $ekilde du$unebilirsiniz | |
<mengus> siz burada bir mesaj yazip buraya yolladiginiz zaman | |
<mengus> aninda o mesaji ekraninizda, herkesle beraber goruyorsunuz | |
<mengus> bu arada gercekle$en yuzlerce i$lemin hic biri size gorunmuyor | |
<mengus> sadece etkiyi ve sonucu goruyorsunuz | |
<mengus> veritabani sistemlerinde de durum farkli degildir | |
<mengus> veritabani guvenligine girmeden | |
<khaotik> kullanici dedigin son kulanici mi programci | |
<mengus> khaotik: ce$itli durumlarda, ikisi de | |
<khaotik> saol | |
<mengus> bir veritabanini kullanarak program yazacak insanin yine de fiziksel saklama yapisina eri$mesi gerekmez | |
<mengus> ancak conceptual level'a ula$masi gerekebilir kimi durumlarda, hatta genellikle | |
<mengus> fakat son kullanicidan yine genellikle, conceptual level'i saklayip | |
<mengus> yalnizca programcinin gostermek istedigi kisimlari gostermek gerekir | |
<mengus> $u noktada detay bey bir $ey anlatacak | |
<detay_DB101> veri tabanlari kullanimi ve onlar uzerine program gelistirme soz konusu oldugu andan itibaren, veritabani guvenligine yonelik farkli teknikler gelistirilmeye baslanmistir. | |
<detay_DB101> aslen datayi nasil aldigimiz, i$ledigimiz ve program ciki$i olarak kullaniciya nasil sundugumuz, bizim programlarimizin mimarisine etki etmektedir. | |
<detay_DB101> gunumuzde en cok kabul gormu$ teknik n-tier (n katmanli) mimaridir. | |
<detay_DB101> bu ne demektir, yaziliminizin 3 ayri kattan olu$mu$ bir bina oldugunu varsayin | |
<detay_DB101> Data Tier, Business Logic Tier ve Presentation Tier | |
<detay_DB101> bunlar cok kisaca deginmek gerekirse, kod gruplaridir. ilki satabase okuma ve | |
<detay_DB101> sadece database okuma ve yazma i$lerini yapar | |
<detay_DB101> ucuncusu (presentation tier) okunup i$lenmi$ verinin sunumundan sorumludr | |
<detay_DB101> business logic tier ise bu iki katman arasindaki "ta$iyici ve i$leyici" koddan ibarettir. | |
<detay_DB101> ileride program mimarileri ba$ligi altinda incelenmek uzere ben notuma burda son veriyorum. | |
<detay_DB101> (satabase diye bisi yoktur ayrica imla hatasi oldu, te$ekkurler) | |
<mengus> te$ekkurlermizi sunuyorum ben de | |
<mengus> bu noktada 'veritabani' ile 'veritabani sunucusu' (database server) arasindaki farka ve | |
<mengus> veritabani/veritabani sunucusu orneklerine deginmek istiyorum | |
<mengus> bir veritabani, adi ustunde 'bir' tek veritabanidir | |
<mengus> bu veritabanina bir programdan ula$arak yapmak istediginiz i$leri yaparsiniz, sorgularinizi yollarsiniz, gelen sonuclari i$lersiniz vs. | |
<mengus> bir veritabani sunucusu ise, genellikle birden cok veritabanini bunyesinde barindiran bir 'sunucu'dur | |
<mengus> sunucu (server) mantigina a$ina olmayanlar icin | |
<mengus> kisaca gececegim | |
<mengus> bir sunucunun bir dosyadan farki, sunucuya 'baglanabilirsiniz (connect, connection)' | |
<mengus> ve bu baglanti surdugu surece, kurulu baglanti uzerinden sorgulamalar yapabilir, herhangi bir veritabani ile neler yapabiliyorsaniz aynilarini -kimi zaman daha fazlasini- yapabilirsiniz | |
<mengus> $u gunlerde sikca adi duyulan MySQL, MSSQL gibi urunler, veritabani 'sunuculari' dirlar | |
<mengus> diger yandan MS Access, veritabani yaratmaya yarayan bir programdir | |
<mengus> yani bu program ile yarattiginiz bir veritabani sunucusu degil bir veritabani 'dosyasi'dir. | |
<mengus> sorusu olan? | |
<kutu> belki brz konu dIsI ama botlarIn arkasInda da birer veritabanI yatar degil mi | |
<mengus> bottan bota degi$ir bu da | |
<mengus> ne botu olduguna ne yaptigina bagli | |
<kutu> random olmazsa | |
<mengus> yine de ne yaptigina gore degi$ir | |
<mengus> ornegin verdigimiz matematik i$lemleri yapacak bir bot | |
<mengus> bir veritabanina ihtiyac duymaz | |
<cortez> hatta notepad in bile bir veritabani niyetine kullanildigini belirtmeden geÁmeyeyim.. :) ˆrn: aibo | |
<mengus> cortez: guzel bir noktaya degindin | |
<mengus> duz metin dosyalari dahil bir cok $ey bir veritabani olarak kullanilabilir | |
<mengus> yeter ki bu dosyalari okuyacak, i$leyecek bir program olsun elimizde | |
<mengus> ba$ka sorusu olan? | |
<cortez> yoktur $imdilik gibi | |
<WooDo> burada eklemem gereken bir sey var. duz yazi/veri dosyalari teorik olarak veri tabani olarak kabul edilmemektedirler. | |
<detay_DB101> katiliyorum: duz tekst dosyalarindan bir kriterle sorgu alinamamaktadir cunku | |
<mengus> hmm i$in felsefesine girmezsek, yine de veritabani olarak kullanilabilirler :) | |
<cortez> :) | |
<mengus> bir kriterle sorgu almamizi saglayacak bir program yazarsak, alabiliriz neticede. | |
<detay_DB101> storage diyelim biz ona :) | |
<cortez> sonuÁta veri (veri) tabani :) | |
<detay_DB101> $oyle bir ornek belki birkac soru i$aretini temizler? musade varsa | |
<WooDo> sorgunun yaninda veri guvenligi, bilgi saklama, katmanli yapi gibi seylerin eksikligi | |
<mengus> eger ba$ka sorusu olan yoksa bu MySQL, MSSQL gibi sistemlerdeki 'SQL' nedir onu anlatacagim ve bugunku dersi noktalayacagiz | |
<detay_DB101> okey | |
<mengus> detay_DB101: tabii | |
<cortez> okey go go go | |
<mengus> ornek verelim sonra devam ederim ben. | |
<WooDo> bu tur plaintext dosyalari veri tabani olarak | |
<WooDo> adlandirmamizi engeller | |
<cortez> hatta meng¸ abi i$in yoksa dersi uzat :) | |
03/07/23 21:04:08 * Sets is away (30 mins auto-away) since 20:56 22/07/03 | |
<detay_DB101> kullandigimiz veri tabanlari (buyuk bir cogunlukla) T-sql adi verilen generic bir dil uzerinden sorgu dondurmeye yararlar. (mengus bey bunun ayrintisina bilahare inecektir.) | |
<detay_DB101> misal, access veri tabani uzerinden kullandigimiz bir sorgu : "Select nick,email from users where id=1" | |
<detay_DB101> bu execute edildigi zaman bize id'si 1 olan satirdaki "nick" ve "email" field degerlerini iceren bir row dondurecektir | |
<detay_DB101> lakin text-based bir veri icerisinde bu turde sorgular olu$turmaniz mumkun degildir, veriye kendi cabalarinizla ula$maniz gerekir | |
<detay_DB101> cunku belirli bir index verisi bulunmamaktadir | |
<detay_DB101> (az onceki hatami duzelteyim, T-SQL Microsoft SQL in kabul ettigi standartmi$, genel kabul goren standart dil SQL olarak gecmekteymis, duzeltme icin mengus a tesekkurler) | |
<detay_DB101> benim notum bu kadar, soz sizde mengus bey | |
<mengus> tamam o vakit. | |
<mengus> az evvel detay'in bahsettigi SQL nedir? | |
<mengus> SQL - Structured Query Language icin bir kisaltmadir | |
<mengus> bir cok veritabani sistemi ve veritabani sunucusu | |
<mengus> bu dili ya standard haliyle (ansi-sql) ya da kendilerine gore yorumladiklari bir haliyle | |
<mengus> kullanabilir | |
<mengus> ornegin MS SQL server'in kullandigi SQL varyanti T-SQL iken, Oracle, Pl/SQL diye bir varyant kullanmaktadir | |
<mengus> temel komutlarda pek bir fark olmasa da | |
<mengus> eklentiler, yapilabilecekler, bazen de yazim stilleri farklidir bu diller arasinda | |
<mengus> peki ne i$e yarar sql? | |
<mengus> bir veritabanini 'sorgulama'ya yarar. | |
<mengus> daha komplike ornekleri daha anla$ilmaz olsa da, ingilizce bilen bir insanin sql dilini okudugu zaman anlamasi diger dillere nazaran kolaydir | |
<mengus> ornegin | |
<mengus> "SELECT id, nick from users where email='[email protected]'" | |
<mengus> dedigimizde bu cumleyi turkceye | |
<mengus> "users tablosundan, email kolonu '[email protected]' degerine e$it olan kaydin, id ve nick alanlarini seÁ" | |
<mengus> veya | |
<mengus> "UPDATE users set nick='mengus' where id=2" | |
<mengus> users tablosunda, id kolonu ikiye e$it olan kaydin 'nick' alanini 'mengus' olarak degi$tir | |
<mengus> gibisinden komutlar mevcuttur. | |
<mengus> bununla ilgili soru? | |
<khaotik> yok | |
<cortez> biri veri tabanimin adini ve tablo adini ˆgrenirsa | |
<sersem_yarasa> mengus: bu sql iÁin ayrI bir ders olacak mI? | |
<cortez> veritabanima bˆyle bir veri yollayip oynamasi gibi durum varmi? yoksa benim hayalg¸c¸m m¸? :) | |
<mengus> sersem_yarasa: evet | |
<mengus> cortez: eger dogru durust guvenlik saglayamami$san var elbette | |
<sersem_yarasa> alakasIz olabilir fakat, bir siteden ba$ka bir sitedeki database'e user/pass ile eri$im saglanabilir mi? | |
<coldplay> benim sorum sacma ise kusura bakmayIn | |
<coldplay> bir programda yarattIgImIz veritabanInI baska bi programa ta$Iyabilirmiyiz | |
<cortez> sersem_yarasa: olabillir sanirim ama yava$ olabilir gibime geliyo | |
<mengus> coldplay: eger iki program da boyle bir donu4umu destekliyorsa olabilir | |
<mengus> serserm: yapilabilir | |
<mengus> veritabanina/veritabani sunucusuna bunlarin destekledikleri ozelliklere | |
<mengus> bagli |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment