22 Mayıs 2014 Perşembe

Access Modifiers(Erişim Belirleyiciler)


Erişim belirleyiciler bir metoda ve özelliğe nerelerden erişileceğini tanımlar.Her metot ve özellik için, bildirim yapmadan önce erişim belirleyici türünü bildirmemiz gerekir.
C# dilinde 5 tane erişim belirleyici vardır.Bunlar; public, private, protected,internal ve 'protected internal' anahtar sözcükleri ile belirlenir.

1- Public: Sınıfın bir özelliğine ya da metoduna istenildiği yerden erişilmesini sağlar.Ayrıca kalıtım almama gerek olmaksızın tanımlanan bir sınıf ya da sınıf üyesine de her yerden sınırsız ulaşabiliriz.

2- Private: En kısıtlı erişim sağlayan erişim belirleyicidir. Private olarak tanımlanmış üye elemanlara dışarıdan erişmek mümkün değildir. Sadece tanımlandığı sınıfın içerisindeki üye elemanlara erişilebilir.

3- Protected: Tanımlanan bir sınıf üyesine, sadece tanımladığı sınıfı miras alan diğer sınıflar içerisinde erişilebilir. Kalıtım yolu ile sadece public ve protected elemanlar aktarılır.

4-Internal : Tanımlanan bir sınıf ya da sınıf üyesine aynı proje içerisinden istediğim şekilde ulaşabilirim.

5- Protected Internal: Tanımlanan sınıf üyelerini hem "internal" gibi aynı assembly içerisinde (yani .dll ya da .exe dosyaları içinden )  hem de aynı assembly içerinden olsun olmasın protected gibi tanımladığı sınıfı miras alan diğer sınıflardan da erişilebilir.

NOT: Class'lar sadece public ya da ınternal olarak tanımlanabilir.


14 Mart 2014 Cuma

Web User Control Nedir?


Asp.Net ile yerleşik (built in) şekilde gelen web kontrolleri bazı durumlarda sizin için yetersiz kalabilir.Böyle durumlarda kendi kontrolünüzü oluşturma ihtiyacı duyarsınız.Bunun için  Web User Control'ler kullanılır.
Web User Control'lerin bir diğer kullanılma amacı ise uygulamanızdaki sürekli tekrar eden işlemlerin tek bir defa tanımlanıp istediğimiz yerde kullanabilmenizi sağlamasıdır.Bu da tekrar kullanabilirlik sağlamaktadır.

Web User Control Özellikleri 

  • User Control'lerin dosya uzantıları  ".ascx "'tir.
  • Çalışabilmeleri için mutlaka bir web form'da bulunması gerekmektedir.Kendi başlarına çalıştırılamazlar.
  • Page Directive'i yerine Control isimli Directive kullanılır.
  • User Control'lere ait yeni Property ve Event'lar tanımlanabilir.

Web User Control Oluşturulması

  1.  Öncelikle bir web projesi açtık.
  2. Projenin üstüne sağ tıklayarak Add >New Item >Web > Web User Control seçip controlümüzün ismini yazıyoruz ve Add butonuna tıklıyoruz.
          Bu Web User Controlü bir örnekte uygulayalım.Örnek bir site üzerinden anlatmaya çalışacağım.



Şekilde gördüğümüz Categories kısmı hemen hemen her sayfada sağda olmaktadır.Tekrar tekrar her sayfaya Categories özelliklerini eklemek yerine sadece web user control sayfamızda tanımlıyoruz.Böylece tekrar kullanabilirlik sağlıyoruz.

Eklemiş olduğumuz web user control'e Categories'in tüm özellklerini aktardım.

Bu ekran çıktısı yukarıda yaratmış olduğumuz WebUCCategories.ascx dosyasının içeriğidir.

Şimdi de ilgili sayfalarımıza bu özelliği atayalım.Mesela ben bu özelliği anasayfa ve iletişim sayfalarımda kullanmak istiyorum.Ben önceden Masterpage oluşturup default.aspx ve iletisim.aspx adında iki sayfa oluşturmuştum.


