21 Aralık 2016 Çarşamba

Kod Yazmadan Kolayca Mobil Marketler için Oyun Geliştirme

Bilgisayar oyunlarının geliştirilmesi uzun ve zahmetli bir iştir. Bu iş için genellikle on binlerce satır kod yazılması, yazılımcıların uzun saatler boyunca emek harcaması ve genellikle bir oyun geliştirme
platformu kullanılması gerekmektedir.

Oyun geliştirme platformu olarak Unity oyun geliştiriciler arasında çokca kullanılsa da, Cocos2D, Multimedia Fusion, Game salad, Game Maker gibi başka oyun geliştirme platformlarıda bulunmaktadır.

Örnek olarak 1993  yılında Paris'te kurulan Click Team şirketi tarafından geliştirilen Multimedia Fusion oyun geliştirme platformu bir dizi GUI aracı kullanarak etkileşimli yazılımlar geliştirebilmektedir. 

"Oyun geliştirme daha önce hiç bu kadar kolay olmamıştı" sloganı ile oyunlar geliştiren Multimedia Fusion kullanılarak geliştirdiğiniz oyunları sadece Windows ortamında değil farklı platformlarda da kullanabiliriz. Bunun için program içerisindeki Build seçeneği kullanılarak geliştirdiğimiz uygulamayı, Android (Apk), IOS, HTML5, Flash, XNA gibi platformlara kolayca çevirebiliriz.

Multimedia Fusion'ın diğer bir özelliğide kod yazmadan sadece olay tabanlı akış ile oyunlar geliştirilebilmesidir.

Örnek olması amacı ile WarCrime adında bir bilgisayar oyunu sadece 15 dakika içerisinde Multimedia Fusion kullanılarak geliştirilmiş ve Android markete yüklenmiştir. WarCrime oyunu Android marketten incelemek amaçlı olarak indirilebilirsiziniz. (Bu çok basit oyunun amacı 6 haraketli karakterden kaçarak onları vurmak.)

Multimedia Fusion kullanılarak geliştirilmiş çok sayıda profesyonel 2D oyun bulunmaktadır. Bu oyunlar hakkında bilgi almak için yandaki youtube videolarını ( 167 tane MultimediaFusion ile geliştirilmiş oyun veya Multimedia Fusion ile ne yapabilirim isimli video) izleyebilirsiniz. Multimedia Fusion ile ayrıca 3D uygulamalarda geliştirilebilmektedir. 

Multimedia Fusion 2.5 yazılımının Demo versiyonu http://www.clickteam.com/  sitesinden ücretsiz olarak indirilebilirsiniz. Uygulamanın Developer versiyonu ise ücretlidir.  Ayrıca geliştirdiğiniz oyunlara Google Admob ekleyerek uygulama üzerinden gelirde kazanabilirsiniz. İlgilenecekler yandaki eğitim videolarını kullanabilirler Multimedia Fusion Eğitim Videoları (ingilizce)

13 Aralık 2016 Salı

Yazılım Test Proje Sunumu Notlandırması


Proje sunumu Notlandırması

1-)Gereksinimlerin doğru alınması ve Analizin doğru yapılması (%20).
2-)Tasarım (%15)
  • % 10 Ekran tasarımları
    •  (% 5 Görsellik ve Kolaylık % 5 Doğru bilgilerin ekranda listelenmesi.)
  • %5 Doğru verilerin veri tabanında tutulması (Db Diyagramı).
3-)İstenilen belgelerin oluşturulması (%20) ayrıca cbuyzm3105@gmail.com adresine gönderilmesi.

  • Gantt Chart (Kim hangi işi hangi sürede yapmış)
  • Source Monitor Dosyası (*.smp uzantılı dosya)
  • Test Dökümanı (Örnek verildi.)
  • Şartname (Ekler dahil) (Örnek verildi.)
  • Oluşturduğunuz projenin kaynak kodlar ve proje dosyaları.
4-)Karakutu testlerinde başarı ile geçmesi (%25).
5-)Beyaz Kutu testlerinde başarı ile geçmesi (%20) .

7 Aralık 2016 Çarşamba

YOLO Dünyası için Geri Sayım Başladı!

