9 Ocak 2017 Pazartesi

Zayıf ve Kuvvetli Varlıklar


Bazı durumlarda varlık kümesi içinde bir anahtar bulmak mümkün olmayabilir. Hatta niteliklerinin tümü bir araya getirildiğinde yine bir anahtar elde edilemeyebilir. Böyle varlık kümelerine zayıf varlık kümesi adı verilir.

Buna karşılık, varlık kümesinin içerdiği niteliklerden en az biri bir anahtar oluşturabiliyorsa bu varlık kümesine kuvvetli varlık kümesi adı verilir.


Zayıf ve Kuvvetli Varlıklar

Örnek: Bir “PERSONEL” varlığının aşağıda belirtilen niteliklere sahip olduğunu varsayalım.

“Adı ve Soyadı”
“Doğduğu İl”
“Eğitim Düzeyi”

Bu üç nitelikten oluşan varlık kümesi, bir zayıf varlık kümesi olarak değerlendirilir.
Çünkü, bu küme içinde aynı isim ve soyadına sahip çok sayıda PERSONEL olabilir. O halde bir anahtar olarak kabul edilemez. Benzer biçimde “doğduğu il” ve “eğitim düzeyi” nitelikleri de aynı nedenlerden ötürü birer anahtar olamaz. Bu niteliklerin tümünün birleşimi bile bir anahtar olamaz.

Anahtar



Varlık kümesi içindeki varlıkları birbirinden ayırt etmek için kullanılan niteliklere varlık kümesinin anahtarı denir.

"Süper Anahtar" ve "Aday Anahtar" olmak üzere iki tür anahtar vardır.

Varlıkları ve ilişkileri tanımlamış bulunuyoruz. Ancak, bir varlık kümesi veya bir ilişki kümesi içinde yer alan varlıkları birbirinden nasıl ayırt edebileceğiz sorunu karşımıza çıkmaktadır.
Örneğin öğrenci? varlık kümesi içinde her bir öğrenciyi diğerinden ayırt eden nitelikler neler olabilir?
Öğrencileri birbirinden ayırt etmek için, öğrenci numarasını kullanabileceğimizi söyleyebiliriz.


Süper Anahtar

Varlık kümesi içinde yer alan bir varlığı kesin olarak tanımlamaya yarayan anahtara süper anahtar denir.

Bu anahtar sadece bir nitelikten oluşabileceği gibi, birden fazla niteliğin birleşiminden de oluşabilir.

Süper anahtarlar süper küme oluşturur. Bir süper anahtarın herhangi bir süper kümesi daima bir süper anahtar olarak kabul edilir.


Örnek: SSK numarası bir PERSONEL’i diğerinden ayırt etmek için yeterlidir. Çünkü bir ülkedeki tüm çalışanların sadece bir SSK numarası vardır.

İki farklı kişinin aynı SSK numarasına sahip olması olanaksızdır.

PERSONEL’in “adı” süper anahtar olarak tanımlanamaz. Çünkü aynı isme sahip birçok PERSONEL var olabilir. Ancak, “SSK numarası” bir süper anahtar olması nedeniyle, "SSK numarası" ve "PERSONEL’in adı" birlikte süper anahtar olarak değerlendirilebilir. Hatta “SSK Numarası, Adı, Bölümü” nitelikleri birlikte bir süper anahtar olarak kabul edilebilir.








Aday Anahtar




Varlık kümesi içinde yer alan bir varlığı kesin olarak tanımlamaya yarayan bir başka anahtar da aday anahtar olarak bilinmektedir.

Bir varlık kümesinin süper anahtarı bir veya daha fazla niteliğin birleşiminden oluşabiliyordu. Bu tür bir süper anahtarın herhangi bir alt kümesi aynı zamanda bir süper anahtar değil ise, bu anahtara aday anahtar ya da kısaca anahtar adı verilir.

Bazı durumlarda; varlıklara ilişkin birkaç nitelik, birlikte bir anahtar olarak tanımlanabilir.


Örnek: Aşağıda görüldüğü üzere, “SSK No” niteliği süper anahtarın bir parçası olmasına karşılık, tek başına varlıkları birbirinden kesin olarak ayırt etmekte kullanılabilir. O halde “SSK No” niteliği bir anahtardır.