İletişim.aspx sayfamda ilgili div in içerisine WebUCCategories.ascx dosyasına sol ile basılı tutup sürüklüyoruz. Sürüklediğimizde  <uc1:WebUCCategories runat="server" ID="WebUCCategories" /> gibi bir yazı çıkması lazım.Ekran çıktımızda da görüyoruz.

Böylece küçük örneğimizi uygulamış olduk.Tavsiyem konuyu pekiştirmek adına örnek yapmanızdır.Diğer yazılarda görüşmek üzere..




Master Page Nedir?

Master Page web formlara benzer ve ayrıca çok önemli bir özelliktir.Öncelikle neden Master page 'e ihtiyaç duyulmuştur.Bir web sitesi genel olarak header, content, menu ve footer'dan oluşur.Genel olarak fark ettiyseniz sadece sitelerin content (içerik) kısmı değişmektedir.Eğer daha önce html ve css ile uğraştıysanız her bir html sayfasına sabit olan kısımların (header, menu ve footer gibi) özelliklerini kopyalamak zorunda kalıyorduk.
Master page mantığında ise sadece bu web forma bu özellikleri atıyoruz daha sonra yaratacağımız bütün sayfalarda kullanıyoruz.Böylece istediğim web forma kullanarak daha dinamik, daha hızlı ve daha performanslı web formlar oluşturabiliyoruz.  



Genel olarak bir sitenin görünümü


Master Page Kullanarak Bir Site Oluşturmak 

Visual Studio 2012 kullanarak Master page ile basit bir web sitesi oluşturalım.Böylece Master page kullanımını öğrenmiş olacaksınız.Size önerim öncelikle Master page'i tasarlayıp daha sonra kodlamaya geçmenizdir.
Aşağıdaki adımları uygulayalım.

1-Visual Studio 2012'yi açıyoruz.

2-New Project > Asp.Net Empty Web Application seçiyoruz.Projemizi bir isim veriyoruz.

3- Projemizin üstüne gelerek sağa tıklıyoruz ordan Add > New Item > Web > MasterPage seçip masterpagemize bir isim veriyoruz.


3.İşlemin Görünümü
4-Varsayılan kodlarıyla beraber Masterpagemiz oluştu.Bu kodlarda iki şey dikkatimizi çekiyor.Birincisi dosyamızın uzantısı master türündedir.İkincisi ise ContentPlaceHolder adındaki ASP.NET kontrolleri sayfaya eklenmiştir.

Buradaki ContenPlaceHolder kontrolü bizim içerik sayfalarımızın yer alacağı kısımdır.ContenPlaceHolder dışındakiler ise tüm sayfalarda ortak olacaktır.Bizimde amacımız header,footerın ortak olması peki nereye kodlarımızı yazmalıyız.Tabi ki ContenPlaceHolder dışına yazılmalıdır.




Fark ettiyseniz head bölümünde ve body bölümünde ContentPlaceHolderlar var ve head etiketindekini bu örnekte kullanmayacağım.Body kısmına bakacak olursak header ve footerın sabit kalmasını istediğim için ContentPlaceHolder dışına yazdım.En basit haliyle master pagemiz oluştu sıra geldi, master sayfamıza içeriklerini gömmeye.

5- Pojemize sağ tıklayarak Add>New Item>ContentPage seçip sayfanın ismini default.aspx yapıyoruz.


5.İşlemin Görünümü

6- ContentPage seçip add butonuna tıkladığımızda yarattığımız master pagemizi seçip Ok tuşuna basıyoruz.
                                                

6.İşlemin Görünümü

7- default.aspx sayfamızın görünümü aşağıdaki gibidir.



Dikkatinizi çektiyse ContentPlaceHolder içerisine içeriğimizi yazıyoruz.Çünkü artık master pagemizde header ve footer sabit olup anasayfamızda veya başka isimde sayfa açarsak  fark etmez sadece içerik kısmımız değişeceği için ContentPlaceHolder içerisine yazıyoruz.

Son olarak iletisim.aspx adında bir sayfa oluşturdum.En basit şekliyle görünümünü paylaşıyorum.

