Veri Tabanı




2.1 VERİTABANI NEDİR?

Belli bir alanda birbirleriyle ilişkili olarak düzenlenmiş tablolardan       oluşan veriler topluluğudur. Aynı zamanda genel amacı bilgi saklama, depolama ve isteğe göre kullanıcıların bilgiyi yeniden düzenlemek ve güncelleştirmeye yarar. Bilgi, birey ya da organizasyon için önemli olan herhangi bir şey olabilir.

İyi bir veritabanının özellikleri:
·    Veriler hızlı ve kolay girilebilmeli
·    Güvenli bir şekilde saklanmalı
·    İstenildiği şekilde ve kolay sorgulanmalı




2.2    NEDEN VERİTABANI?

Niçin database kullanırız? Bunun avantajları nelerdir?
Database’ in avantajları sorular ve cevaplar sisteminin içeriğine göre değişir. Yani tek ya da çok kullanım sağlayan sistemlerdir. (single-multi user)
Single user sistemleri ele alalım:
Bazı veritabanları küçük ve basit olarak tanımlanır. Fakat sağladığı avantajlar basit ve küçük değildir. Veritabanının avantajı sistemli bir kayıt tutma ve bunu kolay bir biçimde sunmasıdır. Bunlardan bazıları;

·    Herhangi bir evrak saklamaya gerek yoktur.
·    Makineler bilgileri insanlardan daha hızlı güncelleştirebilirler. Yani kısaca hızlı ve zaman kaybına yer vermeden araştırma yapabilirler.
·    Tercih, zaman ve bilgiler istenildiği zaman görülebilir.
Birçok amacından çıkmış dosyaların elemesini rahatlıkla yapar.Makineler bu işi her zaman insanlardan daha hızlı ve iyi yapar.
Çok kullanıcılı sistemler, tek kullanıcılı sistemlere  göre getireceği yararlar bakımından tabiiki daha geniş ve karmaşık yapıya sahiptir.
Bununla beraber üst düzeydeki bir avantajı da bilgilerin kontrollerini tek bir noktadan yapabilmesidir. Buna benzer durumlarda database sistemi olmayan tipik formlar ve bazı özel dosyalar sıklıkla kaset ve disklerde saklanır. Bu yüzden bilgilerin kontrolü sistematik açıdan zordur.

· Verilerin merkezi kontrolü sağlanır.
·   Veri tekrarı azalır.
·   Tutarsız (hatalı) bilgiler önlenir.
·   Verinin paylaşımı sağlanır.                                                                               
·   Bütünlük sağlanır.
·   Genel veya özel raporlar alınabilir.

 

2.3 VERİ TABANININ BİLGİSAYARDAKİ AVANTAJLARI:

Veri tabanının bilgisayarda sağladığı avantajları sıralayalım:
·       Ortaklaşa Kullanım: Çekmecelerdeki bir kartotekse, aynı anda iki kişinin yerlerinden kalkmadan bakabilmesi adeta olanaksızdır. Ayrıca, yoğun çalışan kişilerden bazıları işyerlerindeki dosyaların yüklenerek ellerinde taşırlar. Bilgisayar ortamında, birden fazla kişi  farklı terminallerden aynı veriye erişebildiği gibi, evde çalışması gereken kişinin dosyalarının eve taşımasına gerek yoktur.
·       Yerden Tasarruf: kağıt, dosya, klasör gibi çok yer tutan veri depolama ortamlarını büyük ölçüde ortadan kaldırarak yerden tasarruf edilir.
·       Kolay Güncelleştirmek: örneğin gerçekleşen  bir siparişin bilgilerini anında ve otomatik olarak stok ve müşteri yansıtmak mümkündür.
·       Kolay Erişim: bir veriyi bulmak sıralamak, istenilen bilgileri ve toplamlarını yazıcıdan almak kartotekse örneği ile kıyaslanmayacak kadar kolaydır.
·       Emniyet: girilen verilen geçerliliğini kontrol etmek, bazı kişilere erişimde kısıtlamalar koymak mümkündür.

·       Analiz İmkanı: özellikle üretimde çok büyük bir avantajdır. Fakat maalesef genelde, bilgisayardan sadece  “takip” ten (ne gitti, ne geldi) yararlanılmaktadır.

 

2.4  VERİTABANI TASARIMI


Adım1: Veritabanının amacını belirlemek.
·    Bu adımda ne tür verilerin saklanacağı belirlenir.
Adım2: Tablolar tasarlanır.
·    Belli bir amaca sahip olunduktan sonra verilen ayrı ayrı konularda tablolara bölünür.
Adım3: Alanlar belirlenir.
·    Alan, belli bir veri kolonunu belirtir. Alan belirleme işleminde bir tabloda gerekli olan veri alanları belirlenir.
Adım4: İlişkiler belirlenir.
·    Tablolar arasında ilişkinin hangi veri alanları üzerinden kurulacağı kararlaştırılır.

1. ADIM: Veritabanının amacını belirlemek.
Tanımlama adımında öncelikle veritabanını kullanacak olan kullanıcılar ile görüşülür. Ne tür verilerin kullanıldığı ve bunların hangi evraklardan (olaylardan) kaynaklandığı araştırılır. Özellikler kullanıcıların hangi raporlara gereksinim duyduğu araştırılır.
                                                                                                               2. ADIM: Tabloları tanımlama.
Tabloların tanımlanması, veritabanı tasarımının en önemli aşamalarından birisidir. Tabloların tasarımı (yapısı), verilerin sınıflandırılmasını ve daha sonra veritabanından alınacak raporları etkiler. Bunun dışında verilere erişimi doğrudan olanaklı kılacak ya da kısıtlayacak bir oluşumdur.


3. ADIM: Alanların tanımlanması.
Veritabanı tasarımında; ilgili bilgilerin tablolarının tanımlanmasının ardından tablolardaki bilgilerin ayrıntıları tanımlanır.
·    Tablonun alanlarının tanımlanması için öncelikle tablonun özellikleri ve tablodan beklenilenlerin ne olduğu belirlenmelidir. Burada, göz önüne eklenecek  kayıt  düşünülmelidir.
·    Tablonun bir alanı, tablo ile mutlaka ilgili bir veri olmalıdır. Tabloda gereksiz veri alanına kesinlikle izin verilmemelidir. Tablo alanlarına verinin en basit hali konur. Hesaplanmış bir verinin bir alanda yer almasına gerek yoktur.
·    Ana anahtar alanı (Primary Key), belirlenir. Bu tekrarlanmayan (Unique) alan kayıtlara erişimde ve diğer tablolarla ilişki kurmada kullanılır.
·    Yabancı anahtar alan (Foreign Key) belirlenir. Diğer tablodaki ana anahtarları gösteren kolonlardır. Genellikle ilişki anahtarı olarak da adlandırılır. Bütünlük kuralı her yabancı anahtarın diğer tabloda bir ana anahtarı göstermesini gerektirir.



4. ADIM: İlişkilerin tanımlanması.
Bir veritabanı içersinde çok sayıda tablo tanımlanır. Bu tablolar raporlama gibi bir amaç için bütünleşmek zorundadırlar. Bu bütünleşme veritabanının içindeki tablolar arasında kurulan ilişkilerle sağlanır.
Veritabanı içindeki ilişkilerin tanımlanması ile; tabloların birçoğundan yararlanarak anlamlı veri bütünlüklerinin belli kurallar içinde oluşturulması sağlanır.
Birçok raporda, ekran görüntüsünde ya da veri giriş ekranında birden çok tablodan veriler kullanılması gereği; tablolar arasındaki ilişkinin önemi ortaya çıkarır. 

2.5.    İLİŞKİSEL VERİTABANI

2.5.1.VARLIKLAR VE İLİŞKİLER (Entities and Relationship)


“Entity”- varlık kelimesi veritabanında gösterilen herhangi bir farklı objeyi (veritabanı dairelerinde kullanılan) tanımlar. Bu ana varlıklara ek olarak (sağlayıcılar) bu varlıkları birbirine bağlayan “İlişkiler” de vardır. Bu ilişkiler şekil 2-1.’ de bağlayıcı çizgiler ve karolar içinde belirtilmiştir.


Bu ilişkilerin hepsi çift yönlüdür.
·       Sağlayıcı, bölümleri başka sağlayıcılardan alır.
·       Bölümler sağlayıcıları, o bölümleri sağlayan sağlayıcılardan alır.
Bu ilişkideki en önemli nokta, ana varlıklar oldukları gibi aynı zamanda verinin parçaları da olmasıdır. Bu yüzden veritabanında ana varlıklar belirtildiği gibi belirtilmelidirler.

Şekildeki önemli noktalar;
1.  Şekildeki ilişkiler iki çeşit varlık göstermesine rağmen buna ikili ilişkiler denir, diğer bütün ilişkilerin de öyle olması gerektiği anlamına gelmez. Örnekte üç varlık çeşidinin bulunduğu bir ilişki de var. (sağlayıcı, bölüm ve projeler) bunun yorumu belirli sağlayıcılar, belirli projelere, belirli bölümler sağlar.
2.  Şekil  aynı zamanda sadece bir varlık çeşidi de gösteriyor. Parts, belirli bölümler ilişkisi (bills of materials) denen diğer bölümlerden oluşan ilişkidir.

Genel anlamda iki ayrı ilişkide olan varlık çeşitleri seti birbirine bağlar.
İlişkisel veritabanında tablolar arasında ilişki kurularak anlamlı verilere kolayca erişilir. Tablolar arasında verileri bağlamak için üç tür ilişki tasarlanır. Bu ilişki biçimleri şunlardır:
·    Bir-e-çok İlişki (One to Many)
·    Çok-a-Çok İlişki (Many to Many)
·    Bir-e-Bir İlişki (One to One)

Bir-e-Çok İlişki;
  1- Bir-e-Çok ilişkiler, ilişkisel veritabanında çok yaygın biçimde yer alırlar. Bu ilişkide bir tablonun bir kaydına karşılık diğer tabloda çok sayıda kayıt vardır.
  2- Bir kaydın alt kayıtlarında kullanılırlar.
  3- İlişkide genellikle bir ana tablonun ana anahtarına karşılık alt tablonun eş değer alanı (yabancı anahtar) gelir.

Çok-a-Çok İlişki; bu tür ilişkide birinci tabloda yer alan çok sayıda kayda karşılık, ikinci tabloda yine çok sayıda kayıt karşılık gelir.

Bir-e-Bir İlişki;bu ilişkide birinci tablonun bir kaydına karşılık ikinci tabloda bir kayıt vardır. Aslında bu tür bir ilişki, tablolar arasında ilişkiden öte sadece bir uzantı ya da eklemedir. Çünkü Bir-e-Bir ilişki kayıtların birbirinin devamı ya da bir tablo içindeymiş gibi kullanılmasını sağlar.
               
2.5.2. TASARIMIN GÖZDEN GEÇİRİLMESİ

Bir veritabanı oluşturma aşamasında; tablolar, alanlar ve ilişkiler belirlendikten sonra veritabanı tasarımı bitmiş olur. Ardından tablolara verilerin girilmesi ya da diğer uygulamalardan alınması (import) gerekir.







3-VERİTABANI PROGRAMLARI:

3.1.  ACCESS VERİTABANI

Bir işle uğraşıyor, bir ofisi yönetiyor veya yalnızca günlük işleri izliyor bile olsanız, kullanmanız gereken yığınlarca bilgi vardır. Bu bilgileri saklamak için en uygun yer masanızın üstüdür. Telefonun yanındaki klasörün içinde tuttuğunuz kağıt yığınını masanızın tümünü kaplayana kadar koruyabilirsiniz belki. Ancak, gerek duyduğunuz tüm bilgileri masanızda tutmatı sürdürürseniz, kısa zamanda masayı kaybetmek gibi bir sorunla karşılasırsınız.

