EĞİTİM : LINQ to SQL. Bölüm : LINQ e Genel Bakış. Konu : LINQ Nedir? Page 1 of 25

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

Download "EĞİTİM : LINQ to SQL. Bölüm : LINQ e Genel Bakış. Konu : LINQ Nedir? Page 1 of 25"

Transkript

1 EĞİTİM : LINQ to SQL Bölüm : LINQ e Genel Bakış Konu : LINQ Nedir? Page 1 of 25

2 LINQ, program ve veri arasındaki ilişkiyi başka bir boyuta taşıyan devrimsel bir programlama metodolojisidir. LINQ, bir programalama arayüzü sunar. C# diline getirdiği eklentilerle SQL benzeri tek bir söz dizimi ile farklı tiplerdeki verilerin sorgulanmasını sağlar. C# ile sorgu yazmak, tip güvenli çalışma, ifadelerin otomatik olarak tamamlanması ve IntelliSense gibi özelliklerle geliştiricinin üretkenliğini artırmayı sağlar. Farklı LINQ uygulamaları mevcuttur. Bunlardan en temel olanlar şöyle özetlenebilir. Bellek üzerindeki nesnelerden oluşan koleksiyonları sorgulamak (LINQ to Objects), SQL Server veritabanlarındaki tabloları sorgulamak (LINQ to SQL), ADO.NET DataSet tiplerini sorgulamak (LINQ to DataSets), Xml verilerini sorgulamak (LINQ to XML) ADO.NET Entity Framework tarafından oluşturulan varlıkları sorgulamak (LINQ to Entity) Bu sayılan LINQ uygulamaları aynı söz dizimini kullanır ancak farklı veri kümelerini hedeflemektedir. Çoğu SQL komutlarına benzer yada aynı olan C# anahtar kelimelerinden oluşan ifadeler ile.net koleksiyonlarına LINQ sorguları yazarsın. Bu anahtar kelimeler, LINQ Standart Sorgu Operatörleri olarak anılır (LINQ Standart Query Operators). Bu operatörler, System.Linq isim alanı altında yer alan Enumerable sınıf tarafından tanımlanır. C# derleyicisi (compiler), sorgu ifadelerini, çalıştırılmak üzere CIL ortak ara diline dönüştürür. Aşağıda temel bir LINQ sorgusunun genel yapısını inceleyebilirsin : var sorgu = from eleman in koleksiyon where kriterler orderby sıralamakıstası [ascending descending] select [takmaad = ]kolonifadesi [, [takmaad2 = ] kolonifadesi2] var anahtar kelimesi, yukarıdaki LINQ sorgu sonucunun atandığı sorgu isimli lokal değişken için tip çıkarsaması yapar. var, bir veri tipi değildir. var, eşitliğin sağ tarafındaki veriye ait tipin, derleyici tarafından otomatik olarak tespit edilmesini ve CIL koduna yazılmasını sağlar. Aşağıdaki resimde LINQ mimarisi özet olarak yer almaktadır. 2/25

3 3/25

4 NESNE YÖNELİMLİ PROGRAMLAMA (OBJECT ORIENTED PROGRAMMING) Konu : Metotlar ve Yapıcı Metot (Constructor) 4/25

5 Yapıcı Metot ların Rolü (Constructor) Sınıf nesne örnekleri oluşturulurken tanımlamanın sonunda kullanılan metot parantezlerinin aslında bir anlamı vardır: Sınıfa ait yapıcı metodu çağırmak! Oyuncu o1 = new Oyuncu(); C# gibi nesne yönelimli dillerin en büyük avantajlarından birisi, bir sınıf nesne örneği oluşturulduğu anda otomatik olarak çağrılan özel bir metodun tanımlanabilmesidir. Bu metoda yapıcı metot (constructor) adı verilir. Varsayılan yapıcı metot, nesne içerisinde belleğe çıkarılacak olan bütün alanların doğru varsayılan değerleri almasını sağlar. (Bu bütün yapıcı metotlar için geçerlidir) Peki nesne oluşturulduğu anda çağrılan yapıcı metoda isim olarak ne verilir de derleyicinin bu işi otomatik olarak yapması sağlanır? Bu konuda C++ dilinin tasarımcısı Stroustrup takip edilmiştir. C# dilinde kullanılan yapıcı metotlar, bulundukları sınıfla aynı isimdedir. Aşağıda basit bir yapıcı metodu ile birlikte basit bir sınıf yer almaktadır: namespace YapiciMetotKullanimi class YapiciliSinif public YapiciliSinif() Console.WriteLine("Yapıcı metot çalıştı..."); class Program public static void Main(string[] args) YapiciliSinif ctor = new YapiciliSinif(); Yukarıda, içerisinde yapıcı metodu olan bir sınıf ve Main metodu içerisinde sadece bu sınıftan bir nesne örneğinin oluşturulduğu kodlar yer almaktadır. Yapıcı metotların nesne örneklendiği anda çalışması bu kod bloğunun çıktısından anlaşılabilir. Yapıcı metotlar nesne örneklendiği anda otomatik olarak çalışır Yapıcı metot, geriye void dahil değer döndürmeyen, parametre alabilen özel bir çeşit metottur. Her sınıf mutlaka en az bir adet yapıcı metoda sahip olmak zorundadır. Eğer sınıf içerisine yukarıdaki gibi bilinçli olarak yazılmazsa, derleyici bizim için varsayılan bir yapıcı metot üretir. Derleyici tarafından üretilen varsayılan yapıcı metodun parametresi olmaz ve içerisinde alanların varsayılan değerleri verilir, bunun dışında hiçbir şey yoktur. Geliştirici olarak kendin yapıcı bir metot yazmak istediğinde bunu kolaylıkla gerçekleştirebilirsin. Geriye değer döndürmeyen (yani herhangi bir geri dönüş tipi belirtilmeyen), public erişim belirleyicisi ile işaretlenmiş ve içinde bulunduğu sınıf ile aynı isimde bir metot yazman yeterli olur. Metot içerisine, ilgili sınıftan bir nesne 5/25

