ibatis AFŞIN AKDOĞAN Hacettepe Üniversitesi Mühendislik Fakültesi Bilgisayar Bilimleri Mühendisliği

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "ibatis AFŞIN AKDOĞAN 20221432 Hacettepe Üniversitesi Mühendislik Fakültesi Bilgisayar Bilimleri Mühendisliği"

Transkript

1 ibatis AFŞIN AKDOĞAN Hacettepe Üniversitesi Mühendislik Fakültesi Bilgisayar Bilimleri Mühendisliği 2006

2 İÇİNDEKİLER 1.iBatis Veri Haritalayıcısı (Data Mapper) Burada ne anlatılmaktadır? Ana Konu ibatis ne yapar? ibatis nasıl çalışır? Veri Haritalarıyla Çalışmak Veri Haritası bilgi kütükleri neleri içerir? Haritalanmış ifadeler İfade türleri ParameterMap ve satıriçi parametreler ResultMap Java Geliştirici Rehberi Java için ibatis Veri Haritalayıcısını yüklemek Java için Veri Haritalayıcısının konfigürasyonu Veri Haritalayıcısı istemcileri Veri Haritalayıcı konfigürasyon kütüğü (SqlMapConfig.xml) Veri Haritalayıcı konfigürasyon elemanları <properties> elemanı <properties> nitelikeleri <settings> elemanı <typealias> elemanı <typealias> nitelikleri Daha önceden tanımlanmış lakaplar <transactionmanager> Elemanı <datasource> Elemanı (transactionmanger la birlikte) <sqlmap> Elemanı ibatis Veri Haritalayıcısı ile Programlama : Java API Konfigürasyon Hareketler Global (Dağıtılmış) Hareketler Kümeler İfadelerin İşletilmesi insert(), update(), delete(): queryforobject(): queryforlist(): queryformap(): Örnekler Örnek Uygulama Eklentiler...26 Kaynaklar...27 Terimler Sözlüğü

3 1.iBatis Veri Haritalayıcısı ibatis çatısı, Java ve.net geliştiricilerine veriye ulaşmada yardımcı olmak amacıyla hazırlanmış açık kaynak bileşenlerinden oluşan bir yapıdır. İlişkisel veritabanına erişim sırasında genel olarak kullanılan yol JDBC yaklaşımıdır. Fakat bu yöntem okunurluğu az, gereğinden fazla şişmiş ve iş mantığı üzerinde bir etkisi olmayan karmaşık kodlar ortaya çıkarmaktadır. SQL Maps, bu yaklaşımla birlikte gelen fazla kodları azaltmayı sağlar(not:sql Map ları kullanmak için JavaBean ler, XML ve SQL ile aşina olmanız yeterlidir). 1.1.Burada ne anlatılmaktadır? Bu döküman ibatis Data Mapper ın Java ve.net uygulamalarını içermektedir. Java için ibatis Data Mapper versiyon 2.x Örnek uygulamaları da bu dökümanda bulabilirsiniz. Size tavsiyemiz bu dökümanı okumadan önce kendi platformunuz için hazırlanan örnek uygulamalara bakmanızdır. 2.Ana Konu ibatis, nesneleri SQL ifadelerine haritalamada(map) kolaylık sağlayan basit ama tam bir çatıdır. ibatis i geliştiren ekibin temel felsefesi : veriye erişimde %80 fonksiyonelliği %20 kod kullanark sağlamaktır ibatis ne yapar? Geliştiriciler çoğu zaman bir uygulamanın içindeki nesneler arasında haritalar yaratırlar. Haritalayıcı(Mapper) denince anlaşılan anlamlardan biri, iki bağımsız nesne arasındaki iletişimi sağlayan nesne olarak bilinir. Veri Haritalayıcı (A Data Mapper) ise verileri nesneler ve veritabanı arasında taşıyan ve bunu yaparken aradaki bağımsızlığı sağlayıp, koruyan bir haritalayıcı katmandır. Siz veritabanı ve nesneleri sağlarken; ibatis bu ikisi arasındaki haritalama katmanı görevini yerine getirir ibatis nasıl çalışır? Çalışıtığınız platform size veritabanına erişmek amacıyla bazı araçları sağlamaktadır. Bu araçlar SQL ifadeleri ya da mevcut fonksiyonlardır. Fakat JDBC kullanırken geliştiriciler için hala bazı zorluklar mevcuttur, bunlar: SQL ve program kodlarını birbirinden ayırmak Kütüphane sınıflarına parametre geçmek İş mantığı içeren sınıfları ve veriye erişimi sağlayan sınıfları birbirinden ayırmak Sık kulanılan verilere erişimde tekrar tekrar erişim yapmayarak performası arttırmak Hareketleri (transaction) yönetmek. 3

4 ibatis Data Mapper bu ve bunun gibi pek çok problemi geleneksel nesneler(plain-old objects) ve SQL ifadeleri arasında XML belgeleri kullanarak çözmektedir. Geleneksel nesneler (Java kullanıyorsanız) berhangi bir harita veya JavaBean ya da (.NET kullanıyorsanız) Idictionary veya özellik nesnesi(property object) olabilir. İpucu Nesnenin özel bir nesne hiyerarşisine ait olmasına veya özel bir arayüzü gerçekleştirmesine gerek yoktur (Bu neden onları Geleneksel Nesne olarak adlandırdığımızı açıklamaktadır). Şekil 1. ibatis Veri Haritalayıcısı İş Akışı Şekil 1 tarafından gösterilen iş akışının üst düzey açıklaması; 1. Ya bir nesne ya da belirgin(native) bir tür olan bir parametrenin sunulması. Bu parametre SQL ifadelerinin veya mevcut fonksiyonların gerçek zamandaki değerlerini vermede kullanılır. Eğer gerçek zamanlı bir değere ihtiyaç yoksa bu parametre ihmal edilebilir. 2. Parametre geçilen değer ve XML betimleyici içindeki adını sizin verdiğiniz SQL ifadesi ile haritalamayı çalıştırılır. Bu adım mantığın işlediği adımdır. Kullanılan çatı daha önce parametre olarak geçilen değeri de kullanark gerçek zamanlı değerleri de koyarak SQL ifadesini veya mevcut fonksiyonu hazırlar. H azırlanan bu ifade veya fonksiyonu işletir, sonuçlarını elde eder ve geri döndürür. 3. Herhangi bir update işlemi gerçekleştiğinde, bu işlemden etkilenen satır sayısı geri döndürülür. Herhangi bir sorguda tek bir nesne veya bir nesne kümesi sorgu sonucu olarak geri dönebilir. Tıpkı parametre gibi sonuçta dönen nesne veya nesne kümesi, geleneksel bir nesne veya belirli bir türde olabilir. Aynı zamanda sonuç XML olarak da verilebilir. Peki bu anlatılanlar kaynak kodunda nasıl görünecektir? Burada lineitem nesnesinin veritabanına ekleme işini gerçekleştiren örnek bir kod parçası görceksiniz. Eğer veritabanınız birincil anahtarlar(primary key) üretiyor ise bu üretilen anahtar aşağıdaki fonksiyonun çağırılmasıyla geri döndürülebilir, 4

5 Örnek 1 XML betimleyicinin InsertLineItem için kullanımını gösterir Örnek 1. "InsertLineItem" betimleyicisi <selectkey> SQL Sunucu veritabanı tarafından otamatik olarak üretilen bir anahtar döndürür. Eğer birden fazla satırı veritabanından çekmek isterseniz, ibatis her biri sonuç kümesinde tek tek bir satıra haritalanmış bir nesne listesi döndürür. Bölüm 3 Data Map bilgi kütükleri bu bölümde "InsertLineItem" için gerekli açıklamalar tanımlanmıştır. Bölüm 4 ve 5 Geliştirici Rehberi ibatis in uygulamanıza adapte olması için gerekli konfigürasyon kütüklerini anlatmaktadır. 3. Veri Haritalarıyla Çalışmak Eğer ibatis i nasıl yükleyeceğinizi ve nasıl konfigürasyon yapacağınızı öğrenmek istiyorsanız, Geliştirici Rehberi ne bakınız (Bölüm 4 veya 5). Fakat ibatis in gerçekte nasıl çalıştığını öğrenmek istiyorsanız bu bölüme devam ediniz. Data Map bilgi kütükleri uygulamaya dönük daha ilgi çekici bir konudur. Burada veritabanı ile geliştirdiğiniz uygulamanın nasıl birlikte çalışıcağı anlatılmaktadır. Daha önce de belirtildiği gibi Data Map bilgi kütükleri denilen şey aslında XML betimleyici kütükleridir. ibatis tarafından sunulan hizmetleri kullanarak, XML betimleyicilerini birer istemci nesnelerini haline getirmekteyiz. Data Maplere erişmek için uygulamanız sunucu nesnesini çağırır. ibatis kullanırken yapılan esas iş çoğunlukla uygulama kodunda değilidir, bunun yerine ibatis tarafından dönüştürülen XML betimleyicilerindedir. Bu uygulamanın kaynak koduyla 5

