T.C. MUSTAFA KEMAL ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ ANABĠLĠM DALI

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "T.C. MUSTAFA KEMAL ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ ANABĠLĠM DALI"

Transkript

1 T.C. MUSTAFA KEMAL ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ ANABĠLĠM DALI ORACLE VTYS ve ÖRNEK VERĠTABANI UYGULAMASI BÜLENT SĠYAH LĠSANS TEZĠ Ġskenderun/HATAY OCAK-2012

2 MUSTAFA KEMAL ÜNĠVERSĠTESĠ FEN BĠLĠMLERĠ ENSTĠTÜSÜ ORACLE VTYS ve ÖRNEK VERĠTABANI UYGULAMASI BÜLENT SĠYAH LĠSANS TEZĠ BĠLGĠSAYAR MÜHENDĠSLĠĞĠ ANABĠLĠM DALI YaĢar DAġDEMĠR danıģmanlığında hazırlanan bu tez / / tarihinde aģağıdaki jüri üyeleri tarafından oybirliği/oyçokluğu ile kabul edilmiģtir. Ġmza. Ġmza Ġmza BaĢkan Üye Üye Bu tez Enstitümüz Bilgisayar Mühendisliği Anabilim Dalında hazırlanmıģtır. Kod No: Bu çalıģma.. tarafından desteklenmiģtir... Enstitü Müdürü Ġmza ve Mühür Proje No: Not: Bu tezde kullanılan özgün ve baģka kaynaktan yapılan bildiriģlerin, çizelge, Ģekil ve fotoğrafların kaynak gösterilmeden kullanımı, 5846 sayılı Fikir ve Sanat Eserleri Kanunundaki hükümlere tabidir. ii

3 ĠÇĠNDEKĠLER ÖZET... V KISALTMALAR DĠZĠNĠ... VI ÇĠZELGELER DĠZĠNĠ... VII ġekġller DĠZĠNĠ... VIII 1. GĠRĠġ ORACLE VERĠTABANI YÖNETĠM SĠSTEMĠ ORACLE TEMELLERĠ Kullanılan Temel Terimler Temel Veri Tipleri Kullanıcı Tanımları ORACLE VERĠTABANI YAPISI Fiziksel Bölüm Mantıksal Bölüm VERĠ TANIMLAMA DĠLĠ KOMUTLARI Veri Sözlüğü Veritabanı Nesneleriyle Ġlgili Komutlar YEDEK ALMA VE GERĠ GETĠRME Fiziksel Yedek Alma Mantıksal Yedek Alma VERĠTABANI MODELLERĠ VE TASARIMI VERĠTABANI MODELLERĠ Ağ Veritabanı Modeli HiyerarĢik Veritabanı Modeli Nesne Yönelimli Veritabanı Modeli E-R Modeli ĠliĢkisel Veri Modeli Farklı Veritabanı Modellerinin Avantajları ve Dezavantajları ÖRNEK VERĠTABANI (ÖĞRENCĠ OTOMASYONU) TASARIMI iii

4 Öğrenci Otomasyonu ĠĢlevleri Varlık Kümeleri Arasındaki ĠliĢki ĠliĢki ġemaları Çizeneği ORACLE DA VERĠTABANI UYGULAMASI ORTAMIN HAZIRLANMASI VE VERĠTABANI OLUġTURMA TABLOLARIN YARATILMASI Öğrenciler Tablosu Öğretim Elemanları Tablosu Bölümler Tablosu Fakülteler Tablosu Ünvanlar Tablosu Dönemler Tablosu Dersler Tablosu ÖğrenciDersler Tablosu TABLOLAR ARASI ĠLĠġKĠLER Öğrenci Tablosu ĠliĢkileri ve Son Hali Öğretim Elemanları Tablosu ĠliĢkileri ve Son Hali Bölüm Tablosu ĠliĢkileri ve Son Hali ÖğrenciDers Elemanları Tablosu ĠliĢkileri ve Son Hali Fakülte Tablosunun Son Hali Ünvan Tablosunun Son Hali Ders Tablosunun Son Hali Dönem Tablosunun Son Hali SONUÇ KAYNAKLAR TEġEKKÜR ÖZGEÇMĠġ iv

5 ÖZET Bu çalıģmada ĠliĢkisel Veritabanı Yönetim Sistemleri konusunda lider durumda olan Oracle ve tüm veritabanı modelleri hakkında genel bilgilere sahip olmak, örnek bir durum ile veritabanı modelleyip, bu modeli Oracle Veritabanı Yönetim Sisteminde uygulama amaçlanmıģtır. Oracle VTYS temel anlamda veritabanı yapı biçimi anlaģılmıģ, en sık karģılaģılan terimlerle sistemin kolay anlaģılması hedeflenmiģ, Oracle da bulunan veri türleri Microsoft SQL Server daki veri türleri ile karģılaģtırmalar yapılmıģ, Oracle da var olan kullanıcı profilleri ve farkları anlaģılıp, Veri Tanımla Dili Komutlarıyla veri yaratma, listeleme, silme, düzenleme gibi iģlemlerle veritabanı nesneleri yönetilmiģ ve Oracle VTYS nin yedek alma ve alınan yedeği geri yerleģtirme iģlemleri incelenmiģtir. Tüm Veritabanı Modelleri incelenip en yaygın olan ve diğer modellere göre daha belirgin iliģkiler kuran ĠliĢkisel Model (Relational Model) ile örnek bir durum için veritabanı tasarlanmıģtır. Tasarlanan veritabanı Oracle VTYS ile oluģturulup tasarıma uygun yapı ve bu yapılar arasındaki iliģkiler gerçekleģtirilip, Veri Tanımla Dili Komutları uygulanmıģtır. Sonuç olarak Oracle de diğer veritabanı yönetim sistemlerinde olduğu gibi, stored procedure lar, paketler, trigger ler gibi bileģenler yer alır. Oracle da bulunan farklı yetkilere ve eriģim haklarına sahip kullanıcılarla veritabanı güvenliğinde önemli bir yere sahiptir. Oracle çok sayıda araçtan oluģur ve uygulama geliģtiricilerinin kolay ve esnek uygulamalar geliģtirmesine olanak sağlar. Anahtar Kelimeler: Oracle, Veritabanı, VTYS, Veri Modelleri, ĠliĢkisel Veritabanı Yönetim Sistemi v

6 KISALTMA DĠZĠNĠ BLOB CLOB DBA DBMS DDL E-R Modeli RDBMS SQL VT VTY VTYS : Binary Large Object : Character Large Object : Database Administrator : Database Management Systems : Veri Modeli Tanımlama Dili (Data Definition Language) : Entity-Relationship Model : Relational Database Management Systems : Yapısal Sorgulama Dili (Structured Query Language) : Veritabanı : Veri Tabanı Yöneticisi : Veritabanı Yönetim Sistemi vi

7 ÇĠZELGELER DĠZĠNĠ ÇĠZELGE 2.1. Veri Sözcüğü görüntüleri... 9 ÇĠZELGE 2.2. Oracle Tarafından TanımlanmıĢ Roller ÇĠZELGE 3.1. ÇeĢitli Veritabanı Modellerinin Avantajları ve Dezavantajları ÇĠZELGE 4.1. Tablo iliģkileri Sonrası Öğrenci Tablosu Son Hali ÇĠZELGE 4.2. Tablo iliģkileri Sonrası ÖğretimElemanı Tablosu Son Hali ÇĠZELGE 4.3. Tablo iliģkileri Sonrası Bölüm Tablosu Son Hali ÇĠZELGE 4.4. Tablo iliģkileri Sonrası ÖğrenciDers Tablosu Son Hali ÇĠZELGE 4.5. Fakülte Tablosunun Son Hali ÇĠZELGE 4.6. Ünvan Tablosunun Son Hali ÇĠZELGE 4.7. Ders Tablosunun Son Hali ÇĠZELGE 4.8. Dönem Tablosunun Son Hali vii

8 ġekġller DĠZĠNĠ ġekġl 3.1. Ağ Modeli Örneği ġekġl 3.2. HiyerarĢik Veri Modeli Örneği ġekġl 3.3. Veri Modellemede Kullanılan Grafiksel Notasyonlar ġekġl 4.1. Öğrenci Tablosu ġekġl 4.2. Öğretim Elemanı Tablosu ġekġl 4.3. Bölüm Tablosu ġekġl 4.4. Fakülte Tablosu ġekġl 4.5. Ünvan Tablosu ġekġl 4.6. Ders Tablosu ġekġl 4.7. Dönem Tablosu ġekġl 4.8. ÖğrenciDers Tablosu viii

9 1. GĠRĠġ Veri Tabanı Yönetim Sistemleri (VTYS) çok büyük veri tutan ve bu verileri yönetmek isteyen herkese hizmet etmek üzere geliģtirilmiģ programlardır. BaĢlıca kullanılan VTYS'ler Oracle, DB2, MS SQL Server, Sybase, Informix, MySQL, FireBird Postrage ve Access gibi sıralanabilir. Günümüzde yaygın olarak kullanılan ĠliĢkisel Veri Tabanı (Relational Database) yaklaģımı, verileri normalizasyon kuralları çerçevesinde tablolara ayırmayı, bu tablolar arasında bir birincil anahtar ve bir yabancı anahtar üstünden iliģki kurmayı öngörmektedir. ÇalıĢmada VTYS lerinden Oracle seçilmesinin nedeni, kullanılan veritabanları arasından lider durumda olması, çok sayıda araca sahip olan Oracle a hakim olmanın aslında aynı zamanda piyasadaki herhangi bir VTYS ye kısa sürede geliģtirilebileceği anlamına gelmesidir. ÇalıĢmada temel bilgiler alındıktan sonra örnek olarak bir öğrenci otomasyonu için veritabanı geliģtirildi. Öğrenci otomasyonunda hedef standart iģlevlerin bulunduğu dar kapsamlı senaryo ile yaratıldı. Senaryo dar olsa bile yeterlilik düzeyine sahip ve uygulama bağlamında elde edilen temel bilgilerin tümünü kapsayacak düzeyde oluģturuldu. ÇalıĢma bölümlerinden olan Veritabanı Modelleri ile tüm modeller arasından en yaygın olan iliģkisel veritabanı model seçilip, bu model ile veritabanı tasarlanıp Oracle VTYS de uygulanarak geliģtirildi. ÇalıĢmaların bölümleri Ģöyledir. Ġkinci bölümde; Oracle VTYS nin genel yapısına iliģkin bilgilerle, Veri Tanımla Dili Komutları ile veritabanı nesnelerini yönetme iģlemleri aktarılmıģtır. Üçüncü bölümde; Veritabanı Modelleri ve bu modeller arasındaki farklar aktarılıp, ĠliĢkisel Veritabanı Modeli ile örnek bir veritabanı tasarlanmıģtır. Dördüncü bölümde; ikinci bölümde elde edilen bilgilerle, üçüncü bölümde tasarlanan örnek bir veritabanı tasarımının Oracle VTYS de oluģturulup, yönetilmiģtir. 1

10 2. ORACLE VERĠTABANI YÖNETĠM SĠSTEMĠ ĠliĢkisel Veritabanı Yönetim Sistemleri (Relational Database Management Systems - RDBMS) büyük miktarlardaki verilerin güvenli bir Ģekilde tutulabildiği, bilgilere hızlı eriģim imkanlarının sağlandığı, bilgilerin bütünlük içerisinde tutulabildiği ve birden fazla kullanıcıya aynı anda bilgiye eriģim imkanının sağlandığı programlardır. Oracle veritabanı da bir iliģkisel veri tabanı yönetim sistemidir. Oracle veritabanının özellikleri Ģunlardır [1]: Büyük miktarda veri tutabilmekte ve verilerin depolandığı alanları ayarlama imkanı vermektedir. Aynı anda çok sayıda kullanıcıya verilerin bütünlüğünü bozmadan hizmet verebilmektedir. Günün 24 saati ve haftalar boyu hiç kapatılmadan çalıģabilmektedir. ĠĢletim sistemi, veri eriģim dilleri ve ağ iletiģim protokolleri standartlarıyla uyumludur. Yetkisiz eriģimleri engelleme ve kontrol edebilme imkanı sağlamaktadır. Bütünlüğü veritabanı düzeyinde sağlayabilmektedir, böylece daha az kod yazılmaktadır. Ġstemci/Sunucu mimarisinin bütün avantajlarını kullanabilmektedir ORACLE TEMELLERĠ Kullanılan Temel Terimler Ad-Hoc: Query Basit (bir kereliğine yazılan) sorgulara verilen addır. Sorgu olarak belli verilerin listelenmesi komutlarını örnek verebiliriz: SELECT * FROM MUSTERI gibi müģteri tablosundaki bütün kayıtları listele komutu. Block (Küme): Oracle veritabanlarının depolanmasında kullanılan en küçük birime block (küme) denir. Bir blok 2 KB-16KB boyutları arasında büyüklüğe sahiptir. 2

