UML Veritabanı Modelleme UML nedir? UML terimi Unified Modeling Language (Birleşik Modelleme Dili) 'in kısaltması olarak kullanılmaktadır. UML, bir programlama dili değil yazılım geliştirme için kullanılan standart bir diyagram çizme ve ilişkisel modelleme dilidir. Yazılım sistemlerinin nasıl modellenebileceğini belirleyen ve açıklayan yöntemlerin bir araya toplanmış halidir. Bir sistemin geliştirilmesi kabaca aşağıdaki aşamalardan geçmektedir: Analiz Dizayn Kodlama Uygulama UML'nin Faydaları Analizi ve tasarımı geniş bir şekilde yapıldığından kodlama işlemi daha kolay olur. Çünkü programdan beklenilenler ve programlama ile yapılacaklar belirlenmiştir. Beklenmedik bir takım mantıksal hatalar (bug) en aza indirgenir. Düzgün yapılan tasarım aşamasından sonra, tekrar kullanılabilen kodların sayısı artacak ve program geliştirme maliyeti büyük ölçüde düşecektir. UML diyagramları programın tamamını kapsayacağı için bellek kullanımını daha etkili hale getirilebilir. Programın kararlılığı artacağı gibi döküman halindeki programı koda çevirmek zamandan da tasarruf etmeyi sağlar. Ortak çalışılan projelerde programcıların iletişimi daha kolay hale gelir. Çünkü UML ile program parçalara ayrılmıştır ve parçalar arasında bir ilişki kurulmuştur. UML diyagramı türleri İki ana UML diyagramı türü vardır: yapı diyagramları ve davranış diyagramları (ve bu kategorilerin altında başka kategoriler yer alır). Bu çeşitlilik, farklı kişilerin kullandığı sayısız senaryoyu ve diyagramı temsil etmek için vardır. Müşterilerden proje yöneticilerine ve teknik yazarlara, tasarımcılara, kodlayıcılara ve kalite denetimi ile test uzmanlarına kadar her rol, ihtiyaçlarına uygun özel bir diyagramdan yararlanır. Bu da her düzenin farklı bir odağa ve ayrıntı düzeyine sahip olduğu anlamına gelir. Hedef, UML’nin herkesin rahatlıkla anlayabileceği diyagramları görsel olarak ifade etmektir. Yapı diyagramları Yapı diyagramları bir yazılımın veya sistemin statik yapısını temsil eder ve farklı özet ve uygulama düzeylerini gösterir. Bunlar sistemi oluşturan veritabanı veya uygulama gibi çeşitli yapıları görselleştirmenize yardımcı olması için kullanılır. Bileşenlerin veya modüllerin hiyerarşisiyle bunlar arasındaki bağlantıları ve etkileşimleri gösterir. Bu araçlar, rehberlik ve bir sistemin tüm parçalarının diğer tüm parçalarla birlikte hedeflendiği şekilde çalışmasını sağlar. Davranış diyagramları Burada odak noktası, yazılım sisteminin veya sürecin dinamik yönleridir. Bu diyagramlar bir sistemin işlevselliğini gösterir ve modellenen sistemde olması gerekeni vurgular. Her kategoriye ait UML diyagramlarının pek çok farklı türüne yakından bakalım: 1. Yapısal UML diyagramları Sınıf diyagramı. Yazılım geliştirmede en sık kullanılan tür olan bu diyagram bir sistemin mantıksal ve fiziksel tasarımını anlatmak için kullanılır. Sınıflar kutularla temsil edildiğinden bir akış çizelgesine benzer. Bu diyagram farklı sınıfların ve sınıflar arasındaki ilişkilerin bir görselini sunar. Her sınıf üç bölmeden oluşur: • Üst bölüm: sınıf adı • Orta bölüm: sınıf öznitelikleri • Alt bölüm: sınıf yöntemleri veya işlemleri Nesne diyagramı. Bu diyagram genellikle bir sınıf diyagramının doğruluğunu kontrol etme yöntemi olarak kullanılır. Diğer bir deyişle, diyagram pratikte işe yarayacak mı? Bir sistemin nesnelerini ve ilişkilerini gösterir, ayrıca düzeltilmesi gereken olası tasarım hatalarına daha iyi bir bakış sunar. Bileşen diyagramı. Bileşen akış diyagramı olarak da bilinen bu diyagram. öğelerin ve bunların ilişkilerinin mantıksal gruplandırmalarını gösterir. Diğer bir deyişle, karmaşık bir sistemi daha küçük bileşenlere ayırarak sistemin basitleştirilmiş bir görünümünü sunar. Her parça dikdörtgen bir kutu kullanılarak, parçanın adıyla birlikte gösterilir. Bağlayıcılar farklı bileşenler arasındaki ilişkileri/bağımlılıkları tanımlar. Bileşik yapı diyagramı. Bu diyagram, yazılım geliştirme alanının dışındaki kişilerce nadiren kullanılır. Neden? Sınıf diyagramına benzese de daha ayrıntılıdır ve birden çok sınıfın dahili yapısını tanımlayıp bu sınıflar arasındaki etkileşimleri gösterir. Geliştirici değilseniz üst düzey bir görünümle sağlanan bilgiler yeterli olacaktır. Dağıtım diyagramı. Bu diyagram, donanım (düğümler) ve yazılım (yapılar) bileşenleri ile bu bileşenler arasındaki ilişkileri gösterir. Her yazılım bileşeninin tam olarak nereye dağıtıldığını görsel olarak gösterir. Paket diyagramı. Bu diyagram, bir modeli oluşturan paketler arasındaki bağımlılıkları göstermek için kullanılır. Ana hedef, karmaşık bir sistemi oluşturan çeşitli büyük bileşenler arasındaki ilişkiyi göstermektir. Profil diyagramı. Bu, diyagramdan çok bir dile benzer. Profil diyagramı özel stereotipleri, etiketlenen değerleri ve kısıtlamaları tanımlayarak UML diyagramları için yeni özellikler ve anlam oluşturmaya yardımcı olur. Bu profiller, farklı platformlar (örneğin Java Platform, Enterprise Edition (Java EE) veya Microsoft .NET Framework) ve etki alanları (örneğin iş süreci modelleme, hizmet odaklı mimari, medikal uygulamalar vb.) için bir UML meta modelini özelleştirmenize olanak tanır. 2. Davranışsal UML diyagramları Etkinlik diyagramı. Bu diyagram, başlangıcı ve bitişi net olan adım adım bir süreci tanımlar. Bir hedefe ulaşmak için gerçekleşmesi gereken etkinlikler kümesidir. Her etkinliğin sonraki etkinliğe nasıl geçtiğini ve etkinliklerin nasıl bağlantılı olduğunu gösterir. Yazılım geliştirmenin dışında hemen hemen her iş ortamında kullanılabilir. İş süreci eşleme veya modelleme olarak da adlandırılır. Kullanım durumu diyagramı. Bu diyagram, bir sistemin ne yaptığını açıklar ancak bunu nasıl yaptığını açıklamaz. Kullanım durumu, bir “aktör” bir süreci tamamlamak için bir sistemi kullandığında gerçekleşen bir dizi olaydır. Aktör, sistemin dışından sistemle etkileşim kuran herhangi biri veya herhangi bir şey (kişi, kuruluş veya uygulama) olarak tanımlanır. Kullanım durumu diyagramı, bu olay dizisini görsel olarak açıklar ve sistemin işlevsel gereksinimlerini temsil eder. Etkileşime genel bakış diyagramı. Genellikle karmaşık olan bu diyagram, etkinlikleri adım adım gösterdiğinden etkinlik diyagramına benzer. Ancak etkileşime genel bakış diyagramı, farklı etkileşim diyagramlarından oluşan bir etkinlik diyagramıdır. Etkinlik diyagramıyla etkileşim, etkileşim kullanımı, zaman kısıtlaması ve süre kısıtlaması gibi aynı ek açıklamaları (başlangıç, sonuç, karar, birleşme, ayrışma ve kesişme düğümleri) kullanır. Zamanlama diyagramı. Zamanlama en önemli öğe olduğunda bu UML diyagramı kullanılır. Sıralama ya da olay diyagramı olarak da bilinen bu diyagram, nesnelerin nasıl etkileşim kurduğunu veya birbirini nasıl değiştirdiğini göstermez. İşlevsel olarak, nesnelerin ve aktörlerin bir zaman çizelgesinde nasıl hareket ettiğini gösterir. Burada olayların ne kadar sürdüğüne ve süre kısıtlamalarına göre gerçekleşen değişikliklere odaklanılır. Zamanlama diyagramının ana parçalarından bazıları şunlardır: Yaşam çizgisi: bireysel katılımcı Durum zaman çizelgesi: yaşam çizgisinin bir ardışık düzen içinde geçtiği farklı durumlar Süre kısıtlaması: bir kısıtlamanın gerçekleştirilmesi için gereken süre Zaman kısıtlaması: bir şeyin katılımcı tarafından gerçekleştirilmesi gereken süre İmha oluşumu: bir nesnenin yaşam çizgisinin sona ermesi. Yaşam çizgisinde imha oluşumundan sonra başka bir oluşum görünmez. Durum makinesi diyagramı. Durum grafiği olarak da adlandırılan bu diyagram bir nesnenin davranışı karmaşık ve ayrıntılar çok önemli olduğunda geçerlidir. Bir nesnenin (veya bazen bir işlecin) davranışını, ayrıca dahili ve harici olaylara göre nasıl değiştiğini açıklamaya yardımcı olur. Sıralama diyagramı. Tasarımcılar dışında da popüler olan bu görsel olarak çekici diyagram her türlü iş sürecini göstermek için idealdir. Mesajların ve aktörlerle nesneler arasındaki etkileşimlerin sıralamasını kronolojik olarak göstererek bir sistemin yapısını ortaya çıkarır. Sıralama diyagramları basit yinelemeyi ve dallanmayı gösterir. Çoklu görevler için idealdir. İletişim diyagramı. Bir iletişim veya işbirliği diyagramı, sıralama diyagramına benzer. Ancak bu diyagram, nesneler arasındaki iletişimi vurgular. Bir etkileşime katılan nesnelerin organizasyonunu gösterir ve daha karmaşık yineleme ve dallanma içerir. Veri Ne Demek? Bilgisayar ortamında bulunan bilgilerin, programlar tarafından işlenebilmesini sağlamak amacı ile derlenmiş ve formüle edilmiş şekline veri denir. Bu kavram genellikle enformasyon alanında kullanılan bir terimi ifade etmek için kullanılır. Tek başına anlam ifade etmez ve kullanılmaz. Bunun yanında enformasyona ve bilgiye temel oluşturan gruplandırmaya ve analiz edilmeye gereksinim duyulan ham bilgi olarak tanımlanır. Veri aslında genel bir terimi de ifade etmektedir. Araştırmalardan, gözlemlerden, sosyal medya ve internetten vb. farklı alanlardan elde edilen genel bir terimdir. Bu terim gruplandırılarak nitelendirilebilir; Yapılandırılmış, yapılandırılmamış ve yarı yapılandırılmış veri. Ücretli-ücretsiz Statik, dinamik Açık veri Büyük veri Açık hükümet verisi Bu kadar farklı gruplara ayrılmasının nedeni olarak büyük veri konusunu oluşturmaktadır. Ölçüm ya da sayısal yolla toplanan ve sayısal ifade bildiren veriler nicel verilerdir. Sayısal bir değer ifade etmeyenlere ise nitel veriler denilmektedir. Nitel ve nicelveri toplama teknikleri kullanılmaktadır. Bir veri tek başına bir anlam ifade etmez. Veriler toplandıktan sonra gruplandırma aşamasına geçerler. Sonra sıralanır ve özetlenir. Ardından da elle ya da bilgisayarla işlenip enformasyona dönüştürülüp anlam kazanır. Bu sayede de ait oldukları bağlamı açıklama gücüne kavuşurlar. Karar verme, problem çözme vb. amaçlara hizmet edecek duruma kavuşurlar. Alanlara göre veri kavramı; İstatistikte Veri: İstatistik disiplininde yorum ve sunum amacı ile toplanmış, çözümlenmiş ve özetlenmiş gerçeklere veri denir. Sayısal veriler niceli temsil eder. Nitel veriler ise kategorik olarak tanımlanmaktadır. Nicel veriler kendi içerisinde ikiye ayrılır. Bunlar ayrışık ve sürekli gruplarıdır. Nitel veriler de kendi içerisinde ikiye ayrılır. Nominal ve ordinal olarak ayrılmaktadır. Bilgisayar Bilimlerinde Veri: Bilgisayar bilimlerinde hesaplama ya da manipülasyon amacı ile kullanılan bir gerçeği belirlemektedir. Veriler makine düzeyinde ikili olarak gösterilmenin yanı sıra karakter (sayı, harf) biçiminde kodlanır. Her verinin bir türü bulunur. Bu türlere de veri yapısı denir. Basit ve karmaşık olarak da ikiye ayrılır. Belirli bir bağlam sonucu elde edilmiş çok sayıda ve farklı türdeki veri, veri tabanı da toplanır. Veri tabanı oluşturmak ve yönetmek için veri tabanı yönetim sistemleri denilen yazılım kullanılmaktadır. İşletme Yönetiminde Veri: İşletme yönetiminde veriler, fiziksel ve parasal hareketlerin kaydedilmesi ve izlenmesi için kullanılır. Bu alanda veri kalitesi önemli bir yer teşkil etmektedir. Veri kalitesi, genel olarak kayıt edilen verilerin güvenilir ve kullanılabilir olması ile alakalıdır. Yüksek veri kalitesi, kurumsal zeka uygulamaları, kurumsal kaynak uygulaması, müşteri ilişkileri, performans yönetimi vb. olumlu katkı sağlar. Özetle veri, tek başına anlam ifade etmeyen ve kullanılmayan, enformasyona ve bilgiye temel oluşturan, anlamlandırmaya ve analiz edilmeye gerek duyulan ham bilgi, data olarak adlandırılır. Veritabanı Nedir? Veri tabanı, birbirleriyle ilişkili bilgilerin depolandığı alana verilen addır. Bilgi artış hızının artması ile birlikte bilgisayarlarda bilgi depolama ve bilgiye erişim konularında yeni yöntemlere ihtiyaç doğmuştur. Bu ihtiyaç açığını kapamak amacı ile veri tabanı oluşturulmuştur. Bilgisayarda bilgilerin kategorize edilerek depolandığı alandır. Bilgilerin uygun şekilde kaydedilmesini ve güncellemesini yapar. Database de denilmektedir. Veri tabanı örneği olarak cep telefonlarının kişi rehberi, internet sitelerindeki üyelik işlemleri, üniversitelerin tez yönetim sistemleri verilebilir. Veri tabanı bilgilere ulaşmamızı ve o bilgileri düzenlememizi sağlar. Ücretsiz olarak açılan veri tabanları bulunmasına karşın çok yüksek ücretlere sahip olanları da bulunur. Veri tabanı, verilerin belirli bir alanda depolanmasını sağlar. Özellikle bu sistem kamu kuruluşlarında kullanılır. Bu sayede birçok bilgi kolayca saklanabilir. Database sayesinde kısa sürede milyonlarca kişinin bilgisine kolayca ulaşılabilmektedir. Bankalar, okul kayıtları, nüfus müdürlükleri vb. kuruluşlardaki hizmetlerin pratik bir biçimde yapılmasını sağlar. Veri tabanı, bilgileri kategorize ederek depo yapar. Bu sayede de bilgileri dağınıklıktan kurtarır ve veriyi ararken kolay bulunmasını sağlar. Bu avantajı size zaman tasarrufu da sağlar. Hafıza üzerinde dağınık olarak depolanmış bilgileri kategorize ederek alan işgalinin önüne geçilmesini sağlar. Gerekli bilgileri veri tabanında tutmak büyük bir önem taşır. Çünkü gerektiğinde birbiri ile ilişkili bilgileri ayrı dosyalarda tutmak, daha sonra o bilgileri yan yana getirmek istediğinizde zorluk çıkmaktadır. Veri tabanı tam da bu noktada önemini vurgular. Birbiri ile ilişkisi olan bilgileri ilişki türlerine göre sınıflandırıp depolama işlemi sağlar. Bunun için iki tür uygulama mevcuttur. Birincisi düz dosya veri tabanıdır. Diğeri de ilişkisel veri tabanıdır. Düz dosya veri tabanı basit bir işlem gerektirir. Bilgiler burada tek yönlü toplanır ve depolanır. Diğerinde ise farklı olan dosyalar arasında ilişkiler kurulur. Kurduğu ilişkiye göre gruplandırma, sınıflandırma ve depolama işlemlerini gerçekleştirir. Veri tabanı, sayısal ve istatiksel veri içerebilir. Veri tabanı oluşturmak, yönetmek, veri saklamak ve birçok işlemi yapabilmek için yazılıma gerek duyulur. Bu yazılıma veri tabanı yönetim sistemi denilir. Veri Tabanı Yönetim Sistemi Veri tabanı yönetim sistemi, otomotiv sektöründen bankacılığa, şirket yönetiminden sağlık bilgi sistemlerine çok geniş kullanım alanına sahiptir. Bu çok geniş sektörlerde kullanılan bilgisayar sistemlerinin alt yapısını oluşturur. Veri tabanı yönetim sistemi, DBMS olarak da bilinir. Veri tabanı yönetim sistemi, veri tabanı ve son kullanıcıları ya da programlar arasında bir ara yüz işlevi olarak kullanıcıların bilgilerin nasıl organize edildiğini yönetmesini sağlar. Bunun yanında bilgileri almasına ve güncellemesine olanak sağlar. Veri tabanı yönetim sistemi (DBMS), veri tabanlarına ilişkin gözetim ve kontrol faaliyetlerini kolaylaştırır. Bu sayede performans izleme, yedekleme ve kurtarma vb. yönetim organizasyonlarının gerçekleştirebilmesini sağlar. Veri tabanı yönetim sistemi, veri tabanın oluşturulması ve devam ettirilmesi için ihtiyaç duyulan yazılım paketleridir. DBMS; verilerin güncelleştirilmesi, erişim düzenleme, verilerin saklanmasını sağlar. DBMS; birden çok kullanıcıya, çok sayıda bilgisayar sistemine hizmet veren, veri tabanlarının kurulumunu ve işletilmesini sağlayan sistemdir. Veri tabanı fiziksel olarak bilgileri tutarken mantıksal bir hiyerarşi kullanır. Veri tabanı sistemlerinin kurulumu, düzeni, güvenliği, sorgulaması, denetiminde karmaşık hallerin oluşması veri tabanı yöneticiliği kavramının oluşmasını sağlamıştır. Bir veri tabanı yöneticisi, mantıksal data modelleme, fiziksel veri tabanı oluşturma, fiziksel veri tabanı dizaynı, veri tabanı yönetimi ve bakımı ve daha birçok görevi yapmaktadır. Veritabanı Türleri 1) Paylaşmalı Veritabanları (Distiributed Databases): Birden fazla fiziksel ortamda depolanan veritabanlarına paylaşımlı veritabanı denir. Bir veritabanının paylaşımının iki temel yolu vardır. Birinci yol, merkezi veritabanını kısımlara ayırmaktır. Böylece her uzak işlemci kendi yerel alanına hizmet etmek için gerekli veriye sahip olur. İkinci yolda ise merkezi veritabanı tüm uzak noktalara kopyalanır. 2) Nesne Ağırlıklı Veritabanları (Object-Oriented Databases): Çizimlerin, grafiklerin, imajların, fotoğrafların, seslerin ve tüm hareketli video gösterimlerini otomatik olarak canlandıracak ve paylaşılacak nesneler olarak depolayan veritabanıdır. Bu veritabanı finans ve pazarlama alanında kullanılıyor. Nedeni; finans ve pazarlamanın ekonomik koşullardaki değişimlerine en uygun cevap veren depolama sistemi nesne ağırlıklı veritabanıdır. 3) Hiper Medya Veritabanları (Hypermedia Databases): Kullanıcı, modülden modüle geçmek için, kendi yolunu kendi seçebilir. Bilgi şeması önceden belirlenmiş organizasyon şemasını gerektirmez. Her modül ekranda gösterilebilir ve gösterilen modülle diğer veritabanları modülleri arasındaki bağlantıları da gösterebilir. 4) Çok Boyutlu Veri Analizi: Bu analiz kullanıcıyı aynı veriyi çok farklı boyutlarıyla görme olanağına kavuşturulur. Örneğin Orta Anadolu, Ege, Marmara bölgelerinde somun, cıvata, sıhhi tesisat ve vida gibi dört farklı ürün satan bir işletme bunların fiili satışlarını görmek için kullanılabilir. 5) Veri Bankaları: İşletmedeki tüm personelin beklentilerine uygun, bütünleşik, güncel ve tarihi verileri depolayan veritabanı yazılımlarına Veri Bankaları denir. İç ve dış kaynaklardan duruma göre anlık, saatlik, günlük, haftalık veya aylık olarak derlenen veriler veri bankasında kopyalanır. Bu veriler girişimin değişik birimlerdeki yönetim açılımlarında kolayca kullanılabilecek şekilde standartlaştırılır ve bütünleştirilir. Girişimdeki herkes veri bankasına girebilir ama değişiklik yapamazlar. Veritabanı Sorgulamaları Fiziksel tasarım gerçek veri girişi ve denemelerle bitirilir. Veritabanı sistemleri teknolojik değişmelere ve kullanıcıların gereksinimlerindeki değişikliklere bağlı olarak sürekli olarak değişikliklere uğrarlar. Belli bir süre sonunda da her azılımda olduğu gibi, güncelliklerini kaybederek ömürlerini bitirirler. Veri tabanı sistemleri üzerinde yapılan en önemli işlem sorgulamadır. Sorgulamada tek bir tablo kullanılacağı gibi birden çok tablo da aralarındaki ilişkiye bağlı olarak, çapraz olarak sorgulanabilir. Sorgulama için QBE (Query By ExampleÖrnekle Sorgulama), veya SQL (Structured Query Laguage- Yapısal Sorgulama Dili) araçları kullanılmaktadır. Bu araçlar çoğu kez, yukarıda adı geçen veri tabanı işletim sisteminin bir parçası olarak sunulmaktadır. Veritabanı Tasarımı Bir veritabanı tasarımı iki aşmada gerçekleştirilir; bunların ilki Mantıksal Tasarım, ikincisi ise Fiziksel Tasarımdır. Mantıksal tasarım kullanacak veri tabanı işletim sisteminden bağımsız olarak yapılan çalışmalardan oluşurken, fiziksel tasarımda mantıksal tasarımda ortaya çıkan nesneler bir veri tabanı işletim sistemi kullanımı ile gerçekleşir. Mantıksal Tasarımın Evreleri: a) Problemin tanımlanması, b) Kullanılmakta olan sistemin irdelenmesi, ve sistem içindeki hareketlerin bulunması, c) Veritabanını kullanacak olanların gereksinimlerinin ortaya konulması, d) Veritabanını oluşturacak varlıkların ve özelliklerinin belirlenmesi, e) Yaratılması düşünülen raporların belirlenmesi, f) Tabloların normalize edilmesi. Fiziksel Tasarım Evreleri: a) Varlıkların yaratılması, b) Form tasarımının gerçekleştirilmesi ve veri girişinin sağlanması, c) Rapor tasarımının uyarlanması, d) Veritabanı kullanımını kolaylaştıracak destek programların ve kullanıcı ara biriminin yazılması e) Veritabanı sisteminin denenmesi ve doküman hazırlanması. İlişkisel Veritabanları Neredeyse tüm modern veritabanı yönetim sistemleri, ilişkisel veritabanı yönetim modelini kullanarak bilgi saklar ve işler. İlişkisel terimi, veritabanındaki her kaydın bir tek konu hakkında ve yalnızca o konuyla ilişkili bilgileri içerdiği gerçeğinden ortaya çıkar. İlişkisel veritabanı yönetim modelini incelerseniz, ilişki teriminin yalnızca bir konuyla ilgili bir satır kümesine uygulandığını göreceksiniz. Ayrıca iki sınıf bilgiyle ilgili veriler (müşteriler ve siparişler gibi), ilişkili veri değerlerine bağlı bir bütün olarak yönetilebilir. Örneğin, müşterinin her verdiği siparişle birlikte müşteri ad ve adres bilgilerini saklamak gereksiz olur. Bir ilişkisel veritabanı sisteminde siparişlerle ilgili bilgiler, her siparişi uygun müşteri bilgisine bağlayacak, müşteri nosu gibi, veri saklayan bir alan vardır. İlişkisel veritabanı yönetim sisteminde (Relational Database Management System-RDBMS), sistem tüm verileri tablolar içerisinde yönetir. Tablolar bir konuyla ilgili bilgileri (müşteri ve ürünler gibi) saklar. Bununla birlikte, konuyla ilgili başka bilgiler (örneğin müşterilerin adresleri ya da kitap başlıkları) içeren sütunlar ve konunun tek bir örneğinin tüm öz niteliklerini açıklayan (örneğin, belirli bir müşteri ya da kitap hakkındaki veriler) satırlar vardır. Veritabanını sorguladığımızda (bir ya da daha fazla tablodan bilgi getirtmek) bile, sonuç her zaman başka bir tabloya benzeyen bir şey olur. Ayrıca, birden çok tablo ya da sorgudan alınan ilişkili değerleri birleştirebilirsiniz. Örneğin, hangi yazarların, hangi kitapları yazdığını öğrenmek için, yazar ve kitap bilgilerini birleştirebilirsiniz. Hangi satış elemanının prim hak ettiğini bulmak için, çalışan ve sözleşme bilgilerini birleştirebilirsiniz. İlişkisel veritabanı yönetim sistemi veritabanlarının yapısını düzenler. Bu özellik sayesinde şu işlemleri yapmak olasıdır: • Verilerin doğru ve etkin biçimde saklanmasını sağlar. • İlişkisel bütünlük kuralı (database integrity) sağlanır. • Değişiklik kayıtları sayesinde, sistem çöktüğünde verileri kurtarmayı sağlar. İlişkisel veritabanı modelinin amacı, yüksek verimliliktir. Örneğin personel bilgilerini bir veritabanında tuttuğumuzda varsayalım. Personel adı, adresi, telefonu bilgileri personelin çalıştığı farklı bölümler için çoğaltılacaktır. Bu gereksiz fazlalık, önemli sayıda kayıtla uğraşan veritabanları sözkonusu olduğunda hem artan disk boşluğu ihtiyacı, hem de artan veri ulaşım zamanı sorunlarına yol açar. İlişkisel modelde ise veri iki tabloya ayrılacaktır. Birinci tablo sigorta no, kimlik no, adres, telefon, yaş gibi kişisel bilgiler içerir. İkinci tablo ise bu bilgileri çoğaltmak yerine personelin çalıştığı bölüm bilgilerini içerir. Veritabanı Becerileri İlişkisel veritabanı yönetim sistemi (RDBMS), verilerinizi tanımlama, onlarla çalışma ve başkalarıyla paylaşma konularını tümüyle denetlemenizi sağlar. Sistem, birçok tablodaki çok sayıda veriyi kataloglama ve yönetmeyi kolaylaştıran gelişmiş özellikler sunar. RDBMS'nin üç ana becerisi vardır: verileri tanımlama, yönetme ve denetleme. • Veri Tanımlama: Veritabanında hangi verilerin saklanacağını, veri türünü (örneğin, sayılar ya da karakterler) ve verilerin ilişkilenme biçimini tanımlayabilirsiniz. Bazı durumlarda, verilerin nasıl biçimlendirilmesi ve doğrulanması gerektiğini tanımlayabilirsiniz. • Veri Yönetimi: Verilerle birçok biçimde çalışabilirsiniz. Hangi veri alanlarını istediğinizi seçebilir, verileri süzebilir ve sıralayabilirsiniz. Verileri ilişkili bilgilerle birleştirip, özetleyebilirsiniz (toplayabilirsiniz). Bir bilgi kümesi seçip, RDBMS'den onu güncelleştirmesini, silmesini, ayrı bir tabloya kopyalamasını ya da bu verileri içeren yeni bir tablo yaratmasını isteyebilirsiniz. • Veri Denetimi: Kimlerin verileri okuyabileceğini, güncelleştirebileceğini ya da ekleyebileceğini tanımlayabilirsiniz. Çoğu durumda, birden çok kullanıcı tarafından verilerin paylaşılıp güncelleştirilme biçimini de tanımlayabilirsiniz. En Çok Kullanılan Veri Tabanı Sistemleri Nelerdir? Kalite durumları, sundukları hizmet ve kullanım durumlarına göre veri tabanı programları ücretli ya da ücretsiz seçeneklere sahiptir. Açık kaynak kodlu olarak database programları bulunur. Bunun yanında daha güvenli ve detaylı aynı zamanda profesyoneller için online hizmet veren veri tabanı programları da bulunur. Bu veri tabanı sistemleri içerisinde en çok kullanılanları; MySQL: Dünya üzerinde kullanılan en popüler veri tabanı sistemlerinden biridir. Altı milyondan fazla sistemde yüklü bulunmaktadır. Bu veri tabanı yönetim sistemi pek çok veri tabanının kolay bir şekilde yönetilmesini sağlar. Diğerlerine göre hızlı ve sağlam olarak nitelendirilir. 1995 yılından beri kullanılmaktadır. Unix, Windows gibi platformlarda ücretsiz dağıtılmasına karşı ücretli seçeneği de vardır. Çok iyi şekilde özelleştirilmektedir. Web sunucuları içi kullanılmasının yanında php ve asp web programlama dilleriyle de çalışabilmektedir. Oracle: Microsoft’tan sonra en büyük ikinci yazılım şirketidir. Bu yazılım şirketi veri teknolojileri ile adından sıklıkla bahsettirmektedir. Büyük miktarda veriyi çok kullanıcı tarafından yönetilen bir ortamda, depolanmasına ve erişilmesini sağlar. Bireysel olarak çok fazla kullanılan bir sistem olmasa da kurumsal alanda çok yaygın kullanılan bir veri tabanı sistemidir. Kolay ve esnek bir şekilde uygulama geliştirmesi nedeniyle çok bir veri tabanı sistemi olarak görülür. Büyük verileri hızlı bir şekilde işlem boyutunun yüksekliğine bakmadan işleyebilme özelliğine sahiptir. PostgreSQL: SQL sorgu dilini direkt olarak destekleyen bir dildir. Güvenli, performansı yüksek, geniş bir veri tabanı sistemi olarak tanımlanır. 1996 yılında piyasa çıkmıştır. Oldukça güvenli ve hatasız olarak tanımlanır. Bu özelliklerinden dolayı çoğu yazılımcı tarafından sevilmiştir. Açık kaynak kodlu ve ücretsiz bir sistemdir. SQLite: Açık kaynak kodu ile geliştirilmiş veri tabanı sistemidir. SQLite, C ve C++ programlama dilleri ile geliştirilen bir sistemdir. En çok tercih edilme nedeni ve en önemli özelliği ise sunucu yapısı ve yapılandırma gereksinimi olmamasıdır. 2000 yılında piyasa çıkmıştır. Windows, Linux ve MacOS için kullanılabilen bir sistemdir. Dosya yapısı ile çalışmasından dolayı tercih edilmektedir. Hızlı bir sistemdir. Firebird: Borland açık kaynak kodu ile geliştirilmiş bir veri tabanı sistemi. C++ dili ile yazılmıştır. Düşük sistemlerde çalışabilme, ücretsiz olma ve kapasite sınırının olmaması nedeniyle tercih edilmektedir. İşletim sistemi de yazılımcılar için etkili çözümler sunmaktadır. Veritabanı modelleri UML, modelleme veritabanlarında bir gösterim olarak da popülerlik kazanıyor. Bu modeller beyin fırtınası, serbest biçimli diyagramlar ve fikirler üzerinde işbirliği için harika bir görsel araçtır. UML’nin veri modellemesine yönelik özellikleri yoktur, ancak veritabanlarından alınan veriler nesne yönelimli programlamada kullanılabildiğinden diyagram oluşturma için kullanışlı bir araç olabilir. Oluşturabileceğiniz farklı veritabanı modeli türlerini inceleyelim: Hiyerarşik veritabanı modeli. Yılların eskitemediği bu modelde veriler ağaç benzeri bir yapıyla düzenlenir. Ağaç, segment adı verilen çeşitli gruplardan oluşur. Bu model, bir-çok ilişkisi kullanır. Veri erişimi de öngörülebilir. Ağ modeli. Bu model, ilişki türlerinin yay ve nesne türlerinin düğüm olduğu bir grafik şeklindedir. Diğer veritabanı modellerinden farklı olarak, ağ modelinin şeması kafes veya hiyerarşi ile sınırlı değildir. Nesne yönelimli veritabanı modeli. Bu model, ilişkili özelliklerle ve yöntemlerle birlikte bir nesne veya yeniden kullanılabilir yazılım öğeleri koleksiyonu kullanır. Örneğin bir multimedya veritabanı, ilişkisel veritabanında depolanamayacak görüntüler içerebilir veya köprü metni veritabanı diğer nesnelerle bağlantı kurulmasını sağlar. İlişkisel model. Bu modelde veriler, ilişkileri veya sütunları ve satırları olan ızgara benzeri matematiksel yapıları kullanarak yapılandırılır. Bu temel olarak bir tablodur. Nesne ilişkisel model. Adından da anlaşılacağı gibi, bu model yukarıda sözü edilen modellerin birleşimidir. Bu model nesneleri, sınıfları, devredilen ve diğer nesne yönelimli öğelerin yanı sıra veri türlerini, tablo yapılarını ve bir ilişkisel veri modelindeki benzeri öğeleri destekler. Varlık-ilişki modeli. Bu model, varlık türlerinden (insanlar, yerler veya nesneler) oluşur. Bunların arasında var olabilecek ilişkileri gösterir. Varlıkları ve özniteliklerini tanımlayıp bunların arasındaki ilişkileri gösteren bir Varlık-İlişki diyagramı, veritabanlarının mantıksal yapısını görselleştirir. Belge modeli. Bu model, atomik verilerden çok, belgeleri veya yarı yapılandırılmış verileri depolamak ve yönetmek için tasarlanmıştır. Her düğümün belgenin bir parçasını temsil eden bir nesne olduğu bir ağaç yapısına sahiptir. Varlık-öznitelik-değer modeli. VÖD veya açık şema modellerinde veriler üç sütun halinde kaydedilir: Varlık (söz konusu öğe) Öznitelik veya parametre (örneğin ad, açıklama, veri türü) Özniteliğin değeri. Yıldız şeması. Bu bir boyutsal modelin basit halidir. Burada veriler, boyutlara ve olgulara göre düzenlenir. Büyük veri kümelerini sorgulamaya uygun olduğundan iş zekasında ve veri ambarlarında kullanılır. Varlık – İlişki Modeli (E – R Modeli) Varlık-ilişki modeli, ya da kısaca E-R modeli (Entity-Relationship model) P.P. Chen tarafından geliştirilen bir modeldir. Bugüne kadar varlık-ilişki modeline dayalı hiçbir VTYS geliştirilmemiştir. Buna karşılık varlık-ilişki modeli, VTYS'den bağımsız veri çözümlemede ve semantik veri modellemede en çok kullanılan modeldir. E-R Diyagram Oluşturma Adımları Varlıklar belirlenir. Varlıklar arasındaki ilişkiler belirlenir. Varlıklar arasındaki ilişkilerin sayısallığı belirlenir. Varlıkların nitelikleri belirlenir. ER diyagramı çizilir. Tasarlanan ER diyagramı gerekli normalizasyon filtresinden geçirilir. Örnek E-R Diyagram Kaynakça https://www.iienstitu.com/blog/veri-nedir https://www.dijitalders.com/icerik/2378/veritabani_nedir.html http://www.yazilimcilardunyasi.com/2016/12/11sraduzensel-hiyerarsik-veri-modeli.html https://ozlemerden.wordpress.com/2012/02/09/veri-modelleri/ https://www.ahmetcevahircinar.com.tr/2016/07/23/uml-nedir-uml-ne-ise-yarar-umlninfaydalari-nelerdir/ https://bidb.itu.edu.tr/seyir-defteri/blog/2013/09/08/birle%C5%9Fik-modelleme-dili(uml) https://www.microsoft.com/tr-tr/microsoft-365/business-insightsideas/resources/guide-to-uml-diagramming-and-database-modeling