6 uğraşmak yerine daha çok XML betimleyiciyle çalışılması anlamına gelmektedir. Bunun yararı ise nesnleri veritabanına haritalamanın bu yolla daha kolay olmasıdır Veri Haritası bilgi kütükleri neleri içerir? Eğer örnek uygulamarı okuduysanız, Data Map ile ilgili bazı basit örnekleri görmüşsünüzdür, tıpkı aşağıdaki örnekte olduğu gibi. sqlmap name="lineitem" xmlns:xsi=" xsi:nonamespaceschemalocation=" sd"> <alias> <typealias alias="lineitem" assembly="npetshop.domain.dll" class="npetshop.domain.billing.lineitem" /> </alias> <statements> <insert id="insertlineitem" parameterclass="lineitem"> INSERT INTO [LinesItem] (Order_Id, LineItem_LineNum, Item_Id, LineItem_Quantity, LineItem_UnitPrice) VALUES (#Order.Id#, #LineNumber#, #Item.Id#, #Quantity#, #Item.ListPrice#) </insert> </statements> </sqlmap> Örnek 2..NET için Veri Haritası Bu harita LineItem örneğinin bazı özelliklerini almış ve SQL ifadesi içerisinde değerleri birleştirmiştir. Şimdi de Örnek 3 te basit bir select ifadesini göreceğiz Örnek 3. Java için Veri Haritası örneği 6

7 3.2. Haritalanmış ifadeler Haritalanmış ifadeler herhangi bir SQL ifadesini tutabilir ve girdi-çıktı amacıyla Parametre Haritalarını ve Sonuç Haritalarını kullanabilir. Basit bir durumda haritalanmış ifade bir parametreyi veya sonuç sınıflarını direk referans olarak gösterebilir. Haritalanmış ifadeler aynı zamanda caching yeteneğin de sahiptirler. Örnek 4. ifadeler için örnek sözdizim Örnek 5 te [ ] arasına alınmış ifadeler opsiyoneldir. Bazı durumlarda sadece kısıtlı ifadelere izin verilir. Örnek 6 da görüldüğü gibi basit Haritalanmış ifadeler ise tamamen yasaldır. Örnek 5. Basit Bir Haritalanmış İfade Örnek 6 da açıkça görülüyorki ibatis i bazı keyfi SQL ifadelerini gerçekleştirmede kullanabilirsiniz. 7

8 İfade türleri Örneklerde görülen <statement> ifadesi genel bir yaklaşımı karşılamaktadır. Bu ifade SQL ifadesinin herhangi bir türü için kullanılabilir. Genelde bu tarz bütünü kapsayan bir ifade kullanmak yerine daha özelleşmiş bir ifade kullanmak tercih edilir. Özelleşmiş(spesifik) elemanların kullanımı genel ifadeleri kullanmaya göre daha fazla özellik sağlayabilir. Tablo 1 ifade-türleri ni ve onların niteliklerini ve özelliklerini özetlemektedir. İfade <statement> Nitelikler id parameterclass resultclass parametermap resultmap cachemodel xmlresultname All dynamic elements Çocuk Elemanlar insert update delete Fonksiyonlar All query methods <insert> id parameterclass parametermap All dynamic elements <selectkey> insert update delete <update> id parameterclass parametermap All dynamic elements insert update delete <delete> id parameterclass parametermap All dynamic elements insert update delete <select> id parameterclass resultclass parametermap resultmap cachemodel All dynamic elements All query methods <procedure> id parameterclass resultclass parametermap resultmap xmlresultname All dynamic elements insert update delete All query methods Tablo 1. İfade türleri 8

9 3.3. ParameterMap ve satıriçi parametreler Bir çok SQL ifadesi kullanışlıdır, çünkü gerçek zamanlı olarak bu ifadelere parametre geçilebilir. Örneğin biri 42 No lu kaydı veritabanından çekmek istiyor. Eğer 42 değeri başta elimizde yoksa gerçek zamanlı olarak bu değer SQL ifadesine verilebilir. JDBC kullanark bu yapıldığında 42 değeri yerine? konur. Bu? yerine daha sonra üretilen değer konabilir. Bir veya daha çok parametre bu şekilde gerçek zamanlı olarak parametre geçilebilir, ancak bunu yapabilmek için parametreler sıralı olarak girilmelidir. Bu basit olmasına rağmen yoğun emek isteyen ve geliştiricilerin fazlaca zamanını alan bir iştir. Parametre Haritalayıcı SQL ifadesine parametre olarak geçilecek değerleri verebilmek için sıralı bir liste tutar. Bu aşamada da harita tarafından açıkça belirtilen nitelikler doğru sırada verilmeli ve her bir parametre isimlendirilmelidir. Parametre Haritaları dış eleman ve satıriçi olarak sağlanabilirler. Aşağıdaki örnek dış parametre haritasına bir örnektir. <!-- Java --> <parametermap id= parametermapname [class= classname ]>[type= String ] <parameter property = propertyname [jdbctype= VARCHAR ] [javatype= String ] [nullvalue= NUMERIC ] [null= ]/> <parameter /> <parameter /> </parametermap> <!--.NET --> <parametermap id= parametermapname [class= classname ]> <parameter property = propertyname [dbtype= VARCHAR ] [nullvalue= NUMERIC ] [null= ]/> <parameter /> <parameter />database columns </parametermap> Örnek 6. dış Parametre haritası Örnek te [ ] arasına alınmış ifadeler opsiyoneldir. ParameterMap elemanı sadece id niteliğine ihtiyaç duymaktadır. Class niteliği ise opsiyonel ama gereklidir. Class niteliği gelen parametreyi onaylamada ve performansı arttırmada yardımcıdır. Aşağıdaki örnek <parametremap> için tipik bir örnektir. 9

10 3.4. Result Map Bölüm 3.3 de ParameterMap ve Satıriçi parametreler anlatıldı. Anlatıldığı gibi bunlar nesnenin özelliklerini veritabanı sorgusuna haritalamayı sağlayan kullanımlardı. Result Map veritabanı sorgusu sonucunda oluşan sonuçları nesne özelliklerine haritalayarak işi bitirir. ResultMap ler verinin sorgu sonucundan nasıl çekildiğini ve kolonların nesne özelliklerine nasıl haritandığını kontrol etme imkanı verir. Aşağıdaki örnek bir result map elemanının genel yapısını göstermektedir. Örnek 7. Bir Result Map elemanının genel yapısı Örnekte [] içine alınmış alanlar opsiyoneldir. Id niteliği mutlaka kullanılmalıdır. Bunun sebebi ifade ye referans göstermek için gerekli ismi sağlamasıdır. Aynı zamanda class niteliği de gereklidir. Class niteliği bir sınıfın tam ismini vermektedir. 10

