1 .BÖLÜM

 Java Servlet

            Servlet Java teknolojisinin CGI programlamaya verdiği cevaptır. Web sunucu üzerinde çalışan ve web sayfası üreten programlardır. Çalışırken web sayfası üretmek çok yararlıdır ve pek çok sebebi vardır.

Servletlerin geleneksel CGI’ ya göre avantajlarını inceleyelim:

      Java servletler daha etkili,kullanımı kolay,güçlü,genişletilmeye açık ve geleneksel CGI’ ya göre daha ucuzdur.

1.1 Etkin

Klasik CGI’ da her http isteği için yeni bir process başlatır. Servlet de ise Java Sanal Makinası (Java Virtual Machine) herbir http isteğini bekler ve bunları  normal bir process olarak değil,düşük öncelikli bir Java çoğullaması (thread) olarak ele alınır. Eğer klasik CGI’da bir CGI programına aynı anda N tane istek geldiğinde CGI program kodu belleğe N defa yüklenir. Servlet’de ise N tane çoğullama (thread) olsada belleğe sadece bir tek servlet class yüklenir.

1.2 ElVerişli,Uygun

 HTML formlarda verilerin çözümlenmesi ve gönderilmesi, http başlıklarının okunması ve ayarlanması cookilerin kullanılması, oturum(session) takip edilmesi için servletlerin geniş bir alt yapısı vardır.Verilecek birkaç basit komut yardımıyla tüm bu işler halledilebilir.CGI ‘da ki parametreleri tek tek ayırıp değişkenlere atma işleminden kurtulmuş oluyoruz.

1.3 Güçlü,Etkili

Klasik CGI ile yapılması çok zor veya imkansız işler servletler sayesinde kolaylıkla yapılması sağlanmıştır. Servletler Web sunucusu ile direk haberleşebilir (Klasik CGI programları direk haberleşemez.)

Servletler ayrıca büyük boyutta verileri kendi aralarında paylaştırabilir, kolay kullanılabilecek şekilde veritabanı bağlantı havuzu (Database Connection Pool) oluşturmak gibi pek çok işi de yapabilir.

Sunucu – istemci arasındaki bilgi akışını düzenler, session(oturum) ve önceki işlemlerin takibini basitleştirir.

1.4 Taşınabilir

Servletler Java’da yazılır ve standartlaşmış bir API’ye de uyarlar. Servletler değiştirilmeden Apache,Microsoft IIS veya WebStar gibi web sunuculerı üzerinde kullanılabilir. Gelişmiş pekçok web sunucu için direk veya plug-in (ekleme) olarak servlet desteği vardır.

1.5 Ucuz

Kişisel veya küçük çapta web sayfaları için kullanılan ücretsiz veya çok ucuz web sunusu vardır.Apache dışında ticari-kaliteli web sunucular oldukça pahalıdır.

Biz projemizde servletlerimizi çalıştırması için Tomcat programını  kullandık. Tomcat, Servlet barındırıcı(container) ve Java Server Page(Java sunucu sayfası) uygulama programıdır. Tomcat tek başına kullanılacağı gibi,pek çok popüler web sunucularla entegre olarak da çalışabilir.

1.6.1.Stand-Alone servlet container:

Bunlar web sunucuların önemli bir kısmını oluştururlar.Tek bir program vardır ve gelen tüm istekleri karşılar. Servlet barındırıcı(container) tek başına da kullanılabilir ama statik sayfalardaki performansı asla popüler web sunucular kadar iyi olamaz.

1.6.2.Inprocess Servlet container:

     

Java barındırıcı(container) uygulaması ve web sunucu eklentileri (plug-in) birleşimi olan servlet barındırıcılardır.Web sunucu eklentisi,web sunucunun adres uzayında bir Java Sanal Makinesi açar ve Java Barındırıcının çalışmasını sağlar. Bir in-process barındırıcı çoklu-çoğullama (multi-thread) tek işlemcili sunucular için uygundur ve çok iyi performans sağlamaktadır fakat sağlamlık konusunda sınırlamalar vardır.

           

            Tomcat yukarıdaki iki moddada çalışabilir.2. seçenek için web sunucu ile haberleşebilmesini sağlayacak bir adaptör yazılama ihtiyaç vardır. Biz Tomcat ‘i 1. seçenekteki gibi kullandık.

            Apache web sunucusu için : http://localhost

            Tomcat servlet barındırıcı için http://localhost:8080