6 oluştuğu anda çalışması istenen C# kodu yazılabilir. Sınıf içerisine bilinçli olarak yazılmadığı durumlarda her sınıfın varsayılan yapıcı metodu aşağıdaki gibi oluşturulmaktadır. namespace YapiciMetotKullanimi class Oyuncu public Oyuncu() //Sınıfa ait alanların varsayılan değerleri otomatik olarak verilir. public string adi; public string takimi; public byte formano; public string BilgiVer() return string.format("0 1-2", formano, adi, takimi); public void TakimDegistir(string yenitakim) takimi = yenitakim; Yapıcı Metotları Aşırı Yüklemek Nesne kullanıcısı nesne ile çalışmaya başladığında (yani nesne örneği oluşturulmasının hemen ardından) genellikle ilk iş sınıf içerisinde tanımlanmış olan alanların değerlerinin verilmesidir. Oyuncu sınıfı gibi birçok sınıf ile çalışılırken bir tane nesne için değeri gerekli bazı alanlara atama yapılmadan o nesne ile çalışmanın fazla bir anlamı olmayabilir. Bu sebeple nesne referansı üzerinden ilgili değişkenler çağrılır ve sırayla değerleri verilir. Öyleyse, daha nesne örneği oluşturulurken bu alanların alacağı değerlerin belli olması yerinde bir hareket olacaktır. Bu durumda nesne, alanlarının varsayılan değerleri ile değil, çalışılacak gerçek değerleri ile belleğe çıkar. Sınıflar bu iş için, varsayılan yerine kendi yapıcı metotlarımızın yazılması imkanını sunarlar. Bu şekilde nesne kullanıcısına nesneyi oluşturma anında durum verilerine başlangıç değerlerinin verilmesi için kolay bir yol sunulmuş olur. namespace YapiciMetotKullanimi class Oyuncu //Kendi yazdığımız yapıcı metot, nesnenin durum verilerine kullanıcıdan alınan parametre değerlerini aktarıyor public Oyuncu(string ad, string takim,byte formanumarasi) adi = ad; takimi = takim; formano = formanumarasi; Console.WriteLine("Parametrik yapıcı metot çalıştı"); //Varsayılan yapıcı metot 6/25

7 public Oyuncu() Console.WriteLine("Varsayılan yapıcı metot çağrıldı..."); public string adi; public string takimi; public byte formano; public string BilgiVer() return string.format("0 1-2", formano, adi, takimi); public void TakimDegistir(string yenitakim) takimi = yenitakim; Yukarıda kendi yazdığımız yapıcı metot ve yeniden tanımlanan varsayılan yapıcı metot ile düzenlenmiş Oyuncu sınıfı yer almaktadır. Bir sınıf içerisinde parametreli bir yapıcı metot tanımlandığında varsayılan yapıcı metot derleyici tarafından üretilmez. Çünkü alanların değerleri, yeni tanımlanan yapıcı metot içerisinde, sınıfın tasarlayıcısı tarafından verilmiştir. Ancak çalışma zamanı, nesne oluşturulduğu anda çağrılan özel yapıcı metodu yine de takip eder. Bunun sebebi sınıfı tasarlayan geliştiricinin yazdığı yapıcı metot içerisinde sınıfa ait bütün alanların başlangıç değerlerini bir şekilde atamak zorunda olmamasıdır, hatta istenirse alanlarla ilgili hiç kod yazılmayabilir. Kullanıcıdan parametre olarak alınan ya da kod bloğu içerisinde geliştirici tarafından değeri verilen alanların dışında kalanlara varsayılan değerlerini atamak özel yapıcı metodun görevidir. Parametrik yapıcı metodun yanında nesne kullanıcısına alanların değerleri verilmeden nesnenin tanımlanması imkanı verilmek istenirse, varsayılan yapıcı metot bilinçli olarak yazılmalıdır. Çünkü sınıf içerisine yazılan parametrik metot, derleyici tarafından üretileni ezmektedir. Son haliyle Oyuncu sınıfının kullanımı ve ekran çıktısı aşağıdaki gibidir: namespace YapiciMetotKullanimi class Program public static void Main(string[] args) //Varsayılan yapıcı metot (constructor) çağrılır. Oyuncu o1 = new Oyuncu(); Console.WriteLine(o1.BilgiVer() + "\n"); //Parametreli yapıcı metot çağrılır. Oyuncu o2 = new Oyuncu("Tuncay", "Middlesbrough", 9); Console.WriteLine(o2.BilgiVer()); Console.ReadLine(); 7/25

8 Parametrik yapıcı metot kullanımı Yapıcı metotlar aşırı yüklenebilirler. Yani farklı parametre sayıları ya da tipleri ile istenilen sayıda yazılabilirler. Bunun amacı nesne kullanıcısına farklı alan kümeleri içerisinden ihtiyaç duyduklarının değerlerini vererek nesneyi oluşturma esnekliğini sunmaktır. Aşağıda farklı parametre kombinasyonları ile yapıcı metodu üç defa aşırı yüklenmiş Oyuncu sınıfı yer almaktadır : namespace YapiciMetotKullanimi class Oyuncu public string adi; public string takimi; public byte formano; public Oyuncu(string ad) adi = ad; public Oyuncu(string ad, string takim) adi = ad; takimi = takim; public Oyuncu(string ad, string takim, byte formanumarasi) adi = ad; takimi = takim; formano = formanumarasi; public string BilgiVer() return string.format("0 1-2", formano, adi, takimi); public void TakimDegistir(string yenitakim) takimi = yenitakim; 8/25