11 4. Java Geliştirici Rehberi 4.1. Java için ibatis Veri Haritalayıcısını yüklemek Java için ibatis Veri Haritalayıcısını bilgisayarınıza yüklemek için classpath e gerekli.jar kütüklerini eklemelisiniz. Bu ya JVM nin açılış zamanında açıkça belirtilen classpath olabilir ya da web uygulamaları altındaki WEB-INF/lib dizini olabilir. Eğer Java ve/veya classpath kavramları için yeni iseniz aşağıda linkleri verilen web sitelerinden gerekli bilgileri öğrenebilirsiniz ibatis Veri Haritalayıcısı classpath de olması gereken JAR kütüklerini kendiyle birlikte getirmektedir. Bu JAR kütükleri; Kütük adı ibatis-common.jar ibatis-sqlmap.jar ibatis-dao-1-x-x-b.jar ibatis-compat Açıklama ibatis in genel özellikleri ibatis Veri Haritalayıcı çatısı Veriye erişimde geriye dönük uyumluluğu sağlamak için Java için geriye dönük uyumluluğu sağlamak için Gerekli mi? evet evet hayır hayır Tablo 2. ibatis Veri Haritalayıcısı tarafından kullanılan JAR kütükleri 4.2. Java için Veri Haritalayıcısının konfigürasyonu XML betimleyicisi, sahip olduğunuz veri, veri haritaları veya hareketlere ait ayrıntıları içerir. ibatis Veri Haritalayacısının konfigürasyonu bu XML betimleyicisini kullanarak yapılır. Çalışma zamanında geliştirmiş olduğunuz uygulama kodunuz bir ibatis kütüphanesi çağırır. Bu çağırılan kütüphane ana konfigürasyon kütüğünü okur ve parçalara ayırır. Diğer XML betimleyicileri referans ile bu işleme dahil edilebilir ancak her bir Veri Haritalayıcı istemci örneği tek bir konfigürasyon kütüğü tarafından başlatılırlar Veri Haritalayıcısı istemcileri Her bir Veri Haritalayıcısı ( SqlMapClient ın örneği ) tek bir konfigürasyon kütüğünün okunmasıyla yaratılır. Her bir konfigürasyon kütüğü sadece tek bir veritabanı veya veri kaynağını belirtebilir. Yinede uygulamanızda birden çok Veri Haritalayıcı istemcisini kullanabilirsiniz. Bunun için sadece başka bir konfigürasyon kütüğü yaratın ve Veri Haritalayıcı istemcisi yaratıldığında, kütüğün ismini bu konfigürasyon kütüğüne vermeniz. Bu konfigürasyon kütükleri aynı veritabanında farklı bir hesabı kullanabildiği gibi farklı sunucular üzerinde bulunan farklı veritabanlarını da kullabilir. 11

12 Veri Haritalayıcı konfigürasyon kütüğü (SqlMapConfig.xml) Aşağıda konfigürasyon kütüğüne bir örnek bulunmaktadır. <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE sqlmapconfig PUBLIC "-//ibatis.com//dtd SQL Map Config 2.0//EN" " <sqlmapconfig> <properties resource="properties/database.properties"/> <settings cachemodelsenabled="true" enhancementenabled="true" maxsessions="64" maxtransactions="8" maxrequests="128"/> <transactionmanager type="jdbc"> <datasource type="simple"> <property value="${driver}" name="jdbc.driver"/> <property value="${url}" name="jdbc.connectionurl"/> <property value="${username}" name="jdbc.username"/> <property value="${password}" name="jdbc.password"/> <property value="15" name="pool.maximumactiveconnections"/> <property value="15" name="pool.maximumidleconnections"/> <property value="1000" name="pool.maximumwait"/> </datasource> </transactionmanager> <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/account.xml"/ > <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/category.xml" /> <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/product.xml"/ > <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/sequence.xml" /> <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/lineitem.xml" /> <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/order.xml"/> <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/item.xml"/> </sqlmapconfig> Örnek 8. SqlMapConfig.xml (Java) Veri Haritalayıcı konfigürasyon elemanları Bundan sonraki birkaç bölüm java için gerekli konfigürasyon kütüğünü ve bu kütüğün elemanlarını anlatacaktır <properties> elemanı Bazen XML konfigürasyon kütüğü içindeki değerler 12

13 Geliştirdiğimiz uygulamayı bir sunucudan başka bir sunucuya taşıdığımızda çoğu zaman XML konfigürasyon kütüğü içindeki değerler de değişikliğe uğrarlar. XML konfigürasyon kütüğü içindeki bu değerleri bütünlüğü bozmadan yötebilmek için, Veri Haritalayıcı konfigürasyonun bir parçası olarak standart bir özellikler (properties) kütüğü yaratabilirsiniz (name=value). Özellikler kütüğündeki her bir isimlendirilmiş değer artık bir kabuk olrak anılır. Artık bu değerler Veri Haritalayıcı konfigürasyonu boyunca kullanılabilirler (Bu konudaki gerekli açıklamalar bölüm 3 de açıklanmıştır). Örneğin Veri Haritalayıcı konfigürayonundaki veri haritası içeren herhangi bir eleman ${username} değişkenini, değeri ibatis e eklemek için kullanabilir. Örneğin Özellikler classpath ten veya tanımlı herhangi bir URL den yüklenebilir. Örneğin <properties> nitelikeleri resource ve url niteliklerinden birini içeren ancak tek bir <properties> elemanı olabilir. resource classpath üzerinde herhangi bir yerde bulanabilen özellikler kütüğü url yerel kütük sisteminde bulunan özellikler <settings> elemanı Çatı tarafından kullanılan belirli sayıda minimumlar, maksimumlar ve diğer ayarlar bulunmaktadır. Bir uygulama için öngörülmüş ayarlar diğer bir uygulama için uygun olmayabilir. <settings> elemanı size bu seçenekleri ayarlamanıza ve XML dökümanı tarafından yaratılan SqlMapClient örneğinin optimizasyona olanak sağlar. Bütün ayarların başlangıçta varsayılan değerleri vardır, ama bu ayarları tamamiyle veya bazı nitelikelerini çıkarabilirsiniz. Aşağıdaki tabloda gerekli ayarları, bunların davranışlarını ve örneklerini bulabilirsiniz. cachemodelsenabled Bu ayar global olarak SqlMapClient için tüm cache modelleri etkin hale getirir ya da tam tersini yapar. usestatementnamespaces (Java) Bu seçeneğin etkin hale gelmesiyle, haritalanmış ifadeleri onların tam isimleriyle referans göstermek zorunluluğunu getirmiş olursunuz. Tam isim dediğimiz sqlmap adı ve ifadenin adından oluşmaktadır.örneğin maxrequests Bu bir SQL ifadesinin bir anda işletebileceği maksimum 13

14 thread sayısıdır.farklı Veritabanı Yönetim Sistemlerinin farklı limitleri vardır. Ancak bu limitleri içemeyen bir veritabanı olamaz. Bu değer genelde maxtransactions sayısının 10 katı, aynı zamanda hem maxsessions hem de maxtransactions sayısından daha fazla olmalıdır. Raslantısal olarak ortaya çıkan istemleri azaltmak performansın artmasını sağlamaktadır. maxsessions Bu belirli bir anda aktif olabilecek maksimum oturum sayısını belirtir. Bu sayı maxtransactions sayısında eşit veya büyük ve maxrequests sayısından küçük olmalıdır. maxtransactions Bu bir anda SqlMapClient.startTransaction() a dahil olabilen maksimum thread sayısıdır. lazyloadingenabled Bu ayar global olarak SqlMapClient lar için tüm yavaş yüklemeleri etkin hale getirir ya da tam tersini yapar. enhancementenabled İdeal JavaBean erişimleri için byte kodu etkin hale getirir. errortracingenabled TODO Tablo 3. <settings> elemanının nitelikleri <typealias> elemanı typealias elemanı tüm sınıf ismini yazmak yerine daha kısa olarak tanımlamanızı sağlar. Örneğin Örnek 9. ytpealias Yukarıdaki örnekte tüm sınıf ismini yazmak yerine account ya da Account yazmak yeterlidir <typealias> nitelikleri <typealais> elemanının iki tane gerekli niteliği vardır: alias biricik bir belirteçtir. class paket referansını da içeren tüm sınıf ismi 14