11 Buffer (Ara Bellek): Verileri depolamak için kullanılan bellek miktarı. Bir ara bellek kullanılmıģ (anlık) veriyi içerir. Birçok durumda, ara bellekler disk üzerindeki verilerin bellekteki kopyasıdır. Cache (Ön Bellek): Ön bellek, verilere hızlı eriģim için kullanılan ara bellek alanlarıdır. Mantık olarak son eriģilen bilgilerin durduğu ve aynı bilginin bir kere daha istendiğinde ana belleğe gitmeden ön bellekten alıdığı bir eriģim mekanizmasıdır. Checkpoint: Bellekteki verilerin disk dosyalarına yazılması iģlemi. Database (veritabanı): ĠliĢkili verilerin toplandığı veri kümesidir. Ana veri düzenleme sisteminde veritabanı temeldir. Data Dictionary: Tabloların oluģturduğu bir veri sözlüğüdür. Veritabanı hakkında bilgi bu sözlükte yer alır. DBA (Database Administrator): Veritabanı yönetiminden sorumlu olan kiģidir. Sistem yöneticisi ya da veritabanı yöneticisi de denir. Dynamic Performance Tables (Dinamik Performans Tabloları): BaĢlatılan kopyanın performansını saklamak için kullanılan dinamik tablolardır. Function (Fonksiyon): Belli bir iģlemi yerine getirmek için kullanılan komut kümeleridir. Veritabanı programlamasında sunucu tarafında yazılan kodlar fonksiyon ve yordam olarak yazılır. Procedure (Yordam): Yapı ve anlam itibari ile fonksiyonlara benzerler fakat iģlevleri ve etki alanları çok daha geniģtir. Query (Sorgu): Bir veritabanı üzerinde çalıģtırılan komut kümesidir. Örneğin SELECT deyimiyle baģlayan komutlar. M. Schema (ġema) Bir veritabanı nesnelerinin Ģemasıdır (yani bir plandır). Transaction (ĠĢlem Bilgisi/Hareketi): Bir ya da birden çok SQL deyimi bir iģlem bilgisi olarak tanımlanır. Transaction lar özel bir alanda depolanır ve verilerin bütünlüğünün sağlanması için kullanılır. Bir transaction içindeki iģlemlerin tamamı (birkaç güncelleme komutu) yerine getirilir ve iģlem onaylanır (commit). Aksi takdirde iģlem geri çevrilir (roll back). Trigger (Tetikleyici): Yordam ve fonksiyonların otomatik olarak baģlatılmasını sağlayan mekanizma ya da yordamın otomatik olarak çalıģanıdır. Tetikleyiciler tipik 3

12 olarak, tablo üzerinde INSERT, UPDATE ya da DELETE deyimi iģletildiğinde baģlar Temel Veri Tipleri varchar2: 4000 taneye kadar karakter tutabilen veri tipidir. Microsoft SQL Server daki varchar veri tipi gibi düģünülebilir. Eğer saklanacak verinin baģında ya da sonunda boģluk (space) karakteri varsa bunları silerek tutar. nvarchar2: 4000 taneye kadar Unicode karakter tutabilen veri tipidir. Microsoft SQL Server daki nvarchar veri tipi gibi düģünülebilir. Eğer saklanacak verinin baģında ya da sonunda boģluk (space) karakteri varsa bunları silerek tutar. char: 2000 taneye kadar sabit uzunluklu karakter tutabilen veri tipidir. Microsoft SQL Server daki char veri tipi gibi düģünülebilir. nchar: 2000 taneye kadar sabit uzunluklu Unicode karakter tutabilen veri tipidir. Microsoft SQL Server daki nchar veri tipi gibi düģünülebilir. number: Her türlü sayısal verilerin tutulabileceği veri tipidir. Microsoft SQL Server daki int, float gibi veri tiplerine karģılık olarak düģünülebilir. Dikkat edilmesi gereken nokta Microsoft SQL Server daki decimal gibi tanımlanmasıdır. date: Saniye bazında tarih ve zaman verisi tutar. Geçerli tarih aralığı MÖ 1 Ocak 4712 den MS 31 Aralık 9999 a kadardır. Microsoft SQL Server daki smalldatetime veri tipi gibi düģünülebilir. timestamp: date tipine çok benzeyen bir veri tipidir. date tipine göre daha detaylı zaman bilgisi tutar. Microsoft SQL Server daki datetime veri tipi gibi düģünülebilir. clob (character large object): 4 GB a kadar karakter verisi tutar. varchar2 nin büyütülmüģ bir tipi olarak düģünülebilir. Microsoft SQL Server 2005 ile birlikte gelen varchar(max) veri tipi gibi düģünülebilir. blob (binary large object): clob a benzer bir veri tipi olmakla birlikte içinde tuttuğu veri tipi binary dir. Maksimum büyüklüğü 4 GB tır. Microsoft SQL Server daki text, image tiplerine benzerdir Oracle Kullanıcı Tanımları SYS: SYS kullanıcısı veri sözlüğünü oluģturan tüm iç Oracle tablolarının sahibidir. SYS kullanıcısıyla hiçbir iģlem yapılmaması için bu hesabın kilitlenmesi tercih 4

13 edilmelidir. SYS kullanıcısının sahibi olduğu nesnelerde de değiģiklik yapılmamalıdır. SYS kullanıcının varsayılan Ģifresi change_on_install dir. SYSTEM: SYSTEM kullanıcısı birtakım yönetimsel tabloların ve view ların sahibidir. Yetkisiz kullanım ihtimaline karģı kilitlenmesi ve kullanılmaması tercih edilmelidir. Bu kullanıcının varsayılan Ģifresi manager dir. SCOTT: Örnek tablolar içeren eğitim amaçlı hesaplar için kullanılan kullanıcı tipidir. Varsayılan Ģifresi tiger dir. SYSTEM kullanıcına benzer. DBSNMP: Veri tabanı hakkında performans istatistiklerini toplamak ve görüntülemek amacıyla Enterprise Manager tarafından kullanılan kullanıcıdır. SYSMAN: Enterprise Manager da SYS kullanıcısıyla aynı haklara sahiptir ORACLE VERĠTABANI YAPISI Oracle veritabanının, iģletim sistemi tarafından bakıldığında, biri fiziksel diğeri mantıksal olmak üzere iki bölümü vardır [2]. Fiziksel bölüm, iģletim sisteminden görünen kısımdır. Bunlar Data File(Veri Dosyası), Control File(Kontrol Dosyası) ve Log File(Log Dosyası) dan oluģmaktadır. Mantıksal Bölüm, bir ya da daha fazla tablo uzayı(tablespace) ve tablolar(table), görüntüler(view), sıralar(sequence), eģanlamlar(synonym), indeksler(index), kümeler(cluster), veritabanı bağlantıları (database link), prosedürler(procedure), fonksiyonlar(function), ve paketlerden(package) oluģan Ģema nesnelerinden oluģmaktadır. Fiziksel bölüm iģletim sistemi tarafından görülebilmesine rağmen, mantıksal bölüm ancak Oracle a bağlanıp, SQL komutları çalıģtırılarak görülebilmektedir. Yani, Oracle kurulu herhangi bir makinede, SQL bilgisi olmayan bir insan, Oracle ın sadece fiziksel bölümünü görebilmektedir Fiziksel Bölüm Fiziksel bölüm veritabanını oluģturan iģletim sistemi dosyalarıdır. Bir Oracle veritabanı fiziksel olarak bir ya da daha fazla veri dosyası, iki ya da daha fazla log dosyası, bir ya da daha fazla kontrol dosyasından oluģur. 5

14 Veri Dosyaları(Data Files) Veri dosyaları veri tabanındaki tüm verileri tutan dosyalardır. Bir veri dosyası sadece bir veritabanına ait olabilir. Tablo, indeks gibi mantıksal veritabanı yapılarının içerisindeki veriler fiziksel olarak veri dosyalarında tutulurlar. Bir veri dosyası kendisi için ayrılan alan dolduğunda, kendi sahip olduğu alanı artırabilecek özelliklere sahiptir. Bir ya da daha fazla veri dosyası mantıksal bir veritabanı depolama ünitesi olan bir tablo uzayını oluģturular. Normal veritabanı iģlemleri boyunca bir veri dosyası içerisindeki veriler okunur ve Oracle için ayrılan belleğe getirilirler. Örneğin bir kullanıcının veritabanındaki bir tablonun verilerine eriģmek istediğini varsayalım. Eğer istenilen veriler bellekte yer almıyorsa, ancak o zaman uygun veri dosyasından okunur ve belleğe getirilirler. DeğiĢikliğe uğrayan veriler ya da yeni eklenen veriler veri dosyalarına hemen yazılmazlar. Sabit diske eriģimi azaltmak ve böylece sistemin performansını artırmak için veriler bellek havuzunda tutulur ve gerektiğinde hepsi birden uygun veri dosyalarına kaydedilirler. Bunu Oracle artalan iģlemleri belirler Kontrol Dosyaları(Control Files) Tüm Oracle veritabanları kontrol dosyasına sahiptir. Bir kontrol dosyası veritabanı adı, veri dosyaları ve log dosyalarının adı ve diskteki yeri, veritabanının oluģturulma tarihi vb. veritabanı ile ilgili bilgileri tutar. Her veritabanı oturumu açıldığında Oracle bu dosyayı kontrol ederek gerekli bilgileri alır. Eğer veritabanında fiziksel bir değiģme olursa(yeni bir log dosyası ya da veri dosyası oluģturulması gibi), yapılan değiģiklikler Oracle tarafından otomatik olarak kontrol dosyalarına yansıtılır Log Dosyaları(Log Files) Redo Log dosyaları olarak bilinen bu dosyaların amacı veriler üzerinde yapılan tüm değiģiklikleri kaydetmektir. Eğer veri dosyalarına kalıcı olarak kaydedilmiģ olan, değiģikliğe uğramıģ kayıtlarda bir bozukluk olursa yapılan değiģiklikler redo log dosyalarından sağlanabilir ve iģlemler kaybolmaz. Birden fazla tekrarlanan bozukluk durumlarında redo log dosyalarının da bozulmasını engellemek için Oracle farklı diskler üzerinde redo log dosyalarının birden fazla kopyasının alınmasına olanak 6

15 sağlar. Bir veritabanı iģlemi sırasında elektrik kesilirse, bellekteki veriler veri dosyalarına kaydedilmeyecek ve verilerin kaybolması durumuyla karģılaģılacaktır. Oracle veritabanı tekrar açıldığında redo log dosyalarında yapılan son değiģiklikler veri dosyalarına yansıtılarak verilerin kaybolması engellenir Mantıksal Bölüm Oracle veritabanı, tablo uzayları olarak bilinen bir veya birden fazla mantıksal depolama birimlerine bölünmüģtür. Tablo uzayları da dilimler olarak bilinen mantıksal depolama birimlerine bölünmüģtür. Uzanımlar ise Oracle sisteminde e küçük veri birimi olan Veri Blok larından oluģmuģtur [3] Veri Blokları (data blocks) Oracle verileri, Veri Blokları nda saklar. Veri Blokları na mantıksal bloklar, Oracle blokları veya sayfaları da denilmektedir. Bu blokların uzunluğu her yeni veritabanı oluģrulduğunda belirlenir Uzanımlar (extends) Belirli sayıda veri bloklarından meydana gelen mantıksal veritabanı depolama birimidir. Bir veya birden fazla Uzanım bir araya gelerek Dilimler i oluģturur. Dilimlerdeki boģ alanlar tamamen dolduğu zaman, Oracle Dilimler için yeni Uzanım lar tahsis eder Dilimler (segments) Bir veya birden fazla Uzanım dan meydana gelen diğer bir mantıksal depolama birimi ise Dilimler dir. Oracle tablolardaki verileri sakladığı dilimler haricinde bir kaç farklı Dilim yapısı daha kullanmaktadır. Bunlardan indekslere ait olan veriler için Ġndeks Dilimleri, SQL komutları iģletilirken duyulan ihtiyaçlar için Geçici Dilimler kullanılmaktadır. 7

16 2.3. VERĠ TANIMLAMA DĠLĠ KOMUTLARI Veri Tanımlama Dili Komutları SQL de veritabanı nesnelerini oluģturma, silme, yapısını değiģtirme iģlemleri için kullanılan komutlara veri tanımlama dili komutları denir. Bu komutlar create, alter, drop, grant, revoke, analyze, audit, comment komutlarıdır [4] Veri Sözlüğü Veri sözlüğü, Oracle veritabanı ile ilgili bilgilerin yine Oracle veritabanında tablolar ve görüntüler halinde saklanmasıyla oluģur. Veritabanı ile ilgili bu bilgiler kullanıcılar, haklar, veritabanı nesneleri, tablo kısıtlamaları vb. bilgilerinden oluģur. Veri sözlüğü Oracle veritabanın en önemli bölümüdür. Veritabanı hakkındaki tüm bilgiler veri sözlüğünden SQL komutları yazarak öğrenilebilir. Veri sözlüğü, veritabanı kurulurken standart olarak oluģturulur ve yapılan değiģiklikler otomatik olarak veri sözlüğüne yansıtılır. Örneğin bir kullanıcı bir tabloya bir alan eklerse, veri sözlüğünde o tabloya iliģkin yapı kullanıcı farketmeden değiģtirilir böylece veri sözlüğünden veritabanı hakkında sürekli olarak güncel ve sağlıklı bilgi almak mümkün olur. Veri sözlüğü içerisindeki bilgiler SQL komutlarıyla sorgulanıp görülebilir. Fakat hiçbir kullanıcı veri sözlüğünü değiģtiremez, ekleme yapamaz ve kayıt silemez. Veritabanı oluģturulurken oluģturulan veri sözlüğü tabloları SYS adlı kullanıcıya aittir. Veri sözlüğü tabloları için görüntüler oluģturulmuģtur. Tüm kullanıcılar hakları olduğu müddetçe bu görüntülerden bir ya da birkaçını sorgulayabilirler. Veri sözlüğü görüntüleri, baģlarındaki ön eklerine göre üç gruba ayrılır: USER_xxx : Veritabanına o an bağlı olan kullanıcının sahip olduğu nesneler ile ilgili görüntülerdir. ALL_xxx : Veritabanına o an bağlı olan kullanıcının sahip olduğu ve baģkalarına ait olan ve kendisine kullanma hakkı verilmiģ olan tüm nesnelerle ilgili görüntülerdir. DBA_xxx : DBA(veritabanı yöneticisi) veya DBA hakkına sahip kullanıcıların görebileceği görüntülerdir. 8