Access’i kullanarak miktarı ne olursa olsun her türlü bilgiyi düzenleyebilir, depolayabilir ve fareyi birkaç kez tıklayarak gerek duyduğunuz bilgiye ulaşabilirsiniz.

Veri, saklamak ve gerektiğinde başvurmak istediğiniz bir şeydir. Access’te metinler, sayıları, tarihler veya resimler veri olabilir. Örneğin şekerleme satıyorsanız şekerlemelerin adlarını, resimlerini, verilen siparişleri, kutuların fiyat ve miktarları ile satış tarihlerini depolayabilirsiniz.

Veri tabanı bir takım ortak özelliklere sahip veriler topluluğudur. Örneğin, bir çok işletme kendisiyle ilgili verinin tümünü şirket veri tabanı olarak görür. Veritabanları, tüketici gruplarına eğitim kurumlarına ve hükümet kuruluşlarına da bilgilerin düzenlenmesinde yardım eder. Tek tek kişiler veya aileler bile veri tabanlarından yararlanabilir. Veri tabanları, bilgilerin daha yararlı olmaları için düzenlenmesinde kullanılan bir yoldan başka bir şey değildir.

Çoğu durumda, veri girmenin en kolay yolu form kullanmaktır. Access’te veri girişi için kullanılan formlar, ofislerde gördüğümüz kağıt formlara benzer. Siz form üzerine verileri yazarsınız, Access’te onları bir tablo içinde depolar.

Veritabanı tablosu, aynı konudaki verilerin kayıtlar (satırlar) ve alanlar (sütunlar) halinde depolanmış bir toplamıdır. Kayıt ise bir derginin abonelik kartındaki bilgi veya bir telefon defterindeki liste gibi birbiriyle ilgili bilgiler grubudur. Kayıt alanlardan oluşur. Her alan ayrı bir veri kümesi içerir. Örneğin bir derginin abonelik tablosu, abonenni adı için bir aln, adres için başka bir alan ve veri tabanı tasarımcısının bir aboneyi tam olarak tanımlarken gerekliliğine inandığı başka bir çok alan içerebilir.



3.1.1.  ACCESS  SORGU  TÜRLERİ:

n  Seçme                   Select
n  Çapraz                  Crosstab
n  Tablo yapma          Make-Table
n  Güncelleştirme      Update
n  Ekleme                  Append
n  Silme                                Delete

Son 4 tanesi eylem sorgusu biçimindedir.

3.2.   ORACLE VERİTABANI:

İlişkisel veri tabanı yönetim sistemleri (relational database management system –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 (integrity) içerisinde tutulabildiği ve birden fazla kullanıcıya aynı anda bilgiye erişim imkanının sağlandığı programlardır. Oracle da, bir ilişkisel veri tabanı yönetim sistemidir.
Oracle ın temel özellikleri şunlardır:
  • Büyük verileri tutabilmekte ve bu verilerin depolanma alanlarının ayarlayabilme imkanı ve bunları kontrol etme imkanı vermektedir.
  • Aynı anda birden fazla kullanıcıya (Oracle8, onbinlerce kullanıcıya hizmet verebilmektedir) verilerin bütünlüğünü bozmadan ve karışıklığa meydan vermeden hizmet verebilmektedir.
  • Sistem performansını en iyi şekilde kullanabilmektedir.
  • Günün 24 saati durmadan, günler, haftalar hatta aylar boyu çalışabilmektedir.
  • İşletim sistemi, veri erişim dilleri ve ağ (network) iletişim  protokolleri standartlarıyla uyumludur.
  • Yetkisiz erişimlerin engelliyebilme ve kontrol edebilme imkanları sunmaktadır.
  • Bütünlüğü (integrity) veri tabanı düzeyinde sağlayabilmektedir, böylece daha az kod yazılmaktadır.
  • İstemci/sunucu (client/server) mimarisinin bütün avantajlarını kullanılabilmektedir.
                                                                                                                          
3.3.    PROGRESS VERİTABANI:

Bilgisayar programları, seçilen bir bilgisayar dilinde, bir konu ile ilgili verilerin ve değerlendirildiği komutlar topluluğudur. Programlamayı öğrenirken bir programcının ilgilendiren gerekli olan konuları aşağıdaki gibi sıralayabiliriz.
1.  Girilecek verilerin yapılarını tanımlayabilme (veri tabanı).
2.  Kullanıcı ile irtibatı sağlayan görüntüsünü   (ekran dizaynı) ve çıktıların şemalarını (rapor dizaynı tasarlayabilmek)
3.   Bu iki şık arasındaki bağlantıları gerektiren program parçalarını yazabilmek.
Progress  dördüncü kuşak bir dil olduğu için yukarıda belirtilen  üç  şıkkı gerçekleştirmek çok basittir.
Veri tabanı tasarımı ve tanımı için data dictionary hizmet programı kullanılır.
Ekran dizaynları ve bağlantıları, Smart Objects (programlanabilir nesneler) tanımlamaları onları programlama  işlemini gerçekleştiren AppBuilder (uygulama geliştiricisi) hizmet programı ile sağlanır. Çıktılar için ise Report Builder (Çıktı formları düzenleyicisi) kullanılır.
Üretilen programlar da  4GL komutlarını kullanarak düzeltilebilir veya geliştirilebilir.
Netice olarak biz; veri tabanı, basit nesne ve smart Objects kavramlarını iyi öğrenerek buna da 4GL komutalarını eklersek progress ile programlamayı öğrenmiş oluruz.Müşterimizin yaptığı bir ödeme, doğal olarak müşteriyi etkiler kartoteks devrinde, bu ödemeyi müşterinin borcundan elle düşüyorduk. Bilgisayarda ise bunu otomatik olarak yapılması gerekir. Bunun için, müşteri bilgilerinin müşteri hareket bilgileri ile bağlantılı olarak  tanımlanması gerekir. Diğer bir değimle, Veritabanımızın iyi tanımlarsak, programlamayı çok basit bir şekilde halledebiliriz.
Örneğin, tasarımı tamamlanmış bir veri tabanında, aşağıdaki kısa program:
· Tüm müşterileri listeler (müşteri numarası, unvanı)
· Kullanıcının gireceği birkaç harfle başlayan müşteriyi bulur gösterir.
· Bu müşteri ile ilgili tüm sipariş bilgisini gösterir (sipariş ana bilgiler: sipariş numarası sipariş tarihi, gerçekleşen tarih vs.)
· Bu siparişle ilgili tüm detay bilgilerin gösterir (sipariş detay bilgileri: stok numarası, fiyatı, indirim oranı, miktarı, tutarı vs.)
For each müsteri:
Display musno isim.
End.
Prompt-for “aranan müsterinin ilk harflerini giriniz: “ isim with no-Label
Find first müsteri where isim begins input isim.
Display isim.
For each sipariş of müşteri:
display siparis.
For each stok of  sipariş:
Display stok-no fiyat miktar indirim tutar.
End.End.
                                                                                                                         
4- ORACLE VERİTABANI
       
        4.1    SQL, PL/SQL, SQL*PLUS:

SQL, ilişkisel veri tabanlarındaki bilgileri sorgulamak için kullanılan dildir.
SQL, bütün kullanıcıların ve uygulamaların veri tabanına erişmek için kullandıkları  komutlar bütünüdür. Uygulama programları ve veri tabanı araçları kullanıcılara çoğu durumda SQL kullanmadan veri tabanına erişim imkanı sunmaktadırlar fakat bu uygulamalar da geri planda SQL kullanmaktadırlar.
SQL, ilişkisel veri tabanları ile uygulamaların diyalogunu sağlamaktadır. SQL, temelde verilerle mantıksal seviyede çalışmaktadır. Yani bir tablodan birkaç kayıt seçebilmek için, o kayıtları seçebilecek bir şart belirtilir. Şarta uyan bütün kayıtlar bir basamakta gelir ve bunlar kullanıcıya gösterildiği gibi, bir başka SQL’e veya bir uygulamaya da  gönderilebilir. Kayıtların tek tek nasıl geldiği ve fiziksel olarak veri tabanının neresinde ve nasıl tutulduğu ile SQL ilgilenmemektedir.

SQL komutları ile ;

nVeri sorgulama.
nBir tabloya kayıt ekleme, değiştirme ve silme.
nVeri tabanı nesnelerini (Database Objects ) yaratma, değiştirme ve silme.
nVeri tabanına ve nesnelerine erişimi kontrol etme.
nVeri tabanı bütünlüğünü ve tutarlığını sağlama işlemlerini yapabilmektedir.

PL/SQL, Oracle’ ın SQL komutlarını yapısal dilere ait özelliklerin (Begin, End, Loop , For, if, Elsif vb.) eklediği kendi standardı olan bir dildir.
SQL*Plus, SQL ve PL/SQL komutlarının kullanılabildiği Oracle ürünüdür.
SQL*PLUS ile;
SQL*Plus, Oracle veritabanında sorgulama yapmak ve SQL komutlarını çalıştırmak için kullanılan bir araçtır. SQL*Plus’ da SQL komutlarının yanısıra PL/SQL komutları da kullanılabilmektedir.
 SQL*Plus ile yapılabilecek şeyler aşağıda sıralanmıştır;
nSQL komutları yazılabilir, kaydedilebilir, tekrar çağrılabilir ve çalıştırılabilir.
nSorgu sonuçları rapor alınacak şekilde düzenlenebilir.
nTablonun yapısı listelenebilir.
nOracle veri tabanları arasında kopyalama yapılabilir.


PL/SQL ‘e giriş;
PL/SQL, yapısal dillere ait özelliklerin standart SQL’ e eklenmesiyle ortaya çıkan Oracle’a has bir dildir. PL/SQL, ORACLE firmasının piyasaya sürdüğü her üründe en önemli bir yere sahiptir. Kullanıcılar PL/SQL’ i kullanarak birçok yeni özellikler katmaktadırlar. Bunlar arasında;

n PL/SQL tabanlı kaydedilmiş yordamlar (stored procedures) ve veri tabanı tetiklemeleri (triggers) ile önemli iş kurallarını programlamak.
n Oracle Developer /2000 ile güçlü ve kolay kullanılabilir GUI ortamlarla programları detaylandırmak ve daha rahat kontrol etmek
n Oracle tabanlı uygulamalarda nesne-tabanlı (object-oriented) tasarımlar yapma
n Web sayfalarından Oracle veri tabanlarına link yapmak gibi.

PL/SQL’ in belki de en önemli özelliği istemci-sunucu (client-server) ortamları tasarlama ile ağ (network) üzerinde dağıtık işlemler yapma ve transactionlar çalıştırma imkanı sunmasıdır.
PL/SQL dili Ada dilinden sonra tasarlanmıştır. PL/SQL’ de en gelişmiş yordamlar dillerde olan aşağıdaki özellikler bulunmaktadır:                                      
·       Birçok veri tipi
·       Blok yapısı
·       Şartlara bağlı ve bağlı olmayan kontrol cümleleri
·       Birçok döngü (loop) tipi
·       Hata durumlarında kullanılabilecek aykırı durumlar (exceptions)
·       Kullanıcı tarafından tanımlanabilen nesneler

PL/SQL, SQL cümleleri blok yapılarının, şart cümlelerinin, döngülerin vb. diğer özelliklerin eklenmesiyle oluşmuş bir dildir.

4.2.   GENEL YAPISI:

Oracle de veri tabanı yönetimi  denince, veri tabanı nesnelerinin yaratılması, değiştirilmesi ve silinmesi; veri tabanının durumunun kontrol edilmesi (user, session sayılarının, tables page lerinin boş alanlarının, indeks ve kısıtlamalarının durumlarının kontrol edilmesi, vb.) ve yedeklerin alınması gibi konular anlaşılmaktadır. Bütün bunlar veri tabanı yöneticisinin (DBA; database Administrator)  görev ve vazifesidir.



Oracle veri tabanının, işletim sistemi tarafından bakıldığında, biri fiziksel diğeri mantıksal olmak üzere iki bölümü vardır. Fiziksel bölüm, işletim sisteminden görünene kısımdır. Bunlar data file (veri dosyası), Control File (kontrol dosyası)  Log file dan (log dosyası) oluşmaktadır. Mantıksal bölüm tablespace, tablo (table), görüntü (view) sıra sequence, eş anlam (synonym) kullanıcıdan (user) oluşmaktadır.

Fiziksel bölüm işletim sistemi tarafından görülebilmesine rağmen mantıksal bölüm ancak Oracle 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.

Oracle veri tabanındaki her nesnenin bir sahibi (ait olduğu user) vardır. Her user (kullanıcı), bir veya daha fazla tablespace’ e sahip olabilmektedir. Her nesne, ait olduğu user’ ın  herhangi bir tablespacesinde (mantıksal olarak ) bulunur. Her tablespace de, kendisine sahip olan user’ın nesnelerini tutmak için işletim sisteminde bir veya daha fazla datafile’a sahip olabilmektedir.

Sonuç itibariyle, veri tabanındaki her nesnenin bir user’ı (sahibi) vardır ve bu nesneler mantıksal olarak o user’ın  sahip olduğu  tablespace’lerin herhangi birinin (hangisi olduğu komutlarla öğrenilebilir) içerisinde, fiziksel olarak da user’ın sahip olduğu tablespace’i herhangi bir data file’ında bulunur. Fakat o data file’ın içerisine işletim sisteminden bu nesneyi bulmak için bakılamaz. Bu nesnenin sahibi ve mantıksal yeri “DML” komutları ile bulunabilmektedir.
                                                                                                                               


4.2.1.KONTROL DOSYALARI (CONTROL FİLES)

Oracle veri tabanı ile ilgili olan bilgiler kontrol dosyalarında (control Files) tutulmaktadır. Kontrol dosyalarında, veri tabanının adı, veri tabanının yaratılış tarihi, dosyaların işletim sisteminde nerde olduğu, dosyaların geçerli olup olmadığı gibi bilgiler bulunmaktadır.

4.2.2. VERİ BLOKLARI (DATA  BLOCKS)

Oracle, diski daha etkin kullanabilmek için işletim sistemine ait bazı konularla da ilgilenmektedir. Bunlardan birisi veri bloklarıdır (Data Blocks). Oracle veri tabanında, verilerin tutulduğu en küçük birime veri blokları denmektedir. Bir veri bloğu işletim sistemindeki  veri dosyalarının belirli bir sayıdaki baytı (byte) kadar uzunluğa sahiptir. Bu uzunluklar, işletim sistemindeki blok uzunluklarından farklı olabilir. Bir tablespace yaratırken, işletim sisteminde belirttiğimiz veri dosyasının bulunduğu yer oracle tarafından kendi blok yapısına göre düzenlenir.  Tablespace yar4atırken beklenen süre bu süredir. Bu bölümün yönetimini, oracle işletim sisteminden almıştır. Veri dosyasının tamamı dolu  olmasa bile, işletim sistemi veri                                                                                                           dosyasına ayrılan yeri dolu olarak görmektedir. Veriler, veri bloklarında tutulduğundan dolayı, veri tabanında nesneler için kullanılan yer bayt (byte) sayısı olarak görülebildiği gibi, blo9k sayısı olarak da görülebilmektedir.


4.2.3.  GENİŞLEMELER (EXTENDS):

Oracle veri  tabanın da, nesnelerin büyümek için  aldıkları yerlere genişleme (extend) denmektedir. Genişlemeler, bir veya daha fazla veri bloğundan oluşmaktadır. Genişlemeler ile veri blokları arasındaki ilişkiyi şekil 4-2.3’ deki gibi resmedebiliriz:

                                Genişleme (extend)



















               Veri  blokları (data blocks)
Şekil 4-2.3. Genişlemeler

4.3     FORMS SERVER
Form, kullanıcıların database’ de saklanan veri tablolarına kolayca erişmelerini sağlayan bir uygulamadır. Yeni formlar oluşturarak ve veriler sorgulanarak veri girişi yapılabilir. Form, 3 bölümden oluşur:
1-  Items (alanlar)
2-  Canvases (Kanvaslar)
3-  Blocks (Veri blokları)

Items, veri değerlerini simgeleyen nesnelerdir.
Canvas, görsel nesnelerin düzenlendiği tuvaldir.
Blok, alanların mantıklarının ve tabloların bulunduğu bölümdür.



5- PROGRAMIN UYGULAMA – GELİŞTİRME SAFHALARI

Program-5.1. rezervasyon.sql
create table rezervasyon
(rno number(4),
adi varchar2(15) not null,
soyadi varchar2(15) not null,
uyrugu varchar2(2),
tel varchar2(14) not null,
adres varchar2(40),
meslek varchar2(10),
G_tarihi date not null,
C_tarihi date not null,
R_tarihi date not null,
oda_no number(3),
oda_tipi varchar2(8),
oda_fiyati number(11),
yetkili varchar2(15) not null,
odeme_sekli varchar2(10) not null,
mno number(4));

Program 5.1.’ de rezervasyon kayıt işlemine ait sql kodu görülmektedir.

Program-5.2 rez_iptal.sql
create table rez_iptal
(rno number(4),
adi varchar2(15) not null,
soyadi varchar2(15) not null))
Program-5.2. ‘de oteldeki rezervasyonunu iptal ettirmek isteyen müşterilerin kayıtlarının silindiği sql kodu görülmektedir.