15 Daha önceden tanımlanmış lakaplar Java için tanımlanmış bir kaç çeşit lakap(alias) vardır. Örnek 10. Transaction Manager Lakapları (Java) Örnek 11. Data Source Factory Lakapları (Java) <transactionmanager> elemanı.net sadece ADO tarafından kontrol edilen hareketleri desteklemektedir. Sadece tek bir yöneticinin olması sebebiyle TransactionManager elemanı.net tarafından desteklenmemektedir. Bu sebeble burdaki örnekler sadece Java üzerinden verilecektir <datasource> elemanı (transactionmanger la birlikte) Java gerçekleştirimi üç adet DataSource fabrikası sağlamaktadır. Aynı zamanda kendinizinkini yazabilirsiniz. <transactionmanager type="jdbc"> <datasource type="simple"> <property name="jdbc.driver" value="org.postgresql. Örnek 2. SimpleDataSourceFactory için TransactionManager elemanı (Java) <transactionmanager type="jdbc"> <datasource type="dbcp"> <property name="jdbc.driver" value="${driver}"/> Örnek 13. DbcpDataSourceFactory için TransactionManager elemanı (Java) <transactionmanager type="jdbc" > <datasource type="jndi"> <property name="datasource" value="java:comp/env/ Örnek 14. JndiDataSourceFactory için TransactionManager elemanı (Java) <transactionmanager type="jta" > <property name="usertransaction" value="java:/ctx/con/usertransaction"/> Örnek 15. global transactions için konfigüre edilmiş TransactionManager elemanı(java) 15

16 <sqlmap> elemanı Günümüzde pek çok iş Veri Haritaları kullanılarak yapılmaktadır. Veri Haritaları sizin uygulamalarınız tarafından kullanılan mevcut fonksiyonlar veya SQL ifadelerini tanımlar. Aynı zamanda Parameter ve Result nesneleri Veri Haritasının bir parçası olarak tanımlanırlar. Uygulamanız geliştikçe bir kaç çeşit Veri Haritasına gereksinim duyabilirsiniz. Pek çok Herhangi bir sayıda Veri Haritasını yaratabilirsiniz. Veri Haritalarının artmasıyla bütünlüğü koruyabilmek ve onları birleştirmek için Veri Haritalayıcı konfigürasyon kütüğüne referans göstermelisiniz. Veri Haritalayıcıları tarafından kullanılan tüm bu bilgi kütükleri konfigürasyon kütüğünde listelenmelidir. Örnek 32 Bir Veri Haritası kümesinin URL den veya classpath ten yüklenmek için <sqlmap> elemanını göstermektedir. <!-- CLASSPATH RESOURCES (Java) --> <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/category.xml"/> <sqlmap resource="com/ibatis/jpetstore/persistence/sqlmapdao/sql/product.xml"/> <!-- URL RESOURCES (absolute) --> <sqlmap url="file:///c:/config/category.xml" /> <sqlmap url="file:///c:/config/product.xml" /> <!-- URL RESOURCES (relative) --> <sqlmap file="maps/category.xml"/> <sqlmap file="mmps/product.xml"/> Örnek 16. Veri Haritası elemanı 4.3. ibatis Veri Haritalayıcısı ile Programlama : Java API SqlMap istemci API sı basit ve çok küçüktür. Dört adet işleme izin verir; 1- Veri Haritasının konfigürasyonu 2- SQL update komutunun işletilmesi. 3- Tek bir nesne için bir sorgunun işletilmesi 4-Liste halindeki nesneler kümesi için bir sorgunun işletilmesi Konfigürasyon ibatis Veri Haritalayıcısının konfigürasyonu, bir kere Veri Haritası bilgi kütüklerini ve Veri Haritalayıcı konfigürasyon kütüğünü yarattıktan sonra çok kolay bir işlem haline gelir. SqlMapClient örnekleri SqlMapClientBuilder kullanılarak yapılırlar. Bu sınıfın buildsqlmap() adıyla anılan bir tane özel statik metodu vardır. buildsqlmap() metodu sqlmap-config.xml kütüğünü okuyacak bir okuyucu parametre olarak alır(aşağıdaki örnekte açıkça gösterilmektedir). 16

17 Hareketler Bir SqlMapClient örneği nezaman bir executexxxx() metodunu çağırsa sadece tek bir iş yapılır. Bu ideal bir yaklaşım deeğildir. Çünkü eğer işin tek bir parçasını yapacak olan birden çok ifadeniz varsa bu demek oluyorki ya başarılı luncak ya da grup olarak başarısız oluncak. Bu neden Hareketleri kullandığımızı açıklamaktadır. Eğer global, performansı arttırmanın yanı sıra veritabanına erişim trafiğini de oldukça azaltmaktadır. SqlMapClient arayüzü size bazı sınırlamalar getirme konusunda yardımcı metodlara sahiptir. Bir hareket SqlMapClient arayüzündeki aşağıda gösterilen metodları kullanarak başlatılabilir, işletilebilir... Bir hareket başlatarak bağlantı havuzundan bir tane bağlantı edinmiş olursunuz. Aynı zamanda SQL sorgularını işletebilmek için bu bağlantıyı açmış olursunuz. private Reader reader = new Resources.getResourceAsReader ("com/ibatis/example/sqlmapconfig.xml"); private SqlMapClient sqlmap = XmlSqlMapBuilder.buildSqlMap(reader); public updateitemdescription (String itemid, String newdescription)throws SQLException { try { sqlmap.starttransaction (); Item item = (Item) sqlmap.queryforobject ("getitem", itemid); item.setdescription (newdescription); sqlmap.update ("updateitem", item); sqlmap.committransaction (); } finally { sqlmap.endtransaction (); } } Örnek 17. Hareketlerin kullanımı Not : endtransaction() metodunun ne olursa olsun (bie aykırı durum oluşsa bile) çağırıldığına dikkat ediniz. Bu bütünlüğü sağlamak için önemli bir adımdır. Kural : eğer starttransaction() metodunu çağırdıysanız mutlaka endtransaction() metodunu da çağırmalısınız. Not : Hareketler içiçe olacak şekilde olamaz. Bir thread ten commit() veya rollback() metodları çağırılmadan birden çok starttransaction() metodu çağırılıyor ise bu bir aykırı duruma sebep olacaktır. Diğer bir deyişle her bir SqlMapClient başına her bir thread en çok bir tane hareket başlatabilir. Not: SqlMapClient hareketleri Java nın kendi yerel belleğini kullanmaktadır. Bu starttransaction() metodunu çağıran her bir thread için ayrı bir bağlantı sağlandığı anlamına gelmektedir. Bu bağlantıları Veri Kaynağına geri verebilmek için mutlaka committransaction() veya endtransaction() metodları çağırılmalıdır. Aksi takdirde bağlantı havuzundaki bağlantılar zamanla tükenecek ve ve bir kilitlenme durumu ortaya çıkacaktır. 17

18 Global (Dağıtılmış) hareketler ibatis Veri Haritalayıcısı aynı zamanda global hareketlere de izin vermektedir. Global hareketler, diğer adıyla dağıtılmış hareketler, birden çok veritabanında güncelleme yapabilmeye imkan sağlamaktadır. ibatis sizin için global hareketleri yönetmektedir Kümeler Eğer sorgu olmayan (insert/update/delete) pek çok işletilecek ifadeniz varsa, bilgisayar ağı trafiğini azaltabilmek için bunları kümeler halinde işletebilirsiniz. Kümeleme işlemleri ibatis Veri Haritalayıcısı ile oldukça kolaydır. Örneğin, executebatch() metodunu çağırarak tüm kümelenmiş ifadeler JDBC sürücüsü botunca işletilecektir. 18

19 İfadelerin işletilmesi SqlMapClient haritalanmış tüm ifadeleri işletebilmek için bir API sağlamaktadır. Aşağıda bu metodlar gösterilmektedir, Örnek 18. ibatis Veri Haritalayıcısı API sı Her bir durumda haritalanmış ifadenin ismi ilk parametre olarak geçilmektedir. Bu isim yukarıda açıklanan <statement> elemanın isim niteliğini karşılamaktadır insert(), update(), delete(): Bu metodlar sorgu olmayan ifadeler olarak adlandırılmaktadırlar. Bu metodları kullanmak için executeupdate() metodu kullanılır. Ayrıca metodun işletilmesi sonucunda kaç satırın bu işlemden etkilendiği bilgisi de geri dönmektedir queryforobject(): executequeryforobject() metodunun iki tane versiyonu vardır. Bunlardan ilki kendine yeni bulmuş bir nesne için çalışırken diğeri ise kendine parametre olarak geçilen ve önceden yaratılmış bir nesne üzerinde işlem yapar. Bu yaklaşım birden çok ifade tarafından yerleştirilen nesneler için kullanılması yararlı bir metodtur. 19