9 EĞİTİM : LINQ to SQL Bölüm : LINQ e Genel Bakış Konu : LINQ Sorguları 9/25

10 Bir LINQ sorgusu, veri kaynağından istenen veriyi elde etmek için kullanılır. Bir LINQ sorgu süreci 3 ayrı parçadan oluşmaktadır. 1. Veri kaynağını elde et. 2. Sorguyu oluştur. 3. Sorguyu çalıştır. Aşağıdaki örneği bu ayrımı göz önünde bulundurularak incele. Örnekte veri kaynağı olarak bir int dizisi kullanılmıştır. // 1) Veri Kaynağı int[] sayilar = new int[5] 1, 2, 3, 4, 5 ; // 2) Sorgu Oluşturma var teksayilar = from s in sayilar where (s % 2) == 1 select s; // 3) Sorgunun Çalıştırılması. foreach (int s in teksayilar) Console.WriteLine(s); LINQ mimarisinde sorgunun çalıştırılması, sorgunun kendisinden ayrı bir süreçtir. Yani sorgu oluşturulurken, veri elde edilmez. Veri Kaynağı Örnekteki veri kaynağı int dizisi, IEnumerable<T> generic tipini desteklemektedir. Dolayısıyla sorgulanabilir bir tiptir. Bir sorgu foreach döngüsü ile çalıştırılır ve foreach IEnumerable yada IEnumerable<T> arayüzlerini uygulamış tiplere ihtiyaç duyar. Sorgu Sorgu, veri kaynağı yada kaynaklarından hangi bilgilerin elde edileceğini belirtir. Dilenirse bir sorgu aynı zamanda veri kaynağından elde edilen bilginin nasıl sıralanacağını, gruplanacağını ve elde edilmeden önce nasıl bir forma gireceğini belirtebilir. Bir sorgu, sorgu değişkeninde saklanır. Burada önemli olan nokta, sorguyu saklayan değişken tek başına her hangi bir aksiyon alamaz ve üzerinde veri saklamaz. Sadece ileri bir noktada sorgu çalıştırıldığında sonucu üretmek için gereken bilgileri saklar. Sorgunun Çalıştırılması Sorgunun çalıştırması, sorguyu saklayan değişkenin foreach döngüsüne sokulması ile gerçekleşir. Bu konsepte ertelenmiş çalıştırma (deffered execution) adı verilir. Örnekte foreach döngüsü ile sorgu kullanıldığında, sorgu çalıştırılmış ve veri kaynağında yer alan tek sayılar filtrelenmiştir. Bir sorgunun hemen çalıştırılması ve sonuç kümesinin elde edilmesi istenirse sorgu cümleleri ToList() yada ToArray() metotları ile birlikte kullanılabilir. List<int> teksayilar = (from s in sayilar where (s % 2) == 1 select s).tolist(); 10/25

11 Bu durumda hem sorgu cümlesinin hemen çalıştırtılması sağlanır; hem de sonuç kümesi bellekte bir koleksiyon üzerinde saklanmış olur. 11/25

12 EĞİTİM : LINQ to SQL Bölüm : LINQ e Genel Bakış Konu : Generic Koleksiyonlar İle LINQ 12/25

13 LINQ sorgu değişkenleri IEnumerable<T> arayüzünden türeyen bir tip olmalıdır. Örneğin IEnumerable<Ogrenci> tipinde bir sorgu değişkeni gördüğün zaman şu anlama gelir : Bu sorgu çalıştırıldığında sıfır yada daha fazla sayıda Ogrenci sınıfından nesne üretecektir. Örnek için öncelikle basit bir Ogrenci sınıfı kodla. public class Ogrenci public string Adi; public DateTime DogumTarihi; public int Numarasi; public Ogrenci(string adi, DateTime dogumtarihi, int numarasi) this.adi = adi; this.dogumtarihi = dogumtarihi; this.numarasi = numarasi; Main metodu içerisine 4 tane Ogrenci nesnesi içeren bir List<T> koleksiyonu oluştur. Ogrenci o1 = new Ogrenci("Ali Yılmaz",new DateTime(1982, 2,2), ); Ogrenci o2 = new Ogrenci("Kerim Ak", new DateTime(1975, 10, 23), ); Ogrenci o3 = new Ogrenci("Can Çelik", new DateTime(1990, 7, 30), ); Ogrenci o4 = new Ogrenci("Halil Ata", new DateTime(1987, 1, 13), ); List<Ogrenci> ogrenciler = new List<Ogrenci>() o1, o2, o3, o4 ; Şimdi LINQ sorgusu ile bu koleksiyonda arama yapalım : 1985 yılı öncesinde doğan öğrencilerin isimleri ve numaraları, aralarında / işareti olacak şekilde yan yana tek bir string tipli veri olarak elde edilsin. Aşağıdaki sorgu bu işi görecektir : var sorgu = from o in ogrenciler where o.dogumtarihi.year <= 1985 select o.adi + " / " + o.numarasi.tostring(); Bu sorgu cümlesinde dikkat çekmesi gereken 1-2 önemli nokta vardır. Birincisi generic koleksiyon üzerinden LINQ sorgusu yazarken Visual Studio editörünün otomatik kod tamamlayıcı özelliği Intellisense sana yardım eder. Örneğin where operatöründen sonra o. yazdığında Ogrenci sınıfının public üyeleri listelenir ve sen filtrelemede kullanmak istediğin DogumTarihi alanını listeden seçebilirsin. Böylece hızlı ve minimum hatayla sorgu yazarsın. Sorgu sonucunu görmek için sorguyu çalıştırman lazım; dolayısıyla foreach döngüsü yazman gerekiyor. foreach (var o in sorgu) Console.WriteLine(o); Kod parçası çalıştırıldığında aşağıdaki çıktı elde edilir : 13/25