Personel için; “SSK No, Adı, Bölümü” nitelikleri, birlikte "PERSONEL" varlığı içindeki her bir varlığı diğerinden ayırt etmek için kullanılabilir. Süper anahtar, varlıkları kesin olarak birbirinden ayırt etme özelliğine sahip olmasına karşılık, bu özelliği kazanmak için gerekenden fazla niteliği içerebilir. Anahtar ise, aynı tanıma uygundur. Ancak gerekenden fazla nitelik içermeme özelliğine sahiptir.
















Varlıkların Eşlendirilmesi

Bir varlıkla ilişkiye girebilecek varlıkların sayısına eşleme sayısı denir. Eşleme sayıları n>2 varlık için söz konusudur ve ikili ilişkilerin ortaya konulması açısından yararlıdır.

A ve B gibi iki varlık kümesi arasındaki R ilişki kümesi için dört farklı eşleme durumları olabilir. :

Birden – Bire,
Birden – Çoğa,
Çoktan – Bire,
Çoktan – Çoğa.

Birden–Bire İlişki



A varlık kümesi içindeki bir varlık, B varlık kümesi içindeki sadece bir varlık ile ilişkili ve B varlık kümesi içindeki bir varlık, A varlık kümesi içinde sadece bir varlık ile ilişkili ise birden-bire ilişki söz konusudur.

A ve B kümelerinin,

A = {a1, a2, …,an}
B = {b1, b2, …,bm}

biçiminde olduğunu varsayalım. A kümesinin her bir elemanının, B kümesindeki bir elemanla ilişkide olması bire-bir ilişkiyi ifade etmektedir.


Birden–Bire İlişki 

Örnek: Müşteri-Hesaplar ilişkisini göz önüne alalım. Her müşteri için sadece bir hesap açtırılabildiğini ve birden fazla kişi için ortak hesap açılmasına izin verilmediğini varsayalım.



Şekil üzerinde gösterildiği gibi, her bir müşteri sadece bir hesap numarası ile eşlenebilmektedir. Aynı biçimde bir hesap numarası sadece bir müşteriye verilebilmektedir. O halde bu birden-bire ilişkidir.

Birden–Çoğa İlişki

A kümesi içindeki bir varlık, B kümesi içindeki birden fazla varlık ile ilişkili ise, bu eşlemeye birden-çoğa ilişki adı verilir. Bu durumun tersi geçerli değildir. Yani B kümesindeki bir varlık, A kümesindeki sadece bir varlık ile eşleşebilir.



Çoktan–Bire İlişki

A varlık kümesindeki birden fazla varlık, B kümesindeki bir varlık ile ilişkili ise, bu eşlemeye çoktan-bire ilişki adı verilir.

Örnek: A kümesi çocukları; B kümesi ise bu çocukların annelerini içermektedir.

A = {Çocuklar}
B = {Anneler}
küme elemanlarını daha açıkça yazabiliriz:

A = {Ali, Burak, Seçkin, Canan, Berk}
B = {Ayşe, Fatma}

Bu iki varlık kümesi arasındaki ilişki şu şekilde ifade edilebilir:

R={(Ali, Ayşe), (Seçkin, Ayşe), (Canan, Ayşe), (Burak, Fatma), (Berk, Fatma)}





Çoktan–Çoğa İlişki

A varlık kümesi içindeki bir varlık, B varlık kümesi içindeki birden fazla varlık ile ilişkili ise ve B kümesindeki bir varlık A kümesindeki birden fazla varlık ile eşleniyorsa çoktan-çoğa ilişki vardır.

Örnek: Müşteri-hesap ilişkilerinde, aile üyelerinin ortak hesap açabilmesi durumunda çoktan-çoğa ilişki söz konusu olmaktadır.



Bu şekil, müşteri-hesap ilişkisinin çoktan-çoğa biçiminde olduğunu göstermektedir. Müşteriler birden fazla hesaba sahip olabilmekte ve birden fazla müşteri aynı hesabı açabilmektedir. Örneğin, ?Burak? isimli kullanıcı 4500 ve 2310 numaralı iki hesaba sahiptir. Buna karşılık, 4500 numaralı hesabın aynı aileye üye ?Burak? dışında ?Begüm? isimli bir başka müşterisi bulunmaktadır.



Varoluş Koşulu

Eğer X varlığının bulunması, Y varlığının bulunmasına bağlı ise, X’in Y’ye bağlı olduğundan söz edilir.

Bir başka deyişle, Y silinirse X’in bir anlamı kalmayacaktır. O halde X’de silinmelidir sonucuna ulaşılır.