20 queryforlist(): queryforlist() metodunun üç tane versiyonu vardır.ilki sorguyu işletir ve bu sorgu için belirlenen tüm sonuçları dönderir. İkincisi belli bir sayısa sonucu atlayabilir(başta itibaren) ve dönecek maksimum sonuç sayısını belirleyebilir. Bu yöntem çok geniş veri kümeleri üzerinde çalışıldığında faydalı olur. İstemediğiniz fakat bütünlük açısından birlikte dönen sonuçları atlamanızı sağlar. Üçüncüsü ise parametre olarak bir RowHandler alan yöntemdir. Bu yöntem sayesinde dönen sonuç kümesini satır satır yönetebilirsiniz.satır düzenleyici, RowHandler arayüzünü gerçekleştiren bir sınıftır. RowHandler arayüzünün ise sadece tek bir metodu vardır.aşağıda görüldüğü gibi, queryformap(): Bu metod bir grup sonucu bir listeye yükelemek için bir alternatif sunmaktadır. Bu konudaki geniş açıklama örneklerle birlikte verilecektir Örnekler Örnek 19. insert, update, delete sorgularının işletilmesi Örnek 20. Nesn için sorgunun işletilmesi (select) Örnek 21. Daha önceden ayrılmış sonuç nesnesiyle bir nesne için sorgunun işletilmesi Örnek 22. List (select) için sorgunun işletilmesi 20

21 Örnek 23. Auto-commit Örnek 24. Result Boundaries ile List (select) için sorgunun işletilmesi Örnek 25. RowHandler (select) ile sorgunun işletilmesi Örnek 26. Harita için sorgunun işletilmesi 21

22 5. Örnek Uygulama Bu uygulamada kullanıcıya contactid sini soran bir jsp yaratacağız. Onaylama işinden sonra Contact adlı tabloda bu contactid ile ilgili bir contact var mı diye bakacağız. Arama sonucu başka bir jsp sayfasında görüntülenecetir. 1. Öncelikle ibatis-sqlmap-2.jar ve ibatis-common-2.jar kütüklerini web-inf/lib dizini altına kopyalayın. 2. Java Source dizini altında bir tane SqlMapConfig.xml kütüğü yaratın. Örnek, <sqlmapconfig> <settings usestatementnamespaces="false" /> <transactionmanager type="jdbc"> <datasource type="simple" > <property name="jdbc.driver" value="com.ibm.db2.jdbc.app.db2driver"/> <property name="jdbc.connectionurl" value="jdbc:db2:sample"/> <property name="jdbc.username" value="db2admin"/> <property name="jdbc.password" value="admin2db"/> </datasource> </transactionmanager> <sqlmap resource="contact.xml"/> </sqlmapconfig> 3. Contact.java adıyla bir JavaBean sınıfı yaratın. Bu sınıf firstname, lastname, v e contactid özelliklerini ve getter-setter metodlarını içersin. Bu sınıf ResultSet ten değerleri okumak ve sorgu parametrelerini geçmek için kullanılacaktır. public class Contact implements Serializable{ private String firstname; private String lastname; private int contactid; //Getter setter methods for firstname, //lastname and contactid property } 22

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama JDBC (Java Database Connectivity) Üst Düzey Programlama-ders07/ 1 JDBC JDBC ilişkisel veritabanlarına erişim için Java dilinde kullanılan standart bir kütüphanedir. Bu kütüphanedeki

Detaylı

MOBİL UYGULAMA GELİŞTİRME

MOBİL UYGULAMA GELİŞTİRME MOBİL UYGULAMA GELİŞTİRME PELİN YILDIRIM FATMA BOZYİĞİT YZM 3214 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Bu Derste Veri Saklama 2 Veri Saklama Veri Saklama her appnin ihtiyaci

Detaylı

Swing ve JDBC ile Database Erişimi

Swing ve JDBC ile Database Erişimi Swing ve JDBC ile Database Erişimi JDBC API, tablolanmış herhangi bir tür veriye, özellikle İlişkisel Veritabanı, erişim sağlayan bir Java API sidir. JDBC, aşağıda verilen üç etkinliğin gerçekleştirilebileceği

Detaylı

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür.

Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür. 1 Apache Struts Java EE web uygulamaları geliştirmek için kullanılan açık kaynak web uygulama framework üdür. Kullanıcılara MVC mimarisini benimsetmek için Java Servlet API sini kullanıyor. Model-View-Controller

Detaylı

ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu ORM & Hibernate Ahmet Demirelli SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu Sabancı Üniversitesi Bilişim Teknolojileri Yüksek Lisans Programı Seminerleri 2008 Hakkımızda SabancıÜniversitesi BT Yüksek

Detaylı

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. DAO İLE SQL KOMUTLARI Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım. SQL-1 SELECT En basit SQL cümleciği oluşturmak için SELECT sözcüğü

Detaylı

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat 1. Kısım Çoktan Seçmeli (48 puan) 1) Aşağıdaki JAVA kod parçası çalıştırıldığında

Detaylı

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir. T-SQL KODLARİ İÇERİSİNE AÇIKLAMA EKLEME Bir veya daha fazla satırın çalıştırılmasını Önlemek için veya /*... */" ifadeleri kullanılır. -- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak

Detaylı

Veritabanı İşlemleri

Veritabanı İşlemleri Veritabanı İşlemleri Bu bölümde; Veritabanı bağlantısı Komutların Yürütülmesi ADO.NET Nesne Modeli kavramları incelenecektir. ADO.NET (ActiveX Data Objects) ADO.NET, var olan Windows API lerinden çok daha

Detaylı

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi 1. 2. 3. 4. 5. 6. Görünüm (view) için özellikle aşağıdakilerden hangisi söylenebilir?? a) Veritabanındaki kayıtlı verileri düzenlemek, yönetmek ve elde etmek için kullanılan bir dildir b) Bir ilişkinin

Detaylı

Veritabanı Tasarımı. Kartezyen Çarpım ve Join İşlemleri

Veritabanı Tasarımı. Kartezyen Çarpım ve Join İşlemleri Veritabanı Tasarımı Kartezyen Çarpım ve Join İşlemleri Konular Oracle özel join işlemlerini isimlendirme ve onların ANSI/ISO SQL: 1999 karşıtları Join durumlarının amacını açıklama Kartezyen çarpımdan

Detaylı

LINQ (Temel Kavramlar)

LINQ (Temel Kavramlar) LINQ (Temel Kavramlar) Ele Alınacak Başlıklar Temel Kavramlar Lambda İfadeleri (*Lambda Expressions) Query İfadeleri (*Query Expressions) Tür Çıkarsama (*Type Inference) Anonim Türler (*Anonymous Types)

Detaylı

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir? 1) I. Tablo Oluşturma II. Veri Güncelleme III. Veri Silme IV. Veri Ekleme V. Tablo Silme Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir? a) I, IV ve V b) II, III ve IV

Detaylı

Oracle Database 11g: Introduction to SQL

Oracle Database 11g: Introduction to SQL Oracle Database 11g: Introduction to SQL Mehmet Salih DEVECI GTECH-Kıdemli Veritabanı Yöneticisi Mehmetsalih.deveci@gtech.com.tr BÖLÜM- 1: SQL E GİRİŞ SELECT ifadesinin kabiliyetlerinin ortaya çıkarılması

Detaylı

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarımcı ve geliştirici adnandursun@asrinbilisim.com.tr 30.04.2011 İstanbul 1. PostgreSQL Türkiye Konferansı 1 Akış PL/pgSQL nedir PL/pgSQL neden kullanmalıyız

Detaylı

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarım ve geliştiricisi @ : adnandursun.at.asrinbilisim.com.tr : +AdnanDURSUN Sunum Akışı PL/pgSQL nedir PL/pgSQL neden kullanmalıyız PL/pgSQL in yapısı Saklı

Detaylı

Sunum İçeriği. Programlamaya Giriş 22.03.2011

Sunum İçeriği. Programlamaya Giriş 22.03.2011 Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon

Detaylı

Php Programlama Dili MySQL Uygulamaları

Php Programlama Dili MySQL Uygulamaları Php Programlama Dili İle MySQL Uygulamaları S.Çağlar Onur caglar.onur@tubitak.gov.tr İşlenecek Konular? Php Nedir? MySQL Nedir? Kullanılan Yazılımlar MySQL e Bağlanmak MySQL ile İlgili Bilgi Almak Veritabanlar