Sitemizde bundan sonra ekleyeceğimiz bütün sayfalarda yukarıdaki ekran çıktısında da gördüğümüz üzere sadece sayfalarımızın içeriği değişecektir.Aynı şekilde birçok sayfa ekleyebilirsiniz. 



14 Şubat 2014 Cuma

SQL-JOINLER

Merhaba arkadaşlar bu yazımda size joinleri anlatacağım. Join çeşitlerini daha iyi kavrayabilmemiz adına küme şekillerine de yer vereceğim.

Veritabanı tasarımı yaparken veri tekrarını önlemek adına birçok tablo oluşturur ve bu tabloları birbirleriyle ilişkisel hale getiririz.Tablolarımızı yabancı anahtarlarla (foreign key) birbirlerine bağlarız.Örneğin,


 Ben şirketteki çalışanların hangi bölümde çalıştıklarını görmek istiyorum.
Sadece select PersonelAdiSoyadi,BolumNo from Personels sorgusunu yazarsam karşıma sadece çalışanların adı soyadı ve bölüm numaraları gelir böylelikle ben hangi bölümde çalıştıklarını göremem. 
Eğer select BolumNo,BolumAdi from Bolum diye sorgu yazarsam bu seferde çalışanların isimlerini göremem.
Ayrı ayrı sorgular yazmak yerine bu iki sorguyu tek bir sorguda yazarak istediğim işlemi gerçekleştirebilirim.

Tablo birleştirme işlemini iki farklı yöntemle yapabiliriz.

1-WHERE ile sorgu koşulu belirleyerek
2-JOIN komutunu kullanarak

WHERE ile sorgu koşulu belirleyerek çalışanların hangi bölümde çalıştıklarını gösteren bir sorgu yazacağım.

Select p.PersonelAdiSoyadi,b.BolumAdi  from Personels p ,Bolum b
Where p.BolumNo = b.BolumNo

JOIN komutu kullanarak aynı sorguyu yazalım.

Öncelikle Join ifadeleri 4'e ayrılır.

  • INNER JOIN
  • LEFT JOIN
  • RIGHT JOIN
  • FULL JOIN

INNER JOIN:  Sadece her iki tabloda da olan verileri gösterir.Yani iki tablo için de boş ( NULL) verileri temizler ve göstermez.

                                       Küme ifade olarak inner join kesişimi ifade etmektedir.


                         
  select p.PersonelAdiSoyadi,b.BolumAdi,b.Sehir from Personels p
  inner join Bolum b
  on p.BolumNo = b.BolumNo


Inner joinle personels ve bolum tablolarımızı birleştirip çalışanların bölüm hatta hangi şehirde çalıştıklarını öğrendik.

LEFT JOIN: İlk tablo (Personels) için boş olan verileri de göstermemizi sağlar.


P left join B kümelerde sol tarafta olan küme demektir. P tablosundaki veriler koşulsuz gelir, B tablosundakiler eşleşebildiklerini getirir eşlemediklerini NULL olarak getirir.
   
                     
select p.PersonelAdiSoyadi,b.BolumAdi,b.Sehir from Personels p
left join Bolum b
on p.BolumNo = b.BolumNo



RIGHT JOIN: İkinci (Bolum) tablodaki boş olan verileri de göstermemizi sağlar. 

P right join B kümelerde sağ tarafta olan küme demektir.B tablosundaki veriler koşulsuz gelir, P tablosundakiler eşleşebildiklerini getirir eşlemediklerini NULL olarak getirir.


select p.PersonelAdiSoyadi,b.BolumAdi,b.Sehir from Personels p
right join Bolum b
on p.BolumNo = b.BolumNo



FULL JOIN: İki tablo içinde boş olan verileri gösterir.

P full join B kümelerde birleşime karşılık gelir.Her iki kümedeki tüm elemanları getirir.Eşleştirebildiklerine  ilgili tablolardaki verilere, eşleştiremediklerini NULL olarak getirir.

select p.PersonelAdiSoyadi,b.BolumAdi,b.Sehir from Personels p
full join Bolum b
on p.BolumNo = b.BolumNo