17 Görüntü Ġsimleri USER_TABLES USER_SEQUENCES USER_VĠEWS ALL_OBJECTS DBA_USERS DBA_TABLESPACE ÇĠZELGE 2.1. Veri Sözcüğü görüntüleri Açıklama Kullanıların sahip olduğu tabloların yapısını gösteren görüntüdür. Kullanıcılar sahip olduğu sıralar hakkında bilgi içeren görüntüdür. Kullanıcılar sahip olduğu görüntüler hakkında bilgi içeren görüntüdür. Kullanıcının eriģebileceği bütün nesneler hakkında bilgi içeren görüntüdür. Veritabanındaki bütün kullanıcılar hakkında bilgi içeren görüntüdür. Veritabanındaki bütün tablo uzayları hakkında bilgi içeren görüntüdür. SCOTT kullanıcısının bütün nesnelerini görmesi SELECT * FROM USER_OBJECTS Bir kullanıcın kendine ait bütün tabloların adlarını listelemesi SELECT TABLE_NAME FROM USER_TABLES Bir kullanıcının tüm indeks bilgilerini listelemesi SELECT INDEX_NAME,TABLE_NAME,TABLESPACE_NAME FROM ALL_INDEXES Veritabanı Nesneleriyle Ġlgili Komutlar Create Table Tablo oluģturma komutunu bir örnekle anlatılırsa. CREATE table tbl_ogr (OgrNum NUMBER(11) NOT NULL, Ad VARCHAR2(15), Soyad VARCHAR2(15), Dogyer NUMBER(2), 9

18 CONSTRAINT cst_ogrnum PRIMARY KEY(OgrNum) CONSTRAINT cst_dogyer FOREING key(dogyer) REFERENCES il(ilkod)) Bu komut tbl_ogr adında bir tablo oluģturuyor. Tablonun dört alanı var. Bunlardan biri özel anahtar(primary Key) olarak tanımlanmıģ. Bu alanın değeri boģ olamaz ve tabloda aynı iki değer bulunamaz. Bir tablo ile baģka bir tablo arasında iliģki kurulacaksa bu ana tabloda PRIMARY KEY tanımıyla, diğer tabloda FOREIGN KEY tanımıyla yapılır. Yani doğum yeri alanı için buradaki tablomuz ana tablo değil. Çünkü aynı yerde doğmuģ kiģilerin kaydı tablomuzda olabilir. Böylece aynı il kodu birden fazla kayıtta yer alabilir. ĠliĢki kurulan diğer tablonun adını yukarıdan çıkarabiliriz. Bu tablo il isminde. Her il bu tabloda kayıtlı ve her birinin bir kodu var. Bu tabloda bir ilin kaydı iki sütunda yer alamaz. Bu yüzden ilkodu alanı il tablosu için PRIMARY KEY olarak tanımlanmıģ. PRIMARY KEY, NOT NULL gibi bildirimler kısıtlamalar olarak tanımlanır. Bir tabloda farklı Ģekilde kısıtlamalar yapılabilir. Kısıtlama için kullanılan bildirimler 5 adettir. NOT NULL : Bu kısıtlamanın konulduğu bir alanın mutlaka bir değeri olmak zorundadır. UNIQUE : Bu kısıtlamanın konulduğu bir alan bir değerden sadece bir adet içerebilir. Bu kısıtlamaya sahip alan NOT NULL ile tanımlanmadıysa NULL değer alabilir. PRIMARY : Bu kısıtlama bu alanın özel anahtar olmasını sağlar. Bu alan boģ geçilemez ve yine tablo içerisinde bir değer iki kayıtta bulunamaz. FOREIGN KEY : Bu kısıtlama baģka bir tablonun PRIMARY KEY olan alanıyla iliģki kurmak için gerekir. CHECK : Bu kısıtlama ile birlikte bir Ģart kullanılır. Tabloya kayıt girilirken değerlerin bu Ģarta uyması beklenir Alter Table Daha önceden oluģturulmuģ bir tablonun yapısını değiģtirmek için ALTER TABLE komutu kullanılır. 10

19 ALTER TABLE tablo_adı ADD MODIFY DROP (<sütun ismi> veri tipi <sütun kısıtlaması>) ENABLE ifade1 DISABLE ifade2 ALTER komutuyla tablolara yeni bir alan ve kısıtlama eklenebilir, var olan alan ve kısıtlamaların durumu değiģtirilebilir veya tablodan ksıtlamalar düģürülebilir. Fakat ALTER komutuyla var olan sütunlar düģürülemez. Bir alanın değeri büyültülebilir, fakat küçültülemez. ALTER TABLE tbl_ogr ADD CONSTRAINT cst_bolum FOREIGN KEY(Bolum) REFERENCES usr_gazi.tbl_bol(bolkod); Yukarıdaki örnekte tbl_ogr adlı tablonun yapısı değiģtiriliyor. Bir baģka kullanıcının bir tablosu ile iliģki kuruluyor. ALTER TABLE tbl_ders MODIFY dersad varchar2(40); Bu örnekte de tbl_ders tablosunun bir alanının uzunluğu değiģtiriliyor Drop Table Daha önceden oluģturulmuģ bir tablonun düģürülmesi için kullanılan komuttur. Kullanımı: DROP TABLE <tablo_ismi> [CASCADE CONSTRAINTS] KöĢeli parantez içerisindeki tanım kullanılırsa master-detay iliģkili tablolarda master tablo düģürülünce detay tabloların da otomatik olarak düģürülmesi sağlanır. Eğer bu seçenek kullanılmazsa diğer tablolarla iliģkisi bulunan bir tablo silinemez. Ancak bu iliģkiler kaldırıldıktan sonra tablo silinebilir. DROP TABLE tbl_ogr CASCADE CONSTRAINT Create View Görüntü oluģturmak için bir SELECT cümlesi kullanmak gerekir. Bir görüntü bir ya da daha fazla tablodan oluģturulabileceği gibi, bir baģka görüntüden de 11

20 oluģturulabilir.aģağıdaki örnekte üç farklı kullanıcnın aynı yapıdaki tabloları birleģtirilip bir görüntü oluģturuluyor. CREATE VIEW vi_ogr AS SELECT * from usr_esef.tbl_ogr UNION ALL SELECT * FROM usr_tef.tbl_ogr UNION ALL SELECT * FROM usr_gef.tbl_ogr; Create Tablespace Tablo uzayı kullanıcılara ait olan nesnelerin veritabanında mantıksal olarak tutulduğu yere denmektedir. Bir tablo uzayı oluģtururken, bu tablo uzayının verilerinin hangi veri dosyasına konulacağı ve bu dosyanın dizini ile büyüklüğü bildirilmelidir. CREATE TABLESPACE tbs_esef DATAFILE 'c:\orasql\tbs_esef.dat' SIZE 10M DEFAULT STORAGE (INITIAL 10K NEXT 50K MINEXTENTS 1 MAXEXTENTS 999) ONLINE; SIZE bildirisi veri dosyasının diskte kaplayacağı yeri belirler. Burada 10M, 5K gibi değerler girilebilir. INITIAL bildirisi tablo uzayı oluģturulduğunda, ilk alacağı geniģleme nin büyüklüğünü belirler. Next tablo uzayı oluģturulduktan sonra alacağı geniģlemelerin büyüklüğünü belirler. MINEXTENTS tablo uzayı oluģturulduğunda ilk olarak alacağı minimum geniģleme sayısının belirtildiği bölümdür. MAXEXTENTS bir tablo uzayının ilk olarak aldığı geniģleme de dahil olmak üzere alabileceği maksimum geniģleme sayısının belirtildiği bölümdür Create User Kullanıcı veritabanı nesnelerinin sahibidir. Kullanıcılar, nesneleri oluģturur, kullanır ve silerler. Oracle veritabanı ilk kurulduğunda standart olarak üç kullanıcı tanımlanır. Bunlardan bir SYS kullanıcısıdır. SYS kullanıcısı veri sözlüğünün sahibi olan kullanıcıdır. Tüm nesneleri oluģturma hakkına sahiptir ve diğer bütün kullanıcların nesnelerine eriģebilir. SYS kullanıcısının ilk Ģifresi change_on_install olarak 12

21 belirlenmiģtir. Ġkinci kullanıcı SYSTEM kullanıcısıdır. SYSTEM kullanıcısı veri sözlüğünü kullanma hakkına sahiptir. Önemli nesneleri oluģturma hakkına da sahiptir. Ġlk Ģifresi manager olarak belirlenmiģtir. Diğer kullanıcıların nesnelerine eriģme hakkına da sahiptir. Üçüncü kullanıcı SCOTT kullanıcısıdır. SCOTT kullanıcısı veritabanına baģlangıçta yüklenen demo tabloların sahibidir. Bu kullanıcının nesneleri kullanılarak SQL denemeleri yapılabilir [7]. CREATE USER komutunu SYS ve SYSTEM kullanıcıları standart olarak kullanabilir. Bu hak diğer kullanıcılara da verilebilir. Her kullanıcının nesnelerini tutmak için bir tablo uzayı oluģturmak sistemin performansı açısından gereklidir. Kullanıcı oluģturulurken bu tablo uzayı o kullanıcıya atanır. CREATE USER usr_esef IDENTIFIED BY esef DEFAULT TABLESPACE tbs_esef QUOTA UNLIMITED ON tbs_esef Yukarıdaki örnekte usr_esef adında bir kullanıcı oluģturuluyor. Kullanıcının Ģifresi IDENTIFIED BY ile esef olarak bildiriliyor. Kullanıcının kendi nesnelerini oluģturacağı tablo uzayı için ise tbs_esef tablo uzayı bildiriliyor. Kullanıcının bu tablo uzayındaki tüm alanı kullanabileceği QUOTA UNLIMITED ile belirleniyor Create Rol Rol veritabanındaki hakların toplanmıģ haline denir. Veritabanı yöneticisi rolleri kullanarak sistemin güvenliğini daha kolay sağlayabilir. Roller Oracle tarafından önceden tanımlanmıģ roller ve kullanıcı tanımlı roller olarak iki Ģekilde düģünülebilir. Oracle tarafından önceden tanımlanan roller beģ tanedir: ÇĠZELGE 2.2. Oracle Tarafından TanımlanmıĢ Roller Rol CONNECT RESOURCE DBA AtanmıĢ Haklar ALTER SESSION, CREATE CLUSTER, CREATE DATABASE LINK, CREATE SEQUENCE, CREATE SESION, CREATE SYNONYM, CREATE TABLE, CREATE VIEW CREATE CLUSTER, CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE, CREATE TRIGGER WITH ADMIN OPTION ile birlikte bütün sistem hakları 13

22 ÇĠZELGE 2.2. (Devam) Oracle Tarafından TanımlanmıĢ Roller Rol EXP_FULL_DATABASE AtanmıĢ Haklar SELECT ANY TABLE, BACKUP ANY TABLE, SYS.INCVID, SYS.INCFIL ve SYS.INCEXP tablolarına INSERT, UPDATE vedelete hakkı IMP_FULL_DATABASE BECOME USER, WRITEDOWN CREATE ROLE tabloma_bak GRANT SELECT ON tbl_ogr TO tabloma_bak Yukarıdaki örnekte tabloma_bak adında bir rol oluģturuluyor. Daha sonra bu role tbl_ogr tablosu üzerinde listeleme iģlemi yapma hakkı veriliyor. Böylece bu rolün atandığı kullanıcı tbl_ogr tablosu üzerinde SELECT komutunu çalıģtırabilecek Create Index Ġndeks tablodaki kayıtlara daha hızlı eriģim için kullanılan nesnelerdir. Bir indeks oluģturabilmek için CREATE ANY INDEX sistem hakkına sahip olmak gerekir. Ġndeks bir tablonun bir alanı üzerinde tanımlanabileceği gibi birden fazla alan üzerinde de tanımlanabilir. CREATE INDEX indeks1 ON tbl_ogr(ogrnum,ad) Create Sequnce Sıra, sıralı olarak artan alanlar için veritabanında tutulan nesnedir. Örneğin birden baģlayan ve birer birer artan bir sıra yaratmak için: CREATE SEQUENCE sira1 START WITH 1 INCREMENT BY Create Rollback Segment Geri alma parçaları SELECT, INSERT, DELETE, UPDATE gibi komutlarla yapılan iģlemlerin gerektiğinde geri alınabilmesi için veritabanında ayrılan alanlara denir. tbsp_esef tablo uzayını kullanan, kayıt parametrelerinden ilk parçanın büyüklüğü 10M, sonraki geniģlemelerin büyüklüğü 1M, minimum geniģleme sayısı 2, 14

23 maksimum geniģleme sayısı 121 ve ortalama değeri 30M olan ve ismi rol_seg olan bir geri alma parçası Ģöyle oluģturulabilir [5]: CREATE ROLLBACK SEGMENT rol_seg TABLESPCE tbsp_esef STORAGE( INITIAL 10M NEXT 1M MINEXTENTS 2 MAXEXTENTS 121 OPTIMAL 30M) Grant Sistem ya da nesne haklarının kullanıcılara veya rollere atanması için kullanılan komuttur. GRANT DELETE ON tbl_ogr TO usr_gef Yukarıdaki örnekte usr_gef kullanıcısına tbl_ogr tablosunda silme yapma yetkisi verilir Revoke Sistem ya da nesne haklarının kullanıcılardan veya rollerden geri alınnması için kullanılan komuttur. REVOKE DELETE ON tbl_ogr FROM usr_gef Yukarıdaki örnekte usr_gef kullanıcısından tbl_ogr tablosunda silme yapma yetkisi geri alınır YEDEK ALMA VE GERĠ GETĠRME Oracle, verileri her ne kadar güvenli tutsa da, fiziksel sebeplerden(disk hataları), kullanıcı hatalarından veya benzer durumlardan dolayı yedeklere ihtiyaç duyulmaktadır. Yedek alma, veritabanı yöneticisinin yapacağı önemli iģlerden birisidir. Oracle da, yedek almayla ilgili değiģik yöntemler vardır. Veritabanı yöneticisi, kendi veritabanının durumuna göre, yedek almayla ilgili bir veya birden fazla yöntemi 15