Detaylı

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table;

MySqlConnection connection; MySqlCommand command; MySqlDataReader reader; MySqlDataAdapter adapter; DataTable table; using System; using System.Data; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows.Forms; using MySql.Data; using MySql.Data.MySqlClient; namespace arac_servisi

Detaylı

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

VERĐTABANI YÖNETĐM SĐSTEMLERĐ VERĐTABANI YÖNETĐM SĐSTEMLERĐ Öğr.Gör.Sedat Telçeken ANADOLU ÜNĐVERSĐTESĐ FEN FAKÜLTESĐ MATEMATĐK BÖLÜMÜ 2005 2006 Bahar Dönemi D M L Bilindiği üzere SQL tablolar üzerinde sorgulama yapar. Bu sorgular

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı

VERİ TABANI ve YÖNETİMİ

VERİ TABANI ve YÖNETİMİ VERİ TABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2 BÖLÜM -12- TETİKLEYİCİ (TRIGGER) 3 Giriş Trigger lar Trigger lar Ne Zaman Kullanılmalıdır? Klasik Trigger ların Özellikleri

Detaylı

JAVA API v2.0 Belge sürümü: 2.0.2

JAVA API v2.0 Belge sürümü: 2.0.2 JAVA API v2.0 Belge sürümü: 2.0.2 1. İçindekiler 1. İÇİNDEKİLER... 2 2. BU BELGENİN AMACI... 3 3. BELGE SÜRÜMLERİ... 3 4. SİSTEM GEREKSİNİMLERİ... 3 5. KULLANIM ŞEKLİ... 4 5.1. GENEL... 4 5.2. UYARILAR...

Detaylı

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması

JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması JAVA RMI ve Hibernate teknolojileri kullanılarak çok amaçlı bir yazılım altyapısı hazırlanması Hakan ALBAĞ Tahsin Barış AKAN Bitirme Projesi 05.06.2006 Giriş Ticari yazılımlarda ortak ihtiyaçlar Birden

Detaylı

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

SAKLI YORDAM (Stored Procedure) Sibel Somyürek SAKLI YORDAM (Stored Procedure) Sibel Somyürek Saklı Yordam Saklı yordamlar veritabanı kataloğunda saklanan SQL kod bloklarının tanımlanmasıdır. Mesela, iki sayı alıp bunların toplamlarını hesaplayan bir

Detaylı

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015

Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 Arş.Gör.Muhammet Çağrı Gencer Bilgisayar Mühendisliği KTO Karatay Üniversitesi 2015 KONU BAŞLIKLARI 1. Yazılım Mimarisi nedir? 2. Yazılımda Karmaşıklık 3. Üç Katmanlı Mimari nedir? 4. Üç Katmanlı Mimari

Detaylı

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ

ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ ASP.NET CLASS KULLANARAK VERİTABANI İŞLEMLERİ Asp.NET mimarisinin temelini oluşturan CLASS yapısını kullanarak veri tabanı işlemlerini nasıl daha az kodla ve daha stabil yapabiliriz bunu göreceğiz. Mevzu

Detaylı

Veri Tabanı SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299

Veri Tabanı SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299 Veri Tabanı 1 1. SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299 2. SQL Management Studio açılış ekranı: Server Type: reporting, analysis

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Servlet Üst Düzey Programlama-ders01/ 1 Servlet Nedir? Web sayfaları ilk başlarda durağan bir yapıya sahipti ve kullanıcıdan bilgi alarak işlemler yapmıyordu. Zamanın geçmesiyle kullanıcıya

Detaylı

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module

Detaylı

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir. İlişkisel Veritabanı Yaklaşımı: İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir. İlişkisel veri tabanı yönetim sistemi verilerin tablolarda satır ve sutunlar halinde tutulduğu

Detaylı

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi 5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını

Detaylı

Kaynak Kod Güvenliği Bir Güvensiz API Örneği

Kaynak Kod Güvenliği Bir Güvensiz API Örneği Kaynak Kod Güvenliği Bir Güvensiz API Örneği Bedirhan Urgun, Ağustos 2010, WGT E-Dergi 6. Sayı Bu yazıda Tomcat J2EE kısmi uygulama sunucusunda bulunan bir güvenlik açığına, güvenlik probleminin kaynağına

Detaylı

SQL e Giriş. Uzm. Murat YAZICI

SQL e Giriş. Uzm. Murat YAZICI SQL e Giriş Uzm. Murat YAZICI SQL (Structured Query Language) - SQL Türkçe de Yapısal Sorgulama Dili anlamına gelmektedir ve ilişkisel veritabanlarında çok geniş bir kullanım alanına sahiptir. - SQL ile

Detaylı

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış

Kepware Veritabanı Ürünleri. Teknolojiye Genel Bir Bakış Kepware Veritabanı Ürünleri Teknolojiye Genel Bir Bakış Gündem Veritabanı Client API teknolojisinin gözden geçirilmesi ODBC istemci sürücüsü- bir KEPServerEX Plug-In Haberleşme Sürücüsüdür. DataLogger-

Detaylı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 8 DB içerisinde CLR Bileşenleri" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı SQL Server ve.net CLR SQL Server içerisinde

Detaylı

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1

ADO.NET VERİTABANINA BAĞLANTI. Bir web formu üzerinden veritabanına bağlantımızı anlatacağım. UYGULAMA 1 ADO.NET Web üzerinden veritabanına bağlanmak ve veri işlemleri gerçekleştirmek için ADO.NET teknolojinden faydalanarak işlemlerimizi gerçekleştireceğiz. ADO.NET her ne kadar ADO teknolojine benzesede aslında

Detaylı

SQL Komutları (2) Uzm. Murat YAZICI

SQL Komutları (2) Uzm. Murat YAZICI SQL Komutları (2) Uzm. Murat YAZICI Sıralama Sıralama işlemi için SELECT ifadesinde ORDER BY kullanılır. Bu ifadede ASC kelimesi kullanılırsa sıralama küçükten büyüğe doğru (A-Z), DESC kullanılırsa büyükten

Detaylı

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, gokmen@pardus.org.tr. 3 Mayıs 2007

Python Web 2.0 Python ve Web 2.0 Son. Python ve Web 2.0. Gökmen GÖKSEL, gokmen@pardus.org.tr. 3 Mayıs 2007 Python ve Web 2.0 Gökmen GÖKSEL, gokmen@pardus.org.tr 3 Mayıs 2007 Python Programlama Dili Nesneye Dayalı Çoklu Platform Desteği Kolay anlaşılabilir söz dizimi Birçok amaç için kullanılabilir; Konsol uygulamaları

Detaylı

Tavsiye Edilen Önhazırlık Veritabanı kavramını öğrenmek

Tavsiye Edilen Önhazırlık Veritabanı kavramını öğrenmek Ms SQL Veritabanları Yedekleme Bölüm Veritabanı Yönetimi Yazar Mustafa ÖZEN Yayın Tarihi 18.03.2004 Okunma Sayısı 1109 Tavsiye Edilen Önhazırlık Veritabanı kavramını öğrenmek Hedefler Veritabanı yönetim

Detaylı

C#.Net & Linq (Language Integrated Query)

C#.Net & Linq (Language Integrated Query) C#.Net & Linq (Language Integrated Query) Adım-1 Adım-2 Adım-3: aşağıdaki ekran gelir. Bu ekrandan Server Explorer seçeneği ile SQL sunucuya bağlanılırsa Adım-4 deki gibi bir ekran gelir Adım-4: Soldaki

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ

VERİ TABANI YÖNETİM SİSTEMLERİ VERİ TABANI YÖNETİM SİSTEMLERİ Veri Tabanı Nedir? Sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Bir kuruluşa

Detaylı

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme Veritabanı Tasarımı Sütun Değerlerini Güncelleme ve Satırları Silme Konular UPDATE komutunu oluşturmak ve çalıştırmak DELETE komutunu oluşturmak ve çalıştırmak Tabloda güncelleme yapmak ya da veri silmek

Detaylı

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme Veritabanı Tasarımı Kullanıcı Erişimini Kontrol Etme Konular Nesne ayrıcalıkları ve sistem ayrıcalıkları arasındaki farkı karşılaştırma Bir kullanıcının bir veritabanınaerişimini etkinleştirmek için gerekli