İşimize yaracak olan join çeşitlerini anlatmaya çalıştım umarım anlaşılır olmuştur görüşmek üzere..



                       







12 Şubat 2014 Çarşamba

SQL-INSERT,UPDATE,DELETE

  INSERT

- Insert komutu bir tabloya kayıt eklemek için kullanılır. Önceki yazımdaki personelbilgi veritabanımı kullanacağım.

Bolum tabloma Arge adında bolumadı eklemek istiyorum.

Insert into Bolum(BolumAdi) values ('Arge')                            

Bu sorgumuzda bolum tablomuza arge adında bir veri kayıt ettik.
ınsert into komutumuzdan sonra tabloadı parantez içine ise hangi alana veri ekleyeceksek o kolonun ismini yazıyoruz.Daha sonrada kayıt edeceğimiz bilgileri yazıyoruz.Örneğimizde sadece bir veri ekledim.
 
Insert into Bolum(BolumAdi,Sehir) values ('Yazılım','Ankara')

Bu sorgumuzda dikkatinizi çekerse bolumno ya birşey eklemedim çünkü veritabanımı oluştururken bolumno ya 'otomatik sayı' özelliği verdiğim için o alana herhangi bir veri ekleyemem.

UPDATE

-Update komutu bir tablodaki kayıtların güncellenmesi amacıyla kullanılır.Hangi kayıt yada kayıtların güncelleneceği WHERE sözcüğü ile verilen kriter ile, kayıtlardaki güncellenecek alanlar ise SET sözcüğü sonrasında yeni değerlerinin atanması ile belirtilir.

Update Bolum set BolumAdi = 'Proje Yönetim'    
where BolumNo = 8

Yukarda insert into ile yazılım departmanı eklemiştim. Fakat ben bu bolumu güncelleyip bu sorguda yazılım yerine proje yönetim bolumunu ekledim.



DELETE

-Delete komutu bir tablodaki bir yada daha çok kaydı silmek amacıyla kullanılır.Hangi kayıt yada kayıtların silineceği WHERE sözcüğünden sonra verilen kriter ile belirlenir.

delete from Bolum where BolumNo = 7          
Bu sorgumuzda bolumnosu 7 olan bolumadı da arge olan veriyi bolum tablosundan sildik.

Not: Eğer WHERE sözcüğü hiç kullanılmaz ise tablodaki bütün veriler silinir.

delete from Bolum



11 Şubat 2014 Salı

-SQL Fonksiyonları-

Programlama dillerinde olduğu gibi, SQL'de de bazı artimetik işlemler için  yada tip dönüşümü yapmak için hazır olarak sunulan fonksiyonlar vardır.

SUM  ifadesi belirli bir sütundaki sayısal verileri toplar.
AVG  ifadesi ise belirli bir sütundaki  sayısal verilerin aritmetik ortalamasını gösterir.

    SELECT SUM(Maas) AS ToplamMaas FROM Personels

     
Bu sorgumuz bütün personelin maaşlarının toplamını gösterir.




SELECT AVG(Maas)
AS [MAASLARIN  ORTALAMASI] FROM Personels

Bu sorgumuz maaşların aritmetik ortalamasını gösterir.

Not: Eğer sütunumuza isim verirken boşluk karakteri kullanmak istersek  [ ]  içinde yazılmalıdır.

MAX ifadesi belirli bir sütundaki en büyük veriyi görüntülemek için kullanılır.
MIN ifadesi ise belirli bir sütundaki en küçük veriyi görüntülemek için kullanılır.


 SELECT MAX(EnyuksekMaas) AS en_yüksek_maas FROM MaasAralik

 Bu sorgu MaasAralik tablosundaki en yüksek maaşı getirir.


COUNT ifadesi sorgunun ürettiği satır sayısını döndürür.

   SELECT COUNT(*) AS [Toplam Kayıt Sayısı] FROM Personels

   Bu sorgu Personels tablosundaki toplam kayıt sayısını döndürür.

Not: Eğer COUNT içinde (*) yerine belirli bir sütun ismi verilirse o sütundaki NULL olmayan değer sayısını döndürür.

