28.12.2012 OpenOffice.org Base OpenOffice.org Base, ilişkisel veri modeli üretimine uygun, SQL standardında bir İlişkisel Veritabanı Yönetim Sistemi (Relational Database Management Systems) dir. SQL (Structured Query Language) (Yapılandırılmış Sorgu Dili), verilerin herhangi bir Relational Database Management Systems (İlişkisel Veritabanı Yönetim Sistemi) içerisinde oluşturulması ve sürdürülmesi için uygulanan bir standart ve bir dildir. Yrd. Doç. Dr. Özgün AKÇAY Geomatik Mühendisliği Dr. Akçay ÇOMÜ Geomatik Mühendisliği Bölümü Veritabanı tabloları Veri tipleri (Field types) — Tablo oluşturma: — varchar: Yazı şeklinde veri tipidir. Karakter uzunluğu parantez içerisinde belirtilir. CREATE TABLE tablo_adi ( birinci_kolon_adı veri_tipi, ikinci_kolon_adı veri_tipi, üçüncü_kolon_adı veri_tipi, … ); Dr. Akçay ÇOMÜ Geomatik Mühendisliği Bölümü — integer: Tam sayı veri tipidir. — float: Ondalıklı sayı tipidir. — boolean:Evet/Hayır biçiminde değer alan veri tipidir. — time: Saat veri tipidir. — date: Tarih veri tipidir. — timestamp: Tarih ve saat veri tipidir. 3 Dr. Akçay ÇOMÜ Geomatik Mühendisliği Bölümü Örnek tablo yaratmak: Tablo Silmek — CREATE TABLE Ogrenciler — DROP TABLE table_name; ( Ogrenci_No integer, Soyadi varchar(55), Adi varchar(80), Bolumu varchar(255), Fakultesi varchar(255), Kayit_tarihi date, Not_ortalamasi decimal ); Dr. Akçay ÇOMÜ Geomatik Mühendisliği Bölümü 2 4 — DROP TABLE Ogrenciler; — Tabloların son durumunu görmek için yenileme işlemi: — View-Refresh Tables; 5 Dr. Akçay ÇOMÜ Geomatik Mühendisliği Bölümü 6 1 28.12.2012 Tabloya veri girişi Tabloya veri girişi — INSERT INTO tablo_adı — INSERT INTO ogrenciler (ogrenci_no, soyadi, adi, VALUES (değer1, değer2, değer3,...) Ogrenci_no Soyadi Adi Bolumu Fakultesi Not_ortalamasi 5001 Caliskan Ali Can Geomatik Muhendislik 85.66 5002 Yazici Pinar Cevre Muhendislik 75.41 5003 Aslan Mehmet Cevre Muhendislik 90.12 5004 Cinar Deniz Biyoloji Fen Edebiyat 80.16 Dr. Akçay ÇOMÜ Geomatik Mühendisliği Bölümü bolumu, fakultesi, not_ortalamasi) VALUES (5001, 'Caliskan', 'Ali Can', 'Geomatik', 'Muhendislik', '85.66'); — Yukarıdaki INSERT ifadesi kullanılararak 1. satır değeri girilir. Diğer satırlar da benzer şekilde ayrı ayrı girilmelidir. Hatalı girilen veya veri değişikliği nedeni ile düzeltilmesi gereken bir satır varsa UPDATE ifadesi kullanılarak değiştirilir. 7 Tabloya veri değişikliği tablomuzun alacağı durum aşağıdaki gibidir: 9 Veri seçimi Soyadi Adi Bolumu Fakultesi Not_ortalamasi 5001 Caliskan Ali Can Geomatik Muhendislik 85.66 5002 Yazici Pinar Cevre Muhendislik 75.41 5003 Aslan Mehmet Cevre Muhendislik 90.12 5004 Cinarli Sema Biyoloji Fen Edebiyat 80.16 Dr. Akçay ÇOMÜ Geomatik Mühendisliği Bölümü 10 — Tablodaki “adı” kolonunun hepsini görmek için: izlenebilir. — Tablodaki bir kolonun hepsini görmek için: SELECT kolon_adi FROM tablo_adi; — Tablodaki başka bir kolonda belirli bir değere sahip olan satırlara ait kolon değerlerini görmek için: SELECT kolon_adi FROM tablo_adi WHERE kolon_adi = kolon_değeri; Tüm kolonları görmek için: — SELECT * FROM table_adi; ÇOMÜ Geomatik Mühendisliği Bölümü Ogrenci_no Veri seçimi — Tablodan istenilen veriler SELECT ifadesi kullanılarak Dr. Akçay 8 — Örnekteki update ifadesi uygulandıktan sonra Örnek: Tablodaki 5004 numaralı öğrencinin adını ve soyadını veri tablosunda değiştiriniz: UPDATE ogrenciler SET soyadi = ‘Cinarli', adi = ‘Sema' WHERE ogrenci_no = 5004; ÇOMÜ Geomatik Mühendisliği Bölümü ÇOMÜ Geomatik Mühendisliği Bölümü Tabloya veri değişikliği UPDATE tablo_adi SET değişecek_değerin_kolon_adi 1= ‘yeni_değer1', değişecek_değerin_kolon_adi2 = ‘yenideğer2' WHERE değişecek_veriyi_belirleyen_kolon_adi = değişecek_veriyi_belirleyen_kolon_değeri; Dr. Akçay Dr. Akçay SELECT "ADI" FROM "OGRENCILER"; — Tablodaki not ortalaması 85,66 olan öğrencilerin soyadını görmek için: SELECT "SOYADI" FROM "OGRENCILER" WHERE NOT_ORTALAMASI = '85.66'; — Öğrenciler tablosundaki tüm kolonları görmek için: SELECT * FROM "OGRENCILER"; Not:Menüdeki Insert-Query(SQL View) arayüzünde sorgulayınız. 11 Dr. Akçay ÇOMÜ Geomatik Mühendisliği Bölümü 12 2 28.12.2012 Satır silme And / Or — Aynı anda iki parametre ile sorgu yapmak için AND ve — Bir tabloda yer alan satır yada satırlar silinebilir. OR ifadeleri kullanılır. — DELETE FROM tablo_adı WHERE kolon_adi = silinecek_verinin_kolon_değeri; Örnek: — Aşağıdaki sorgu adı Sema soyadı Cınarlı olan öğrencileri gösterir. SELECT * FROM “OGRENCILER” WHERE “ADI”=‘Sema' AND “SOYADI”=‘Cinarli' Örnek: Tabloda yer alan 5002 numaralı öğrenciye ait tüm verileri silmek için aşağıdaki ifade yazılmalıdır: — DELETE FROM ogrenciler WHERE ogrenci_no = 5002; Dr. Akçay ÇOMÜ Geomatik Mühendisliği Bölümü 13 ÇOMÜ Geomatik Mühendisliği Bölümü 14 Primary Key Sıralama — Primary Key bir tabloda bir kolondaki değerlerinin — Tabloyu belirlenen parametreye göre sıralamak için hepsinin farklı kendine özgü bir değer alacağını ifade eder. “ORDER BY” ifadesi kullanılır. — SELECT kolon_adi FROM tablo_adi ORDER BY kolon adi ASC|DESC — Aşağıdaki ifade ile oluşturulan tabloda Ogrenci numarası primary key olarak belirlenmiştir. CREATE TABLE Persons ( Ogrenci_no integer NOT NULL, Soyadi varchar(255) NOT NULL, Adi varchar(255), Adresi varchar(255), PRIMARY KEY (Ogrenci_No) ) ASC ascending, DES descending için bir kısalmadır. Sıralamanın azalan ya da artan olacağını belirler. Dr. Akçay Dr. Akçay ÇOMÜ Geomatik Mühendisliği Bölümü 15 Dr. Akçay ÇOMÜ Geomatik Mühendisliği Bölümü 16 Tablo değiştirmek — Tablodaki kolonlar ALTER TABLE ifadesi ile değiştirilebilir. Aşağıdaki ifade herhangi bir kolonun tablodan silinmesi sağlar. — ALTER TABLE "tablo_adı" DROP COLUMN “kolon_adi“ Aşağıdaki ifade bir kolonun adını değiştirir. — ALTER TABLE "tablename" ALTER COLUMN "phone2" RENAME TO "phone“ ÖRNEK: — ALTER TABLE "OGRENCILER" ALTER COLUMN "ADI" RENAME TO “ISMI” Dr. Akçay ÇOMÜ Geomatik Mühendisliği Bölümü 17 3