Böyle bir durumda;
Y’ye baskın varlık (dominant entity),
X’e bağımlı varlık (subordinate entity) adı verilir.

Örnek: Bir işletmede «ürün» ve «stok hareket» varlıklarının mevcut olduğunu varsayalım.

ürün={ürün isimleri}

stok hareket={günlük ürün giriş ve çıkış miktarları}

Burada varlıklar arasındaki ilişki birden çoğa doğrudur. Her ürün birden fazla stok hareketi ile ilişkilidir. Bu durumda, stok hareket varlık kümesinden bir varlığın silinmesi durumunda, ürün varlık kümesinden bir varlık silinmesi söz konusu olmaz. Çünkü bu varlık stok hareket kümesindeki başka varlıklarla da ilişkilidir.

Yukarıda söylenenin aksine ürün kümesinden bir varlık silinmesi söz konusu ise, bu varlıkla ilişkili olan tüm stok hareket varlıklarının da silinmesi gerekecektir. Bu durumda ürün varlığı baskın varlık, stok hareket varlığı ise bağımlı varlık olarak değerlendirilir.





Etki Alanı: Niteliğin aldığı değerlere etki alanı (domain) adı verilir.


Örneğin, “PERSONEL” varlığının “adı ve soyadı” niteliği, birçok PERSONEL adını ve soyadını içeren bir dizidir.
O halde nitelik, matematiksel anlamda bir fonksiyon olarak da değerlendirilebilir. Bir varlık kümesinden bir etki alanına eşlendirmeyi sağlar. Bu sayede her varlık, nitelik ve veri değeri olarak veri çiftleri biçiminde gösterilebilir.



Örneğin bir “PERSONEL” varlığı;
(nitelik, etki alanı)


“PERSONEL” varlığının bir elemanı için veri çiftleri yandaki şekildeki gibi ifade edilebilir.

Türetilen Nitelik

Bir nitelik kullanılarak, bir başka varlık niteliği elde edilebiliyorsa, bu yeni niteliğe türetilen nitelik adı verilir.
Örneğin; “PERSONEL” varlığının “doğum tarihi” niteliğinden yararlanılarak, “yaş” niteliği elde edilebilir.

Bir PERSONEL’in doğum tarihi 1961 ise, içinde bulunduğumuz yıldan yararlanılarak, bu tarih çıkarılır ve bu PERSONEL’in yaşı bulunur. O halde, PERSONEL’in “doğum tarihi” niteliği belirli ise, “yaş” isimli bir nitelik tanımlamaya gerek yoktur. “Yaş” niteliği bir türetilen nitelik olarak değerlendirilir.


Çok Değere Sahip Nitelikler

Bir nitelik birden fazla değer ile eşlenebiliyorsa, çok değere sahip nitelik adı verilen bir kavramdan söz edilir.
Örnek: Bir kişinin “beğendiği araba markaları” isimli nitelik, birden çok arabayı kapsayacağı için bu niteliğin çok değere sahip bir nitelik olduğu kabul edilir.
Araba Markaları Niteliği: Renault, Ford, Wolksvagen, Toyota, Nissan, Opel …vs.

Birleşik Nitelik

Birden fazla nitelik birleştirilerek yeni bir nitelik oluşturulabilir. Bu tür niteliklere birleşik nitelik adı verilir.




Rol: Bir ilişki varlığın bir fonksiyonu ise, buna rol adı verilir.

Örneğin, “PERSONEL” varlığı hem yöneticileri hem de işçileri kapsayacaktır. Bu varlıklar arasında bazıları diğerlerinin yöneticisidir. “Kim kimin yöneticisidir?” biçimindeki bir ilişkiyi göz önüne alalım. Bu ilişki;

(Yönetici, İşçi) çiftleriyle karakterize edilir. Ancak bu çiftler arasında, (İşçi, Yönetici) çiftleri göz ardı edilir.



Örnek: “PERSONEL” varlığı ile niteliklerini göz önüne alalım. Bu varlığın nitelikleri ve etki alanı, yani içerdiği değerler gösterilmiştir.

Buna hangi PERSONEL’in, diğerinin yöneticisi olduğunu belirleyen “çalıştığı kişi” ilişkisini göz önüne alarak rol çiftlerini belirlersek;

(Neslihan, Derya)
(Neslihan, Semih)
(Serkan, Mehmet)

Varlık ve İlişki Kümeleri