TOP  ifadesi  ilk belli sayıdaki kaydı almaya yarar.

   SELECT TOP 2 PersonelAdiSoyadi FROM Personels

    Bu sorguda Personels tablosundaki ilk 2 kaydı getirdi.


GROUP BY İfadesi SQL'de gruplandırma yapmak için kullanılır. SUM,AVG gibi bazı fonksiyonların tablonun tamamı için değilde, belirli bir alana yada alanlara göre gruplandırarak çalıştırılması GROUP BY deyimi ile sağlanır.

  SELECT AVG(Maas),Gorev
  FROM Personels
  GROUP BY Gorev

Bu sorguda personelin ortalama maaşlarını  her görev için ayrı ayrı listeler.


22 Ocak 2014 Çarşamba

-Temel SQL Komutları-

Bir önceki SQL'e giriş yazımda personel bilgilerini içeren bir veritabanı oluşturmuştuk. SQL temel komutlarını bu örnek üzerinde anlatacağım.

SELECT ifadesi SQL dilinde bir tablodan kayıt çekmek için kullanılır.
Select ifadesinden sonra sütun yada sütunların ismi yazılır.
From ifadesinden sonra da hangi tablodan veri çekeceksek o tablonun ismi yazılır.

 Birkaç sorguyla daha iyi anlayalım.

SELECT *  FROM Bolum    
 *  ifadesini bolum tablosundaki  bütün sütunları görüntülemek için            kullandık.        

Eğer * değilde bolum tablosunda istediğimiz sütunları getirmek
isteseydik.

SELECT BolumAdi,Sehir  FROM Bolum ---- sorgumuzu bu şekilde yazmamız gerekirdi.

Eğer sorgumuzda bir kritere göre kayıt çekmek istersek WHERE ifadesini kullanırız.
WHERE ifadesinden sonra seçim kriteri yazılır.

SELECT PersonelAdiSoyadi FROM Personel                        
WHERE Maas>4.0000

Bu SQL cümlesi 4.000 üzeri maas alan personelin adını ve soyadını 
ekrana getirir.  

Programlama dillerinde kullanılan karşılaştırma ifadeleri
  (<, >, <= ,>= ,= ,< >) 
mantıksal ifadeler ( AND,OR,NOT) sql dilinde de kriter verirken kullanılır.

SELECT * FROM Personels
WHERE Gorev= 'Analist' AND Maas>4.0000

Bu SQL cümlesi görevi analist olan ve 4.000 üzeri maas alan personeli gösterir.

 * ifadesinden dolayıda o personele ait tüm sütunları ekrana yazdı.

LIKE ifadesi belirli bir karakter katarını barındıran verileri aramak için kullanılır.
Örneğin, sadece M ile başlayan personellerin adını göstermek istiyoruz.Hemen sorgumuzu yazalım.

SELECT PersonelAdiSoyadi,Gorev FROM Personels      
WHERE PersonelAdiSoyadi LIKE 'M%'

Eğer LIKE '_A%' bu ifadeyi yazarsak ikinci harfi A olan verileri
getir demiş oluyoruz. LIKE '%R' ifadesini yazarsak son harfi
R olan verileri getir demiş oluyoruz.

BETWEEN ... AND ... ifadesini eğer iki değer arasında karşılaştırma yapacaksak kullanılır.

SELECT FROM Personels                                          
WHERE Maas BETWEEN 1.0000 AND 6.0000                  
Bu SQL cümlemizde maaşı 1.0000 ve 6.0000 arasındaki personelleri gösterir.


AS ifadesi ile sütunların kendi ismi yerine uygun gördüğünüz takma bir isim verilebilir.
SQL sorgularında matematiksel işlemlerde yapılabilir.SELECT ifadesinden sonra bir sütunun matematiksel işleme tabi tutulması ve işlemin sonucunun gösterilmesi sağlanabilir.

Örneğin, tabloda aylık maaşları saklanan personelin yıllık maaşlarının görüntülenmesi istenebilir.

SELECT PersonelAdiSoyadi,Gorev,Maas*12 
as YıllıkÜcret  
FROM Personels                                                                  