haydar-colakoglu-yolo-uygulama
Ulaşımda En Pratik Yol O!  sloganı ile yola çıkan ve Uber’in karşılaştığı en güçlü rakip olan girişim YOLO için geri sayım başladı. Dünyada olduğu gibi ülkemizde de yoğun ilgi gören şehir içi, konfor ve kaliteyi birleştiren yolculuklar sağlayan platformlara bir yenisi daha ekleniyor. Kısa süre içinde hayatımızda farklı bir yer edinmeyi hedefleyen girişimin adı YOLO.
YOLO, şehir içinde lüks segment araçlar ile şehir içi VIP taşımacılık hizmeti veren ve sektöre çok iddialı girerek diğer rakiplerine nazaran çok farklı iş modeli ve kazanç vaat eden bir mobil uygulama. Dünyada Uber modeli olarak bilinen mobil uygulamanın Türkiye versiyonu olarak planlanmış olan YOLO, uzun süren Ar-Ge çalışmaları sonucunda ortaya çıkmış.
YOLO’yu dünyadaki benzerlerinden farklı kılan en önemli özellik TR’de hukuksal altyapısının sağlamlığı ve farklı kazanç modelleri. YOLO, hem kullanıcılara, hem de iş ortaklarına sağladığı yeni nesil bir iş modeli ile kısa sürede yola çıkıyor.
haydar-colakoglu
YOLO, TEB Holding ve Çolakoğlu Grup Yönetim Kurulu Üyesi Haydar ÇOLAKOĞLU başkanlığındaki güçlü yatırımcı ve yönetim kadrosu ile de dikkat çekiyor. Yönetim kademesindeki 12 kişilik tecrübeli ekibin, 1 yıl süren çalışmaları sonucu ortaya çıkardıkları YOLO, şehir hayatına yeni bir soluk getirmeyi planlıyor.
haydar-colakoglu-teb-genel-mudur
haydar-colakoglu
haydar-colakoglu-teb
Ulaşımdaki zorlukları keyif ve konfor ile çok uygun koşullarda sunmayı hedefleyen ekip adına konuşan YOLO Yönetim Kurulu Başkanı Haydar ÇOLAKOĞLU şunları söyledi;
“Günümüzde temel ihtiyaçlarımızdan biri olan şehir içi konforlu seyahatin hızlı, güvenli ve ucuz olarak sağlanabilmesi başlangıç noktamızdı. Bununla birlikte, kayıt dışı kalan birçok seyahatin kayıt altına alınarak vergilendirilmesi, sektörde hukuksal altyapının sağlamlaştırılması yeni düzende yeni normallere alışan bizler için çok önemli. İşlerimize teknolojiyi en verimli şekilde entegre etmek hem kullanıcılarımıza hem de iş ortaklarımıza yüksek kazanç sağlayacaktır.
YOLO yüzde yüz yerli yapım bir uygulamadır. Amaçlarımızdan biriside bu iş modelini hızlı bir şekilde ülke dışında da kullanılan bir marka yapmaktır. YOLO’nun temel felsefesi bundan ibarettir.
Kendi kurucularımızın sağladıkları desteklerin yanında, henüz başlangıç aşamasında iken Los Angeles merkezli bir yatırım şirketinden 16 milyon dolar değerleme ile bir kısım yatırım aldık. Kendileri ile yaptığımız çalışmalar sonucunda da “you only live once” baş harflerinden oluşan YOLO isminde karar kıldık. Bunun yanısıra Los Angeles, San Francisco, Londra ve Zürih merkezli yatırımcı grupları ile de görüşmelerimiz devam etmekte. Bu güç birliği platformu ile hem UBER gibi bir dünya devine rakip olacak, hem de Türkiye’den bir dünya markası çıkartabilmek için çalışacağız.
haydar-colakoglu-yolo-turkiye
Başlangıç gününde 300’ün üzerinde araç ile hizmet verecek olan YOLO ile kullanıcılar, tek tuş ile araç çağırabilecek, ulaşım ücretlerini kredi kartları ile ödeyebilecekler. Araçta unuttukları herhangi bir eşyanın güvende olduğunu bilecekler. Yıl sonu hedefimizde 1000’i aşkın araçla hizmet vermek var.
Bu uygulamaların yanısıra yolcularımızı çok özel kampanyalardan da faydalandıracağız. Farklılıklarımız, ilk günden bu ayrıcalıklar ile görülecek. Kasim ayında acilacak beta surumu ile İstanbul`un bazi seckin mekanlarinda yapilacak test surusleri ile hizmete baslayacak olan uygulama üzerinden özellikle tanıtım günlerimizde kayıt yaptıran yolcularımıza 15 Aralık - 4 Ocak tarihleri arasında ücretsiz ulaşım hakları, çeşitli promosyonlar sağlayacağız. Açılışa özel bu kampanya gibi birçok büyük kurumdan da kampanya desteği alan YOLO ile yolculuklarınızın standartları değişecek. YOLO’yu hepinize tavsiye ediyorum. YOLO dünyasına hoş geldiniz.”
GooglePlay ve AppStore dan indireceğiniz uygulama sayesinde YOLO dünyasında siz de yerinizi alın. Detaylı bilgi ve iletişim için www.yolo.com.tr adresinden YOLO’ ya ulaşabilir @yolo_turkiye Instagram adresinden de takip edebilirsiniz.

Bir boomads advertorial içeriğidir.

6 Aralık 2016 Salı

Twitter Analytics Nedir?

Attığınız twitler kaç kişi tarafından görülmüş?
Bunlardan kaç tanesi o twiti gördükten sonra o twit  ile ilgilenmiş?
Eğer bu bilgileri öğrenmek isterseniz tek yapmanız gereken Twitter sitesinin bir subdomaini olan https://analytics.twitter.com sitesine gitmek.

Ani Gif Oluşturma



İnternetin ilk çıktığı yıllarda veri trafiğinin az olması için videolar yerine  kullanılan anigifler son dönemde tekrar gündemimize geldi. Bu tarz anigifleri hazırlamak için kullanabileceğimiz pek çok alternatif var. Bunlardan en kolayı http://www.gifmaker.me/ sitesi.  Bu site içerisinde bulunan Create GIF Animation buttonu kullanılarak istenilen hızda resim geçiş özelliği bulunan anigifler üretebilirsiniz.



Ücretsiz Gantt Project Oluşturma Aracı


GanttProject aracı; Windows, OSX ve Linux için geliştirilmiş ücretsiz bir  proje zamanlama ve yönetim uygulamasıdır. Görevler ve kilometre taşları oluşturma, Gantt chart çiziimi gibi özelliklere sahip bir programdır.


Detaylı bilgi ve indirme adresi  http://www.ganttproject.biz/


Web Tabanlı bir proje yönetim aracı olan Trelloyu'da projenizi izlemek ve proje yönetimini esnek bir hale getirmek için deneyebilirsiniz. Kayıt ve kullanım ücretsizdir.

Detaylı bilgi: https://trello.com/





Google Translate'e Yeni Güncelleme

Google Translate Türkçe dil özelliğini değiştirdi. Teknik alt yapı olarak neural network teknolojisini detaylı olarak kullanmaya başladı. Bu sayede Google translate sadece kelimeler üzerinden yaptığı çeviriyi bırakarak cümlesel ve anlamsal çevirilere geçti. Sistemi geliştiren ekibe göre; "geliştirilen sistem verilen cümleye en yakın çeviriyi günlük konuşmaya benzer bir formda oluşturabilmekte."
Kullanılan teknoloji kendini  sürekli olarak geliştirmesi nedeni ile Google translate ilerleyen dönemde daha anlamlı ve kapsamlı çeviriler gerçekleştirebilecek.

Yazılım Sınama Ödev Notları

Ödev Notları  (06.12.2015) itibari ile.

5 Aralık 2016 Pazartesi

13.Veritabanı Oluşturma Aşamaları


Bir veritabanı oluşturulurken çeşitli aşamalardan geçmektedir. Bu aşamaları aşağıdaki gibi sıralayabiliriz.
Bir veritabanının kavramsal modellenmesi;
Kavramsal modelleme (sistemin analizi) yapılması,
Varlık–ilişki modelinin oluşturulması,
İlişkisel modelin oluşturulması.
Veritabanının mantıksal kurulumunun yapılması;
Kavramsal modellerin VYTS bileşenlerine dönüştürülmesidir.
Veritabanının fiziksel olarak kurulması;
Veritabanının programlanması safhasıdır.
Sistem analizi aşamasında, veritabanının tüm bileşenlerinin çok detaylı bir tanımlanması yapılmaktadır. Yani bu sistemde nelerin gerekli olduğu ayrıntılı bir şekilde incelenmektedir. Bu inceleme kod tabanlı değil metin tabanlı bir incelemedir.
Burada ihtiyaçlar belirlenirken son kullanıcının görüşlerine yer verilmektedir. Yani sistemde hangi verilerin tutulacağı ve ne türden işlemlerin yapılacağı sistemi bizzat kullanacak kullanıcıyı da sorularak hazırlanabilmektedir.
Kavramsal model, fiziksel model ile karşılaştırıldığında;
fiziksel model, kullanılmak istenen VTYS üzerinde verilerin bilgisayarda tutulması, kayıtların düzenlenmesi ve erişim yöntemlerinin belirlenmesi vb. işleri gerçekleştirirken,
kavramsal model VTYS ve kısıtlamalardan bağımsız genel amaçlı bir model ortaya koymayı amaçlamaktadır.
Kavramsal model herhangi bir sistem üzerinde değil kâğıt üzerinde veya bir tasarım yazılımı kullanılarak yapılmaktadır. Yani sistem analizi yapılmaktadır ve bu genellikle sözel bir bölümdür. Problemin detaylı tanımlaması yapılmaktadır.

Şimdi kavramsal modele bir örnek verelim.

"Maltepe Üniversitesi Kütüphanesinde kullanılmak üzere bir veritabanı modellenmek istenmektedir. Kütüphanede kitaplar içeriklerine göre tasnif edilmektedir. Her kitaba ait bir kitap numarası ve kitap adı vardır. Kitaplar içeriklerine göre tasnif edildiğinden birde raf numarası verilmektedir. Kütüphane görevlilerinin kendilerine ait kullanıcı adı ve şifreleri vardır. Kütüphane görevlisi ödünç kitap verme, kitap iadesi alma, kitap ekleme ve çıkarma haklarına sahiptir.”
“Kütüphaneden ödünç kitap öğrencilere, öğretim elemanlarına ve diğer personele verilebilmektedir. Kitaplar öğrencilere ödünç verilecekse öğrenci numarası, adı, soyadı, fakülte adı ve bölümü bilgilerine, personele verilecekse personel numarası, adı, soyadı, fakülte adı ve bölümü bilgisine, diğer personele verilecekse, personel numarası, adı, soyadı ve çalıştığı birim bilgilerine ihtiyaç vardır. Kitabın ödünç verilme süresi 15 gündür. Zamanında getirilmeyen kitaplar için personele gün başına ceza kesilir.”



12.İlişkisel Veri Modeli


Şu anda kullanılan veri tabanlarının çoğu ilişkisel veri modelini desteklemektedir.
Bu modelde birbiri ile alakalı olan veriler, tablolar içinde saklanır. Ayrıca tablolar arasında değişik türlerde ilişki  kurulmaktadır.
İlişkiler kurulurken birincil anahtar (primary key) ve yabancı anahtarlar (foreign key) kullanılır.
Anahtar alanlar sayesinde indeksleme yapma olanağı sunan ilişkisel veri tabanlarında erişim ve işlemler daha hızlı yapılabilmektedir.
İlişkiler ve onların temsilleri olan tablolardan oluşan veri modelleri ilk olarak 1970 yılında Codd tarafından ortaya atılmıştır.
İlişkisel veri modelleri formüle edilirken, veri yönetimi ihtiyaçlarını karşılayabilmek için ilişkinin matematiksel teorisi, mantıksal olarak genişletilmiştir.
İlişkisel veri modellerinde kullanılan tek yapılandırma aracı ilişkidir. İlişkinin tanımı, veri tabanı ilişkilerinin zamana bağlı olması dışında, matematiksel tanımı ile aynıdır. Yani, bir veri tabanı ilişkisinde satırlar; eklenebilir, değiştirilebilir ya da düzeltilebilir.
Aşağıda gördüğünüz satırlar, basit bir hastane veri tabanının ilişkisel şemasını göstermektedir.


HASTANE (Hastane_Kodu, Hastane_Adı, Adres, Tel_No, Yatak_Sayısı)
DOKTOR (Hastane_Kodu, Diploma_No, Adı, Uzmanlığı)
İŞÇİ (Hastane_Kodu, Sigorta_No, Adı, Adres, Kıdem, Maaş, D_Tarihi)


Ağ (Network) Veri Modeli
Ağ veri modeli 1970'li yıların başında geliştirilmiştir. Bir verinin doğası gereği birden çok veri ile ilişkisinin olmasından dolayı hızlıca kabul görmüştür.
Bu modelde verilerin birbirine ağ şeklinde bağlandığı varsayılır.
Bir veri ağında iki kullanıcının haberleşebilmesi için bir çeşit adresleme şekli gereklidir. Genelde, iki veya üç adres gerekir. Bazı sistemlerde bir fiziksel adres, bir veri bağlantı adresi ve bir ağ adresi kullanılır. Daha yaygın bir yaklaşım, yalnızca fiziksel ve ağ adreslerini kullanmaktır. Bu yaklaşımda, fiziksel ve veri bağlantı adresi aynıdır. Veri iletişimi bu adresler aracılığı ile sağlanmaktadır.


Nesneye Yönelik Veri Modeli
Diğer veri modellerinden daha sonra ortaya atılan ve karmaşık uygulamalarda başarısını kanıtlamış nesne yönelimli programlamaya dayanan veri modelidir.
Nesne yönelimli sistemler, bir istatistiksel sistem içinde, esnek veri yapılarının geliştirilmesi ve istatistiksel modellerin sunumunda da kullanılmaktadır.


Nesne yönelimli bir veri modelinin çekirdeğini şu unsurlar oluşturmaktadır.
Nesne ve nesne tanımlayıcı: Nesne yönelimli sistemler ve dillerde, gerçek hayattaki her bir varlık birer nesne olarak modellenir. Her nesnenin de bir tanımlayıcısı vardır.
Öznitelikler ve metotlar: Her nesnenin bir durumu ve bir davranışı vardır. Bir nesnenin durumu, nesnenin özniteliklerinin aldığı değerlerin kümesidir. Nesnenin davranışı ise, nesnenin durumu üzerinde işleyen metotlar (program kodları) kümesidir.
Sınıf: Aynı öznitelikler ya da metotlar kümesini paylaşan nesneleri gruplama aracı olarak kullanılır. Nesne ile sınıf arasında bir ilişki vardır. Kendisi de bir nesne olan özniteliğin değeri de sınıfın içinde yer alır (kapsülleme). Bu sınıf, nesnenin özniteliğinin tanım kümesi olarak adlandırılır.
Sınıf hiyerarşisi ve kalıtım: Nesne yönelimli sistemlerde, var olan bir sınıftan yeni bir sınıf türetilebilir. Altsınıf denilen bu yeni sınıf, üst sınıf denilen ve daha önce var olan sınıfın tüm özniteliklerini ve metotlarını kalıtsal olarak taşır.

11.Sıradüzensel (Hiyerarşik) Veri Modeli


Hiyerarşik veri modeli 1960 ve 1970 yılları arasında popüler olan bir modeldir. Bu modelde çoklu ilişkileri temsil edebilmek için, varlık tiplerinin her ilişki için ayrı ayrı tanımlanması gerekir. Bu da gereksiz veri tekrarına sebep olur.
Bu modelde, veriler ağaç yapısına benzer bir biçimde modellenir. En üste kök ve kökün dalları bulunur. Ayrıca her dalın alt dalı sayesinde dallanma ve çeşitlilik artar.
Bu modelde her bir alt dalın sadece bir tane noktadan bağlanma şartı bu modelin en büyük kısıtlamalarından biridir.
Model dahilindeki herhangi bir düğüm, altındaki n sayıda düğüme bağlanırken, kendisinin üstünde ancak bir düğüme bağlanabilir.
Hiyerarşik yapının en tepesindeki düğüm noktasına kök denir ve bu düğümün sadece bağımlı düğümleri bulunur. Bu veri yapısını gösteren grafiğe de hiyerarşik tanım ağacı denir.
Bir hiyerarşik tanım ağacının örneği aşağıda görülmektedir.


10.Veritabanı Türleri



Veritabanları;kullanıcı sayısına,fiziksel konumuna,veri modeline göre üç şekilde sınıflandırılabilir.


Kullanıcı Sayısına Göre
Tek-kullanıcılı (single-user) veritabanları, bir seferde yalnızca bir kullanıcıyı destekler.
Masaüstü veritabanı: tek-kullanıcılı, PC üzerinde çalışır.

Çok-kullanıcılı (multi-user) veritabanları, aynı anda birden çok kullanıcıyı destekler.
Kurumsal veritabanları…


Fiziksel Konumuna Göre
Dağıtılmış sistemlerde tüm belgelerde aynı veri tabanı yönetim sistemi kullanılmış ise homojen dağıtılmış veri tabanı sistemi, farklı belgelere farklı veri tabanı sistemleri kullanılıyor ise heterojen dağıtılmış veri tabanı sistemi denir.
Merkezi Veritabanı: Tek bir veritabanı sistemi bulunur.  Fiziksel olarak ta tek bir merkezde bulunur.
Dağıtık Veritabanı: VTYS’nin çeşitli parçaları bir çok bölgeye dağıtılmıştır. Dağıtılmış veritabanı, kullanıcıya tek bir veritabanı gibi gözükür, fakat ayrı yerlerdeki veritabanlarından oluşur
Res-9


Veri Modeline Göre
Veri Tabanı Yönetim Sistemleri belirli bir veri modeline dayanır.
Bir veritabanı yapısının temelini veri modeli kavramı oluşturmaktadır. Veriyi mantıksal düzeyde düzenlemek için; kullanılan kavramlar, yapılar ve işlemler topluluğuna veri modeli denir.

Birçok veri modeli geliştirilmiştir. Başlıca veri modelleri;
Sıra düzensel veri modeli,
Ağ (network) veri modeli,
İlişkisel veri modeli,
Nesneye yönelik veri modeli.

Sayılan bu veri modellerinin ilk ikisi şu anda kullanılmamaktadır. En yaygın kullanılanı ise, İlişkisel Veri Modelidir. Günümüzde kullanılan VTYS?’lerin hemen hemen tümü ilişkisel veri modeline dayalıdır. Son zamanlarda ortaya çıkan Nesneye Yönelik Veri Modeli, İlişkisel Veri Modeli ile birlikte bazı VTYS’?lerde kullanılmaktadır.

9.VTYS’nin Sağladığı Yararlar


Veri tabanları dışında VTYS’nin de çeşitli faydaları vardır. Bunları şöyle açıklayabiliriz.
Veri Tekrarı: Aynı veriler değişik bilgisayarlarda tekrar tekrar tutulmak zorunda değildir. Dolayısı ile verilerin tekrarı azaltılmış olur.
Veri Tutarlılığı: Herhangi bir tabloda güncellenen bir bilgi başka bir yerde güncellenmemiş olabilir. Böyle bir durum verilerin tutarsızlığına neden olabilir. Bu nedenle bir tabloda güncellenen bir bilgi başka bir tabloda da güncellenmek zorundadır.
Veri Paylaşımı/Eşzamanlılık: Bir VTYS ‘de bir veri tabanına saniyede yüzlerce kez bağlanılabilir. Bu işlem sırasında veritabanının bütünlüğü ve tutarlılığı bozulmamalıdır.
Veri Bütünlüğü: Bir tablodan herhangi bir kayıt silinirse bununla ilişkili olan diğer kayıtlarda tüm tablolardan silinmelidir. Aksi halde verilerin bütünlüğü sağlanamamış olur.
Veri Güvenliği: Verilerin yanlış kullanım sonucu zarar görmelerini engellemek için çok kapsamlı mekanizmalar mevcuttur.
Veri Bağımsızlığı: Bir verinin fiziksel olarak temsili, bulunduğu yer ve verinin kullanımı birbirinden bağımsızdır. Bir uygulamanın, veritabanının veriyi nasıl ve nerede depoladığını bilmesi gerekmez. Uygulama sadece istekte bulunur. Ayrıca veritabanı üzerinde tablo ekleme, silme gibi işlemlerden uygulama programı etkilenmemelidir

8.Veritabanı Yönetim Sistemleri

Veritabanı Yönetim Sistemleri (VTYS - DBMS), kullanıcı ile veritabanı arasında arabuluculuk görevini üstlenir.
Veritabanı yapısı, bir dosya topluluğu olarak depolanır.
VTYS ile bu dosyalara erişilebilinir.
VTYS, paylaşılabilir veriler sağlar.
VTYS, birçok kullanıcı bakış açısına göre verileri birleştirir.
VTYS, son kullanıcı ile veritabanı arasındaki etkileşimi yönetir.
Bir veritabanı sistemi ile bir dosya sisteminin karşılaştırılmasını görüyoruz.



7.Piyasa da yaygın olarak kullanılan başlıca veri tabanı yönetim sistemi yazılımları:

Oracle,
Microsoft SQL Server,
Sysbase,
DB2,
MySQL,
Paradox,
Firebird,
Microsoft Access.
SQLite

Veritabanı kullanımı, geleneksel dosya kullanımına göre birçok yönden üstünlük sağlamaktadır. Bunlar:

Verinin tekrarlamasını önler,
Verinin tutarlı olmasını sağlar,
Aynı andaki erişimlerde tutarsızlıkların ortaya çıkmasını önler.
Verinin güvenliğini sağlar.

Geleneksel dosya sistemlerinin kullanıldığı uygulamalarda, her bir uygulama için veriler ayrı ayrı tutulur. Uygulamalar alt sistemlere bölünmüştür ve her bir alt sistemin kendi veri dosyaları bulunmaktadır. Bu veriler önemli oranda tekrarlıdır.
Örneğin; Türkiye’deki il kodları ve isimlerinden oluşan bir dosya PERSONEL alt sisteminde kullanılabilir. Ancak aynı dosyanın pazarlama alt sisteminde de bir kopyasının bulunması gerekmektedir. Daha başka birçok yerde aynı dosya bilgilerinin tekrarlanması gerekmektedir.
Veritabanı sistemlerinde ise bu tekrarlara gerek yoktur.

Veri tutarlılığını sağlar…
Veritabanı sistemlerinin en önemli üstünlüklerinden biri, veri bütünlüğünün (data integrity) sağlanmasıdır. Veri bütünlüğü, verinin doğruluğunu ve tutarlılığını anlatmaktadır.
Veritabanındaki verilerin doğruluğunu ve tutarlı bir bütün oluşturmasını sağlamak için, bir takım kısıtlamalara yer verilebilir.
Örneğin, öğrenci bilgileri girilirken; doğduğu il koduna 100 değeri kaydedildiğinde, yanlış bilgi nedeniyle, bu giriş isteğinin yerine getirilmemesi istenebilir.

Tutarsızlıkları önler…
Veritabanı uygulamalarında, veritabanı nesneleri başka başka uygulamalar tarafında paylaşılabilir. Veriler aynı anda farklı uygulamalar ve dolayısıyla farklı kullanıcılar tarafından aynı anda paylaşılabilir. VTYS, birlikte kullanımın yol açabileceği sorunları otomatik olarak çözer.
Örneğin, ürün stokunda 100 adet bilgisayar olduğunu varsayalım. İki farklı satış temsilcisinden birinin aynı anda 50, diğerinin ise 55 bilgisayar çıkışı yapmaya çalıştığını düşünelim.
İşlem aynı anda yapıldığı için, 100 birimlik stoktan 105 birim çıkış yapılacağı düşünülebilir.
Ancak VTYS buna izin vermez. Çıkışlar aynı anda yapılmasına rağmen, önce birincisini stoktan çıkarır ve ikincisi için bir kontrol yaparak çıkışı önler.
Bunun için bir kısıtlama tanımlanır. Bu kısıtlama verinin doğruluğunu denetleyecektir. Söz konusu kısıtlamalar veritabanı üzerinde verinin doğru ve tutarlı olmasını sağlayacaktır.
Veritabanı sistemleri, uygulamaların bir bütün olarak tasarlanmasını, alt sistemler arasında ilişkinin kurulmasını ve birden çok uygulamada kullanılan verilerin aynı veritabanı içinde ortak kullanılacak biçimde tasarlanmasını öngörür. Tüm uygulamaların gereksinim duyduğu veriler birbirleriyle bütünleşik yapıdadır. Dolayısıyla veri kaynağı tek olarak tasarlanır ve böylece veri tekrarları önlenmiş olur.

Veri güvenliğini sağlar…
Bazı uygulamaların ürettiği verilerin güvenliğini sağlamak önemli bir konudur. Veritabanı kullanıcılarının veritabanının içerdiği tüm bilgilere kolayca erişmesi istenilen bir durum değildir.
Örneğin; pazarlama bölümü uygulamalarında çalışan bir kullanıcının, diğer PERSONEL özlük bilgilerine ulaşması engellenmelidir.
Bunun gibi, her kullanıcının erişebileceği veriler ayrı ayrı tanımlanmalıdır.
Veritabanı sistemleri erişimlerin kısıtlanması için gelişken olanaklar sunmaktadır. Kullanıcılara veritabanı üzerinde çeşitli yetkiler atanır ve bu yetkiler veritabanı üzerindeki veriler ile birlikte saklanır.

6.Veritabanı Sistemleri

Karmaşık dosya yapıları ve çok sayıda dosya arası ilişki ve kullanıcıların dosyalara erişimi söz konusu olduğunda, geleneksel dosya sisteminin yetersiz kaldığı görülmüştür. Bu sorunu çözmek üzere, veriyi saklama ve veriye erişim konusunda yeni yazılım teknolojilerine yönelme başlamış ve Veri Tabanı Yönetim Sistemleri (VTYS) yaklaşımı ortaya çıkmıştır.
Veri Tabanı Yönetim Sistemleri (VTYS) yaklaşımında veri girişi ve depolanması, veriye erişen uygulama programlarından bağımsızdır. Klasik dosya kullanımında ise, kayıt desenleri ve dosya yapılarında ortaya çıkabilecek en ufak bir değişiklik bile uygulama programlarının değişmesine ve yeniden derlenmesine neden olmaktadır.
Geleneksel dosya sisteminin yetersiz kaldığı durumlardaki sorunu çözmek üzere, veriyi saklama ve veriye erişim konusunda yeni yazılım teknolojilerine yönelme başlamış ve Veritabanı Yönetim Sistemleri (VTYS) yaklaşımı ortaya çıkmıştır.


Veritabanı yönetim sistemleri, veri yönetiminde karşılaşılan problemlerin çoğunu çözer. Bu sistemler, iş (business), araştırma (research) ve yönetim (administration) alanındaki veri yönetimini içeren hemen hemen bütün modern düzenlemelerde kullanılmaktadır.
Veritabanı sistemleri bilgisayar sistemlerinin önemli bir bileşeni olarak değerlendirilir.
Veritabanı yönetim sistemleri (VTYS), birbirleriyle ilişkili veri ve programlar topluluğundan oluşmaktadır.
Veri topluluğu bir veritabanı olarak değerlendirilir.
Veritabanı bir kuruluşa ilişkin bilgilerin yer aldığı ortamdır.
Veritabanı sistemleri, veri kümelerinin düzenli biçimde tutulduğu ve bu verilerin çeşitli yazılımlar aracılığıyla yönetildiği ortamlardır.

5.Hesaba Dayalı Dosyalar

Bir diğer doğrudan erişimli dosya türü hesaba dayalı dosyalar (hashed files) olarak bilinir.
Bu tür dosyalar, indeksli dosyalar gibi ayrı bir indeksin tutulmasını gerektirmez.

Dosyanın herhangi bir kaydına doğrudan doğruya erişebilmek için bir hesaplama algoritması kullanır.


4.İndeksli Dosyalar

Sıralı dosyalarda tüm kayıtların art arda gelmesi gerekiyordu. Bu soruna çözüm bulmak amacıyla doğrudan erişimli dosyalar kullanılır. Bu tür dosyalarda, her bir arama işlemi dosyanın başından itibaren yapılmaz. Belirlenen kayıtlara doğrudan erişilerek üzerinde işlem yapılır.
Doğrudan erişimli dosyaların en tanınmışı, indeksli dosyalar olarak bilinir. İndeksli dosyalar, veri dosyasından ayrı olarak bir indeks dosyasının oluşturulması ile birlikte hazırlanır.
Bir dosya için oluşturulan indeks; söz konusu dosyanın anahtarları ile bu anahtarların disk üzerinde bulunduğu adresi içerir.
Anahtar alan, erişimde kullanılmak üzere seçilen alan olarak değerlendirilir.
Örneğin; öğrenci dosyasında, öğrenci numarasını içeren alanının indeks alanı olarak tasarlandığını varsayalım. Herhangi bir öğrencinin bilgilerine ulaşmak söz konusu olduğunda; bu numara önce indeks üzerinde aranılarak bulunur ve söz konusu kayıta ilişkin adres bilgisi elde edilerek, bu adrese doğrudan erişilir.
Hatırlatma: İndeksli dosyalarda önce indeks dosyasından bir kayıt okunur. Bu kayıt veri dosyasının ilgili satırına ait adresi içerir. Bu adres ile ilgili kayıt satırına ulaşılır.


3.Sıralı Dosyalar


Klasik bilgisayar dosyaları birbirinden bağımsız; muhasebe, stok, pazarlama, üretim ve diğer uygulamalarda kullanılmak üzere hazırlanır. Bu dosyalar, sıralı ya da doğrudan erişim yöntemleri kullanılarak işlenir. Sıralı erişimde, dosyanın tüm kayıtları tek tek taranarak istenilen kayıtlara ulaşılır. Doğrudan erişim yönteminde ise, kayıtlar tek tek sırayla okutulmaz, istenilen kayıta doğrudan erişerek işlenir.
Sıralı dosyalar, bir başka deyişle ardışık dosyalar, içerdiği kayıtlara birinci kayıttan başlamak üzere sırayla erişim yapmak üzere tasarlanmış dosyalardır. Bu tür dosyaların kayıtlarına ardışık olarak erişilebilmesine karşılık, kayıtlar fiziksel olarak ardışık olmayabilir.
Sıralı dosyaların her bir kayıtına ardışık olarak erişilmesi bazı durumlarda yararlı olmasına rağmen, bazı uygulamalarda sorunlar yaratır.
Örneğin; okuldaki öğrencilerin tümü listelenecek ise, kayıtlara sırayla erişim söz konusudur. Bu durumda dosyanın sıralı olarak tasarlanmış olması sorun yaratmaz. Ancak sadece birkaç öğrencinin listelenmesi isteniliyorsa, tüm öğrencilerin okunarak böyle bir sonucun elde edilmesi uygun bir yöntem olmayacaktır. Söz konusu öğrencilere doğrudan erişilmesi en uygun yoldur.

2.Kayıt ve Alan

Dosyalar kendi içinde kayıtlara bölünmüştür. Örneğin bir sınıftaki öğrenci listesini göz önüne alalım. Bu liste çok sayıda veri içerebilir. O halde, listenin ana bellekte tutulması söz konusu olamaz. Ana bellekte tutulduğu takdirde, bilgisayarın kapatılması durumunda bu bilgiler yok olacaktır. O halde bu verilerin kalıcı bir ortamda, örneğin sabit disk üzerinde yer alması gerekecektir. Disk üzerinde tutulan bu bilgiler, yeni öğrenci eklendiğinde büyüyecek veya çıkarıldığında küçülecektir. Ayrıca zaman zaman içeriği değişecektir. Bu listedeki her bir öğrenci bilgisi bir mantıksal kayıt oluşturur. Her kayıt da farklı bilgiler içerebilir. Örneğin; öğrencinin adı, baba adı, doğduğu yer vb. gibi bilgileri içerebilir. Sayılan bu bilgilerin her birine alan (field) adını veriyoruz.

1.Klasik Dosya Yapıları

Bilgisayarların ilk ortaya çıktığından bu yana hem donanım hem de yazılım alanında pek çok değişim ortaya çıkmıştır. Doğal olarak, bu değişim, kuruluşların ve kişilerin gereksinimlerine daha iyi cevap verebilmek amacıyla ortaya çıkmaktadır.
Bilişim teknolojilerindeki gelişme ile birlikte çoğu kuruluşta eskiye oranla çok daha fazla veri üretilmeye başlanmıştır. Söz konusu veriler, kuruluşların normal günlük işlemlerinde kullanıldığı gibi üst düzey karar vericiler tarafından da yoğun biçimde talep edilmektedir. Özellikle üst düzey yöneticilerin, yönetimsel anlamda doğru kararlar alabilmeleri için ham verilerden türemiş iyi bilgilere ihtiyacı vardır.
Kuruluşlar kendi bünyesindeki tüm verileri bilgisayar ortamına aktarmaya başladıklarından, bunun sonucu olarak  geleneksel veri saklama ve işleme tekniklerinin artık yetersiz kaldığı gözlemlenmiştir. Bu noktada veritabanı kavramı devreye girmiştir. Veri, bir veritabanında depolandığında etkin bir biçimde yönetilmektedir. Veritabanları, bilgisayar dosya sistemlerinden geliştirilmiştir. Bu noktada dosya sistemi özelliklerinin anlaşılması önemlidir. En basit anlamda veri, işlenmemiş ham bilgilerdir. Bilgi, verinin belli bir anlam ifade edecek şekilde düzenlenmiş halidir.
Hem donanım hem de yazılım alanında pek çok değişim ortaya çıkmıştır. Bu değişim, kuruluşların ve kişilerin gereksinimlerine daha iyi cevap verebilmek amacıyla ortaya çıkmaktadır.
Pek çok kuruluşta eskiye oranla çok daha fazla veri üretildiğinden, geleneksel veri saklama ve işleme tekniklerinin yetersiz kaldığı gözlemlenmiştir.
Veri saklama birimlerinde depolanan veri topluluklarına “dosya” (file) denir.

Kuruluşların muhasebe, satış, üretim, stok ve diğer tüm faaliyetlerinde üretilen veri hem güncel işlerin yürütülmesi hem de yöneticilere alacağı kararlarda destek sağlamak üzere, belirli yapılarda ayrı dosyalar biçiminde depolanabilir. Bu söylediğimiz geleneksel, yani klasik dosya sistemlerini kullanan kuruluşlar için geçerlidir. Veritabanı sistemlerinde ise veriler daha farklı biçimde, tablolar biçiminde tanımlanır.
Aşağıda basit bir klasik dosya sistemi görülmektedir.