Adreslerini kullanarak ilgili sayfalara ulaşabiliyoruz.

2 .BÖLÜM

KURULUM

2.1 Java Kurulumu

            Java, platform bağımsız ve yüksek performanslı uygulamaların geliştirilmesine olanak sağlayan basit,nesne tabanlı bir programlama dilidir. Java kullanılarak yazılan bir programın işletim sisteminden bağımsız olarak her bilgisayarda çalışabiliyor olması diğer hiçbir yazılım programında olmayan bir özelliktir.

            Java ile program geliştirebilmek için önce Java geliştirme sistemini (JAVA DEVELOPMENT KIT = JDK ) Sun Microsystem’in internet adresinden indirmemiz gerekiyor. JDK ücretsiz bir yazılımdır.

http://www.java.sun.com/

adresinden JDK’nın 1.3 versiyonu indirip (jdk1-3.bin) linuxda

/usr

dizini içine kopyalayalım. Sonra konsolda

./jdk1-3.bin

komutunu yazalım.

Böylece  /usr/jdk1.3 dizini içine tüm dosyalar açılmış olacaktır.Java’da yazdığımız programları derlemek için javac ‘ye, çalıştırmak içinde Java’ya ihtiyacımız var.Bunlara komut satırından direk erişmek için PATH değişkenine javac ve java dosyalarının tam yerini kaydetmemiz gerekir.

            Bu işlemi her seferinde elimizle yazmak yerine  /etc/profile dosyasının içine eklemeliyiz.

Export PATH=/usr/jk1.3/bin:$PATH

Komutu ile PATH dosyamıza /usr/jdk1.3/bin klasörünü eklemiş olduk.Artık javac ve java komutunu herhangi bir klasördeyken verebiliriz.

            Ayrıca ileride kuracağımız programlarında javayı kullanacağını göz önüne alarak

Export JAVA_HOME=/usr/jdk1.3

Satırını da /etc/profile dosyasına ilave edelim.Böylece javayı kurma işlemini tamamlamış olduk.

2.2 TOMCAT KURULUMU

            Öncelikle Tomcat kurlumu için gerekli dosyalar :

Tomcat dosyalarının belli bir klasör içinde olması gerek.

/usr/tomcat

dizini kullanalım.

2.2.1 JAXP kurulumu :

           

            JAXP java kodu içinden XML dosyası yönetimini sağlamaktadır. JAXP ile XML dosyası oluşturulabilir,okunabilir,düzenlenebilir. Bu tomcat kurulumu için gereklidir.

           

Jaxp-1_0_1.zip dosyasını açalım.

Jar xvf jaxp-1_0_1.zip komutu ile /usr/tomcat/ dizini içinde jaxp-1_0_1 dizini oluşturulur ve dosyalar bu dizin içine açılır. Bu klasör içindeki parser.jar ve jaxp.jar dosyalarını CLASSPATH e eklememiz gerekir.

Export CLASSPATH=$CLASSPATH:/usr/tomcat/jaxp-1_0_1/parser.jar: /usr/tomcat/jaxp-1_0_1/jaxp.jar

           

            $CLASSPATH komutu ile daha önce CLASSPATH de bulunan değerler çağrılıyor ve sonuna parser.jar ve jaxp.jar dosyaları ekleniyor.

2.2.2 JSSE KURULUMU :

            JSSE, SSL(Secure Sockets Layer – Güvenli Soket Katmanı ) ve TLS ( Transport Layer Security – Taşıma katmanı güvenliği) protokollerinin javada yazılmış versiyonudur. JSSE sayesinde güvenli iletişim sağlanabilir. JSSE sayesinde istemci/sunucu arasında bilgi alış-verişinde gönderilen bilgilerin şifrelenerek gönderilmesi amaçlanmıştır. Tomcat kurulumu için gereklidir.

            Yine Sun Microsystems sayfasından indirebileceğimiz “jsse-1_0_2-gl.zip” dosyasını /usr/tomcat dizini içine açalım.

            jsse-1_0_2-gl adlı bir dizinin içine gerekli dosyaları açmış olacaktır. Kolaylık olması için jsse-1_0_2-gl klasör ismini jsse olarak değiştirelim.

           

