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

Benzer belgeler
Veritabanı Tasarımı. Tablo Oluşturma

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

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

VERİTABANI Veritabanı Yönetimi

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

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

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

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

SQL Komutları (2) Uzm. Murat YAZICI

Veri Tabanı Hafta Dersi

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

Veritabanına Uygulanması

Veritabanı Tasarımı. İndeksler ve Eşanlamlar

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

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

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

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

Veritabanı Tasarımı. Veritabanı Hareketleri

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

Veritabanı Tasarımı. Sütunlar, Karakterler ve Satırlar ile Çalışma

SORGULAR VE ÇEŞİTLERİ II

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

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

SQL e Giriş. Uzm. Murat YAZICI

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

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

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

BÖLÜM -6: VERİLERİ DEĞİŞTİRMEK

Laboratuvar 6 TABLOLAR VE KISITLAR

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

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

Veritabanı Tasarımı. Seriler ile Çalışma

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

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

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

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

YAPISAL SORGULAMA DİLİ (SQL)

Veritabanı Tasarımı. Kartezyen Çarpım ve Join İşlemleri

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

SQL Kod ile Tablo Oluşturma

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

Veritabanı Tasarımı. DML İşlemleri ve Görünümler

Basit SQL Sorguları Veritabanından verilerin SELECT cümleleri ile alınması işlemine sorgulama denir.

Veritabanı. SQL (Structured Query Language)

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

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

Veritabanı Tasarımı. SQL Deyimi Anatomisi

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

BİLİŞİM TEKNOLOJİLERİ

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

SQL (Structured Query Language)

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

Veritabanı Tasarımı. Alt Sorgu Temelleri

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

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

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

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

VERİTABANI. SQL (Structured Query Language)

Veri Tabanı Yönetim Sistemleri Bölüm - 7

Veri Tabanı Tasarım ve Yönetimi

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

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

Oracle da kullanılan veri tipleri:

Web sayfalarında yapılan her çalışma ve düzenleme tablolar aracılığı ile yapılır. Dolayısıyla çoğu web sayfalarında tablo kullanmak zorunluluktur.

Oracle Database 11g: Introduction to SQL

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

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL

MOBİL UYGULAMA GELİŞTİRME

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

Durhan GABRALI Veritabanı Organizasyonu Dersi (11B)

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

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

Çok tablolu sorgulamalar

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

8 Aralık 2011 / Perşembe. Veri Tabanına Giriş

TEMEL BİLGİSAYAR. Ders Notları. Yrd. Doç. Dr. Seyit Okan KARA

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL-2

«BM364» Veritabanı Uygulamaları

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

Microsoft SQL Server Sorgulama

BÖLÜM- 8: DİĞER ŞEMA NESNELERİNİ OLUŞTURMA

Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu tabloya göre yapacağız.

SQL Query and Table Application

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

Nesneler üzerinde değişiklik yapmak için kullanılır. Veri tabanındaki nesnelerin oluşturulabilmesi için CREATE komutu kullanılır.

Veritabanı Tasarımı. Dönüşüm Fonksiyonları

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

BMB202. Veritabanı Yönetimi Ders 5. İlişkisel Cebir ve SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Veri Tabanı Hafta Dersi

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

SQL TRIGGERS (Tetikleyiciler)

DML işlemleri. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı May Öğr. Gör. Murat KEÇECĠOĞLU

Üst Düzey Programlama

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

KISITLAMALAR (CONSTRAINT)

MODÜL 5 VERİTABANI UYGULAMALARI 2

VERİ TABANI UYGULAMALARI

VERİTABANI ve YÖNETİMİ

BÖLÜM 5 5. TABLO OLUŞTURMAK

Transkript:

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, MODIFY ve DROP ile sorgulama yapma Tabloda FLASHBACK QUERY yapma ve açıklama FLASHBACK tablo işlemleri yapma ve açıklama 2