Detaylı

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir

Her Yönüyle SQL Enjeksiyonu. OWASP-Türkiye Bünyamin Demir Her Yönüyle SQL Enjeksiyonu OWASP-Türkiye Bünyamin Demir Bünyamin Demir ( @bunyamindemir ) OWASP Türkiye Bölüm Lideri Founder & CTO @ Enforsec Ltd. Sızma Testleri Uzmanı Web, Mobil, Network, SCADA, Wireless,

Detaylı

İNTERNET PROGRAMCILIĞI DERSİ

İNTERNET PROGRAMCILIĞI DERSİ İNTERNET PROGRAMCILIĞI DERSİ Dersin Modülleri İnternet Programcılığı 1 İnternet Programcılığı 2 İnternet Programcılığı 3 İnternet Programcılığı 4 İnternet Programcılığı 5 Kazandırılan Yeterlikler Programlama

Detaylı

Asp.Net Veritabanı İşlemleri

Asp.Net Veritabanı İşlemleri Asp.Net Veritabanı İşlemleri Asp.Net Veritabanı İşlemleri Birçok uygulamada bilgiler geçici olarak tutulur ve oturum sonlandırıldığında bu bilgiler bellekten silinir. Ancak etkileşimli web sitelerinde

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı

Detaylı

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28 ix 1 İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19 23 Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28 Kayan Nokta Tipleri 30 Sayısal Veri Tipi Dönüşümleri

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ I BÖLÜM 11 11. SQL de JOIN (BİRLEŞTİRME) İŞLEMİ 11.1. JOIN (Birleştirme) İşlemi Veri tabanı kayıtları oluşturulurken bütün bilgiler bir tabloda değil de, birkaç tablo üzerinde tutulur. Bu dataların daha

Detaylı

PAKET TRANSFER SİSTEMİ

PAKET TRANSFER SİSTEMİ İLAÇ TAKİP SİSTEMİ ŞUBE MÜDÜRLÜĞÜ PAKET TRANSFER SİSTEMİ Kullanıcı Dökümanı Version 1.0 1 1. Revizyonlar... 1 2. Giriş... 1 2.1 Kapsam... 1 2.2 Hedef Kitle... 1 3. Gereksinimler... 1 3.1 Yazılım Gereksinimleri...

Detaylı

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler Genel Kavramlar Veri Nedir? Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar Veri Tabanı Nedir? Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler Veritabanı Yönetim Sistemi (DBMS)Nedir?

Detaylı

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir. VERİ BÜTÜNLÜĞÜ VTYS lerde veri bütünlüğünü sağlamanın iki temel yolu vardır; Tanımlanabilir veri bütünlüğü ve prosedürel veri bütünlüğü. Tanımlanabilir veri bütünlüğü, tanımlanan nesnelerin kendi özellikleri

Detaylı

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ.