ORDER BY eğer görüntülenecek olan kayıtların belirli bir sütuna göre sıralı olarak görüntülenmesi isteniyorsa kullanılır.
Sıralama yukarıdan aşağıya doğru artan sırada olacaksa ASC 
Azalan sırada olacaksa DESC kullanılır.

SELECT PersonelAdiSoyadi,Gorev FROM Personels  
Order by GirisTarih

Bu sorguda personeli işe giriş tarihine göre sıraladık.                                                        




21 Ocak 2014 Salı

-SQL GİRİŞ-

SQL  Nedir?

Yapısal Sorgulama Dili olan SQL, ilişkisel veritabanlarındaki bilgileri sorgulamak için standart
 kullanımı olan bir dildir.SQL komutları ile, tablolara yeni kayıt girme, varolan kayıtları sorgulama(arama ve listeleme), varolan bilgileri değiştirme ve varolan kayıtları silme işlemleri yapılabilir.

Öncelikle sql komutları konumuza geçmeden önce personel bilgileri içeren küçük bir veritabanı oluşturalım.

Veritabanı oluştururken ilk önce tablolarımızı belirtmemiz gerekir.

Personel Tablosu                Bölüm Tablosu        Maaş Aralık Tablosu
-PersonelNo                       -BölümNo              -MaaşNo
-PersonelAdiSoyadi            -BölümAdi             -EndüsükMaaş
-Gorevi                              - Şehir                    -EnyüksekMaas
-İşeGirisTarihi
-Maası
-BölümNo

Tablolarımızı oluşturduk diyeceksiniz bu PersonelNo,BölümNo,MaasNo nereden çıktı.

Her tablomuzun birincil anahtarı(Primary Key) olmalıdır. Bu anahtara neden ihtiyaç duyarız.
Örneğin, personel tablosunda aynı isme ve soyisime sahip personel olabilir.Arama yaparken istediğimiz personele ulaşmak için her bir personele özel bir numara atamalıyız.Yani PersonelNo bir birincil anahtardır.

Birincil Anahtar(Primary Key): Bir kayıta ulaşmayı sağlayacak anahtar veridir.Kesinlik tekil(unique) bir değer olmalıdır.Bir tablonun içinde birden fazla birincil anahtar olabilir.

Evet arkadaşlar, dikkatinizi çektiyse personel tablomuzda BölümNo diye bir sütunumuz var.İçinizden BölümNo da bir birincil anahtardır diye düşünüyor olabilirsiniz.Tabi ki yanlış düşünmüyorsunuz BölümNo da bir birincil anahtardır ama Bölüm tablosunun birincil anahtarıdır.Ee peki Personel Tablosundaki BölümNo da nedir? O tablodaki BölümNo sütunumuz bir yabancı anahtar(foreign key)dır.

Yabancı Anahtar(Foreign Key): Bir tabloya girilecek kayıtları başka bir tablonun belli alanındaki verilerle sınırlandırmaya ve ilişkilendirmeye yarar.Yani yabancı anahtar aynı tablo ya da başka bir tablodaki birincil anahtarla eşleştirilir.

Şimdi bu oluşturduğumuz tabloların SQL Server 2012'deki gösterimlerine bakalım.
Primary Key(PK)
Foreign Key(FK)

Diyagram







Tabloların içindeki bilgileri de gösterdim ki SQL komutlarını daha iyi anlayalım.




Genç Beyin Ben:)

Genç Beyinler'de, İzmir Üniversitesi birinci oldu