Konular Bir zaman süresi üzerinden veri değişikliklerini izlemek DELETE e karşı TRUNCATE kullanımı gerekçesini tablolar için açıklamak COMMENT ON TABLE komutu kullanarak bir tabloya yorum eklemek Bir sütunu değiştirmek için yapılabilir ve yapılamaz değişiklikleri belirtmek SET UNUSED komutu ne zaman ve niçin avantajlıdır açıklamak 3

Amaç Değişiklik dışında hiçbir şey kalıcı değildir. ifadesini hatırlayın. Hiç hata yapmasak ya da değişikliğe ihtiyaç duymasak güzel olmaz mıydı? Veritabanının dinamik varlıklar olduğunu öğrendiniz. Değişmez olsalardı kullanışlı da olmazlardı. Bu zamana kadar tablolar oluşturdunuz ve tablolar içindeki satır verilerinde değişiklik yaptık. Fakat tabloların kendisinde nasıl değişiklik yapabiliriz? 4

ALTER TABLE ALTER TABLE komutu şu amaçlar için kullanılır: Yeni bir sütun eklemek Var olan sütunu güncellemek Bir sütun için varsayılan bir değer tanımlamak Sütunu kaldırmak 5

ALTER TABLE Tablo üzerinde bir sütun ekleyebilir ya da kaldırabiliriz. Fakat sütunun nerede görüneceğini belirtemezsiniz. Yeni eklenen sütun her zaman tablonun son sütunu olacaktır. Ayrıca tablonuzda hali hazırda satır verileri var ve siz tabloya yeni bir sütun eklerseniz, yeni sütun başlangıçta tüm önceki sütunlar için NULL olacaktır. 6

ALTER TABLE: Sütun Ekleme Yeni bir sütun eklemek için SQL sözdizimi: ALTER TABLE tabloadı ADD (sütun adı veri_tipi [DEFAULT ifade], sütun adı veri_tipi [DEFAULT ifade],... Örneğin: 7

ALTER TABLE: Sütun Değiştirme Bir sütun değiştirme sütunun veri tipi, büyüklüğü ve varsayılan değerindeki bir değişiklik olabilir. Kural ve kısıtlar şu şekildedir: Sayısal bir sütunun genişliği ya da hassasiyeti artırabilir. Bir karakter sütunun genişliği artırabilir. Tablonun sütunu yalnızca null değerleri içeriyorsa ya da satır içermiyorsa sütun karakter genişliği azaltabilir. Değer içeren satırlar varsa, genişlik sütunda yer alan en büyük değere azaltılabilir. 8

ALTER TABLE: Sütun Değiştirme Eğer sütun null değerler içeriyorsa veri tipi değiştirilebilir. Sütun null değerler içeriyorsa ya da sütundaki herhangi bir değerden daha küçük bir değere değiştirilmiyorsa CHAR sütun tipi VARCHAR2 ye ya da VARCHAR2 sütun tipi CHAR a dönüştürülebilir. Sütunun varsayılan değerindeki değişiklik tabloya ekleme yapıldıktan sonra yansır. 9

ALTER TABLE: Sütun Değiştirme Örnek: Bir tablo iki sütunla oluşturulur: Hangi değişikliklere izin verilir, hangilerine verilmez? 10

ALTER TABLE: Sütun Kaldırma Sütun kaldırırken şu kurallar uygulanır: Veri içeren sütunlar kaldırılabilir. Aynı anda sadece bir sütun kaldırılabilir. Tablodaki tüm sütunları kaldıramazsınız, en azından bir sütun kalmalı. Bir sütun kaldırıldığında içindeki veriler kurtarılamaz. 11

ALTER TABLE: Sütun Kaldırma SQL sözdizimi: ALTER TABLE tabloadı DROP COLUMN sütun_adı; Örnek: 12

Kullanılmayan Sütunları Ayarlama Büyük bir tablodan bir sütunu kaldırmak uzun bir zaman alabilir. Hızlı alternatif sütunu kullanılamaz olarak işaretlemektir. Sütun değerleri, veri tabanında kalır, ancak herhangi bir şekilde erişilemez, bu yüzden etkisi sütun kaldırmak ile aynıdır. Gerçekte kullanılmayan sütun ile aynı isimle yeni bir sütun ekleye bilirsiniz. Kullanılmayan sütunlar oradadır fakat görünmez. Sözdizimi: ALTER TABLE tablo_adı SET UNUSED (sütun_adı); 13

Kullanılmayan Sütunları Ayarlama Bu tablo ALTER TABLE komutunu özetler: 14 Sözdizimi Çıktılar Kaygılar ALTER TABLE tabloadıadd (sütun_adıveritipi[default ifade], sütun_adıveritipi [DEFAULT ifade], ALTER TABLE tabloadımodify (sütun_adıveritipi[default ifade], sütun_adıveritipi, ALTER TABLE tabloadıdrop COLUMN sütun_adı; ALTER TABLE tabloadı SET UNUSED (sütun_adı); ALTER TABLE tabloadıdrop UNUSED COLUMNS Tabloya yeni bir sütun ekler. Sütunun veri tipini,boyutunu ve varsayılan değerini değiştirmek için kullanılır. Tablodan sütun kaldırmak için kullanılır. Bir veya daha çok tabloyu daha sonra kaldırmak üzere işaretleme Kullanılmaz olarak işaretlenmiş tüm tablo sütunları silinir Sütunun tablodanerede gözükeceği seçilemez. Son sütun olur. Sütunun varsayılan değer değişimi tabloya sonraki eklemeden sonra yansır. Tabloda en az bir sütun kalmalıdır. Kaldırılan sütun geri alınamaz. Disk alanı geri gelmez. Sütunlar kaldırılmıştır. Bir kere kullanılmaz diye işaretlenirse bu sütunlara erişim sağlanamaz. Kalıcı olarak kaldırılır.

DROP TABLE DROP TABLE komutu Oracle tablosunun tanımını kaldırır. Veritabanı tablodaki tüm verileri ve onunla ilişkili tüm indeksleri kaybeder. DROP TABLE çalıştırıldığında: Tablodan tüm veriler silinir. Tablo açıklaması veri sözlüğünden kaldırılır. Oracle Sunucusu kararınızı sorgulamaz ve tablo kalıcı olarak kaldırılır. Sonraki sayfada kaldırılan tablonun garanti edilmese de nasıl kurtarılabileceği açıklanmaktadır. 15

DROP TABLE Sadece tablonun oluşturanı ya da DROP ANY TABLE yetkisi olan bir tabloyu kaldırabilir. Sözdizimi: DROP TABLE tablo_adı; Örnek: 16

FLASHBACK TABLE Bir tabloyu hata ile kaldırırsanız bu tabloyu ve verilerini getirebilirsiniz. Her veritabanı kullanıcısı kaldırılan nesnelerin taşındığı bir dönüşüm kutusuna sahiptir. FLASHBACK TABLE komutu ile geri döndürebilirler. Bu komut hata ile silinen bir tabloyu, görünümü ya da indeksi kurtarmak için kullanılabilir. Sözdizimi: FLASHBACK TABLE tablo_adı TO BEFORE DROP; 17

FLASHBACK TABLE Örneğin EMPLOYEES tablosu hata ile kaldırılırsa şu komutları yazarak kurtarabilirsiniz: Bir tablonun sahibi olarak geri alma komutunu çalıştırabilir ve kurtarmaya çalıştığınız tablo indekse sahipse bunlarda kurtarılmış olur. Hangi nesnelerin kurtarılabileceğini sorgulamak için veri sözüğü görünümü USER_RECYCLEBIN kullanılır. 18

FLASHBACK TABLE USER_RECYCLEBIN görünümü diğer veri sözlükleri gibi sorgulanabilir. Bir tablo FLASHBACK TABLE komutu ile kurtarılırsa USER_RECYCLEBIN görünümünde görünmez. İndekslerde kurtarılır. 19

RENAME Tablonun adını değiştirmek için RENAME komutu kullanılır. Bu işlem nesnenin sahibi ya da veritabanı yöneticisi tarafından yapılır. Sözdizimi: RENAME eski_adı to yeni_adı; Örnek: Daha sonra görünüm, sıralama ve eşanlam gibi nesnelerin nasıl tekrar isimlendirileceğini göreceğiz. 20

TRUNCATE Bir tablo kesmek bir tablodan tüm satırları kaldırır ve bu tablo tarafından kullanılan depolama alanı iade edilir. TRUNCATE TABLE komutu ne zaman kullanılır: Satır silimi geri alınamaz. Tablonun sahibi ya da DROP ANY TABLE sistem yetkisine sahip olmanız gerekir. Sözdizimi: TRUNCATE TABLE tablo_adı; DELETE komutu da tablodan satırları siler fakat bellekteki yeri iade etmez. TRUNCATE daha hızlıdır çünkü geri alma bilgisi yoktur. 21

TABLO YORUMU COMMENT komutu kullanarak bir tablo, sütun ya da görünüm ile ilgili 2000 karaktere kadar yorum ekleyebilirsiniz. Söz dizimi: COMMENT ON TABLE tablo_adı COLUMN tablo.sütun IS yorumunuzu buraya ekleyin'; Örnek: 22

TABLO YORUMU Veri sözlüğünde tablo yorumlarına bakmak için: Daha önce yapılan yorumu kaldırmak isterseniz boş katar kullanabilirsiniz. 23

Sorguyu Geri Alma Bir tablodaki uygunsuz şekilde değiştirilmiş verileri keşfetmiş olabilirsiniz. Neyse ki, Oracle da zaman içinde belirli noktalarda satır veri görüntülemenize olanak sağlayan bir kolaylık bulunmaktadır. Böylece zamanla bir satırın farklı sürümlerini karşılaştırabilirsiniz. Bu kolaylık çok yararlıdır. Birisi kazara bir tabloda bazı DML komutu çalıştırır ve daha sonra bu değişiklikleri COMMIT ile yürütür. Oracle Application Express, otomatik olarak onaylar ve böylece hatalar kolayca yapılır. 24

Sorguyu Geri Alma FLASHBACK QUERY kolaylığı değişiklikler onaylanmadan satırların nasıl göründüğünü belirler. Oracle veriyi değiştirdiği zaman değişiklik yapılmadan önceki halinin kopyasını tutar. Sütun güncellemesi için eski sütun değerinin kopyasını tutar, silme için tüm satırı tutar ve ekleme komutu için hiçbir şey tutmaz. Bu eski kopyalar UNDO tablosu adı verilen yerde tutulur. Kullanıcılar bu özel veritabanı alanına geri alma sorgusu ile erişebilir. 25

Sorguyu Geri Alma SELECT komutunda VERSIONS deyimi kullanarak eski veri versiyonları görüntülenebilir. SCN numarası istem değişiklik numarasıdır. Veritabanında zaman bağlı bir belirleyicidir. Arttırılan sıralı bir numaradır ve veritabanının kendisi tarafından kontrol edilir. 26

Sorguyu Geri Alma FLASHBACK QUERY oluşturmak için en iyi yol örneklemedir. Çalışan tablosunda çalışan numarası 1 için içerik şu şekildedir: Çalışanı oluşturduktan sonra: 27

Sorguyu Geri Alma 28

Sorguyu Geri Alma Daha sonra satırı güncelleyebilirsiniz: 29

Sorguyu Geri Alma Daha sonra satırı silebilirsiniz: 30

Sorguyu Geri Alma Son sorgulamanın sonuçları sadece geri alma sorgusu kullanıldığı zaman mümkündür. employee_id =1 kullanarak silme komutunda sonra normal arama yapılmak istenirse veri yok diye hata alırsınız. 31