14 var Anahtar Kelimesi : Derleyicinin Tip Çıkarsaması Yapması Örnekte hem sorgu değişkeni olarak hem de foreach döngüsünde döngü değişkeni olarak var anahtar kelimesi kullanılmıştır. sorgu isimli sonuç kümesi değişkeni incelendiğinde, generic koleksiyonun içerdiği nesnelerin veri tipine bakarak çıkarsama yapılır ve CIL koduna veri tipi olarak IEnumerable<Ogrenci> yazılır. Benzer şekilde foreach döngüsünde var ile tanımlanan döngü değişkeninin veri tipi, derleyici tarafından sorgu değişkeninin elemanlarından tespit edilir. Böylece çalışma zamanında işlemler Ogrenci tipinde gerçekleştirilir. 14/25

15 EĞİTİM : LINQ to SQL Bölüm : Veri Tabanı İşlemlerinde LINQ: LINQ to SQL Konu : ORM Aracı Olarak LINQ to SQL 15/25

16 .NET ile yazılan ticari uygulamaların %90 ından fazlası ilişkisel veritabanı yönetim sistemi üzerindeki tablolarda saklanan verilerle çalışmaktadır. Halen artan bir yüzdeyle yazılım mimarileri ve geliştiriciler nesne yönelimli programlamaya adapte olmaktadırlar. Aynı şekilde veritabanları, iş nesnelerini saklamak ve diğer uygulamalar ile paylaşmak için tercih edilen saklama ortamı olmaktadır. Bu süreçte, veritabanları özellikle nesne modellerini saklamak ve elde etmek üzere dizayn ediliyor, veri nesne olarak oluşturuluyor, aynı zamanda sınıflar, özellikler, metotlar ve hatta kalıtım ile alt sınıflara destek veriyor. Veritabanları ve iş nesneleri arasındaki bu doğal yakınlığa rağmen program içinde ve veritabanında ayrı ayrı dizayn yapma maliyeti söz konusuydu. Nesnelerin saklanması için ilişkisel veritabanlarının kullanılması, CRUD kısaltması ile anılan create, retrieve, update ve delete işlemleri için programlama dili olarak SQL kullanılması anlamına gelmektedir. Bu işlemlerin program içinden belli bir uyumluluk ile yapılmasını sağlamak için O/RM (Object / Relation Mapping) araçları kullanılmaya başlandı. LINQ to SQL, Microsoft un Visual Studio ile birlikte sunduğu bir O/RM aracıdır. LINQ to SQL, hafif ve yüksek performanslı bir nesne saklama platformu sunar. Bunu kolay kullanılan grafik bir arayüz ile gerçekleştirir. Bu araç, iş nesnelerini oluşturmak, elde etmek, güncellemek ve silmek için stored procedure sql nesnesini de desteklemektedir. Bu görsel araç, SQL Server veritabanlarından seçeceğin tablolardan entity class denen sınıfların oluşturulmasını sağlar. Tablolar sınıf, tablodaki kolonlar birer özellik (property) olacak şekilde otomatik olarak üretilir ve bu sınıf tasarımları Visual Studio içerisinde saklanır. Araç, aynı zamanda, tablolar arasındaki ilişkileri de association olarak saklar. Bu sayede, LINQ sorguları yazarken join yapmana gerek kalmadan IntelliSense yardımıyla ilişkili nesnelere ve onun üyelerine erişebilirsin. Tablolar, kayıtlar ve anahtarlardan oluşan ilişkisel modeli entity sınıfları, entity nesneleri ve ilişkilere taşımanın avantajı, entity modelinin müşteriler, çalışanlar, ürünler vb. iş nesnelerini temsil edebilmesidir. Böylece LINQ to SQL, küçük ve orta ölçekli projelerin için hızlı uygulama geliştirme metodolojisi sunarak sana yardımcı olur. 16/25

17 EĞİTİM : LINQ to SQL Bölüm : Veri Tabanı İşlemlerinde LINQ: LINQ to SQL Konu : LINQ to SQL Dizayn Ekranı 17/25

18 LINQ to SQL'i VERİ ERİŞİM KATMANI OLARAK KULLANMAK LINQ to SQL Classes, Visual Studio ile açılan bir C# projesindeki şablonun adıdır. Projene yeni bir LINQ to SQL Classes eklediğinde, boş bir O/R dizayn ekranı açılır. Bu, veritabanından ekleyeceğin sql nesneleri ile ilgili metadataları tutan xml tabanlı ve dbml uzantılı bir dosyadır. Soldaki büyük alana tablo ve view, soldaki küçük alana ise stored procedure ve fonksiyon ekleyebilirsin. Veritabanına bağlanıp sql nesnelerini görüntülemeni sağalayacak araç ise Server Explorer dır. Bu araca menüden View Server Explorer sekmelerinden erişebilirsin. Bu araçta yer alan Data Connections kalemine sağ tıklayıp Add Connection seçilerek bağlanılacak veritabanı ile ilgili bilgiler girilebilir. Sonucunda veritabanındaki bütün sql nesneleri önüne listelenecektir. Yapman gereken Server Explorer aracındaki listeden 18/25

19 dizayn ekranına ihtiyaç duyduğun tabloları sürükleyip bırakmak. Bu konudaki örneklerde, daha önce SQL konusunda kullandığın Adventureworks veritabanını kullanabilirsin. Entity olarak dizayn ekranı tarafından üretilen sınıfları incelemek istersen Solution Explorer penceresinde *.designer.cs dosyasına bakmalısın. 19/25

20 EĞİTİM : LINQ to SQL Bölüm : Veri Tabanı İşlemlerinde LINQ: LINQ to SQL Konu : Nesneleri Ekleme 20/25