2.2.3 JAKARTA-SERVLETAPI

            JSP VE Java Servlet için gerekli kütüphaneleri(class) içerir. Biz kaynak kodunu internetten alıp derleyelim ve tomcat’in kullanimi için gerekli klasöre koyalım.

http://www.jakarta.apache.org

adresinden “jakarta-servletapi-3.2.tar.gz” dosyasını /usr/tomcat içine açalım.

            /usr/tomcat/jakarta-servletapi-3.2 klasöründe bulunan build.sh dosyasını çalıştırarak kodları derleyelim.

./build.sh

            eğer tüm ayarlar doğru ise /usr/tomcat/build/servletapi klasörüne gerekli dosyalar hazırlanıp konacaktır.

2.2.4 JAKARTA-TOMCAT

           

Artık tomcat kurulumuna geçebiliriz. “jakarta-tomcat-3.2.1-src.tar.gz” /usr/tomcat dizini, içine açalım.

“jakarta-tomcat-3.2.1-src” klasörünü jakarta-tomcat olarak değiştirelim.

./build.sh

komutu ile derleyerek /usr/tomcat/build/tomcat dizini içine gerekli dosyaları kopyalayabiliriz ama önce jakarta-tomcat dizininde bulunun build.xml dosyasını gözden geçirmemiz gerekir.

<!-- ==================== Initialization properties ===================== -->

  <property name="ant.home" value="../jakarta-ant"/>

  <property name="build.compiler" value="classic"/>

  <property name="debug" value="on"/>

  <property name="j2ee.home" value="../../j2ee/build/unix"/>

  <property name="jaxp" value="../jaxp-1.0.1" />

  <property name="optimize" value="true" />

  <property name="servlet.jar" value="../jakarta-servletapi/lib/servlet.jar"/>

  <property name="tomcat.build" value="../build/tomcat"/>

  <property name="tomcat.dist" value="../dist/tomcat"/>

burada herbir programın bulunduğu klasör belirtilmiş. J2ee.home dizinini değiştirmemiz gerekir. Bu satırı

  <property name="j2ee.home" value="../j2ee/"/>

ile değiştirelim.

            Şimdi ./build.sh komutunu çalıştıralım.

Browserda http://localhost:8080 yazarak tomcat’ e ulaşabiliriz.

Eğer tüm ayarlar doğru ise /usr/tomcat/build/tomcat dizini içine tomcat kurulmuş olacaktır.

Şimdi Tomcat klasör yapısını inceleyelim :

Klasör İsmi

Açıklama

bin

Başlama/bitiş.. script’leri içerir

conf

Konfigürasyon dosyalarını içerir. Server.xml(Tomcat’in ana konfigürasyon dosyası) ve pek çok web uyguları için varsayılan ayarları ayarlamaya yarar

doc

Tomcat ile ilgili dokümanları içerir.

lib

Tomcat tarafından kullandığı çeşitli jar dosyalarını içerir. UNIX’de bu klasördeki her dosya Tomcat’in CLASSPATH’ine ilave edilir.

logs

Tomcat’in log dosyalarının bulunduğu klasördür.

src

Servlet API’sinin kaynak dosyaları.

webapps

Örnek web uygulamaları..

 

 

 

 

 

 

2.2.5 SAYFANIN SUNUCUYA KONMASI

Hazırladığımız servletleri Tomcat dizini içinde

/usr/tomcat/build/tomcat/webapps/examples/WEB-INF

dizini içine koymamız gerekir.

 

 

Yazdığımız servletleri önce javac ile derliyoruz. Sonra oluşan .class uzantılı dosyaları bu dizin içerisine kopyalıyoruz.

 

Hazırladığımız sayfalara browserdan

http://localhost:8080/examples/servlet/Hello

adresi ile ulaşabiliriz.

3.BÖLÜM

JDCB ile Veri Tabanına Bağlanmak

JDK 1.1 'den bu yana JDBC, Java 'nın temel taşı olarak standart paketle beraber geliyor. Anlamı ise Java Database Connectivity. Mevcut veritabanlarına kolay erişim için bir mekanizma sağlıyor. Java programları ile veritabanları arasında sürücüler (drivers) köprü oluşturmaktadır. Aynı kaynak kod ile birçok veritabanına ulaşabilirsiniz. Tabii ki bağlantı kurmak istediğiniz veritabanına ait sürücümüz mevcut olduğu sürece bu geçerlidir.

Veritabanları uzun yıllardır mevcut ve değişik alanlarda kullanılmaktadır. Veritabanlarının sorgulanmasında ve işlenmesinde SQL (Structured Query Language) standart bir dil olarak kabul görmüştür.

Windows dünyasında kabul görmüş olan ODBC (Open Database Connectivity), Java içinde temel alınmış. C'ye uygun olarak tasarlanmış olan ODBC, Java'nın nesneye yönelimli dizaynına uyarlanmıştır.

Basit olarak veritabanına bağlantı adımları :

İleride açıklanacak bazı detaylar elbetteki var, fakat veritabanına ulaşılması ve işlem yapılması korkulduğu kadar zor değil.

3.1 Sürücüler


JDBC kütüphanesinin yanında, kullanılacak veritabanına ait sürücünün bulunması gerekiyor. Sürücüler JDBC ile değişik veritabanları arasındaki köprüyü oluşturuyorlar. Genelde veritabanı geliştiricisi, uygun sürücüyü veritabanı ile birlikte sunuyor.

Kullanabileceğiniz mevcut JDBC sürücülerinin listesini aşağıdaki adresten bulabilirsiniz

http://java.sun.com/products/jdbc/jdbc.drivers/

3.2 JDBC-ODBC Köprüsü

 

JDBC ilk duyurulduğunda her veritabanı için değişik JDBC sürücüsünün gerekmesi, destek açısından problemlerle karşılaşılacağını düşündürmüştür. SUN bu durumu görerek, problemleri ortadan kaldırmak için JDBC komutlarını ODBC komutlarına çeviren bir sürücü geliştirdi. Çoğu veritabanı için ODBC sürücüleri mevcut olduğu için, hemen hemen tüm veritabanları ile bağlantı kurmak mümkün olmuştur.

3.3 Sürücünün Yüklenmesi


Javada herşeyin sınıflarla olduğunu biliyoruz. Sürücünün yüklenmesinde de sürücü-sınıfının aktif edilmesinden başka işlem gerekmiyor. Bunu şu komutla yapıyoruz:

Class.forName("jdbc.odbc.JdbcOdbcDriver");

Java sınıf yükleyicisi sürücüyü yükler ve Sürücü-Yöneticisi (Driver-Manager) 'nde kendini register eder.

Sürücü bulunamaz ise java.lang.ClassNotFoundException hatası oluşur. Bu hatayı yakalamak ve kontrol etmek için

try{}

catch{}

bloğu kullanılır.

3.4 Sürücü Yöneticisi (Driver Manager)


Bir programın değişik veritabanları ile bağlantı kurması gerektiği durumlarda değişik sürücüler yüklemek gerekir. Bu sürücüleri organize etmek için java Sürücü-Yöneticisini kullanır.

Veritabanına kurulmak istenen bağlantıların tümü sürücü-yöneticisinin üzerinden geçer. Tüm yüklü sürücülerin listesi sürücü-yöneticisinde tutulur

3.5 Bağlantı Kurma

Sürücü yüklendikten ve sürücü yöneticisinde register edildikten sonra sıra veritabanı ile kurulacak bağlantıya geliyor. Bunun için Sürücü yöneticisi-Sınıfının getConection() metodunu kullanıyoruz.

Connection connection =
DriverManager.getConnection ("jdbc:odbc:adresler", "K.Adi", "Şifre");

Veritabanına erişim için iki parametre gönderilmesi gerekiyor Bunlardan birincisi kullanıcı adı (K.Adi), diğeri ise şifredir. Ayrıca veritabanının yerini belirten bir string gönderiliyor. Bu string JDBC-url si oluyor.

Bu metodun döndürdüğü değer Connection nesnesidir. Bu nesne üzerinden veritabanı ile ilgili işlemler yapılır.

3.6 JDBC - URL

JDBC - Url ile kullanılacak veritabanının tam yeri ve bu veritabanı için kullanılacak sürücü belirleniyor. Kullanımı şu şekildedir :

jdbc:<sürücü>:<veritabanı>