İzmir Üniversitesi, 'İkinci Genç Beyinler Yeni Fikirler Proje Pazarı ve Bitirme Projeleri Ortak Sergisi'nde, Proje Fikir Yarışması Birincilik Ödülü'nü kazandı. Ege Bölgesi'nden 8 üniversitenin katılımı ile İzmir Ekonomi Üniversitesi'nde gerçekleşen 2'nci Genç Beyinler Yeni Fikirler Proje Pazarı ve Bitirme Projeleri Ortak Sergisi ve Proje Fikir Yarışması, İzmir Üniversitesi'ne bir birincilik getirdi. Bilgisayar ve Yazılım Mühendisliği bölümlerinden 300'ün üzerinde son sınıf öğrencisinin hazırladığı 74 projenin sergilendiği ve çalışmaların hakemler tarafından titizlikle incelendiği etkinlikte, 5 çalışma finale kalma başarısını gösterdi. Yazılım Mühendisliği Öğretim Üyesi Prof. Dr. Emrah Orhun'un danışmanlığında ve Akademi Disleksi işbirliğiyle yürütülen, İzmir Üniversitesi öğrencileri Elif Kılıçoğlu ve Samiye Ecem Er tarafından disleksik çocukların okuma eğitimleri için geliştirilen yazılım projesi, Proje Fikir Yarışması Birincilik Ödülü'ne değer bulundu. Öğrencileri tebrik eden Rektör Prof. Dr. Kayhan Erciyeş, mühendislik alanında yapılan çalışmalar ile toplumsal sorunlara çare olmaya çalışan öğrencilerini takdir ettiklerini söyledi.

http://www.yeniasir.com.tr/Ekonomi/2013/08/20/genc-beyinlerde-izmir-universitesi-birinci-oldu

19 Ocak 2014 Pazar

Veritabanı Nedir?

Bilgilerimizin düzgün bir şekilde depolanmasına veritabanı diyebiliriz.Doğru bir şekilde yapılandırıldığında bilgilere ulaşmak hızlı ve doğru olacaktır.Bilgisayar terminolojisinde, sistematik erişim imkanı olan, yönetilebilir, güncellenebilir,taşınabilir ve birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir.Verilerin doğru bir şekilde yapılandırılması için bilgiler belirli bir veri modeli ile saklanmalıdır.
Veritabanı Örnekleri
Üniversite- Öğrenci İşleri Bilgi Sistemi
Hastane-Hasta, doktor, tedavi, araç-gereç, mali bilgiler
Ticari bir şirket- Müsteri, Ürün, Satış, Ödeme, Teslimat bilgileri
Banka-Müşteri, mevduat, kredi kartı, kredi bilgileri


Veritabanı Yönetim Sistemi(VTYS)

Bir veritabanını tanımlamak,yaratmak,üzerinde istenilen bilgiyi aramak, gerektiğinde ekleme-silme-değiştirme işlemi gibi veritabanı ile ilgili her türlü işletimsel gereksinimleri karşılamak için kullanılan geniş kapsamlı yazılım sistemidir. 
Günümüzde kullanılan VTYSler; Microsoft Access (genelde okullarda tercih edilir), Microsoft SQL server, Oracle vb. gibi birkaç veritabanı isimleri sayabiliriz.
Bir veritabanını oluşturan öğeler vardır.Bunlar; 
"Veritabanı > Tablolar > kolonlar > Veri" olarak sıralayabiliriz.

Veri Modeli (Data Model)
Veri Modeli, verileri mantıksal düzeyde düzenlemek için kullanılan yapılar, kavramlar ve işlemler topluluğudur.Her VTYS belirli bir veri modelini kullanır.Günümüzde en çok kullanılan veri modeli "ilişkisel veri modeli"dir.


Veritabanı Sistemlerinin Üstünlükleri

1- Verinin tekrarlanmasını önler.
2- Verilerin Tutarlı olmasını sağlar.
3- Aynı andaki erişimlerde tutarsızlıkların ortaya çıkmasını önler.
4- Verilerin güvenliğini sağlar.

Veritabanı Yapısı



Tablo
Bir veritabanı tablolarda saklanan verilerden oluşur.Tablolar verilerin satırlar ve sütunlar halinde düzenlenmesiyle oluşan veri grubudur.Örneğin,öğrenci bilgilerini veritabanında saklamak için bir tablo oluşturalım.Tablo içindeki her bir bilgi kayıt, sütunlar ise alan olarak adlandırılır.
Örneğin öğrenci bilgileri tablosunda
- Öğrenci Numarası
- Adı Soyadı
- Doğum Tarihi
- Doğum Yeri
bilgileri yer alacaksa

ve tablomuz oluştu.