Veritabanı Nedir ? Veritabanı yönetim sistemleri
Çeşitli bilgilerin bir arada tutulduğu depo olarak çok kısa ve özet bir şekilde tanımlanabilir.
Bu tanımı biraz daha açar ve irdelersek ; çeşitli amaçlara yönelik olarak hazırlanmış tablolardan oluşan bilgi depolarıdır. Bu tablolarda tutulan bilgiler ve bunların birbiriyle ilişkilerinin düzenlendiği, bilgiye hızlı bir biçimde erişme yöntemlerinin sağlandığı bir sistemdir.
Örnek olarak bir malı üreten şirketi ele alacak olursak ; bu şirketin ürettiği mallar, bu malları üretmek için kullanması gereken malzemeler, bu malzemeleri aldığı diğer şirketler, üretilen malzemeleri satın alanlar, şirkette çalışanlar, şirketin makine parkı, iş yaptığı diğer şirketlerle olan mali alışverişleri gibi bilgiler değişik tablolarda tutulmaktadır. Saymaya çalıştığım bu evrelerin her birinde ayrı ayrı veritabanları kullanılacağı gibi tek bir veritabanı altında da toplanabilir. Diğer şirketlerin veritabanlarıyla gerçekleştirilecek olan bağlantılarla bilgi alışverişinde de bulunulmaktadır.
Daha basit anlatımla insan beynide bir veritabanı olarak nitelendirilebilir. Hayatımız boyunca çeşitli kaynaklardan aldıklarımız, öğrendiklerimiz beynimizde toplanmakta ve istenilen zamanda kullanılmaktadır. O halde en gelişmiş veritabanı ‘İnsan Beynidir’. Beynimizde çeşitli başlıklar altında tutulan bilgiler istendiğinde tek olarak veya diğer bilgilerle birleştirilerek kullanıma sunulur. Renkler tablosunda bildiğimiz ve tanıdığımız renkler tutulur. Kişiler tablosunda tanıdığımız kişilerin isimleri, adresleri, telefon bilgileri yer alır. Hatta bu kişiler tablosunda görsel olarak bu kişilerin yüzlerinin resimleri de yer almaktadır. Tadlar tablosunda ise acı, tatlı, ekşi gibi bilgiler yer alır. İşte ayrı ayrı tablolarda tutulan bu bilgileri tek başına kullandığımız gibi diğer tablolardaki bilgilerle birleştirerek daha da zenginleştirmek mümkündür.
Biz bu derste veritabanını oluşturan bileşenleri ve onları nasıl kullanacağımızı göreceğiz. Oluşan veritabanında bilgileri hangi tablolarda, nasıl tutacağımızı, onlara nasıl erişebileceğimizi, nasıl birleştirerek kullanacağımızı işleyeceğiz. Bilgi girişinin, kullanımının yöntemlerini incelerken bu işlerde kullanılacak olan yazılımlar bizim konumuz dışındadır. Çünkü oluşan veritabanında ki bilgilere istenilen yerden istenilen programlama dili kullanılarak erişmek mümkündür. Hangisinin nerede ve nasıl kullanılacağı bir tercih meselesidir.
Günümüzde veritabanının kullanılması çok yaygın olduğu için bu alanda da uzmanlaşmaya gidilmiş ve çeşitli meslekler oluşmuştur. Database Administrator (Veritabanı yöneticisi), Database Analist (Veritabanı analizcisi) bu meslek gruplarından önemli olanlarıdır. Oluşan bir veya birden fazla veritabanın yönetilmesine yönelik olarak çeşitli yazılımlar mevcuttur ve bunlara DBMS (DataBase Management System) denmektedir. Ayrıca veritabanlarının birbirleriyle olan ilişkilendirilmesine RDBMS (Relational DataBase Management System) şeklinde tanımlanmaktadır.
Günümüzde en basitinden en karmaşığına kadar bir yığın Veritabanları mevcuttur. En basiti Microsoft’un Access programı altında veya Paradox, Foxpro altında oluşturulan tablolara da veritabanı diyebileceğimiz gibi gene Microsoft’un SQL veya ORACLE, PROGRESS, SYBASE bilinen en üst seviye veritabanlarıdır. Aynı şekilde IBM AS/400 veya mainframe sistemlerinde kullanılan DB2 ‘da bir veritabanıdır. Gelişen teknoloji ile veritabanlarının kullanım alanlarının gelişmesi sonucu içinde görsel bilgileri (resim, ses, video vb.) tutar hale gelmiştir. Internetin yaygınlaşması sonucu ve veritabanlarının işlevleride geliştirilmiş ve WEB uyumlu hale gelmiştir.
Kurulacak olan veritabanı üzerinde bilgi girişi veya sorgulama yapacak olunması bu sistemin iyi analiz edilmesini gerektirmektedir. Sadece tablolara bağlı değildir bu analiz. Bu veritabanının hangi ortamlarda çalışacağı yani Local Network’lerde mi (LAN) yoksa daha geniş uzak alanlarda mı (WAN) çalışacağı, veritabanın çalışacağı işletim sistemine, ana makinanın performansına (disk, memory, işlemci bazında) , veritabanı üzerinde çalışacak olan programlama diline bağlıdır.
Bir ana makine (server) üzerinde kurulmuş olan veritabanını oluşturan tabloları, bağlı kullanıcıları ve bunların tablolar üzerindeki haklarını, işletim sistemiyle olan bağlantıları yani gereken disk alanı, gerekli bellek ve işlemci hızlarını ayarlayan sistem Veritabanı Yönetim Sistemi (DBMS DataBase Management System) olarak adlandırılır.
Gartner Group’un yapmış olduğu bir araştırmaya göre bu tür sistemlerin 7/24 çalışmasına engel olacak hatalar ve oranları ;
Uygulama Hataları %40 ( Yetersiz testler, yönetimsel değişiklikler, aşırı yüklenmeler)
Kullanıcı Hataları %40 (Unutulan/atlanılan işler, fonksiyon/procedure hataları, güvenlik ve
backup hataları)
Diğer Hatalar %20 (Donanım/İşletim sistemi hataları, Network hataları)
Veritabanı sistemleri sayesinde oluşan bilgilerin çeşitli amaçlar doğrultusunda kullanılması, sorgulanması, raporlanması ihtiyacı da doğmuştur. Çok sayıda kullanıcının bu istekleri yapması ve gereken bilgiye zamanında ulaşabilmesi için mevcut veritabanı sistemleri yetersiz kaldığı görülmüştür. Bilgi giren ve sorgulayan kişilerin aynı veritabanı üzerinde çalışma yapmaları en başta hız olmak üzere başka diğer sorunları da ortaya çıkarmıştır. Bunların çözümüne yönelik olarak VERİAMBARI (DATAWAREHOUSE) sistemi geliştirilmiştir.
Veri ambarı kısaca, detay bilgilerin özet bilgiler haline getirilmiş halidir. Detaylandırırsak, girilmiş ve girilmekte olan detay bilgilerin belirlenen periyot zamanlarında (saatlik, günlük, haftalık,aylık vb.) çeşitli özet tablolarda birleştirilerek toplanmaktadır. Sorgulamalar bu özet tablolar üzerinden yapılmakta ve kullanıcı detay bilgiye ulaşmak istediğinde çalışan veritabanına ulaşmaktadır. Böylece sürekli bilgi girişi yapılan veritabanı sistemi meşgul edilmemektedir. Yönetim Bilişim Sistemleri (Management Information System-MIS) bu veri ambarlarının kullanılması sonucunda doğmuştur. Ayrıca günümüzde müşteri ilişkileri, çağrı sistemleri de bu veri ambarlarını kullanmaktadır.
CRM (Customer Relationship Management) diye bilinen “Müşteri İlişkileri Yönetim” pogramları da geniş bir ağdan toplanan bilgilerin yönetilmesine hizmet eder. Internet ortamında yapılan ticaret çeşitlerine katılanların hareketlerinden derlenen bilgilerin analizi ve yönetilmesi bugüne kadar bilinmeyen davranış şekillerinin öğrenilmesine ve yapılamayan hizmetlerin verilmeye başlanmasına neden olmuştur.
B2B (Business to Business) , B2C (Business to Customer) veya C2C (Customer to Customer) olarak adlandırılan yeni ekonomik kavramlar internette yapılan ticaret şekillerini göstermektedir.
B2C – Üretici ile tüketici arasında yapılan her türlü ticari ilişkiyi içermektedir. Üretilen her türlü mal, emtea veya hizmetin, internet ortamında, tüketiciler tarafından satın alınmasıdır. Internet ortamında en yaygın olarak kullanılan ticari yöntemdir. E-TICARET kavramı temel olarak bu ilişkeden doğmuştur. Tüm firmaların amaçları bu doğrultadır. Bu ticari eylemi dört bacaklı bir masaya benzetilebilir : Ürününü satmak isteyen firma, ürünü satın alacak müşteri, bu ürünü yerine teslim edecek taşıyıcı firma ve bu hizmetlerin karşılığının ödemesini kontrol edecek bankalar.
B2B – Üreticiler ile Üreticiler arasındaki (yada firmalar arasındaki) internet ortamında yapılan ticari ilişkiye verilen isimdir. Bir ürünün, malın veya hizmetin başka bir firmanın faaliyet konusuna girdi olarak alınması bir ticari ilişkidir. B2C sırasında satın alınan ürünün stoklardan azalması sonucunda tedarik edilmesi için başka bir firmaya otomatik olarak sipariş verilmesi B2B’ye bir örnektir. Bir başka ticari ilişkide, gene B2C sonucunda hizmetin alıcıya ulaştırılması veya eksilen malın stokta tamamlanması için mal hareketlerinin üçüncü bir firma (lojistik firma olarak nitelendirilir) tarafından yerine getirilmesi de örnek olarak verilebilir. Firmalar arasında Eski zamanlarda nternet ortamında verilen hizmet
C2C – Müşteriden müşteriye yapılan ticari faaliyettir. Bu ticari ilişkinin detayları henüz tam olarak netleşmemiştir. Daha çok bireyler arasındaki ilişkilerin getirdiği bir oluşumdur. B2B ve B2C faaliyetlerinin artması, kuralların netleşmesi sonucunda bu hizmet dalının da gelişmesi beklenmektedir.
Internet ortamında ki sanal mağazaların, portalları kullanarak alışveriş yapan müşterilerin her türlü bilgilerinin bir sistemde tutulması önem kazanmıştır. Müşterilerin cinsiyetleri, yaşları, coğrafik durumları, alışveriş alışkanlıkları, aldıkları ürünler, ödeme şekilleri, sahip olduklarının bilinmesi onlara mal ve hizmet satmak durumunda olan firmaların daha değişik pazarlama, reklam ve satış tekniklerine yönelmelerini zorunlu kılmaktadır. Geniş bir pazarda, benzer ürünlerin daha az maliyetle satışa sunulması tercihlerin kolaylıkla değişmesi demektir. Bu yüzden firmalar kendilerini ziyaret eden ve/veya alışveriş yapan müşterileri kaybetmemek zorundadırlar. Onlara en iyi hizmeti, en doğru ve en kısa sürede verebilmek için CRM programlarını kullanmaktalar. Böylece aynı alışveriş sitesine giren 20 yaşındaki bir erkeğe hitap edebilecek ürünler gösterilirken, 30 yaşlarındaki bir bayana daha değişik ürünler gösterilmektedir. Siteden daha çok elektronik ürünler almakta olan bir müşteriye yeni girişinde ilgisini çekmeyecek bir ürün gurubunu göstermek yersizdir. Bu kişinin e-mail adresine yeni çıkan veya kampanyada olan elektronik ürünler hakkında mesajlar atmak onu siteye çekecek ve alışveriş yapmasına çalışılacaktır. Bu hizmetlerin ödemesi sırasında devrede olan bankalar içinde hem firma hem de firmanın müşterisi müşteri olarak kabul edilecek ve onlara değişik şekillerde hizmetler sunulacaktır. Bu alışverişler sırasında veya sonrasında müşterilerin ilgili firmalara telefonla arayarak ve buradan da çeşitli hizmetler almaktadır. Çağrı ve yönlendirme merkezleri, yardım masaları bu hizmetleri vermektedir. Burada çalışanlarda arayan müşteriye ait bilgileri görerek hizmetlerini vereceklerdir. Belki de buradan da girilen bilgiler başka yerlerde kullanılacaktır.
CRM’i bir uygulama yazılımı veya kullanılan teknolojik cihazlara bağlamak ve e-ticareti de teknolojinin en son noktası olarak nitelendirmek yanlıştır. Tüm ticari faaliyetlerde yer alan en temel unsur, olayın olmazsa olması INSAN dır. Diğerleri sadece birer araçtır. Bütün bilgilerin toplanması, saklanması, analize hazır değerlere getirilmesinde bu araçlardan yararlanılırken tüm bu aşamalarda ki her karar noktasında insan yer almaktadır.
Görüldüğü üzere çok çeşitli bilgiler çok değişik ortamlardan gelmekte ve bunların en hızlı bir şekilde saklanması ve istenildiğinde kullanılması, paylaşılması gerekmektedir. Bu bilgilerin tutulacağı yegane sistem ise VERİTABAN’larıdır. En küçük sistemden en büyük sistemlere kadar geniş bir yelpazede yer alan veritabanlarının bir çatı altında toplanarak bilginin paylaşılması ortak hedeftir.
Internet ortamında yer alan siteler üzerinde bir yığın bilgi statik ve dinamik olarak bulunmaktadır. Firmalara ait sitelerde, kendi veritabanları ile bağlantılı olup, bilgi girişi ve sorgulamalarla hizmet vermektedir. Buradan yola çıkarak internetin sınırsız bir dünya olduğu ve içerdiği bilginin boyutu terabaytlar cinsinden ifade edilmektedir. Bu bilgilere ulaşabilmek için arama motorları kullanılmaktadır.
Yukarıda anlatılanların amacı, veritabanı sistemlerinin günümüze kadar ki gelişimi ve geldiği noktanın vurgulanmasıdır. Sadece veritabanının kurulmasının yeterli olmadığı ve bunun etrafında birçok faktörün yer aldığını ve gelinecek noktanın daha başlangıçtan bilinerek önlemlerin alınması bilinmelidir.
Veritabanı tasarımı aynı program tasarımı gibidir. Neyi, nerede ve nasıl tutulacağı düşünülerek tablolar oluşturulur ve içleri çeşitli alanlara ayrılarak bilgiler yerleştirilir. Amaç ; aynı türden bilgilerin bir tablo altında toplanması, tekrarlanmaması (değişik tablolarda da yer almaması), bu bilginin birlikte kullanılabileceği diğer bilgilerin yer aldığı tablolarla sağlam bağlantılarının oluşturulmasıdır.
Buraya kadar anlatılanlar arasında yer alan tablolar, alanlar ve kayıtlar veritabanı bileşenlerinin en küçük parçalarıdır. İleriki bölümlerde diğer bileşenleri de göreceğiz.
Bir Tablo (Table) içinde, birden fazla sayıda ve tipte yani karakter, sayısal, görsel vb. Alan (Field) bulunmaktadır. Bu tablonun alanlarına satır satır girilen bilgilerde Kayıttır (Record).
Veritabanlarında kullanılan tablolarda çeşitli amaçlar altında gruplanmıştır. Parametre tabloları, Master Tablolar, Detay Tablolar, Hareket (Transaction) Tablolar bu gruplardır.
Parametre Tabloları, diğer tablolara bilgi girişinin yapılması sırasında kullanılmaktadır. Bilginin standart ve belli bir disiplin altında olması için bazı alanlarda kullanıcıların istedikleri gibi giriş yapılmasına izin verilmemektedir. Örneğin İLLER veya İLÇELER birer parametre dosyasıdır. Aynı şekilde bir üniversitede ki FAKÜLTELER de veya DERSLER bir parametre dosyasıdır. İlgili diğer tabloya giriş yapılırken IL, ILCE veya FAKULTE, DERSLER tablosundan seçim yapılarak uygun bilginin seçilmesi gereklidir. Aksi takdirde her kullanıcının istediği gibi giriş yapması sonucunda bilgilerde tutarsızlık oluşur. Bu tablo tipinde tanımlamalar bir kez yapılır. Parametre tablosunda kullanılan bir bilgi başka bir tabloda kullanılmışsa artık silinemez, değiştirilemez.
Master Tablolar, ana bilgilerin tutulduğu tablolardır. OGRENCI bilgileri, OGRETMEN bilgileri birer master (ana) tablodur. Bir öğrenciye veya öğretmene ait temel bilgilerin (ad,soyad, kimlik no, doğum tarihi, yeri vb.) yer aldığı bu tablolarda yer alır. Bu tablolar tanım dosyaları gibidir. Bir veri tabanında birden fazla master tablo olabilir.
Detay Tablolar, bir master tablonun belli bir alanı kullanılarak diğer bilgilerinin tutulduğu tablo tipidir. Bir öğrencinin aldığı derslerin tutuldugu OGRENCI_DERS tablosu bir detay tablodur. Bu tabloda, OGRENCI master tablosundan Ogrenci no. Alanı kullanılarak DERSLER tablosundan seçim yapılarak bir öğrencinin aldığı dersler tanımlanır. Her Detay tablonun, mutlaka bir master tablosu bulunur.
Hareket Tabloları, bir tipe veya zamana veya özelliğe bağlı olarak yapılmış hareketleri barındırır. Bir malın satın alma veya satışları hareket tablosunda yer alır. Aynı şekilde bir personelin işe giriş-çıkışları da bir hareket tablosunda tutulur. Her hareket bir kayıttır.
Tabloların bu şekilde tanımlanmasının nedeni analiz sırasında, bilgilerin nerede ve nasıl tutulacağının belirlenmesinde bizlere yardımcı olunması içindir. Bilginin birden fazlada tabloda tekrar etmeyeceğini göz önünde bulundurarak tablolar arasındaki ilişkinin sağlanmasında özel alanlar kullanılır. Bu alanların tekrar etmemesi yani veritabanı içinde tek olması mutlak şarttır. Öğrenci kimlik numarası tüm üniversite içinde tektir ve sadece bir öğrenciye aittir. Aynı şekilde bir araba plakası da bir araca aittir ve diğer tablolarla ilişki bu özel alan üzerinden kurulur.
Son düzenleyen Safi; 24 Kasım 2018 03:26