Varlıklar arasındaki bağlantıya ilişki adı verilir.

Örneğin, “Cumhur” varlığı ile “Dersler” varlığı arasında bir ilişki vardır. Çünkü, “Cumhur” bir öğrencidir ve aldığı dersler “Dersler” varlığı ile gösterilmektedir.

Aynı tür ilişkilerin oluşturduğu kümeye ilişki kümesi denir ve bu ilişki kümeleri R ile gösterilir.
Aynı tür ilişkilerin oluşturduğu kümeye ilişki kümesi denir ve bu ilişki kümeleri R ile gösterilir.

Örneğin n?2 olmak üzere E1,E2,...,En ilişkileri için R ilişki kümesi; {(e1,e2,...,en) | e1€E1, e2€E2,...,en€En)}’in bir alt kümesidir. Buradaki (e1,e2,...,en)’e ilişki kümesi denir.
E1, E2,.... En varlık kümeleri ise, bu kümeler arasındaki R ilişkisi şu şekilde tanımlanır:

Örnek: Aşağıdaki iki varlık kümesini göz önüne alalım. Bu varlık kümelerinden birincisi öğrencileri, ikincisi ise bu öğrencilerin aldıkları dersleri içermektedir.

E1={Burak, Begüm}
E2={Matematik, Fizik}

Bu iki küme arasındaki ilişki, öğrencilerle dersler arasında olan ilişkidir. Bu ilişkileri, öğrenci – ders çiftleri biçiminde ifade edebiliriz.


Tüm öğrencilerle tüm dersler arasındaki ilişki ise kartezyen çarpım yapılarak ortaya konulur.

Kartezyen çarpım, iki küme arasında olası tüm çiftleri ifade etmektedir.

İki varlık kümesi için kartezyen çarpım şu şekildedir:

E1 x E2={(Burak, Matematik), (Burak, Fizik),
               (Begüm, Matematik), (Begüm, Fizik)}


Aşağıda gösterildiği biçimde üç ilişki kümesi tanımlayalım:

R1={(Burak, Matematik)}
R2={(Burak, Fizik)}
R3={(Burak, Matematik), (Begüm, Matematik)}

Bu ilişki kümeleri için aşağıdaki bağıntıların doğru olduğu görülür:

R1 ? E1 x E2
R2 ? E1 x E2
R3 ? E1 x E2

Bu örnek bize, iki veri kümesi arasında geçerli tüm ilişki kümelerinin, R ilişki kümesinin bir alt kümesi olduğunu göstermektedir.

Örnek: Bir bankanın müşterileri ve bu müşteriler için bankanın düzenlediği hesaplar birer varlık olarak kabul edilir. Bu iki varlık arasında müşteri-hesap no biçiminde ifade edilen bir ilişki bulunmaktadır.











“Müşteri” ve “Hesaplar” varlıkları arasında ikili ilişki bulunmaktadır.

Bu ilişki kümeleri şu şekilde ifade edilebilir:

R1 = {(Burak, 1350), (Burak, 1400)}
R2 = {(Begüm, 1525)}
R3 = {(Selin,1111)}
R4 = {(Sezin, 1200)}
R5 = {(Deniz, 1500), (Deniz, 1750)}

3. Nitelikler

Nitelikler: Bir varlık, çok sayıda nitelik yardımıyla tanımlanabilir.

Örneğin, “PERSONEL” varlığının nitelikleri yandaki gibi olabilir:










Varlık-İlişki Modeli (Entity-Relationship Model)

Zaman içinde, her bir veri modeli için birçok VTYS üretilmiştir. Ancak şu ana kadar hiçbir VTYS içinde kullanılmamış bir veri modeli daha bulunmaktadır. Bu veri modeli Varlık-İlişki Modeli (Entity-Relationship Model) adıyla bilinmektedir.
Varlık-ilişki modeli, Türkçe kelimelerinin baş harflerinden türetilerek Vİ veya İngilizce kelimelerinin baş harflerinden türetilerek ER modeli olarak kısaca isimlendirilir.

Varlık-ilişki modeli herhangi bir VTYS’nde kullanılmasa bile, veri çözümlemede, modellemede ve ilişkilerin ortaya konulması açısından çok kullanılan bir araçtır.
Bu modelin kullanımı ile VTYS?’den bağımsız olarak veri çözümlenir, modellemesi ve ilişkileri tamamlandıktan sonra herhangi bir VTYS veritabanı şemasına dönüştürülür.