NOT: VERİTABANINDAKİ TABLOLARI OLUŞTURMAYI DA UNUTMAYACAĞIZ. 20 Ocak 2012 / Cuma Yeni uygulama Yönetim adlı bir klasör oluşturacağız. Yönetim klasörü içerisine bir masterpage oluşturacağız. (tabloyla) Örneğin; Ana Sayfa Albüm ekle Fotoğraf ekle Content Place Holder(Değişecek

Detaylı

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri İNTERNET PROGRAMLAMA 2 A S P. N E T Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri VERİTABANI BAĞLANTISI Site içindeki bilgilerin saklanması / düzenlenmesi ve kullanıcı etkileşiminin sağlanabilmesi

Detaylı

ADO.NET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu

ADO.NET. Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu ADO.NET Öğr. Gör. Emine TUNÇEL Kırklareli Üniversitesi Pınarhisar Meslek Yüksekokulu ADO.NET ve ADO Bir uygulamanın esas gücünü, veri, veritabanları veya veri kaynakları ile olan ilişkisi belirler. Geleneksel

Detaylı

Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu tabloya göre yapacağız.

Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu tabloya göre yapacağız. Bu Derste Öğrenecekleriniz: 1- Tabloya Veri (Yeni Kayıt) Ekleme 2- Kayıt Silme 3- Kayıt Güncelleme Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu

Detaylı

JDBC kütüphanesi, her görev için genellikle veritabanı kullanımı ile ilişkili API leri içerir:

JDBC kütüphanesi, her görev için genellikle veritabanı kullanımı ile ilişkili API leri içerir: Bölüm 25 Java Veritabanı Bağlantısı (JDBC) 25.1 JDBC Nedir? JDBC, JavaDatabaseConnectivity(Java Veritabanı Bağlantısı) anlamına gelmektedir ve Java programlama dili ve geni veritabanları arasında veritabanı-bağımsız

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı Ders 7 LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ 1 LINUX Yapısı LINUX işletim sisteminin diğer işletim sistemleri gibi kendine özgü bir yapısı vardır. LINUX yapısı ve bileşenleri aşağıdaki

Detaylı

VERİTABANI. SQL (Structured Query Language)

VERİTABANI. SQL (Structured Query Language) VERİTABANI SQL (Structured Query Language) SQL'de Gruplama Bir tablonun satırları gruplara ayrılarak fonksiyonların bunlara uygulanması mümkündür. Gruplara ayırmak için SELECT deyimi içerisinde GROUP BY

Detaylı

C Sharp /Veri tabanı işlemleri

C Sharp /Veri tabanı işlemleri C Sharp /Veri tabanı işlemleri C#'ta veri tabanı işlemleri System.Data isim alanındaki ve bu isim alanının altındaki alt isim alanlarındaki türlerle yapılır. System.Data isim alanına programcılar ADO.NET

Detaylı

Java Dersi. Altuğ Bilgin Altıntaş

Java Dersi. Altuğ Bilgin Altıntaş Java Dersi Altuğ Bilgin Altıntaş Bu Dönem Hakkında Corba Servlet RMI Temel Kısım EJB JSP XML 2 JDBC JNI Çalışma Evreleri 6 Çalışma Evreleri 7 Java dosyasının hali 7 İlk Java uygulaması 7 Ciddi bir uygulama

Detaylı

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals

Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals The European Union s Making the Labour Market more Inclusive III programme For North Cyprus Upgrading Internet Technology skills of Information and Communication Technologies (ICT) Professionals Module

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim' Bu Derste Öğrenecekleriniz: 1- Veri Tabanı Adı Değiştirme 2- Nesnelerin Adını Değiştirme a. Tablo Adı Değiştirme b. Alan Adı Değiştirme c. Constraint (Kısıtlama) Adı Değiştirme 3- Tablo Düzenleme Komutları

Detaylı

Veritabanı Tasarımı. Alt Sorgu Temelleri

Veritabanı Tasarımı. Alt Sorgu Temelleri Veritabanı Tasarımı Alt Sorgu Temelleri Konular Verilerin elde edilmesi için alt sorguların tanımlanması ve açıklanması WHERE yantümcesinde tek satır alt sorgu oluşturulması ve çalıştırılması Tek satır

Detaylı

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu SQL'DE VERİ İŞLEME KOMUTLARI SQL'de verileri işlemek için kullanılan komutlara DML (Data Manipulation Language Veri İşleme Dili) denilmektedir. Bu komutlar ile oluşturulan ifadeler tablolara kayıt eklemek,

Detaylı

YAPISAL SORGULAMA DİLİ (SQL)

YAPISAL SORGULAMA DİLİ (SQL) YAPISAL SORGULAMA DİLİ (SQL) OGRENCI Tablosu 1234 Zeynep Makina K 23.06.1984 1. Cad 3.4 CREATE TABLE VERİ TANIMLAMA DİLİ (VTD) Veritabanında yeni bir tablonun oluşturulmasını sağlar. Yukarıda tanımlanan

Detaylı

Veritabanı Tasarımı. Seriler ile Çalışma

Veritabanı Tasarımı. Seriler ile Çalışma Veritabanı Tasarımı Seriler ile Çalışma Konular Bir serinin en az üç kullanışlı özelliğini listelemek Bir seri oluşturan SQL ifadesini yazmak ve çalıştırmak Veri sözlüğünü bir seri tanımını onaylamak için

Detaylı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 6 T-SQL ile Programlar Yazmak" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı Programlama dili olarak T-SQL Fonksiyonlar Programlamak

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

VERİTABANI Veritabanı Yönetimi

VERİTABANI Veritabanı Yönetimi VERİTABANI Veritabanı Yönetimi YAPILANDIRILMIŞ SORGULAMA DİLİ (SQL) Veritabanı yönetimi, veritabanının yapısal özelliklerini belirtmek ve değiştirmek, veritabanına kullanıcı erişimlerini ve yetkilerini

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ II. 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA

VERİ TABANI YÖNETİM SİSTEMLERİ II. 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA BÖLÜM 9 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA Bu bölümde Oracle Forms programı ile örnek bir form hazırlanması anlatılacaktır. 9.1 ORACLE FORMS ile FORM Oluşturma Nasıl Delphi programının

Detaylı

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar 2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar Öğr. Gör. Saliha Kevser KAVUNCU Veritabanı neden kullanılır? Veritabanının amacı; insanların ve organizasyonların birşeyleri takip edebilmesine yardımcı

Detaylı

Mysql Veritabanı Komutları

Mysql Veritabanı Komutları Mysql Veritabanı Komutları Mysql Veri Tabanı Komutları Hazırlayan : M. Başar ACAROĞLU Kaynaklar: http://www.hrzafer.com/sql-dersleri http://www.w3schools.com/sql/default.asp Veri Tabanı Nedir? Mysql Veritabanı

Detaylı

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance

Önemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();

Detaylı

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2

Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 1 Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 Eclipse Mimarisi 4 Java Teknolojisine Genel Bir Bakış 6 Taşınabilirlik 6 Java Derleyicisi ve Bytecode 6 Java Sanal Makinası (Java Virtual Machine - JVM)

Detaylı

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1

Paket Erişimleri. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Paket Erişimleri Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 4 1 Erişim Erişim konusunda iki taraf vardır: Kütüphaneyi kullanan kişiler (client) Kütüphaneyi yazan kişiler Altuğ B. Altıntaş

Detaylı

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız. Bu Derste Öğrenecekleriniz: 1- Basit Sorgulamalar a. Tablodan tüm alanları sorgulama b. Tablodan alanları belirterek sorgulama c. Tekrarlı satırları önleme d. Belirli sayıda veya oranda sorgulama yapma

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Diziler ile Pointer Arası İlişki Bir dizi adı sabit bir pointer gibi düşünülebilir. Diziler ile pointer lar yakından ilişkilidir. Pointer lar değişkenleri gösterdikleri gibi,

Detaylı

VERİ TABANI ve YÖNETİMİ

VERİ TABANI ve YÖNETİMİ VERİ TABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2 BÖLÜM -10- FONKSİYONLAR 3 Giriş Geçen haftaki derslerimizde Görünümleri (View) ve Stored Procedure (SP) leri öğrendik. Bu hafta

Detaylı

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri. 1.2. Kısıtlamalar (Constraints)

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri. 1.2. Kısıtlamalar (Constraints) Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri 1.1. Tablo Oluşturma 1.2. Tablo Oluşturmada Kısıtlamalar Constraints 1.3. Tablo Silme a. NULL, NOT NULL b. PRIMARY KEY c. UNIQUE d. FOREIGN KEY e. CHECK f.

Detaylı

MVC. Görüldüğü üzere 2 adet cs. Dosyası oluşturdum. Birincisi çok satır kodu (20-25) içeren büyük işlerin yapılacağı class. İsmi buyuk_isler.

MVC. Görüldüğü üzere 2 adet cs. Dosyası oluşturdum. Birincisi çok satır kodu (20-25) içeren büyük işlerin yapılacağı class. İsmi buyuk_isler. MVC MVC Anlamakta zorluk çekiyorsanız bu yazımı dikkatle okumanızı tavsiye ediyorum. Derslerde öğrencilerimin en çok zorlandıkları konu MVC nin mantığıdır. Önce MVC anlamaya çalışmak yerine MVC den biraz

Detaylı

Bölüm 10: PHP ile Veritabanı Uygulamaları

Bölüm 10: PHP ile Veritabanı Uygulamaları Bölüm 10: PHP ile Veritabanı Uygulamaları -231- Öğr.Gör. Serkan DİŞLİTAŞ 10.1. PHP PHP, platformdan bağımsız sunucu taraflı çalışan betik bir web programlama dilidir. PHP programlama dili ile MySQL, MSSQL,

Detaylı

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir. Oracle (Devam) SELECT INTO Deyimi Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir. Genel ifade: SELECT kolonisimler INTO

Detaylı

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 Bölüm 11 Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 11. Bölüm konuları Soyutlama kavramı Veri soyutlamasına giriş Soyut veri tipleri için tasarım konuları Dil örnekleri Parametreli

Detaylı

Veritabanı Tasarımı. Veritabanı Hareketleri

Veritabanı Tasarımı. Veritabanı Hareketleri Veritabanı Tasarımı Veritabanı Hareketleri Konular Veri hareketleri ile ilgili olarak COMMIT, ROLLBACK ve SAVEPOINT terimlerini tanımlamak COMMIT, ROLLBACK ve SAVEPOINT ifadelerinin üç avantajını listelemek

Detaylı

Android Ders Notları

Android Ders Notları Android Ders Notları 1. Yeni Bir Proje Başlatma Android Studio programında yeni bir proje başlatıyoruz. İlk olarak karşımıza resim 1 deki gibi bir pencere gelecek. Burada Application name kısmına proje

Detaylı

Lambda İfadeleri (Lambda Expressions)

Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri, değişkenlere değer atamak için kullanılan sadeleştirilmiş anonim (isimsiz) fonksiyonlardır. Bu fonksiyonlar matematikteki ve bilgisayar bilimlerindeki

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonu Referans ile Çağırma (Call by Reference) Bir fonksiyona gönderilen parametrenin normalde değeri değişmez. Fonksiyon içinde yapılan işlemlerin hiçbiri argüman değişkeni

Detaylı

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır. SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır. Bu dersimizde biz Microsoft SQL Server veritabanı sistemini kullanmayı öğreneceğiz. SQL Nedir? SQL Structured Query Language

Detaylı

www.smsmakinesi.com destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1

www.smsmakinesi.com destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1 destek@hermesiletisim.net COM API v.1.1 BELGE SÜRÜMÜ : 1.1 1 1. İÇİNDEKİLER 1. İçindekiler 2 2. Bu Belgenin Amacı 3 3. Kullanım Şekli.3 4. Uyarılar.4 5. Hata Kodları.4 6. Kullanıcı Bilgileri Kontrolü..5

Detaylı

LINQ Language Integrated Query Dille Bütünleştirilmiş Sorgu Bir Veri Tabanı Tablosundan Veri Gösterme

LINQ Language Integrated Query Dille Bütünleştirilmiş Sorgu Bir Veri Tabanı Tablosundan Veri Gösterme LINQ Language Integrated Query Dille Bütünleştirilmiş Sorgu Bir Veri Tabanı Tablosundan Veri Gösterme Amaç: Bir veritabanındaki bilgileri LINQ aracılığı ile ekranda nasıl gösterebiliriz? Yazar: Oğuz Alpöge,

Detaylı

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir. SQL PROGRAMLAMA BATCH Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı deyimidir. SELECT. UPDATE...... DELETE.. BATCH BATCH Özellikleri 1- Bir batch içinde bir deyimde yazım hatası olduğunda

Detaylı

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi 20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi 1) Aşağıdaki SQL Server sürümlerinden hangisi ana sürümlerden bir tanesidir? a) Parallel Data Warehouse b) Express c) Standart d) Developer

Detaylı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama Struts Framework Üst Düzey Programlama-ders08/ 1 JSP MODEL 1 ve MODEL 2 Mimarileri Bu mimariler bir web uygulaması geliştirilirken kullanılan yöntemlerdir. Bu yöntemler arasındaki

Detaylı

Mobil Cihazlardan Web Servis Sunumu

Mobil Cihazlardan Web Servis Sunumu Mobil Cihazlardan Web Servis Sunumu Özlem Özgöbek Ege Üniversitesi Bilgisayar Mühendisliği Bölümü 2010 İnternet erişiminin yaygınlaşması ve artık mobil cihazlar üzerinden bile yüksek hızlı veri iletişimine

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı