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

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

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

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

Oracle da kullanılan veri tipleri:

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

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

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

BİLİŞİM TEKNOLOJİLERİ

VERİTABANI Veritabanı Yönetimi

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

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

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

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

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

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

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

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

Veri Tabanı Hafta Dersi

SQL Komutları (2) Uzm. Murat YAZICI

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

SQL e Giriş. Uzm. Murat YAZICI

Tavsiye Edilen Önhazırlık Temel veritabanı kavramlar hakkında bilgi sahibi olmak. Hedefler Temel veritabanı güvenlik işlemlerini gerçekleştirebilmek

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

Tavsiye Edilen Önhazırlık Temel SQL Server 2000 bilgisi edinmek.

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

Veritabanına Uygulanması

Veritabanı Tasarımı. Tablo Oluşturma

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

İNTERNET PROGRAMCILIĞI DERSİ

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

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

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

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

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

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

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

Veritabanı Tasarımı. Veritabanı Hareketleri

VERİ TABANI YÖNETİM SİSTEMLERİ II. 11. RAPORLAR ve VISUAL BASIC PROGRAMINDA RAPOR OLUŞTURMA

SQL (Structured Query Language) kendisi bir programlama dili olmamasına rağmen bir çok kişi tarafından programlama dili olarak bilinir.

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

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

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

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

VERİ TABANI UYGULAMALARI

SQL (Structured Query Language)

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

Örnek: HAFTA12B isimli bir kullanıcı tanımlayalım. Bu kullanıcıya gerekli yetkileri verelim.

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

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

Veri Tabanı-I 5.Hafta

VERİ TABANI ve YÖNETİMİ

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

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

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

UZAKTAN EĞİTİM MERKEZİ

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.

VERİ TABANI I. Yrd.Doç.Dr. İlker ÜNAL. Teknik Bilimler Meslek Yüksekokulu

VERİ TABANI YÖNETİM SİSTEMLERİ II. 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

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

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

VERİ TABANI YÖNETİM SİSTEMLERİ II. 7. FORMLAR ve ACCESS PROGRAMINDA FORM OLUŞTURMA

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

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

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

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

Oracle da Güvenlik. Kerem ERZURUMLU A

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

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

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir, aksi durumda hata olur.

VERİTABANI. SQL (Structured Query Language)

Oracle Database 11g: Introduction to SQL

3. Analytic Workspace Manager ile Oracle OLAP Küpü Tasarımı

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

Veri Tabanı Hafta Dersi

1. Oracle Data Miner 11g Release 2 Kurulumu Aşamaları

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

VERİTABANI ve YÖNETİMİ

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10));

KISITLAMALAR (CONSTRAINT)

İçindekiler Tablosu Talep Destek Yönetim Sistemi Programı...3

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

BİL Bilişim Teknolojileri. Access

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

YAPISAL SORGULAMA DİLİ (SQL)

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İ

İnternet Programcılığı

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

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

OTURUM AÇMA ADLARI. Tavsiye Edilen Önhazırlık Enterprise Manager'i kullanabilmek.

Birden Çok Tabloda Sorgulama (Join)

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

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

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

10-Veri Tabanları.

DESTEK DOKÜMANI. Ürün : GO/TIGER2/UNITY2 Bölüm : Sistem Đşletmeni

Veritabanı. Ders 2 VERİTABANI

VERİ TABANI ve YÖNETİMİ

Transkript:

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. Uygulamalarda pek çok pratiklik sağlarlar. Görüntü oluşturabilmek için Select cümlesi kullanılması gerekir. Bir görüntü bir yada daha fazla tablodan oluşturulabileceği gibi bir başka görüntüden (view) de oluşturulabilir. Örnek-1) SQL> CREATE VIEW personel_maas AS 2 select a.sicilno, a.adi, a.soyadi, b.maas 3 from personel a, maaslar b 4 where a.sicilno=b.sicilno; Personele ait sicilno, ad ve soyad bilgisi Personel tablosunda, maaş bilgisi ise maaslar tablosunda bulunmaktadır. Personele ait maaşlar listelenmek istenildiğinde; her seferinde sorgu yazılması gerekmektedir. Bunun yerine bir view yaratılarak bu view listelenirse her seferinde sorgu yazmaya gerek kalmaz. Bu view daha sonra form veya rapor alımında da kullanılabilir ve burada olduğu gibi büyük kolaylık sağlar. Şekil 12.1.1. View Ekranı-1 Personel_maas oluşturulan view ismidir. As deyiminden, sonra view alanlarının hangi bilgilerden oluşacağı yazılır. Bu ise select komutu ile öğrenilen klasik select sorgusudur. Tablo görünümleri, tablolarda yapılan değişikliklerden etkilenmezler. Tabloya yeni bir kayıtın eklenmesi, kayıtların silinmesi veya değiştirilmesi, tabloya view de olmayan yeni bir kolonun eklenmesi veya silinmesi gibi bir değişiklik view lerin (görünümlerin) yapısını değiştirmez. Örnek-2) SQL> SELECT * FROM personel_maas; Personel ve personele ait maaş bilgisi personel_maas görünümünden listelenmiştir. 89

Şekil 12.1.2. View Ekranı-2 View ler tıpkı tablolar gibi işlem görürler. Ama fiziksel olarak diskte yer kaplamazlar. View lerin faydaları aşağıda sıralanmıştır. 1. Tablolardan değişik kullanıcı gruplarına uygun alanların ayrılması sağlanır. Bu da güvenlik açısından önemlidir. 2. Birkaç tablodan elde edilen sürekli kullanılan karmaşık sorgulardan view oluşturularak sürekli hazır tutulur ve her seferinde bu karmaşık sorgu yazılmak yerine view den seçim yapılır. 3. Karmaşık sorgular için yada tabloda bulunan özel satırlar için tablo görünümleri oluşturularak uygulamalarda pratiklik sağlanır. 90

12.2. CREATE TABLESPACE (Tablo Uzayı = Veri Alanı) Kullanıcılara ait olan nesnelerin veritabanında mantıksal olarak tutulduğu yere tablo uzayı ismi verilir. Bir tablo uzayı oluşturulurken, 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; Tbs_esef tablespace için verilen isimdir. C:\orasql veri alanının yaratılacağı dizin ve tbs_esef.dat ise diskte görüntülenecek olan veri alanının ismidir. SIZE bilgisi veri dosyasının diskte fiziksel olarak 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. 12.3. CREATE USER (Kullanıcı) 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ıcıların nesnelerine erişebilir. SYS kullanıcısının ilk şifresi change_on_install olarak 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. 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 ogrenci IDENTIFIED BY ogrenci1 DEFAULT TABLESPACE tbs_esef QUOTA UNLIMITED ON tbs_esef 91

Yukarıdaki örnekte ogrenci adında bir kullanıcı oluşturulmuştur. Kullanıcının şifresi IDENTIFIED BY ile ogrenci1 olarak belirtilmiştir. Kullanıcının kendi nesnelerini oluşturacağı tablo uzayı için ise tbs_esef tablo uzayı bildirilmiştir. Kullanıcının bu tablo uzayındaki tüm alanı kullanabileceği QUOTA UNLIMITED ile belirlenmiştir. 12.4. CREATE ROLE 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: Rol Atanmış Haklar ALTER SESSION,CREATE CLUSTER, CREATE DATABASE LINK, CREATE SEQUENCE, CREATE CONNECT SESION, CREATE SYNONYM, CREATE TABLE, CREATE VIEW CREATE CLUSTER, CREATE PROCEDURE, CREATE RESOURCE SEQUENCE, CREATE TABLE, CREATE TRIGGER DBA WITH ADMIN OPTION ile birlikte bütün sistem hakları SELECT ANY TABLE, BACKUP ANY TABLE, SYS.INCVID, EXP_FULL_DATABASE SYS.INCFIL ve SYS.INCEXP tablolarına INSERT, UPDATE vedelete hakkı IMP_FULL_DATABASE BECOME USER, WRITEDOWN CREATE ROLE tablo_incele GRANT SELECT ON personel TO tablo_incele Yukarıdaki örnekte tablo_incele isimli bir rol oluşturulmuştur. Daha sonra bu role personel tablosu üzerinde listeleme işlemi yapma hakkı verilmiştir. Böylece bu rolün atandığı kullanıcı personel tablosu üzerinde SELECT komutunu çalıştırabilir. Bunun dışındaki insert, updatei delete vb. komutları çalıştıramaz. 12.5. CREATE INDEX Daha öncede bahsedildiği gibi indeks 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 personel(sicilno) Personel tablosu üzerinde sicilno alanı için index1 isimli bir index yaratılmıştır. 92