21 LINQ to SQL, projene veri erişim katmanı uygulamak için çok mükemmel bir adaydır. LINQ to SQL ile kullanacağın merkezi nesne DataContext sınıfıdır. Bu sınıf, veritabanları ile uygulama arasındaki bağlantıyı yönetir. Aynı zamanda ürettiğin entity sınıflarına ait veritabanındaki kayıtları içeren Table<TEntity> tipinde koleksiyonları saklar. Bu koleksiyonlar sayesinde kod tarafında, bir tablodaki bütün verilere kolayca erişebilir ve ASP.NET gibi bir arayüzde gösterebilirsin. Örneğin Musteris koleksiyonunu ele alalım. Bu, içinde Musteri tipinde nesneler barındıran Table<Musteri> tipinde bir koleksiyondur. Veritabanına doğru çalıştırılacak bir LINQ sorgusu hazırlamak için Table<TEntity> tipindeki koleksiyon ile çalışmalısın. Bu nesne üzerinden gerçekleştirdiğin manipülasyonlar, C# derleyicisi tarafından önce dinamik T- SQL sorgularına dönüştürülür; ardından veritabanına doğru bağlantı açılarak çalıştırılır. DataContext, SqlClient sağlayıcısı üzerinden veritabanına bağlantı açılması ve kapatılması süreçlerini otomatik olarak yönetir. Senin ekstra kod yazmana gerek yoktur. Yeni Kayıt Eklemek LINQ to SQL kullanarak veritabanındaki bir tabloya yeni kayıt eklemek için Table<TEntity> koleksiyonuna yeni bir kayıt eklemen yeterlidir. Bu kayıt, veri eklemek istediğin tablo için dizayn ekranından ürettiğin entity sınıfı tipinde olmalıdır. DataContext.TabloAdı.Add(YeniNesne) Nesneyi hazırlayıp koleksiyona ekledikten sonra DataContext.SubmitChanges() metodu çağrılır. Bu metot, yeni nesnenin veritabanında saklanması için gerekli T-SQL insert sorgusunun hazırlanması ve çalıştırılmasını sağlar. Ayrıca bütün veritabanı işlemlerinde mutlaka System.Data.Linq.DataContext tipinden türeyen projene özel DataContext nesnesine ihtiyacın vardır. NesneModeliDataContext ctx = new NesneModeliDataContext(); Department yenidep = new Department(); yenidep.name = "Yazılım"; yenidep.groupname = "Bilgi Teknolojileri"; yenidep.modifieddate = DateTime.Now; ctx.departments.insertonsubmit(yenidep); ctx.submitchanges(); Dilenirse InsertOnSubmit metodu yerine InsertAllOnSubmit metodu kullanılarak bir kayıt değil önceden hazırlanmış bir koleksiyon içindeki bütün kayıtların eklenmesi sağlanabilir. 21/25

22 EĞİTİM : LINQ to SQL Bölüm : Veri Tabanı İşlemlerinde LINQ: LINQ to SQL Konu : Nesne Güncelleme 22/25

23 Kayıt Güncellemek Kayıt güncellemek için DataContext üzerindeki koleksiyondan güncellenmesi istenen bir yada birden fazla nesnenin elde edilmesi gerekir. Bunun için where ifadesi ile filtrelenmiş bir sorgu yazılması gerekir. Sorgu sonucunda elde edilen nesnelerin istenen özelliklerinde (property) gerekli değişiklikler yapıldıktan sonra DataContext.SubmitChanges() metodu çağrılır. Bu metot kayıtların veritabanında güncellenmesi için gerekli T- SQL update sorgusunun hazırlanması ve çalıştırılmasını sağlar. NesneModeliDataContext ctx = new NesneModeliDataContext(); Department depguncellenecek = (from d in ctx.departments where d.departmentid == 1 selectd).singleordefault(); if (depguncellenecek!= null) depguncellenecek.groupname = "Finansal Yönetim"; ctx.submitchanges(); Bu örnekte DepartmentId değeri 1 olan tek bir kayıt olacağı için sorgu sonucunda SingleOrDefault metodu çağrılmıştır. Böylece eşitliğin sol tarafında tek bir Department nesnesi elde edilmiş ve o nesnenin GroupName kolonu güncellenmiştir. Eğer birden fazla nesne üzerinde aynı anda güncelleme yapmak durumunda kalırsan aşağıdaki kod parçası sana yol gösterici olacaktır. NesneModeliDataContext ctx = new NesneModeliDataContext(); var depguncellenecek = from d in ctx.departments where d.departmentid < 10 select d; foreach (var d in depguncellenecek) d.groupname = "Finansal Yönetim"; ctx.submitchanges(); Bu kod parçasında LINQ sorgusu sonucunda 9 kayıt döner. Bu 9 kayıt üzerinde güncelleme yapmak için foreach döngüsünden faydalanılır. Döngünün sonunda SubmitChanges metodu çağrılarak bütün güncellemeler tek bir seferde veritabanına yansıtılmış olur. 23/25

24 EĞİTİM : LINQ to SQL Bölüm : Veri Tabanı İşlemlerinde LINQ: LINQ to SQL Konu : Nesne Silme 24/25