24 kullanmaya karar vermelidir. Bu kararı vermede, yönetici, yedeği kimin alacağı, hangi tür depolama ünitesine alınacağı, ne kadar sıklıkla alınacağı, alınan yedeklerin büyüklüğü, veritabanında küçük de olsa bir kayıba tahammül olup olmadığı gibi çok değiģik sebepleri gözönünde bulundurmak zorundadır [8] Fiziksel Yedek Alma Fiziksel yedek alma veri dosyalarının, redo log dosyalarının ve kontrol dosyalarının yedeklerinin alınması iģlemidir. Bir veritabanı ARCHIVELOG ve NOARCHIVELOG olmak üzere iki farklı modda çalıģabilir. ARCHIVELOG modunda yapılan tüm iģlemler redo log dosyalarına otomatik olarak kaydedilir. Bunun anlamı veritabanındaki değiģikliklerin sürekli dosyalara kaydedilmesidir. Kaydedilen bu dosyaların hangileri olduğu ve nerede bulundukları gibi bilgiler init<sid>.ora dosyası içerisinde yer alır. ARCHIVELOG modda çalıģan bir veritabanında veri kaybı söz konusu değildir. Eğer veritabanı NOARCHIVELOG modda çalıģıyorsa yapılan değiģiklikler bir yere kaydedilmeyecektir. Bu yüzden sistemin bozulması durumunda ancak son alınan yedekler geri getirilebilir. Yani son alınan yedekten sonra yapılan değiģiklikler kaybolur. ĠĢletim sistemi yedeği alma olarak ta bilinen fiziksel yedek alma iģleminin dezavantajı, yedek alma iģlemi boyunca veritabanının kapatılması gereğidir Mantıksal Yedek Alma Oracle da mantıksal yedek alma denince Export ve Import anlaģılır. Bunlar Oracle firmasının geliģtirdiği komut modunda çalıģan yardımcı programlardır. Bu tür yedek alma veritabanı nesnelerinin yedeklenmesi olduğu için mantıksal yedek olarak adlandırılır. Yani export ile log dosyalarının ya da kontrol dosyalarının yedeği alınmaz. Mantıksal yedek almanın avantajları sunlardır: Tarihlere göre yedek almak daha kolaydır. Günlük dıģarı veri aktarımları (export) VT nın durumunu ve geliģmesini günlük olarak takip etmede en kolay yöntemdir. 16

25 VT nın yapısının verileri olmaksızın yedeği alınabilmektedir. Bu imkânla, herhangi bir uygulamaya ait tablo, indis, kısıtlama ve sıra gibi nesneler baģka bir ortama kolayca alınabilir. Veri tabanları arasında veri kopyalama iģlemi için kullanılabilmektedir. Oracle ın değiģik sürümleri arasında veri taģımak için kullanılabilmektedir [5] Export Export Oracle ın mantıksal yedek alma iģlemleri için geliģtirdiği bir üründür. Mantıksal yedek alma veritabanının kapatılmaması gerektiği zaman kullanılan bir yedek alma türüdür. Bu yöntemle farklı modlarda yedek alınabilir. Export ile alınan yedekler ancak Import ile geri yüklenebilir. Export kullanılarak bir veritabanının yapısı veriler olmadan yedeklenebilir, belli tablolar verilerle birlikte ya da sadece yapıları ile yedeklenebilir, yani yedeklenecek veritabanı nesnelerinin seçimi yapılabilir. Export almada 4 mod vardır: Birincisi Tablo Modu(Table Mode) dur. Bu modda kullanıcılar kendi tablolarının yedeklerini alabilirler ya da hakkı olan kullanıcı bir baģka kullanıcnın tablolarının yedeklerini alabilir. Ġkincisi Kullanıcı Modu(User Mode) dur. Bu modda bir kullanıcının nesnelerinin yedeği alınabilir. Üçüncüsü Tam Veritabanı Modu dur(full Database Mode). Bu modda tüm veri tabanının yedeği alınabilir. Bu modu gerçekleģtirmek için kullanıcının bazı özel haklara sahip olması gerekir. EXP_FULL_DATABASE rolüne sahip olan kullanıcı ya da DBA rolüne sahip olan kullanıcılar bu modu kullanabilir. Dördüncüsü Tablo Uzayı Modu dur. Bu modda da tablo uzaylarının yedeği alınır [9] Import Export ile yedeklenen veriler Import yardımcı programıyla geri getirilebilir. YedeklenmiĢ dosyanın tamamı ya da bir kısmı yedekleyen kullanıcı için geri getirilebildiği gibi bir baģka kullanıcıya da aktarılabilir. 17

26 3. VERĠTABANI MODELLERĠ VE TASARIMI 3.1. VERĠTABANI MODELLERĠ Veri tanımı için kullanılan kavramsal düzeydeki yapıya veri modeli denir. Veritabanı oluģturulmadan önce bu veritabanına ait veriler, veriler arasındaki iliģkiler, veri kısıtlamaları gibi konular kavramsal düzeyde herhangi bir veri modelinde hazırlanır. Veri modeli bu kavramsal yapıları bazı notasyonlar kullanarak diagramlar üzerinde gösterir. Bu iģlemler bir veritabanı tasarımının ilk adımıdır ve bu iģlemler için kullanılan bir çok veri modeli vardır. Bu veri modelleri [3]; Ağ Modeli HiyerarĢik Model Nesne Yönelimli Model E-R Modeli ĠliĢkisel Model Ağ Veritabanı Modeli Ağ (Network) veritabanı modeli, karmaģık veri iliģkilerini hiyerarģik modelin yapabildiğinden daha etkin bir Ģekilde gösterebilmek, veritabanı performansını arttırmak ve bir veritabanı standardı koymak için geliģtirilmiģtir. Birçok açıdan ağ modeli hiyerarģik modele benzemektedir. Örnek olarak hiyerarģik modelde olduğu gibi kullanıcı ağ veritabanı modelini 1:M iliģkilerine sahip kayıtlar topluluğu olarak algılar. Ancak, hiyerarģik modelin tersine ağ modeli bir kayıtın birden fazla ebeveyni olmasına izin verir. Bu yüzden Ģekilde gösterilen iliģkiler ağ veritabanı modeli ile kolaylıkla kullanılabilir [10]. 18

27 ġekġl 3.1. Ağ Modeli Örneği Ağ veritabanı terminolojisi kullanılırken bir iliģki küme (set) olarak adlandırılır. Her küme en az iki kayıt tipinden oluģur: hiyerarģik modelde ebeveyne karģılık olabilecek bir sahip (ovmer) kayıt ve hiyerarģik modelde çocuğa (child) karģılık olan bir üye (member) kayıt. HiyerarĢik model ile ağ modeli arasındaki fark ise bir üye kaydın birden fazla kümede görülebilmesidir. Diğer bir deyiģle bir üyenin birden fazla sahibi olabilir HiyerarĢik Veritabanı Modeli HiyerarĢik veritabanı modelinin var olan veritabanı pazarında çok önemli bir rolü olmamasına rağmen aģağıdaki nedenlerle bu modelin bazı karakteristikleri anlaģılmalıdır. Bu modelin temel kavramları sonraki veritabanı geliģtirilme sürecinin temellerini oluģturur. Modelin sınırlılıkları veritabanı tasarımına farklı bakıģ açısına yol açar. HiyerarĢik modelin bazı temel kavramları günümüzdeki veritabanı modellerinde görülmektedir. HiyerarĢi içerisinde en üst seviye (kök) kendisinin altındaki segmentin ebeveyni olarak görülür. Örnek olarak Ģekilde kök segmenti birinci seviye segmentlerin ebeveynidir. Birinci seviye segmentler ise ikinci seviye segmentlerin ebeveynidir ve bu yapı bu Ģekilde devam eder. HiyerarĢik veritabanı modeli iki tip iliģkiye izin verir, bire-bir (1:1) iliģki ve bire-çok (1:M) iliģki. HiyerarĢik modelde 1:M iliģkileri kolaylıkla izlemek mümkündür, ancak bu veritabanı modeline M:M iliģkileri uyarlamak zordur. Ancak gerçek yaģamda karģılaģılabilecek bu tür yapılar çoklu ebeveynli çocuk (child with multiple parents) iliģki yapısı ile gösterilmektedir. 19

28 ġekġl 3.2. HiyerarĢik Veri Modeli Örneği Nesne Yönelimli Veritabanı Modeli Günümüzde birçok sistem geliģtirici nesne temelli veritabanı tasarımını, nesne temelli analiz sürecinin doğal bir uzantısı olarak kullanmaktadırlar. Bazı BT profesyonelleri nesne temelli veritabanlarının daha güçlü bir etkisinin olacağına ve sonuç olarak da iliģkisel yaklaģımın yerini alacağına inanmaktadırlar [10]. Nesne temelli veritabanı modeli varlıkların tanımlanması ve kullanılmasında çok farklı bir yolu yansıtmaktadır. ĠliĢkisel veritabanı modelindeki varlık gibi, bir nesne kendisinin olgulara dayanan içeriği ile tanımlanır. Fakat varlıktan farklı olarak, bir nesne, diğer nesnelerle olan iliģkilerine ait bilgilerle birlikte, nesnenin kendi içinde yer alan olgular arasındaki iliģkiler hakkında da bilgiler içerir. Bu yüzden nesne içerisindeki olgular daha büyük anlama sahiptir. Bir nesne temelli veri modeli en azından aģağıdaki bileģenlere sahip olmalıdır: Veri modelinin nesneleri gerçek yaģam varlıkları veya olaylarının çıkarımları olmalıdır. Özellikler bir nesnenin niteliklerini tanımlamalıdır. Örnek olarak ÖĞRENCĠ nesnesi AD, SOYAD, ÖĞRENCĠ_NO ve ANABĠLĠMDALI gibi özellikleri içermelidir. 20

29 Benzer karakteristikleri paylaģan nesneler sınıflar (class) içerisinde gruplandırılmalıdır. Bir sınıf, paylaģılan yapı (özellikler) ve davranıģları (metodlar) olan benzer nesneler topluluğudur. Genel bir bakıģla sınıf, varlıkiliģki modelinin varlık setine benzemektedir. Ancak bir sınıf içerdiği iģlemler kümesi ( metodlar) ile bir varlık setinden farklılık göstermektedir. Sınıflar bir sınıf hiyerarģisi içerisinde organize edilmiģtir. Sınıf hiyerarģisi her sınıfın sadece bir ebeveyninin olabileceği baģ aģağı bir ağaç yapısına benzer. Örnek olarak bir MÜġTERĠ sınıfı ile bir ÇALIġAN sınıfı ebeveyn KĠġĠ sınıfını paylaģır. Bu açıdan hiyerarģik veritabanı modeli ile benzerlik gösterdiği söylenebilir. Bir nesne sınıf hiyerarģisi içerisinde kendisinin üstündeki sınıfların özelliklerini ve davranıģlarım miras olarak alabilme yeteneğine sahiptir. Örnek olarak KĠġĠ sınıfının altında yaratılacak MÜġTERĠ ve ÇALIġAN sınıfları KĠġĠ sınıfının bütün özellik ve davranıģlarını alacaktır E-R Modeli Varlık-iliĢki modeli, ya da kısaca E-R modeli (Entity-Relationship model) 1976 yılında P.P. Chen tarafından geliģtirilen bir modeldir. E-R Modeli bir veritabanını, temel nesneler ve bu nesneler arasındaki iliģkiler cinsinden ifade eder. Bu model bize veritabanımızın tablolarını, tablolarda kullanılan alanları ve tablolar arasındaki iliģkiyi verir. Tüm bunlar bir VTYS den bağımsız olarak kavramsal düzeyde yapılır. Daha sonra bu kavramsal yapı, kullanılacak VTYS nin veri modeline uygun veritabanı Ģemalarına dönüģtürülür [3]. E-R Model diyagramları tasarlanırken kullanılan temel kavramlar Ģunlardır. Varlık (Entity): Diğer nesnelerden ayırt edilebilen tekil (unique) mini-dünya nesnesidir. Özellik (Attribute): Veritabanındaki varlıklar özellikler kümesiyle (attribute set) tanımlanır. Her bir varlığın, özellikleri için aldığı bir değer vardır. Veri Kümesi (Domain): Bir özelliğin alabileceği değerler. Veri Türü (Data Type): Bir özelliğin içerebileceği verinin hangi türden olacağını belirler. 21

30 Güçlü Varlık (Strong Entity): Herhangi diğer varlık türlerinden bağımsız mevcut olabilen varlık türü. Zayıf Varlık (Weak Entity): Tekil olarak belirlenebilmesi, baģka bir varlığın (owner) birincil anahtar özelliğine bağlı olan varlık. o Zayıf varlığın anahtar özelliği yoktur. o Zayıf varlık, kendisini belirleyen (owner) varlık ile belirleyici bir iliģki içinde olmalıdır. TüretilmiĢ Özellik (Derived Attribute): Bir varlığa ait özellikler kullanılarak yeni bir özellik türetilebilir. Çok değerli özellik (Multi-valued attribute): Birden fazla değer ile eģleģebilen özellik. BirleĢik Özellik (Composite Attribute): Birden fazla özelliğin birleģmesiyle oluģan özellik. Aday Anahtar (Candidate Key): Varlık kümesinde yer alan her varlığı kesin olarak tanımlamaya yarayan özelliklere aday anahtar adı verilir. PERSONEL varlık türünde SĠCĠLNO ve TC_KĠMLĠK_NO özellikleri aday anahtar olabilir. Fakat PERSONEL_ADI özelliği olamaz, çünkü aynı ada sahip birden fazla personel olabilir. BirleĢik (Composite) Anahtar: Ġki veya daha fazla özellikten oluģan aday anahtar. ALINAN_UNVANLAR varlık türünde SĠCĠLNO ve ÜNVAN alanları birleģik anahtar olabilir. Birincil Anahtar (Primary Key): Aday anahtarlar arasından seçilmiģ anahtar. Bu anahtar sadece bir özellikten oluģabileceği gibi birden fazla özelliğin birleģiminden de oluģabilir. PERSONEL varlık türünde SĠCĠLNO veya TC_KĠMLĠK_NO özellikleri birincil anahtar olarak seçilebilir. Yabancı anahtar (Foreign Key): Bir varlık türünün, baģka bir varlık türünün anahtarı ile eģleģen özellik veya özellikler kümesi. Rol: Aralarında iliģki kurulan varlıklardan her birinin iliģkideki iģlevine varlığın rolü denir. Farklı varlık kümeleri arasındaki iliģkilerde roller dolaylı yoldan anlaģılabildiği için çoğunlukla açıkça belirtilmez. Örneğin, öğrenci ve ders arasında kurulan aldığı iliģkisinde varlıkların rolleri bellidir: öğrenci dersi alan, ders ise öğrenci tarafından alınandır. Oysa kiģi1 ve kiģi2 arasında kurulan evlilik iliģkisinde 22