12.6. CREATE SEQUENCE Sıra, sıralı olarak artan alanlar için veritabanında tutulan nesnedir. Sıra tekrarlamayan sayısal bilgi elde etmek için kullanılır. Örneğin sicil numaraları, örgenci numaraları, abone numaraları, müşteri numaraları gibi. Örneğin birden başlayan ve birer birer artan bir sıra yaratmak için: CREATE SEQUENCE sicilno START WITH 1 INCREMENT BY 1 12.7. GRANT Sistem ya da nesne haklarının kullanıcılara veya rollere atanması için kullanılan komuttur. GRANT DELETE ON personel TO ogrenci Yukarıdaki örnekte ogrenci kullanıcısına personel tablosunda silme yapma yetkisi verilir. 12.8. REVOKE Sistem ya da nesne haklarının kullanıcılardan veya rollerden geri alınnması için kullanılan komuttur. REVOKE DELETE ON personel FROM ogrenci Yukarıdaki örnekte ogrenci kullanıcısından personel tablosunda silme yapma yetkisi geri alınır. 93

KAYNAKLAR Yaşar Gözüdereli, Veritabanı Programlamaya Giriş, Byte Dergisi Eğitim Dizisi, Temmuz 2003 Yaşar Gözüdereli, Veritabanı Programlama II, Byte Dergisi Eğitim Dizisi, Şubat 2004 Osman Nihat Şen, Oracle, SQL, SQL*Plus, PL/SQL ve Veritabanı Yönetimi, İkinci Baskı, Beta Yayınları, İstanbul, 2000 Aydın Şekihanov, Oracle8i A Practical Guide To SQL, PL/SQL, Developer 6, Atılım University Publications, 2001 Oracle 8i Enterprice Edition Documentation Bilkent Üniversitesi Bilgisayar Merkezi, Veri Tabanı Yönetim Sistemine Giriş ve SQL, Temmuz 1996 http://iletisim.marmara.edu.tr/bilisim/veri%20modelleri(csutcu%20dr%20tezinin%20bi r%20bolumu).pdf http://www.yazilimgrubu.com/dokuman.php?sayfa=2&no=%2010 http://www.yazilimgrubu.com/dokuman.php?sayfa=2&no=%2011 http://www.yazilimgrubu.com/dokuman.php?sayfa=2&no=%2012 http://www.farukcubukcu.com/downloads/sqlkomutları.doc http://www.farukcubukcu.com/downloads/sqlkomutlari.doc http://www.bto.yildiz.edu.tr/dosyalar/ebt2_konu5.doc http://www.bto.yildiz.edu.tr/dosyalar/ebt2_konu4.doc http://www.verivizyon.com http://www.verivizyon.com/detail.asp?cid=110 http://www.verivizyon.com/detail.asp?cid=96 http://cisn.odtu.edu.tr/2002-7/veritabani.php http://serdar.ktg.com.tr/oracle.htm http://www.geocities.com/cakmak_cengiz/ http://www.olgun.com/main_sql_destek.asp www.oracle.com 94