25 Kayıt Silmek Veri tabanından tek bir kayıt yada birden fazla kayıt silmek için DataContext üzerindeki koleksiyondan nesnelerin silinmesi gerekir. DataContext.TabloAdı.Remove(SilinecekNesne) Bunun için where ifadesi ile filtrelenmiş bir sorgu yazılması gerekir. Sorgu sonucunda elde edilen nesneler koleksiyondan silindikten sonra DataContext.SubmitChanges() metodu çağrılır. Bu metot kayıtların veritabanından silinmesi için gerekli T-SQL delete sorgusunun hazırlanması ve çalıştırılmasını sağlar. NesneModeliDataContext ctx = new NesneModeliDataContext(); var depsilinecek = (from d in ctx.departments where d.departmentid == 3 select d).singleordefault(); if (depsilinecek!= null) ctx.departments.deleteonsubmit(depsilinecek); ctx.submitchanges(); Dilenirse DeleteOnSubmit metodu yerine DeleteAllOnSubmit metodu kullanılarak bir kayıt değil bir koleksiyon içindeki bütün kayıtların silinmesi sağlanabilir. 25/25

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ı

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ı

İ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ı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9 VII 1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9 2 KOD YAZMAYA BAŞLANGIÇ 11.Net Framework 11 Yeni Proje Oluşturmak

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 5 Nesneye Yönelik Programlamaya Giriş Bu

Detaylı

BMB202. Veritabanı Yönetimi Ders 12. ORM, LINQ, XML, JSON. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

BMB202. Veritabanı Yönetimi Ders 12. ORM, LINQ, XML, JSON. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü BMB202. Veritabanı Yönetimi Ders 12. ORM, LINQ, XML, JSON Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Dersin Planı ORM (Object to Relational Mapping) LINQ XML JSON ORM Object

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ı

STORED PROCEDURE LER (Saklı Yordamlar)

STORED PROCEDURE LER (Saklı Yordamlar) STORED PROCEDURE LER (Saklı Yordamlar) Eskiden yazılımlar, sadece prosedür denilen kod parçalarından oluşurdu. Her prosedür belli bir işlevi yerine getirmek için yazılmış kod parçalarıdır. Mesela, 2 sayı

Detaylı

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER VERİTABANI SORGULARI İÇİNDEKİLER Select İfadesi Insert İfadesi Update İfadesi Delete İfadesi Verileri Sıralamak Verileri Gruplandırmak Veriler Üzerinde Arama Yapmak NESNE TABANLI PROGRAMLAMA I Uzm. Orhan

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ı

Ü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ı

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ı

Ders 8 Konu Özeti ve Problemler

Ders 8 Konu Özeti ve Problemler Ders 8 Konu Özeti ve Problemler C# ve Nesne Yönelimli Programlamanın 3 Prensibi Kapsülleme (Encapsulation) Nesne yönelimli programlamanın ilk prensibi kapsülleme (encapsulation) olarak adlandırılır. Bu

Detaylı

public static int Toplam int x, int y

public static int Toplam int x, int y static Kavramı 1 İçinde bulunduğu sınıftan nesne oluşturulmadan veya hiç bir nesneye referans olmadan kullanılabilen üyeler static olarak nitelendirilir. Metotlar ve alanlar static olarak tanımlanabilir.

Detaylı

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır. 18 SQL SORGU DİLİ SQL (Structured Query Language) yapısal sorgu dili, veritabanı yönetim sistemlerinin standart programlama dili olarak bilinmektedir. SQL dilinin Access içinde sorgu pencerelerinde veya

Detaylı

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM 2014) //Class (Sınıf) // Sınıf (class) soyut veri tipidir. // Nesne (object) sınıfın somutlaşan bir cismidir. // static : nesnesi oluşturulmaz.

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

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ı

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ı

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER VERİTABANI SORGULARI İÇİNDEKİLER Select İfadesi Insert İfadesi Update İfadesi Delete İfadesi Verileri Sıralamak Verileri Gruplandırmak Veriler Üzerinde Arama Yapmak NESNE TABANLI PROGRAMLAMA I Uzm. Orhan

Detaylı

NESNEYE YÖNELİK PROGRAMLAMA

NESNEYE YÖNELİK PROGRAMLAMA NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem

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 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ı

Başlangıç 2. Generic İfadeler 3. Arayüzler (Interfaces) 5. LINQ ile Sık Kullanılan Arayüzler 7. Koleksiyon Sınıfları 14