31 kiģilerden hangisinin erkek hangisinin kadın olduğunun belirtilmesi gerekebilir (bazı isimler hem erkek hem kadınlar tarafından kullanıldığı için). Benzer biçimde bir kurumda çalıģan personel1 ve personel2 arasında kurulan yönetici iliģkisinde hangi personelin rolünün yönetici (üst), hangi personelin rolünün ise yönetilen (ast) olduğunun belirtilmesine gerek vardır. ĠliĢki: Ġki veya daha fazla varlık arasındaki belli bir anlamı olan bağlantı. (Örnek; numaralı ÖĞRENCĠ 05 kodlu MATEMATĠK bölümüne KAYITLI dır) Aynı varlıklar arasında farklı iliģkiler olabilir. (Örnek; ÖĞRETĠM ÜYESĠ Erdoğan Doğdu, Bilgisayar BÖLÜMÜ nü YÖNETĠR veya ÖĞRETĠM ÜYESĠ Fatih Demirci, Bilgisayar BÖLÜMÜ nde ÇALIġIR). Aynı türden iliģkiler, aynı iliģki türü (Relationship Type) adı altında gruplandırılır. Bunlar iliģki kümesini oluģtururlar. iliģki Derecesi: iliģkiye katılan varlıkların sayısı. (Örnek; YÖNETĠR ve ÇALIġIR iliģkileri 2-li iliģkidir.) ĠliĢki Kümesi: Benzer iliģkiler kümesi. E1,.., En varlık kümesi arasında n-li R iliģkisi bulunabilir. (E1ve E2varlık kümeleri arasında 2-li iliģki kümesi) Yinelenen (Recursive) iliģki: Aynı varlığın farklı rollerle katıldığı iliģki. PERSONEL varlığı üzerinde tanımlı YÖNETĠCĠ iliģkisi. iliģkiye Has Özellikler : Bir iliģkinin kendine has özellikleri olabilir. (Örn: PERSONEL ve PROJE varlıkları arasında tanımlanan ÇALIġMA iliģkisi için HAFTALIK_SAAT adında özellik olabilir. ĠliĢki Türleri: A ve B varlık kümeleri arasında tanımlanan (A ve B varlık kümeleri aynı da olabilir), A dan B ye bir iliģki kümesi, eģleme sınırlamaları açısından aģağıdaki dört türden birinde olabilir. o Birden-bire (one-to-one) o Birden-çoğa (one-to-many) o Çoktan-bire (many-to-one) o Çoktan-çoğa (many-to-many) Birden-bire (1-1): A varlık kümesindeki bir varlık, B varlık kümesindeki sadece bir varlık ile iliģkili ise. Birden-çoğa (1-n) : A varlık kümesindeki bir varlık, B varlık kümesindeki birden fazla varlık ile iliģkili ve B kümesindeki bir varlık A kümesindeki sadece bir varlık ile iliģkili ise. 23

32 Çoktan-bire (n-1): Her a ile en çok bir b ve her b ile de sıfır, bir veya birçok a arasında iliģki kurulabilir. Örnek: Öğrenci ve Bölüm varlık kümeleri arasındaki Okuduğu iliģkisi, öğrenciden bölüme doğru çoktan-bire Ģeklindedir. Çoktan-çoğa (n-m): A varlık kümesindeki bir varlık, B varlık kümesindeki birden fazla varlık ile iliģkili ve B kümesindeki bir varlık A kümesindeki birden çok varlık ile iliģkili ise. ġekġl 3.3. Veri Modellemede Kullanılan Grafiksel Notasyonlar ĠliĢkisel Veri Modeli ĠliĢkisel Veri Tabanları: E.F. Codd Tarafından GeliĢtirilmiĢtir. Bu sistemde veriler tablo Ģeklinde saklanır. Tablolar, satır ve sütunlardan oluģur. ĠliĢkiler kurulurken birincil anahtar (Primary key) ve yabancı anahtarlar (Foreign Key) kullanılır. Anahtar alanlar sayesinde indeksleme (indexing) yapma olanağı sunan iliģkisel veri 24

33 VERĠ BAĞIMSIZLIĞI YAPISAL BAĞIMSIZLIK tabanlarında eriģim ve iģlemler daha hızlı yapılabilmektedir. Bu veri tabanı yönetim sisteminde; veri alıģ veriģi için özel iģlemler kullanılır. Bu iģlemlerde tablolar operandlar olarak kullanılır. Ġ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 [6] Farklı Veritabanı Modellerinin Avantajları ve Dezavantajları Veritabanı modelleri dosya sistemlerinin doğal zayıflıklarından yola çıkılarak geliģtirilmiģtir. Veriyi farklı dosyalarda tutmak yerine veritabanları veriyi tek bir veri deposunda tutarlar. Bu da veritabanı yönetim sistemlerine (VTYS-DBMS) veritabanı aktiviteleri üzerinde sıkı kontrol imkanı tanır. Üç temel veritabanı modeli (hiyerarģik, ağ ve iliģkisel) ticari baģarı elde etmiģlerdir. Her üçü de veritabanı yöneticilerine görevlerini daha etkin yapabilmelerine olanak tanıyan veritabanı yönetim sistemleri kullanırlar. Ancak veritabanı yönetim sistemleri faaliyetlerinin kapsamı ve bunların kullanıcı-dostu yazılımları çeģitli veritabanı sistemlerinde farklılık göstermektedir. AĢağıdaki tabloda yukarıda geçen beģ farklı veritabanı modelinin avantaj ve dezavantajları özetlenmiģtir [5]. ÇĠZELGE 3.1. ÇeĢitli Veritabanı Modellerinin Avantajları ve Dezavantajları VERĠTABANI AVANTAJLARI DEZAVANTAJLARI MODELĠ HiyerarĢik Evet Hayır 1.Veri paylaģımı yüksektir 2.Ebeveyn/Çocuk iliģkisi ile kavramsal sadelik artar 3.Ebeveyn/Çocuk iliģkisi veritabanı 1.Yönsel sistem, karmaģık tasarım, uyarlama,uygulama geliģtirme, kullanım ve yönetimi sonuç verir 2.Uygulama sınırlıdır (M:M veya çoklu ebeveyn iliģkileri yok) 3.VTYS'de 25

34 VERĠ BAĞIMSIZLIĞI YAPISAL BAĞIMSIZLIK ÇĠZELGE 3.1. ÇeĢitli(Devam) Veritabanı Modellerinin Avantajları ve Dezavantajları VERĠTABANI MODELĠ AVANTAJLARI DEZAVANTAJLARI HiyerarĢik bütünlüğünü arttırır 4.1:M sabit iliģkilerle etkindir. veri tanımlama veya veri iģlem dili yok 4.Standart eksikliği Ağ Evet Hayır 1.HiyerarĢik modele eģit kavramsal basitlik. 2.Daha fazla iliģki tipini kullanır M:M veya çoklu ebeveyn gibi 3.Sahip/Üye iliģkileri veritabanı bütünlüğü sağlar 4.Standartlara uygunluk 5.VTYS'de veri tanımlama ve veri iģleme dilleri içerir 1.Sistem karmaģıklığı etkinliği sınırlandırır (hala yönsel sistem) 2.Yönsel sistem, karmaģık tasarım, uyarlama, uygulama geliģtirme, kullanım ve yönetimi sonuç verir ĠliĢkisel Evet Evet 1.Çizelge görünümü kavramsal sadeliği önemli ölçüde arttırır,böylece veritabanı tasarımı, uygulaması, 1.Sistemin kullanımını kolaylaģtıran ĠliĢkisel Veritabanı Yönetim Sistemi çok fazla donanım ve sistem yazılımı gerektirir 2.Kavramsal sistem sadeliği nispeten az eğitimli insanların iyi bir sistemi etkin 26

35 VERĠ BAĞIMSIZLIĞI YAPISAL BAĞIMSIZLIK ÇĠZELGE 3.1. ÇeĢitli(Devam) Veritabanı Modellerinin Avantajları ve Dezavantajları VERĠTABANI MODELĠ AVANTAJLARI DEZAVANTAJLARI ĠliĢkisel Evet Evet 2.SQL'e dayalı ad hoc sorgu yeteneği 3.Güçlü veritabanı yönetim sistemi uygulama ve yönetim sadeliğini geliģtirir Varlık-ĠliĢki Evet Evet 1.Görsel modelleme olağanüstü kavramsal sadelik sağlar 2.Görsel sunum sistemi etkin bir iletiģim aracı haline getirir 3.Baskın iliģkisel veritabanı modeli ile entegredir Nesne-Temelli Evet Evet 1.Semantik içerik ekler 2.Görsel sunum semantik içeriği de kapsamaktadır 3.Miras alma veritabanı bütünlüğünü arttırır kullanamamasına yol açar 1.Sınırlı kısıt sunumu 2.Sınırlı iliģki sunumu 3.Veri iģlem dili yok 4.Bilgi içeriğinde kayıplar, çünkü özellikler genellikle kalabalık görüntü oluģmaması için çıkarılır 1.Standart eksikliği 2.KarmaĢık yönsel sistem 3.Dik öğrenme eğrisi 4.Yüksek sistem yükü iģlemleri yavaģlatır 27

36 3.2. ÖRNEK VERĠTABANI (ÖĞRENCĠ OTOMASYONU) TASARIMI Öğrenci Otomasyonu ĠĢlevleri Öncelikle öğrenci otomasyonu için senaryo yaratıldır. Bu senaryoda öğrenci otomasyonu bir üniversite için hazırlanıcağı tasarlandı. Senaryoya göre öğrenci formundaki kullanıcı kendi kiģisel bilgilerini, derslerini ve dersleri hakkındaki baģarı notlarını, bölümü ile ilgili bilgileri görebileceği yapı tasarlandı. Ders ile ilgili bilgilerinde dönem olayına dikkat edildi. Dönem olaylarından kasıt bir dersin farklı dönemlerde de alınabilecek fakat aynı dönemde sadece bir defa alınabilicek yapıda olduğu bilinerek düzenlendi. Öğretim elemanında kendi kiģisel bilgilerini görebileceği, bölümü ve bölümünün bağlı olduğu fakülte hakkındaki verilere ulaģabileceği ve ünvanını gösterecek bir yapı seçildi. Aslında personel sınıfına da dahil olabilecek bu yapı ayrık gösterilerek anlaģılması kolay bir tasarım oluģturuldu. Öğrenci ve Öğretim elemanı kullanıcıları için görünecek bilgilerideki hassasiyete önem verilerek en uygun tasarım oluģturuldu Varlık Kümeleri Arasındaki ĠliĢki Öğrenci Otomasyonunda öğrenci, öğretim elemanı, bölüm, fakülte, ünvan, ders, dönem ve öğrenciders isimli varlık kümeleri düģünülmüģtür. Öğrenci numarası, kimlik numarası, adı, soyadı, bölüm numarası, adresi, telefonu, e-posta adresi bilgileri tutulduğu öğrenci varlık kümesi ile bölüm numarasını, bölüm adını, fakülte numarasını, bölüm baģkanı, telefon ve e-posta verilerini tutulduğu bölüm varlık kümesi göz önüne alınmaktadır. Bu varlık kümelerinde her öğrenci belirli bir bölüme kayıtlıdır. Ancak bir bölüme birden çok öğrenci kayıtlı olabilir. Fakülte numarası, fakülte adı, dekan adını, dekan yardımcısını, ve iletiģim verilerini tutulduğu bölüm fakülte varlık kümesi ile bölüm varlık kümeleri göz önüne alınmaktadır. Bu varlık kümelerinde her bölüm belli bir fakülteye bağlıdır. Ancak bir fakültede birden çok bölüm olabilir. Hocanın numarası, adı, soyadı, bölümü, adresi, telefon numarası, e- posta adresi ve ünvan bilgileri tutulduğu öğretim elemanı varlık kümesi ile bölüm varlık kümesi göz önünüe alınmalıdır. Bu varlık kümelerinde her öğretim elemanı belli bir bölüme bağlıdır. Ancak bir bölümüme birden çok öğretim elemanı kayıtlıdır. 28

37 Ünvan no ve ünvan adı bilgileri tutulduğu ünvan varlık kümesi ile öğretim elemanı varlık kümesini göz önüne alalım. Bu varlık kümelerinden her öğretim elemanının unvanı olmak zorunda değildir. Fakat ünvanı var ise belirli bir tane ünvana sahip olur. Ancak bir ünvan birden fazla öğretim elemanına verilebilir. BaĢarı bilgilerinin tutulduğu öğrenciders varlık kümesi ile öğrenci varlık kümesi göz önüne alınmalıdır. Bu varlık kümelerinden öğrenciders kümesindeki baģarı bilgisi her öğrencinin sahip olduğu ve diğer öğrencilerinde sahip olabileceğinden zayıf varlık kümesidir. Öğrenci olmazsa baģarıda olmayacağından varolma bağımlıdır. Ders adı, kredi, teorik, uygulama bilgilerinin tutulduğu ders varlık kümesi ile ögrenciders varlık kümeleri arasındaki iliģki Ģöyledir. Bu varlık kümelerinden ders olmazsa baģarıda olamaz. BaĢarı değeri diğer derslerde olabileceğinden zayıf varlık kümesidir. Dönem id si dönem yılı, dönem numarası ve açıklama bilgilerinin bulunduğu dönem varlık kümesi ile öğrenciders kümesi arasında iliģki Ģöyledir. Dönem bilgisi öğrenci için sorgulanır. Her öğrencinin dönem bilgisi olduğuna göre bunları birbirinden ayırmak gerekir. Bu yüzden öğrenciders varlık kümesi zayıf varlık kümesidir. Dönem varlık kümesine var olma bağımlıdır. Çünkü listelenen derslerin belli bir dönemi vardır ĠliĢki ġemaları Çizeneği ÖĞRENCĠ(ögrNo, kimlikno, ad, soyad, adres, telefon, eposta,bölümno) BÖLÜM(bölümNo, bölümadı, bölümbġk, telefon, eposta, fakülteno ) FAKÜLTE(fakülteNo, fakülteadı, dekanadı, iletiģim) ÖĞRETĠMELEMANI(hocaNo, ad, soyad, adres, telefon, eposta, bölümno, ünvanno) ÜNVAN(ünvanNo, ünvanadı) ÖĞRENCĠDERS(ögrDersĠd, ögrno, dersno, donemid, baģarı) DERS(dersNo, dersadı, kredi, teorik, uygulama) DÖNEM(donemId,donemYil, donemno, açıklama) 29

38 4. ORACLE DA VERĠTABANI UYGULAMASI 4.1. ORTAMIN HAZIRLANMASI VE VERĠTABANI OLUġTURMA Öncelikle veritabanın yaratılıp, yönetilmesi için Oracle Database 11g Enterprise Edition sürümü kuruldu. Kurulum esnasındaki isteyen alan boģ bırakıldı. Daha sonra gelen ekrandaki birinci seçenek RDBMS software kurulumunu ve veritabanını oluģturulacağını, ikincisi seçenek sadece RDBMS software i kurulacağını (Sonradan DBCA ile veritbanını oluģturmamız gerekir). Üçüncüsü varolan veritabanını upgrade etmek için bulunan seçeneklerden birincisi seçerek kurulum devam etti. Kurulum bu aģamasında hangi ortamda çalıģacağı ile ilgili bilgiydi. Desktop Class ve Server Class seçeneklerinden bana uyan veritabanını kendi bilgisayarımda çalıģtıracağımdan birinci seçenekti. Yeni pencerede Single instance database installation seçeneği seçildi. Konfigürasyon bilgilerinin bulunduğu ekranda Advanced seçeneği ile basit olmayan ayarlar seçildi. Bu ayarlardan Oracle base dizini seçildi, Software location seçildi, Storage tipi olarak File System seçildi, Veritabanı dosyalarının bulunacağı database file location dizini belirtildi, Database edition olarak Enterprise Edition seçildi, dba grubu olarak OSDBA Group seçildi, Global Database Name olarak veritabanımızın adı ogrenciotomansyondb olarak oluģturuldu ve Son olarak bir yönetim Ģifresi belirlendi. Specify Configuration Options penceresinde karakter set olarak Turkish WEISO8859P9 seçeneği seçildi. SYS, SYSTEM, SYSMAN ve DBSNMP kullanıcıları için Ģifre belirleneceği pencerede hepsine aynı anda Ģifre verildi. Oracle SQL Developer, potansiyeli olan, platform bağımsız ve Java ile istenilirse XML ve SQL kullanarak eklentiler geliģtirebilidiği ve sadece Oracle ı değil, Ms Access, Ms SQL Server, MySQL, TimesTen, Sybase ve DB2 ile çalıģmayı sağlayan ücretsiz bir yazılımdır. SQL management yapısına benzediği ve Oracle üzerinde yapılan iģlemler daha rahat yapılabildiğinden bu uygulama için tercih edildi. Uygulama sadece bu araçla geliģtirilmedi, böyle kullanım kolaylığı sağlayan araçlarda incelendi. Böylece uygulamanın tabloların yaratılması aģamasına geçildi. 30

39 4.2. TABLOLARIN YARATILMASI Tablolar oluģturulurken özniteliklerin, eģsiz anahtarların ve yabancı anahtarların veritabanın tasarım aģamasında belirlendiğinden iģlemler hızlı bir Ģekilde gerçekleģtirildi. Tablolar oluģturulurken iliģki-ģema çizelgesi sayesinde sql komutlarını uygulanarak ve Oracle çalıģma alanında SQL Workshop bölümünde Object Browser ile tablolar yaratıldı. Tablolardaki öznitelikler seçilirken en kapsamlı olabilecek fakat gereksiz kullanımında önüne geçiçek düzeyde seçildi. Örneğin isim sütünları oracle veri türlerinden olan nvarchar türünde ve 20 karakter ile sınırlandırıldı. Burada nvarchar seçilmesinin nedeni Unicode karakter tutabilen veri tipi olması ve bu veriyi tutarken boyutu kadar tutmasından dolayıdır. Eğer veri türü nvarchar değilde nchar türünde tutulsaydı, veri için ön görülen kısıtlama miktarı kadar alan kaplayarak her veriyi saklayacaktı. Yani veri ne olursa olsun kısıtlama kadar yer ayrılacaktı. Fakat aynı durum nvarchar için geçerli değil çünkü verinin boyutu kadar yer kaplar tabi maksimum kısıtlama sınırına kadar Öğrenci Tablosu Öğrenci tablosu Oracle çalıģma alanında Object Browser ile yaratılırken özniteliklerdeki kısıtlamalar belirlendi. Bu kısıtlamalar ve tablo Ģekilde görüldüğü gibidir. Burada Primary key olarak öğrenci no tanımlanmıģtır. Kimlik no unique yani benzersizdir. Telefon, eposta ve adres bölümleri boģ olabilrken diğer alanlar boģ olamaz. ġekġl 4.1. Öğrenci Tablosu 31

40 Öğretim Elemanı Tablosu ÖğretimElemanı tablosu Oracle çalıģma alanında Object Browser ile yaratılırken özniteliklerdeki kısıtlamalar belirlendi. Bu kısıtlamalar ve tablo Ģekilde görüldüğü gibidir. Burada Primary key olarak Hoca no tanımlanmıģtır. Telefon, eposta, adres ve unvan bölümleri boģ olabilrken diğer alanlar boģ olamaz. Ünvanın boģ olması hiçbir unvan taģımayabileceği için boģ bırakılabilir. Burada sistem Ģu Ģekilde de olabilirdi. Ünvan tablosunda boģ unvanlar için satır oluģturulur ve ÖğretimElamanı tablosunda boģ girilmesi engellenebilirdi Bölüm Tablosu ġekġl 4.2. Öğretim Elemanı Tablosu Bölüm tablosu Oracle çalıģma alanında Object Browser ile yaratılırken özniteliklerdeki kısıtlamalar belirlendi. Bu kısıtlamalar ve tablo Ģekilde görüldüğü gibidir. Burada Primary key olarak bölüm no tanımlanmıģtır. Telefon ve eposta bölümleri boģ olabilrken diğer alanlar boģ olamaz. 32

41 ġekġl 4.3. Bölüm Tablosu Fakülte Tablosu Fakülte tablosu Oracle çalıģma alanında Object Browser ile yaratılırken özniteliklerdeki kısıtlamalar belirlendi. Bu kısıtlamalar ve tablo Ģekilde görüldüğü gibidir. Burada Primary key olarak fakülte no tanımlanmıģtır. Sadece iletiģim bölümü boģ olabilrken diğer alanlar boģ olamaz. ġekġl 4.4. Fakülte Tablosu Ünvan Tablosu Ünvan tablosu Oracle çalıģma alanında Object Browser ile yaratılırken özniteliklerdeki kısıtlamalar belirlendi. Bu kısıtlamalar ve tablo Ģekilde görüldüğü gibidir. Burada Primary key olarak ünvan no tanımlanmıģtır. Hiçbir bölüm boģ bırakılamaz. 33

42 ġekġl 4.5. Ünvan Tablosu Ders Tablosu Ders tablosu Oracle çalıģma alanında Object Browser ile yaratılırken özniteliklerdeki kısıtlamalar belirlendi. Bu kısıtlamalar ve tablo Ģekilde görüldüğü gibidir. Burada Primary key olarak ders no tanımlanmıģtır. Hiçbir bölüm boģ bırakılamaz. ġekġl 4.6. Ders Tablosu Dönem Tablosu Dönem tablosu Oracle çalıģma alanında Object Browser ile yaratılırken özniteliklerdeki kısıtlamalar belirlendi. Bu kısıtlamalar ve tablo Ģekilde görüldüğü gibidir. Burada Primary key olarak dönem Ġd tanımlanmıģtır. Sadece açıklama alanı boģ bırakılabilir. 34

43 ġekġl 4.7. Dönem Tablosu ÖğrenciDers Tablosu Öğrenci Ders tablosu Oracle çalıģma alanında Object Browser ile yaratılırken özniteliklerdeki kısıtlamalar belirlendi. Bu kısıtlamalar ve tablo Ģekilde görüldüğü gibidir. Burada Primary key olarak ögrenciders id tanımlanmıģtır. Hiçbir bölüm boģ bırakılamaz. ġekġl 4.8. ÖğrenciDers Tablosu 4.3. TABLOLAR ARASI ĠLĠġKĠLER Tablolar arası iliģkiler yaratılırken Oracle sql developer yazılımı kullandı. Tablolar için gerekli olan yabancı anahtar (foreign key) lar bu aģamada oluģturuldu. Her tablonun en son halinin sql komutu Ģeklide görüntülenerek tablolar tamamlanmıģ 35

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ I BÖLÜM 12 12. SQL de YÖNETİMSEL FONKSİYONLAR 12.1. VIEWS ( Tablo Görünümü) Tablo görünümleri veri tabanında tanımı olan tablolardan sorgulama sonucunda elde edilir. Tabloların tersine fiziksel bir yer tutmazlar.

Detaylı

Veri Tabanı-I 2.Hafta

Veri Tabanı-I 2.Hafta Veri Tabanı-I 2.Hafta Varlık-İlişki Modeli ( Entity-Relationship (E-R) Model ) 1 Varlık-İlişki (E-R) Modeli Varlık (Entity) : Diğer nesnelerden ayırt edilebilen tekil (unique) nesnedir. (Soyut (SĠPARĠġ)

Detaylı

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1 5 SQL- Yapısal Sorgulama Dili Veritabanı 1 SQL- Yapısal Sorgulama Dili SQL ifadeleri yapısal olarak üç gruba ayrılır. Veri Tanımlama Dili (DDL - Data Definition Language) Veri İşleme Dili (DML - Data Manipulation

Detaylı

1 Temel Kavramlar. Veritabanı 1

1 Temel Kavramlar. Veritabanı 1 1 Temel Kavramlar Veritabanı 1 Veri Saklama Gerekliliği Bilgisayarların ilk bulunduğu yıllardan itibaren veri saklama tüm kurum ve kuruluşlarda kullanılmaktadır. Veri saklamada kullanılan yöntemler; Geleneksel

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ I BÖLÜM 7 7. TEMEL SQL KOMUTLARI-I SQL (Structured Query Language) kendisi bir programlama dili olmamasına rağmen bir çok kişi tarafından programlama dili olarak bilinir. SQL herhangi bir veri tabanı ortamında

Detaylı

Bölüm 4: DDL Veri Tanımlama Dili

Bölüm 4: DDL Veri Tanımlama Dili Bölüm 4: DDL Veri Tanımlama Dili -43- Dr. Serkan DİŞLİTAŞ DDL (Data Definition Language Veri Tanımlama Dili : Bu kategorideki SQL komutları ile veritabanları, tablo, görünüm ve indekslerin yaratılması,

Detaylı

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme Veritabanı Tasarımı Kullanıcı Erişimini Kontrol Etme Konular Nesne ayrıcalıkları ve sistem ayrıcalıkları arasındaki farkı karşılaştırma Bir kullanıcının bir veritabanınaerişimini etkinleştirmek için gerekli

Detaylı

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com YAPISAL SORGULAMA DİLİ BARIŞ ARIBURNU barisariburnu.com barisariburnu.@gmail.com SQL, insanların veritabanı sistemleri ile konuşmasını sağlayan popüler bir dildir. SQL, tüm veritabanı programlarında kullanılabilir.

Detaylı

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir. VERİ BÜTÜNLÜĞÜ VTYS lerde veri bütünlüğünü sağlamanın iki temel yolu vardır; Tanımlanabilir veri bütünlüğü ve prosedürel veri bütünlüğü. Tanımlanabilir veri bütünlüğü, tanımlanan nesnelerin kendi özellikleri

Detaylı

İLİŞKİSEL VERİTABANLARI

İLİŞKİSEL VERİTABANLARI İLİŞKİSEL VERİTABANLARI Veritabanı Nedir? Veritabanı (database) en basit şekliyle verilerin belirli bir düzene göre tutulduğu, depolandığı bir sistemdir. İlişkisel Veritabanı Nedir? İlişkisel veritabanlarındaki

Detaylı

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim' Bu Derste Öğrenecekleriniz: 1- Veri Tabanı Adı Değiştirme 2- Nesnelerin Adını Değiştirme a. Tablo Adı Değiştirme b. Alan Adı Değiştirme c. Constraint (Kısıtlama) Adı Değiştirme 3- Tablo Düzenleme Komutları

Detaylı

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler SQL'e Giriş SQL komutları kullanılarak aşağıdaki işlemler yapılabilir: Veritabanı nesnelerinin oluşturulması ve bu nesnelerle ilgili işlemlerin yapılması Bilgilerin istenilen koşullara göre görüntülenmesi

Detaylı

Oracle da kullanılan veri tipleri:

Oracle da kullanılan veri tipleri: ORACLE A GİRİŞ Oracle ile SQL Server ı karşılaştıralım, 1 Oracle da veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, yapısını değiştirme, silme kodları

Detaylı

Veri Tabanı Hafta Dersi

Veri Tabanı Hafta Dersi Veri Tabanı - 1 7. Hafta Dersi Dersin Hedefleri SQL Yapısal Sorgulama Dili Veri Tanımlama Dili (DDL) Create Alert Drop Veri tanımlama dili verinin ne olduğundan çok verinin tipi ile ilgilenir. Veri tabanı

Detaylı

VERİTABANI Veritabanı Yönetimi

VERİTABANI Veritabanı Yönetimi VERİTABANI Veritabanı Yönetimi YAPILANDIRILMIŞ SORGULAMA DİLİ (SQL) Veritabanı yönetimi, veritabanının yapısal özelliklerini belirtmek ve değiştirmek, veritabanına kullanıcı erişimlerini ve yetkilerini

Detaylı

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Data Programming SQL Language Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 15 Mar 2016 1 SQL deyimleri veritabanları üzerinde çeşitli işlemleri yerine getirirler. Veritabanından

Detaylı

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon ORACLE GİRİŞ Oracle ile SQL Server ın karşılaştıralım. 1 Oracleda veritabanı yerine kullanıcı oluşturulur. Kullanıcılar veritabanı gibi davranır. 2 Tablo oluşturma, değiştirme ve silme kodları aynı. 3

Detaylı

BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK

BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK Sistem yetkileri Nesne yetkileri Tablolar uzerinde verilebilecek yetkiler Roller Roller ve yetkiler aras.ndaki farklar KULLANICI ERİŞİMLERİ Kullanıcılar bir Username

Detaylı

VERİTABANI ORGANİZASYONU

VERİTABANI ORGANİZASYONU VERİTABANI ORGANİZASYONU Veri nedir? Olgu, kavram ya da komutların, iletişim, yorum ve işlem için elverişli biçimsel gösterimidir. Veriler ölçüm, sayım, deney, gözlem ya da araştırma yolu ile elde edilmektedir.

Detaylı

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş -1- Dr. Serkan DİŞLİTAŞ 1.1. Veri ve Bilgi (Data & Information) Hesaplama, saklama gibi çeşitli işlemler amacıyla bilgisayara verilen sayı, yazı, resim, ses,

Detaylı

EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model)

EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model) EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model) Dr. Dilek Küçük İlişkisel Model [1] Günümüzde en yaygın kullanılan veri tabanı modelidir. Bir ilişkisel veri tabanı bir veya

Detaylı

SQL (Structured Query Language)

SQL (Structured Query Language) SQL (Structured Query Language) Genel SQL SQL çok yüksek seviyeli bir dildir. Biraz ingilizce bilgisi gerektirir. Programlama dillerine göre öğrenilmesi çok daha kolaydır. Çünkü programlama dillerindeki

Detaylı

2 Temel Kavramlar (Devam) Veritabanı 1

2 Temel Kavramlar (Devam) Veritabanı 1 2 Temel Kavramlar (Devam) Veritabanı 1 Veritabanı Kullanıcıları Veritabanı Yöneticisi (DBA-Database Administrator) Tasarım,oluşturma ve işletiminden sorumludur. Görevleri; Tasarımı Performans Analizi Erişim

Detaylı

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi 20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi 1) Aşağıdaki SQL Server sürümlerinden hangisi ana sürümlerden bir tanesidir? a) Parallel Data Warehouse b) Express c) Standart d) Developer