İki nokta üst üste ye kadar olan ilk kısım, internet url lerinde olduğu gibi kullanılacak protokolü belirliyor. "http:" veya "ftp:" gibi. Bizim durumumuzda her zaman "jdbc:" olması gerekiyor.
<sürücü> kullanılcak sürücünün ismidir. Ya da değişik sürücüler tarafından kullanılabilen köprünün ismi olabilir. Örneğin SUN 'ın geliştirdiği ODBC-Köprüsü.
<veritabanı> kullanılacak veritabanıdır. Buraya yazılacak olan şey tam olarak kullanılacak sürücüye bağlıdır. Çoğu zaman veritabanının adıdır.


3.7 Sürücülerin Register Edilmesi


Sürücüler farklı şirketler tarafından geliştirildiği ve değişik fonksiyonları yerine getirebildiği için değişik protokoller ortaya çıkıyor. Sürücünün kullanımı isim ile olduğu için, sürücüyü geliştiren ( veya özel bir protokol ) şirketin bunu SUN tarafından register edilmesini sağlamak durumundadır.

3.8 Sorgulama

Veritabanı ile bağlantı kurulduktan sonra, bu bağlantı sayesinde veritabanına SQL komutları yollanabilir. JDBC gönderilen komutların doğruluğunu kontrol etmez. Programcı göndereceği komutların doğruluğundan ve kullandığı veritabanının bu komutu desteklediğinden emin olması gerekir. Veritabanının gönderilen komutu tanımaması halinde hata oluşur.

JDBC uyumlu logoyu kullanabilmesi için bir veritabanının ve bu veritabanına ait sürücünün ANSI-SQL 2 komutlarını desteklemesi gerekiyor. Standart komutları kullanan bir programcının endişelenmesine mahal kalmıyor.

Prensipte JDBC üç tip SQL komutunu destekliyor. Bunlar Statement (Basit SQL komutları ), PreparedStatement (Komplike SQL komutları) ve CallableStatement (Bir prosedürün çağrılması) dır.

Her tip komut ayrı bir nesne kullanır. Basit bir SQL komutu için örnek :

Statement komut = connection.createStatement();

ResultSet donen = statement.executeQuery

("SELECT Adi, Adres, TelNo FROM Adresle");

İlk satırda Connection nesnesinin createStatement() metodu

kullanılarak basit bir SQL komutu için nesne oluşturuluyor.
İkinci satırda executeQuery metodu parametre olarak aldığı SQL komutunu veritabanına gönderiyor. Dönen değer ise ResultSet tipindeki donen nesnesine aktarılıyor.

3.9 Sonucun Alınması

Veritabanına gönderilen SQL komutunun sonucu, sorgulama

kriterine bağlı satırlardan oluşur. Değişik get() metodları ile sonuç satırlarının farklı kolonlarını elde etmek mümkündür. next() metodu ile sonuç satırlarının bir sonrakine atlanabilinir. Son satırda next() metodu kullanılırsa false değeri döner.

while    (donen.next())

{ String Adi = donen.getString("Adi");
String Adres = donen.getString("Adres");
int TelNo = donen.getInt("TelNo");

System.out.println(Adi + ", " + Adres + ", " + TelNo);

}

Daha öncede bahsedildiği gibi değişik get metodları mevcuttur. Alınacak değerin tipine uygun get metodu kullanılır. Örneğin getByte(), getDouble(), getInt(), getString()

İstenen veri, java tiplerinden biri olan streams ile de alınabilir. Yalnız bu yol büyük veri bloklarında kullanılır. Örneğin bir sonuç satırını 4 KB ^'lık veri bloğu şeklinde almak için kullanmanız gereken kod aşağıdadır.

byte buffer = new byte[4096];

while(donen.next())
{
Java.io.InputStream fin = donen.getAsciiStream(1);
while(true)
{
int size = fin.read(buffer);
if(size == -1)
break;
output.write(buffer, 0, size);
}
}

3.10 MYSQL VERİTABANI BAĞLANTISI

(MYSQL DATABASE CONNECTION)

            Mysql ‘e bağlanabilmek için öncelikle mysql driver(sürücü)’larınu internetten indirmeliyiz.

http://www.worldserver.com/mm.mysql/

adresinden Mark Matthews' MySQL JDBC Driver Version 1.1b sürüclerini indirerek /usr/tomcat dizini içine açalım.Dosyaları açtıktan sonra mysql.jar dosyasını CLASSPATH’e eklememiz gerekir.

Export CLASSPATH=$CLASSPATH:/usr/tomcat/mm.mysql/mysql.jar