Başlangıç 2. Generic İfadeler 3. Arayüzler (Interfaces) 5. LINQ ile Sık Kullanılan Arayüzler 7. Koleksiyon Sınıfları 14 ix Başlangıç 2 Seçime Bağlı (Optional) ve Adlandırılmış Parametreler 2 Generic İfadeler 3 Arayüzler (Interfaces) 5 Tanımlanması 5 Örnek 6 LINQ ile Sık Kullanılan Arayüzler 7 IEnumerator (Numaralandırıcı,

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ı

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ı

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ı

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler SQL'de Veri İşleme Komutları 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ı

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ı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma C Programlama Dr. Serkan DİŞLİTAŞ 7.1. Metot Kavramı Programlama dillerinde bütün kod satırlarının

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ı

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ı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

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ı

SORGULAR. Öğr.Gör.Volkan Altıntaş

SORGULAR. Öğr.Gör.Volkan Altıntaş SORGULAR Öğr.Gör.Volkan Altıntaş SORGULAR VE ÇEŞİTLERİ Seçme Sorguları: En sık kullanılan sorgu türüdür. Seçme sorguları, bilgileri veri sayfası görünümü nde gösteren veri tabanı nesnesi türüdür. Sorgu,

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ı

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ı

Ders 8: Metotlar. barisgokce.com

Ders 8: Metotlar. barisgokce.com Ders 8: Metotlar Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Metotlar C# içerisinde bir veya birden fazla kod bulunduran kod bloklarıdır. Bir nesnenin veya sınıfın programı

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ı

Operator Aşırı Yükleme (Operator OverLoading)

Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme Operatör metotları bir nesnenin ifadeler içinde operatörlerle kullanıldığı zaman davranışını belirler. Temel veri türleri için operatörler

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ı

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5

1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.Net Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 2 VISUAL STUDIO GELİŞTİRME

Detaylı

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI

2 VISUAL STUDIO 2012 GELİŞTİRME ORTAMI İÇİNDEKİLER VII İÇİNDEKİLER 1 GİRİŞ 1 C# Hakkında Genel Bilgiler 1.NET Framework 1 CLR 2 CLR Ve CTS 2 Temel Sınıf Kütüphanesi 3 CIL 3 Algoritma Nedir? 4 Sözde Kod (Pseudocode) 5 2 VISUAL STUDIO 2012 GELİŞTİRME

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ı

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş Kurulum için ilk önce Sun Microsystems in sitesinden uygun J2SE sürümünü indirin. Ben J2SE v1. 4. 2_16 Windows Installer paketini kullandım J2SE SDK Kurulumu aşağıdaki gibi başlayacaktır. 1 Kurulum tamamlandıktan

Detaylı

BİL-141 Bilgisayar Programlama I (Java)

BİL-141 Bilgisayar Programlama I (Java) 1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,

Detaylı

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. ASP.NET DERS 1 Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik. Gelen ekranda Visual C# seçildikten

Detaylı

Dinamik Kodlama. [X] Fusion@6. [X] Yeni Fonksiyon

Dinamik Kodlama. [X] Fusion@6. [X] Yeni Fonksiyon Dinamik Kodlama Ürün Grubu Kategori Versiyon Önkoşulu [X] Fusion@6 [X] Yeni Fonksiyon @6 Uygulama @6 Serisi ürünlerde, kullanıcı arabirimlerinin her yerine eklenen dinamik kodlama özelliği ile, programın

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ı

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz. C# da Diziler Diziler için aynı tipteki verilerin tutulduğu bir koleksiyon diyebiliriz. Örneğin integer verinin bir yığın şeklinde tutulması için dizileri kullanırız. C# da diziler referans tipinde değişkenlerdendir.

Detaylı

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir;

abstract Sınıflar 1 Sınıf sınıf1 new class Ama aşağıdaki şekilde referans alınabilir; abstract Sınıflar 1 Özet sınıflar ya da özet metotlar abstract anahtar sözcüğü kullanılarak tanımlanırlar. Bir temel sınıf içinde bildirilen abstract metotların içeriği boştur. Kendisinden yeni bir instance

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

Detaylı

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız. Bu Derste Öğrenecekleriniz: 1- Birden Fazla Tablodan Sorgulama 2- Tablo Birleştirme işlemleri (JOIN) a. INNER JOIN b. OUTER JOIN i. LEFT OUTER JOIN ii. RIGHT OUTER JOIN iii. FULL OUTER JOIN 3- Tablo Ekleme

Detaylı

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Örneğin; bir öğrenci, sıra, çember, bir buton birer nesnedir. Bir

Detaylı

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1

Görsel Programlama DERS 02. Görsel Programlama - Ders02/ 1 Görsel Programlama DERS 02 Görsel Programlama - Ders02/ 1 Kodun Tekrar Kullanımı ve Kalıtım(Inheritance) Nesneye yönelik programlamanın diğer programlama paradigmalarına karşı bir avantajı kodun yeniden

Detaylı

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler

C# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra

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ı

Programlama Dillerinde Kullanılan Veri Tipleri

Programlama Dillerinde Kullanılan Veri Tipleri Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Diziler Dizi Tanımlama ve İlk Değer Atama Dizi Elemanlarının Kullanılması Dizi İşlemleri Java da Diziler JAVA DA DİZİLER 4 Dizi; tek bir veri tipinde,

Detaylı

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;

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ı

BTEP243 Ders 3. class Yazım Kuralı:

BTEP243 Ders 3. class Yazım Kuralı: BTEP243 Ders 3 Sınıflar ve Nesneler Nesne tabanlı programlamada, programlamanın temeli sınıflardır (class). Nesnelerin yaratılmasında taslak (blueprint) görevi görür. Sınıflar; o Nesnelerin özelliklerinin

Detaylı

Oracle da kullanılan veri tipleri:

Oracle da kullanılan veri tipleri: ORACLE A GİRİŞ Oracle ile SQL Server ı karşılaştıralım, 1 Oracle da veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, yapısını değiştirme, silme kodları

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ı

UZAKTAN EĞİTİM MERKEZİ

UZAKTAN EĞİTİM MERKEZİ ÜNİTE 2 VERİ TABANI İÇİNDEKİLER Veri Tabanı Veri Tabanı İle İlgili Temel Kavramlar Tablo Alan Sorgu Veri Tabanı Yapısı BAYBURT ÜNİVERSİTESİ UZAKTAN EĞİTİM MERKEZİ BİLGİSAYAR II HEDEFLER Veri tabanı kavramını

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 -7- VERİLERİ GRUPLAYARAK ANALİZ ETMEK 3 Genel Bakış Grup fonksiyonlarının tanımlanması, Gruplama işlemlerini, Gruplama

Detaylı

VeriTabanı Uygulamaları

VeriTabanı Uygulamaları VeriTabanı Uygulamaları Bir uygulamanın esas gücünü, veri, veri tabanları ve veri kaynakları ile olan ilişkisi belirler. Eğer bunlara kolayca hakim olan, yöneten teknolojilere sahipse o uygulama gerçekten

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ı

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ı

Nesneye Dayalı Programlama Laboratuvarı

Nesneye Dayalı Programlama Laboratuvarı 2013 2014 Nesneye Dayalı Programlama Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. Salih GÖRGÜNOĞLU Laboratuvar Sorumluları: M. Zahid YILDIRIM İÇİNDEKİLER Deney 1: Visual Studio ve C++'a Giriş Uygulamaları...

Detaylı

Nesneye Dayalı Programlama

Nesneye Dayalı Programlama SAKARYA ÜNİVERSİTESİ Nesneye Dayalı Programlama Hafta 4 Prof. Dr. Ümit KOCABIÇAK Öğr. Gör. Özgür ÇİFTÇİ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim"

Detaylı

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

Detaylı

ADO.NET Entity. Framework. Temel Kavramlar

ADO.NET Entity. Framework. Temel Kavramlar ADO.NET Entity Framework Temel Kavramlar Ele alınacak başlıklar Geçmişteki bilgiler Models, Mapping ve Metadata Entity SQL ve LINQ to Entities Object Services EF ile LINQ to SQL in karşılaştırılması Nesne

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

Nesneye Dayalı Programlama

Nesneye Dayalı Programlama SAKARYA ÜNİVERSİTESİ Nesneye Dayalı Programlama Hafta 12 Prof. Dr. Ümit KOCABIÇAK Öğr. Gör. Özgür ÇİFTÇİ Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir. "Uzaktan Öğretim"

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ı

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları Diziler Temel Bilgisayar Programlama Final Sınavı Çalışma Notları (Dr. Övünç ÖZTÜRK, Dr. Tahir Emre KALAYCI) (İnşaat Mühendisliği ve Gıda Mühendisliği Grupları İçin) Diziler aynı türden bilgileri saklamak

Detaylı

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Ders İçeriği An introduction to Object-oriented programming with Java Third Edition Update Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır. Nesneye Yönelik Öğr.

Detaylı

C# Metotlar ve Metot Tanımlama

C# Metotlar ve Metot Tanımlama C# Metotlar ve Metot Tanımlama Metot Kavramı : Metotlar bir program içerisinde aynı işi gerçekleştiren satırları belirli düzende sadece bir kez oluşturarak gerektiğinde tekrar tekrar kullanabilmemizi sağlayan

Detaylı

ICATT ÇEVİRİ UYGULAMASI SİSTEM MİMARİSİ VE VERİTABANI TASARIMI

ICATT ÇEVİRİ UYGULAMASI SİSTEM MİMARİSİ VE VERİTABANI TASARIMI ICATT ÇEVİRİ UYGULAMASI SİSTEM MİMARİSİ VE VERİTABANI TASARIMI İÇİNDEKİLER 1. GİRİŞ 1.1. KAPSAM 1.2. SİSTEM ÖZETİ 1.3. DOKÜMAN ÖZETİ 2. ÇALIŞMA KONSEPTİ 2.1. Yeni Kullanıcı Oluşturmak 2.2. Şirket Bilgilerini

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ı

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ı

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar Nesneler ve Türler Sınıflar ve Yapılar Arasındaki Farklılıklar Sınıf Üyeleri Değer ve Referans Türde Olan Aktarımlar Yapıcılar ve Statik Yapıcılar Read-Only Statik Sınıflar Object Sınıfı Sınıflar Sınıflar

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ı

1. SINIFLAR Sınıf (Class) Mantığı

1. SINIFLAR Sınıf (Class) Mantığı 1. SINIFLAR Günlük hayatta kullanılan pek çok kelime bir sınıflandırmanın sonucu ortaya çıkmıştır. Örneğin insan, ev, araba vb. kelimeler bir tek nesneyi değil, ortak davranış ve özellikleri olan nesnelerin

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ı

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301) Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301) GENEL DERS BİLGİLERİ Öğretim Elemanı : Öğr. Gör. Erdal GÜVENOĞLU Ofis : MUH 313 Ofis Saatleri : Pazartesi: 10.00-12.00,