Detaylı

BIM 312 Database Management Systems. Veritabanı Kavramına Giriş

BIM 312 Database Management Systems. Veritabanı Kavramına Giriş BIM 312 Database Management Systems Veritabanı Kavramına Giriş Veritabanı Nedir? Veritabanı, birbirleriyle ilişkili verilerin hızlı ve verimli bir şekilde ulaşılmasına olanak verecek biçimde saklanmasıyla

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri Konular Veritabanı Tasarım Aşamaları Veri Modeli Nedir? Veri Modeli Temel Bileşenleri İş Kuralları (Business Rules) İş Kurallarını Veri

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ

VERİ TABANI YÖNETİM SİSTEMLERİ VERİ TABANI YÖNETİM SİSTEMLERİ Veri Tabanı Nedir? Sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Bir kuruluşa

Detaylı

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri. 1.2. Kısıtlamalar (Constraints)

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri. 1.2. Kısıtlamalar (Constraints) Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri 1.1. Tablo Oluşturma 1.2. Tablo Oluşturmada Kısıtlamalar Constraints 1.3. Tablo Silme a. NULL, NOT NULL b. PRIMARY KEY c. UNIQUE d. FOREIGN KEY e. CHECK f.

Detaylı

KISITLAMALAR (CONSTRAINT)