Artık JDBC bağlantısı ile mysql server’a bağlanıp SELECT,INSERT,UPDATE,DELETE gibi işlemleri gerçekleştirebiliriz.Bu sürücünün en güzel özelliği veritabanı bağlantısı koparsa tekrar bağlanamaya çalışmasıdır.

Bağlanmak için kullanacağımız JAVA kodu aşağıdaki gibi olabilir :

import java.sql.*;
 
         public class LoadDriver
         {
             public static void main(String[] Args) 
             {
                try {
 
                    Class.forName("org.gjt.mm.mysql.Driver").newInstance(); 
 
                }
                catch (Exception E) {
                    System.err.println("Unable to load driver.");
                    E.printStackTrace();
                }
 
                .....

        

Class.forName satırısı ile mysql driver’ını tanıtmış oluyoruz.Şimdi bu driver ile mysql ‘e belli kullanıcı ve şifre ile bir bağlantı (connection) açalım.

 

Connection C = DriverManager.getConnection(

"jdbc:mysql://localhost/altug?user=root&password=");

 
Bu bağlantı ile istediğimiz bir sorgulamayı yapabiliriz : 
 

Statement stmt = con.createStatement();

stmt.executeQuery("select * from sekreter”);

Bu sorgulama sonunda dönen kayıtları bir ResultSet ‘te saklamamız gerek.

ResultSet rs = stmt.executeQuery("select * from sekreter”);

while (rs.next()) 
      {
System.out.println(RS.getString(1));
      }

şimdi bağlantı için kullanabileceğimiz parametreleri inceleyelim :

Name

Use

Default Value

User

Kullanıcı adı belirtilir

Yok

password

Şifre

Yok

autoReconnect

Veritabanı bağlantısı koptuğunda tekrar bağlantı kurmak için (true / false )

False

maxReconnects

Eğer autoconnect “enable”  ise en fazla kaç kere bağlanması gerektiğini belirtir

3

initialTimeout

Eğer autoconnect “enable”  ise bağlantı denemeleri arasındaki süreyi belirtir (saniye)

2

maxRows

En fazla kaç sütunun geri döneceğini belirtir.(0 hepsinin döneceği (return) anlamındadır )

0

useUnicode

should the driver use Unicode character encodings when handling strings? (true/false)

False

CharacterEncoding

if useUnicode is true, what character encoding should the driver use when dealing with strings?

None

4.BÖLÜM

MYSQL

Bilindiği gibi bilgisayar dünyasında kullanılan bir çok veritabanı programı ve

sunucusu mevcuttur.  Bunların çoğu kullanışlı olmasına rağmen çok pahalı paket

programlarıdır.  MySQL in en büyük özelliği bedava olmasıdır fakat ticari amaçla

kullanabilmek için küçük bir ücret ödenmesi gerekir. MySQL'in diğer en büyük özelliği ise veritabanı pazarındaki en büyük rakipleri kadar iyi, hızlı ve kullanışlı olmasıdır.  MySQL halen daha geliştirilmekte olmasına rağmen mevcut haliyle zengin ve çok kullanılan

fonksiyonlar sunmaktadır.

MySQL'in belli başlı özellikleri :

Servlet geliştirme aşamasında mysql veritabanı ile yapacağımız işlemleri KDE ortamında grafiksel arabirim ile yapabileceğimiz iki program vardır : kmysql , kmysqladmin.

4.1 KMYSQL

Kmysql grafiksel bir arabirim ile mysql veritabanındaki verileri göstermeye yarayan bir programdır. Programda ayrıca yeni veritabanı ve tablo oluşturulabilir.Veriler üzerinde değişikliklerde yapılabilir. Ama kmysqladmin kadar yetenekli değildir. Verilerin kolayca görülmesi için oldukça kullanışlı bir programdır

4.2 KMYSQLADMIN

Kmysqladmin programı ile mysql grafiksel bir arabirim yardımı ile yönetilebilir. Program çalıştırılıp connect düğmesine basılarak veritabanı bağlatısı sağlanır.

Kullanıcı adı ve şifresi girilerek veritabanı bağlantısı sağlanır.

Şimdi yeni bir tablo veya yeni bir veritabanı oluşturulabilir. Bunlar için alanlar tanımlanabilir.Varolan veritabanı,tablo,alanlar üzerinde değişiklikler yapılabilir. Kayıtlar üzerinden değişiklikler yapılabilir.