Varlık (entity), var olan ve diğer varlıklardan ayırt edilebilen bir nesnedir.

Örneğin;
Bir bilgisayar,Bir tavşan,Bir araba, Bir kız çocuğu birer varlık olarak değerlendirilir. Bu kavram, aslında dünyamızdaki var olan nesneleri, olayları ve kavramları tanımlamaktadır.

Varlık Dizisi
Aynı türdeki varlıklar bir araya gelerek bir varlık dizisi oluşturuyorlar.

Örneğin; “Adam” bir varlık olmasına karşılık; onun yer aldığı “öğrenci” tanımı da bir varlık olarak değerlendirilir.
Aynı türdeki varlıklar bir varlık dizisi ya da bir başka deyişle varlık kümesi oluşturur.

Örneğin; bir okuldaki tüm öğrenciler «öğrenci», bu okuldaki tüm dersler ise «ders» isimli bir varlık olarak değerlendirilebilir.
Çok sayıdaki öğrenci topluluğu da bir varlık oluşturur.









4 Ocak 2017 Çarşamba

Online Yazılım Eğitimi

Web teknolojilerindeki gelişmeler pek çok eğitimin sanal ortama aktarılmasını sağladığı günümüzde; online eğitim veren üniversitelerin ve eğitim merkezlerin olduğu görülmektedir. Bu alanda uluslar arası yazılım eğitimlerini veren pek çok  sistem bulunmaktadır. Google Developers, Codecademy, Code School, Team Tree House siteleri bu online eğitim sistemlerine örnek olarak verilebilir.

Bu siteleri aktif olarak kullanabilmek için iyi düzeyde İngilizce bilgisine sahip olmak gerekmektedir. Ancak Türkçe olarakta hazırlanmış iyi düzeyde eğitim içeriği bulunan ve profesyöneller tarafından oluşturulmuş online yazılım eğitimi veren sitelerde bulunmaktadır.

Zenginleşen eğitim içeriği ile iyi bir alternatif olan Açık Akademi bunlardan biridir. Microsoft Türkiye tarafından hazırlanan ve Microsoft teknolojilerinin ağırlıklı olarak yer aldığı eğitim sitesinde yüzlerce Türkçe eğitim videosu bulunmaktadır. Site tarafından verilen bilgiye göre ilerleyen dönemde Sanayi 4.0, Nesnelerin interneti ve Big data ile ilgili videolarda sisteme eklenecek.

Bir diğer güzel alternatif ise Geleceği Yazanlar Türkcell tarafından hazırlanan geleceği yazanlar sitesindede yine profesyöneller tarafından hazırlanmış güzel ve eğitim açısından bilgilendirici videolar bulunakta.


Son olarakta Youtube üzerinden youtuber denilen ve Youtube üzerinden video paylaşanlarıda unutmamak lazım.



3 Ocak 2017 Salı

Rakamlarla Yazılım Sektörü

Yazılım ve donanım alanlarını birleştiren Bilişim sektörü, Dünya'da tirilyon dolar üzerinde bir pazara sahiptir. Türkiye'deki Bilişim sektörünün ekonomik büyüklüğüne bakacak olursak 2016 yılı itibari ile yaklaşık olarak 130.000 kişinin çalıştığı ve 85 Milyar TL lik bir pazar büyüklüğüne sahip olduğu söylenebilir. Bu 85 Milyar TL lik pastanın sadece 10 Milyar TL lik kısmı yazılım alanından oluşmaktadır. 10 Milyar TL nin ise sadece %30'luk kısmı yerli yazılımlar ile karşılanmaktadır. Yerli yazılımların ihtacat oranlarına baktığımızda; %0.5'lik bir kısmının yazılım ihrcatından oluştuğu görülmektedir. Gelişmiş ülkelerde ise bu oran %5'ler düzeyindedir. Her yıl yaklaşık 5.500 Bilgisayar ve Yazılım mühendisinin mezun olduğu ülkemizde yerli yazılımların desteklenmesi için çeşitli kurum ve kuruluşlar tarafından (Kosgeb, Tübitak, TTGV, Tekno girişim,vb) kapsamlı çalışmalar başlatılmıştır. Sektörel öncelik verilen ve pek çok vergi avantajı sağlanan yazılım sektörünün, 2023 yılında 10 Milyar $'lık yazılım ihracatı yapması hedeflenmiştir. Bu iddalı hedefe ulaşmamız ümidi ile.