KISITLAMALAR (CONSTRAINT) KISITLAMALAR (CONSTRAINT) Tablo alanlarına veri girişini kontrol etmeyi amaçlayan düzenlemelerdir. Bir alana girilen değerleri sınırlayan bu düzenlemeler kullanıcı hataları açısından önemlidir. Verilerin

Detaylı

SORGULAR VE ÇEŞİTLERİ II

SORGULAR VE ÇEŞİTLERİ II Ünite 8 SORGULAR VE ÇEŞİTLERİ II Öğr. Gör. Kemal ÖZCAN Bu ünitede, Sorgular ve Çeşitleri konusu ele alınacaktır. Yapılacaklar Burada yazılan SQL ifadeleri MS SQL SERVER, ORACLE ve MySQL veritabanı sistemlerinin

Detaylı

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır. 18 SQL SORGU DİLİ SQL (Structured Query Language) yapısal sorgu dili, veritabanı yönetim sistemlerinin standart programlama dili olarak bilinmektedir. SQL dilinin Access içinde sorgu pencerelerinde veya

Detaylı

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir? 1) I. Tablo Oluşturma II. Veri Güncelleme III. Veri Silme IV. Veri Ekleme V. Tablo Silme Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir? a) I, IV ve V b) II, III ve IV

Detaylı

Veritabanı Tasarımı. Tablo Oluşturma

Veritabanı Tasarımı. Tablo Oluşturma Veritabanı Tasarımı Tablo Oluşturma Konular Ana veritabanı nesnelerini listeleme ve kategorize etme Bir tablo yapısını inceleme Şema nesnelerinin Oracle veritabanı tarafından nasıl kullanıldığını açıklama

Detaylı

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU Elbistan Meslek Yüksek Okulu 2015 2016 GÜZ Yarıyılı 28-29 Ara. 2015 Öğr. Gör. Murat KEÇECĠOĞLU Indexler İndeks, tablolardan veri çekmek için gerekli sorgular çalıştırılırken gereken süreyi azaltmak amacıyla

Detaylı

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir. İlişkisel Veritabanı Yaklaşımı: İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir. İlişkisel veri tabanı yönetim sistemi verilerin tablolarda satır ve sutunlar halinde tutulduğu

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI Dersin Hedefleri Veri Tabanı Kullanıcıları Veri Modelleri Veri Tabanı Tasarımı İlişkisel VT Kavramsal Tasarımı (Entity- Relationship, ER) Modeli VT KULLANICILARI

Detaylı

BİLİŞİM TEKNOLOJİLERİ

BİLİŞİM TEKNOLOJİLERİ T.C. MİLLÎ EĞİTİM BAKANLIĞI BİLİŞİM TEKNOLOJİLERİ VERİ TABANI YÖNETİMSEL FONKSİYONLARI Ankara, 2013 Bu modül, mesleki ve teknik eğitim okul/kurumlarında uygulanan Çerçeve Öğretim Programlarında yer alan

Detaylı

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301) Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301) GENEL DERS BİLGİLERİ Öğretim Elemanı : Öğr. Gör. Erdal GÜVENOĞLU Ofis : MUH 313 Ofis Saatleri : Pazartesi: 10.00-12.00,

Detaylı

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim' Bu Derste Öğrenecekleriniz: 1- Veri Tabanı Adı Değiştirme 2- Nesnelerin Adını Değiştirme a. Tablo Adı Değiştirme b. Alan Adı Değiştirme c. Constraint (Kısıtlama) Adı Değiştirme 3- Tablo Düzenleme Komutları

Detaylı

Veritabanına Uygulanması

Veritabanına Uygulanması Add, Alter Drop, Alter Change, Alter Sql komutları ve açıklamaları CREATE CREATE TABLE Üzerinde çalışma yapılan veritabanı içerisinde yeni bir tablonun oluşturulmasını sağlar. CREATE TABLE tablo_adı (alan_adı1

Detaylı

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI ELIF KIOTZEOGLOU 0510130077 RESUL MURAD 0510120082 MERT PACOLARI 0510120083 SQL SQL,(İngilizce "Structured Query Language", Türkçe: Yapılandırılmış Sorgu Dili) verileri yönetmek ve tasarlamak için kullanılan

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) İlişkisel Veritabanı Modeli

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) İlişkisel Veritabanı Modeli Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) İlişkisel Veritabanı Modeli Konular Temel Kavramlar Tablo Anahtar Süper Anahtar Birincil Anahtar Yabancı Anahtar İkincil Anahtar Bütünlük Kuralları Birincil

Detaylı

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır. SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır. Bu dersimizde biz Microsoft SQL Server veritabanı sistemini kullanmayı öğreneceğiz. SQL Nedir? SQL Structured Query Language

Detaylı

HASTANE OTOMASYONU VERİ TABANI YÖNETİM SİSTEMLERİ TEMEL VERİTABANI KAVRAMLARI

HASTANE OTOMASYONU VERİ TABANI YÖNETİM SİSTEMLERİ TEMEL VERİTABANI KAVRAMLARI VERİ TABANI YÖNETİM SİSTEMLERİ HASTANE OTOMASYONU Öğr. Gör. Handan ÇETİNKAYA İstanbul Gelişim Üniversitesi Günümüzde en basitinden en karmaşığına kadar pek çok veritabanı mevcuttur. En basiti Microsoft

Detaylı

Veritabanı. Ders 2 VERİTABANI

Veritabanı. Ders 2 VERİTABANI Veritabanı Veritabanı Nedir? Birbiri ile ilişkili verilerin bir arada uzun süreli bulundurulmasıdır. Veritabanı bazen Veritabanı Yönetim sistemi veya Veritabanı Sistemi yerine de kullanılır. Gerçek dünyanın

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ

VERİ TABANI YÖNETİM SİSTEMLERİ VERİ TABANI YÖNETİM SİSTEMLERİ ÖĞR.GÖR.VOLKAN ALTINTAŞ 26.9.2016 Veri Tabanı Nedir? Birbiriyle ilişkisi olan verilerin tutulduğu, Kullanım amacına uygun olarak düzenlenmiş veriler topluluğunun, Mantıksal

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS VERİ TABANI BG-313 3/1 3+1+0 3+0,5 5 Dersin Dili : TÜRKÇE Dersin Seviyesi : LİSANS

Detaylı

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar 2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar Öğr. Gör. Saliha Kevser KAVUNCU Veritabanı neden kullanılır? Veritabanının amacı; insanların ve organizasyonların birşeyleri takip edebilmesine yardımcı

Detaylı

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

Varlık-İlişki Modeli (Entity-Relationship Model) Varlık-İlişki Modeli (Entity-Relationship Model) Varlık-ilişki modeli, ya da kısaca E-R modeli (Entity- Relationship model) 1976 yılında P.P. Chen tarafından geliştirilen bir modeldir. Bugüne kadar varlık-ilişki

Detaylı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 3 Veritabanı Tasarımı" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı Veritabanı Tasarımı Kuramlar Veritabanı Nesnesini Yapılandırmak

Detaylı

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız. Bu Derste Öğrenecekleriniz: 1- Basit Sorgulamalar a. Tablodan tüm alanları sorgulama b. Tablodan alanları belirterek sorgulama c. Tekrarlı satırları önleme d. Belirli sayıda veya oranda sorgulama yapma

Detaylı

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN Bilgisayar Mühendisliğine Giriş Yrd.Doç.Dr.Hacer KARACAN İçerik Dosya Organizasyonu (File Organization) Veritabanı Sistemleri (Database Systems) BM307 Dosya Organizasyonu (File Organization) İçerik Dosya

Detaylı

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf/Y.Y. Ders Saati (T+U+L) Kredi AKTS Veri Tabanı Yönetimi BİM-324 3/II 3+0+0 3 4,5 Dersin Dili Dersin

Detaylı

Üst Düzey Programlama

Üst Düzey Programlama Üst Düzey Programlama JDBC (Java Database Connectivity) Üst Düzey Programlama-ders07/ 1 JDBC JDBC ilişkisel veritabanlarına erişim için Java dilinde kullanılan standart bir kütüphanedir. Bu kütüphanedeki

Detaylı

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi 1. 2. 3. 4. 5. 6. Görünüm (view) için özellikle aşağıdakilerden hangisi söylenebilir?? a) Veritabanındaki kayıtlı verileri düzenlemek, yönetmek ve elde etmek için kullanılan bir dildir b) Bir ilişkinin

Detaylı

T.C. MALTEPE ÜNĠVERSĠTESĠ MÜHENDĠSLĠK FAKÜLTESĠ ENDÜSTRĠ MÜHENDĠSLĠĞĠ BÖLÜMÜ LĠSANS PROGRAMI 2010-11 Güz Yarıyılı

T.C. MALTEPE ÜNĠVERSĠTESĠ MÜHENDĠSLĠK FAKÜLTESĠ ENDÜSTRĠ MÜHENDĠSLĠĞĠ BÖLÜMÜ LĠSANS PROGRAMI 2010-11 Güz Yarıyılı T.C. MALTEPE ÜNĠVERSĠTESĠ MÜHENDĠSLĠK FAKÜLTESĠ ENDÜSTRĠ MÜHENDĠSLĠĞĠ BÖLÜMÜ LĠSANS PROGRAMI 2010-11 Güz Yarıyılı VERĠ TABANI VE YÖNETĠMĠ BIL301 6 AKTS Kredisi 3. yıl 5. yarıyıl Lisans Zorunlu 4 saat/hafta

Detaylı

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir. T-SQL KODLARİ İÇERİSİNE AÇIKLAMA EKLEME Bir veya daha fazla satırın çalıştırılmasını Önlemek için veya /*... */" ifadeleri kullanılır. -- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak

Detaylı

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme Veritabanı Tasarımı Sütun Değerlerini Güncelleme ve Satırları Silme Konular UPDATE komutunu oluşturmak ve çalıştırmak DELETE komutunu oluşturmak ve çalıştırmak Tabloda güncelleme yapmak ya da veri silmek

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ-II

VERİ TABANI YÖNETİM SİSTEMLERİ-II VERİ TABANI YÖNETİM SİSTEMLERİ-II 3. MİCROSOFT SQL SERVER ARAYÜZ HİTİT ÜNİVERSİTESİ SUNGURLU MESLEK YÜKSEKOKULU BİLGİSAYAR TEKNOLOJİLERİ BÖLÜMÜ BİLGİSAYAR PROGRAMCILIĞI / 2. SINIF-GÜZ DÖNEMİ SQL Server