Detaylı

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü

BM-209 Nesne Yönelimli Programlama. Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü BM-209 Nesne Yönelimli Programlama Yrd. Doç. Dr. İbrahim Alper Doğru Gazi Üniversitesi Teknoloji Fakültesi Bilgisayar Mühendisliği Bölümü Java Programlama Dili Java bayt kodları Java Sanal Makineleri üzerinde

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya

Detaylı

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts

Detaylı

Veritabanına Uygulanması

Veritabanına Uygulanması Add, Alter Drop, Alter Change, Alter Sql komutları ve açıklamaları CREATE CREATE TABLE Üzerinde çalışma yapılan veritabanı içerisinde yeni bir tablonun oluşturulmasını sağlar. CREATE TABLE tablo_adı (alan_adı1

Detaylı

Genel Programlama II

Genel Programlama II Genel Programlama II 22.03.2011 1 Yapılar ( Structures ) Yapılar ( structures ); tam sayı, karakter vb. veri tiplerini gruplayıp, tek bir çatı altında toplar. Bu gruplandırma içinde aynı ya da farklı veri

Detaylı

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon ORACLE GİRİŞ Oracle ile SQL Server ın karşılaştıralım. 1 Oracleda veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, değiştirme ve silme kodları aynı. 3

Detaylı

Php İle Mysql Veritabanından Bilgi Çekme

Php İle Mysql Veritabanından Bilgi Çekme Mysql_fetch_assoc, mysql_fetch_row, mysql_fetch_object, mysql_fetch_array ve mysql_result metodları Uygulamada kullanacağımız veritabanı Veritabanı: kitaplik Tablo: kitaplar isbn adi yazari 944503382 Adım

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ı

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6 ix Yazılım Nedir? 2 Yazılımın Tarihçesi 3 Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5 Yazılımın Önemi 6 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman

Detaylı

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access

Microsoft SQL Server 2008 Oracle Mysql (Ücretsiz) (Uygulamalarımızda bunu kullanacağız) Access Programlamaya Giriş VERİ TABANI UYGULAMASI ÖN BİLGİ Veritabanları, verilere sistematik bir şekilde erişilebilmesine, depolanmasına ve güncellenmesine izin veren, yüksek boyutlu veriler için çeşitli optimizasyon

Detaylı