Program-5.3. odalar.sql
create table odalar
(oda_tipi varchar2(8),
fiyat number(11),
kapasite number(2))

Program-5.3.’te odalara ait bilginin bulunduğu sql kodu görülmektedir.

Program-5.4. oda_kap.sql
create table odakap
(kapasite number(2),
oda_tipi varchar2(8))

Program-5.4.’te oda kapasitesi ve oda tipine ait bilgiler bulunmaktadır.

Program-5.5 m_cikisi.sql
create table m_cikisi
(rno number(4),
mno number(4),
adi varchar2(15) not null,
soyadi varchar2(15) not null,
oda_no number(3),
fatura number(11))

Program-5.5’te otelden ayrılmak isteyen müşterilerin oteldeki kaydının silinmesi için yazılmış sql kodu görülmektedir. 

Program-5.6 m_bilgisi.sql
create table m_bilgisi
(rno number(4),
mno number(4),
0adi varchar2(15) not null,
soyadi varchar2(15) not null,
adres varchar2(40),
tel varchar2(14),
G_tarihi date not null,
C_tarihi date not null,
oda_no number(3),
oda_tipi varchar2(8),
yetkili varchar2(15) not null,
odeme_sekli varchar2(10) not null)

Program-5.6’ da otelde kayıtlı olan müşterilere ait bilgilerin bulunduğu sql kodu bulunmaktadır.

 Program-5.7 fatura.sql
create table fatura
(mno number(4),
oda_no number(3),
kald_gece_say number(2),
kisi_say number(2),
yatak_fiy number(11));


Program-5.7 ‘de otelden ayrılmak isteyen müşterilere ait faturanın çıkması için yazılmış sql kodu bulunmaktadır.





Hiç yorum yok:

Yorum Gönder