Detaylı

Veritabanı Tasarımı. Tablo Değiştirme

Veritabanı Tasarımı. Tablo Değiştirme Veritabanı Tasarımı Tablo Değiştirme Konular Tabloyu değiştirme neden önemlidir açıklama ALTER, DROP, RENAME ve TRUNCATE DDL komutlarının etkisini tablolar ve sütunlar üzerinde görme ALTER TABLE komutlarıadd,

Detaylı

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri 1.1. Tablo Oluşturma 1.2. Tablo Oluşturmada Kısıtlamalar Constraints 1.3. Tablo Silme a. NULL, NOT NULL b. PRIMARY KEY c. UNIQUE d. FOREIGN KEY e. CHECK f.

Detaylı

Mysql Veritabanı Komutları

Mysql Veritabanı Komutları Mysql Veritabanı Komutları Mysql Veri Tabanı Komutları Hazırlayan : M. Başar ACAROĞLU Kaynaklar: http://www.hrzafer.com/sql-dersleri http://www.w3schools.com/sql/default.asp Veri Tabanı Nedir? Mysql Veritabanı

Detaylı

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi -- www.tdmsoft.com. devrim@gunduz.org

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi -- www.tdmsoft.com. devrim@gunduz.org Veritabanlarına ve SQL'e Giriş Devrim GÜNDÜZ Teknoloji Destek Merkezi -- www.tdmsoft.com devrim@gunduz.org http://seminer.linux.org.tr http://www.gunduz.org Giriş Bu seminerde, aşağıdaki konular anlatılacaktır:

Detaylı

Pursaklar İMKB Teknik ve Endüstri Meslek Lisesi

Pursaklar İMKB Teknik ve Endüstri Meslek Lisesi Modül 1: Eylül 3 (1) Veritabanı kavramını bilme. Tablo kavramını bilme. İlişkisel veritabanı kavramını bilme. Tablo yapısını tanımlayabilme. Tablolar arasında ilişkiler kurabilme. Anahtar alan kavramını

Detaylı

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

VERĐTABANI YÖNETĐM SĐSTEMLERĐ VERĐTABANI YÖNETĐM SĐSTEMLERĐ Öğr.Gör.Sedat Telçeken ANADOLU ÜNĐVERSĐTESĐ FEN FAKÜLTESĐ MATEMATĐK BÖLÜMÜ 2005 2006 Bahar Dönemi D M L Bilindiği üzere SQL tablolar üzerinde sorgulama yapar. Bu sorgular

Detaylı

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1 PHP ile Veritabanı İşlemleri Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz. 1.1 Veritabanı Nedir? Veritabanı

Detaylı

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir. TRIGGER Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir. DML ve DDL trigger lar olarak ikiye ayırmak mümkündür. DML (Data Manipulation

Detaylı

SQL e Giriş. Uzm. Murat YAZICI

SQL e Giriş. Uzm. Murat YAZICI SQL e Giriş Uzm. Murat YAZICI SQL (Structured Query Language) - SQL Türkçe de Yapısal Sorgulama Dili anlamına gelmektedir ve ilişkisel veritabanlarında çok geniş bir kullanım alanına sahiptir. - SQL ile

Detaylı

Veri Tabanı Hafta Dersi

Veri Tabanı Hafta Dersi Veri Tabanı - 1 2. Hafta Dersi Dersin Hedefleri Geleneksel Dosya Sistemleri Veri Tabanı Kavramları Veri Tabanı Yönetim Sistemleri Veri Modelleri Veri nedir? Bilgisayarlarda veri nasıl saklanır? Bilgisayarlardaki

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri Celal Çeken Veysel Harun Şahin Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri Konular Veritabanı Tasarımı Yaşam Döngüsü Veri Modeli Nedir? Veri Modeli Temel Bileşenleri

Detaylı

SQL Komutları (2) Uzm. Murat YAZICI

SQL Komutları (2) Uzm. Murat YAZICI SQL Komutları (2) Uzm. Murat YAZICI Sıralama Sıralama işlemi için SELECT ifadesinde ORDER BY kullanılır. Bu ifadede ASC kelimesi kullanılırsa sıralama küçükten büyüğe doğru (A-Z), DESC kullanılırsa büyükten

Detaylı

Veri Tabanı-I 1.Hafta

Veri Tabanı-I 1.Hafta Veri Tabanı-I 1.Hafta 2010-2011 Bahar Dönemi Mehmet Akif Ersoy Üniversitesi Meslek Yüksekokulu Burdur 2011 Muhammer İLKUÇAR 1 Veri ve Veri Tabanı Nedir? Veri Bir anlamı olan ve kaydedilebilen

Detaylı

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama Veritabanı Tasarımı NOT NULL ve UNIQUE Kısıtlamaları Tanımlama NOT NULL ve UNIQUE Kısıtlamaları Tanımlama Konular Kısıtlama terimini veri bütünlüğü ile ilişkilendirerek tanımlama Sütun seviyesinde ve tablo

Detaylı

BÖLÜM -7: TABLOLARI OLUŞTURMA VE YÖNETME

BÖLÜM -7: TABLOLARI OLUŞTURMA VE YÖNETME BÖLÜM -7: TABLOLARI OLUŞTURMA VE YÖNETME Ana veritabanı nesnelerini sınıflandırmak Tablo yapısını inceleme Tablo sütunlarının veri tiplerini listeleme Basit bir tablo oluşturma Constraint oluşturma Şema

Detaylı

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language) Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language) Konular Yapısal SQL Komutları Gruplama İşlemi SQL Fonksiyonları Kaynaklar 2 SQL (Structured Query Language) SQL Carlos

Detaylı

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR YÜKSEK LİSANS PROJESİ Mehmet Emin AKKAYA Danışman: Yrd. Doç.

Detaylı

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e

Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler. Fundamentals, Design, and Implementation, 9/e Bölüm 2 Varlık-İlişki Veri Modeli: Araçlar ve Teknikler Fundamentals, Design, and Implementation, 9/e Üç Şema Modeli Üç şema modeli 1975 de ANSI/SPARC tarafından geliştirildi Veri modellemeninç ve rolünü

Detaylı

VERİTABANI. SQL (Structured Query Language)

VERİTABANI. SQL (Structured Query Language) VERİTABANI SQL (Structured Query Language) SQL'de Gruplama Bir tablonun satırları gruplara ayrılarak fonksiyonların bunlara uygulanması mümkündür. Gruplara ayırmak için SELECT deyimi içerisinde GROUP BY

Detaylı

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com SQL Deyimleri Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com SQL NEDİR? SQL bir veri tabanıyla iletişim kurmak için kullanılır. ANSI standardına göre ilişkisel veri tabanı yönetim sistemlerinin standart dilidir.

Detaylı

Mühendislikte Veri Tabanları Dersi Uygulamaları (MS-Access)

Mühendislikte Veri Tabanları Dersi Uygulamaları (MS-Access) Mühendislikte Veri Tabanları Dersi Uygulamaları (MS-Access) İstanbul Teknik Üniversitesi, İnşaat Fakültesi, Geomatik Mühendisliği Bölümü Prof. Dr. Nebiye MUSAOĞLU Doç. Dr. Elif SERTEL Y. Doç. Dr. Şinasi

Detaylı

VERİ TABANI ve YÖNETİMİ

VERİ TABANI ve YÖNETİMİ VERİ TABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2 BÖLÜM -12- TETİKLEYİCİ (TRIGGER) 3 Giriş Trigger lar Trigger lar Ne Zaman Kullanılmalıdır? Klasik Trigger ların Özellikleri

Detaylı

Veri Tabanı SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299

Veri Tabanı SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299 Veri Tabanı 1 1. SQL Server ve Management Studio kurulum linkleri: https://www.microsoft.com/en-us/download/details.aspx?id=42299 2. SQL Management Studio açılış ekranı: Server Type: reporting, analysis

Detaylı

Program AkıĢ Kontrol Yapıları

Program AkıĢ Kontrol Yapıları C PROGRAMLAMA Program AkıĢ Kontrol Yapıları Normal Ģartlarda C dilinde bir programın çalıģması, komutların yukarıdan aģağıya doğru ve sırasıyla iģletilmesiyle gerçekleģtirilir. Ancak bazen problemin çözümü,

Detaylı

EBE-368 Veri Tabanı Yönetim Sistemleri Veri Tabanı Tasarımı

EBE-368 Veri Tabanı Yönetim Sistemleri Veri Tabanı Tasarımı EBE-368 Veri Tabanı Yönetim Sistemleri Veri Tabanı Tasarımı Dr. Dilek Küçük Veri Tabanı Tasarımı Kavramsal Veritabanı Tasarımı Gereksinim analizi adımında edinilen bilgilerle, verinin kısıtlamalarıyla

Detaylı

Veri Bütünlüğü ve Constraint ler. Veritabanı 1

Veri Bütünlüğü ve Constraint ler. Veritabanı 1 Veri Bütünlüğü ve Constraint ler Veritabanı 1 Veri Bütünlüğü Veri bütünlüğü, bir tabloda veri güncelleme, silme veya ekleme gibi işlemler yapılırken diğer tablo ya da tablolardaki verilerin birbirleriyle

Detaylı

Coğrafi Bilgi Sistemlerine Giriş. Ünite 5 - Veri Tabanı Yönetim Sistemleri

Coğrafi Bilgi Sistemlerine Giriş. Ünite 5 - Veri Tabanı Yönetim Sistemleri Coğrafi Bilgi Sistemlerine Giriş Ünite 5 - Veri Tabanı Yönetim Sistemleri İçerik Temel kavramlar Veri tabanı modelleri Normalizasyon Coğrafi Bilgi Sistemlerinde veri tabanı yönetimi Temel kavramlar Veri

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ I BÖLÜM 6 6. SQL VERİ İŞLEME DİLİ SQL insanların veritabanı sistemleri ile konuşmasını sağlayan popüler bir dildir. Bu dil tüm veritabanı programlarında kullanılabilmektedir. Bu dil sayesinde, bir veritabanından

Detaylı

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN VERITABANI-I Varlık-İlişki Diyagramlarının İlişki Şemalarına Dönüştürülmesi E-R Çizelgelerini İVTYS ye Dönüştürme

Detaylı

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER VERİTABANI SORGULARI İÇİNDEKİLER Select İfadesi Insert İfadesi Update İfadesi Delete İfadesi Verileri Sıralamak Verileri Gruplandırmak Veriler Üzerinde Arama Yapmak NESNE TABANLI PROGRAMLAMA I Uzm. Orhan

Detaylı

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi Hedefler Veritabanı Yönetimi Bilgisayarların Discovering Keşfi 2010 Computers 2010 Living in a Digital World Dijital Dünyada Yaşamak Veritabanı terimini tanımlamak ve bir veritabanının veri ve bilgi ile

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ

VERİ TABANI YÖNETİM SİSTEMLERİ VERİ TABANI YÖNETİM SİSTEMLERİ Veri Tabanı Nedir? Sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Bir kuruluşa

Detaylı

Veritabanı Tasarımı. Veritabanı Hareketleri

Veritabanı Tasarımı. Veritabanı Hareketleri Veritabanı Tasarımı Veritabanı Hareketleri Konular Veri hareketleri ile ilgili olarak COMMIT, ROLLBACK ve SAVEPOINT terimlerini tanımlamak COMMIT, ROLLBACK ve SAVEPOINT ifadelerinin üç avantajını listelemek

Detaylı

SORGULAR. Öğr.Gör.Volkan Altıntaş

SORGULAR. Öğr.Gör.Volkan Altıntaş SORGULAR Öğr.Gör.Volkan Altıntaş SORGULAR VE ÇEŞİTLERİ Seçme Sorguları: En sık kullanılan sorgu türüdür. Seçme sorguları, bilgileri veri sayfası görünümü nde gösteren veri tabanı nesnesi türüdür. Sorgu,

Detaylı

VERİ TABANI SİSTEMLERİ

VERİ TABANI SİSTEMLERİ VERİ TABANI SİSTEMLERİ 1- Günümüzde bilgi sistemleri Teknoloji ve bilgi. 2- Bilgi sistemlerinin Geliştirilmesi İşlevsel Gereksinimleri 1.AŞAMA Gereksinim Belirleme ve Analiz Veri Gereksinimleri Gereksinimler

Detaylı

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ Dersin Adı Kodu Sınıf / Y.Y. Ders Saati (T+U+L) Kredi AKTS Veritabanı Yönetimi 4 / Bahar (3+0+0)

Detaylı

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ I BÖLÜM 8 8. TEMEL SQL KOMUTLARI-II 8.1. SELECT (Seç) Komutu Veri tabanındaki tablo veya tablolardan istenilen özellikteki verileri seçip listeleme için kullanılan komuttur. Genel kullanımı aşağıdaki gibidir.

Detaylı

Seri No Takibi İÇERİK

Seri No Takibi İÇERİK Doküman Kodu : TNS008 İlk Yayın Tarihi : Mart 2018 Revizyon Tarihi : Mart 2018 Revizyon No : 1 İÇERİK GENEL BĠLGĠ SERĠ NO TAKĠBĠ Seri No Seri No Parametre Seçimi ile Stok menü Stok kart Alım genel parametreleri

Detaylı

Veritabanı ve Yönetim Sistemleri

Veritabanı ve Yönetim Sistemleri Veritabanı ve Yönetim Sistemleri Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Hafta Modüller/İçerik/Konular 1. Hafta Temel Kavramlar 2. Hafta Veri Modelleri 3.

Detaylı

İlişkisel Veri Tabanları I

İlişkisel Veri Tabanları I İlişkisel Veri Tabanları I Erdem Alparslan Bahçeşehir Üniversitesi 1 Veri Tabanı Modelleri Veri Tabanları tasarımında kullanılan modeller: Tablolar : Veriler tek bir tabloda veya tablo dizisinde tutulur

Detaylı