Veri TabanI Yapsal Sorgulama Dili Sql Veri Tanmlama
Veri. Tabanı-I • Yapısal Sorgulama Dili (Sql) • Veri Tanımlama Dili(ddl) • Veri İşleme Dili (Dml) • Veri Kontrol Dili (Dcl)
Yapısal Sorgulama Dili (Sql) • İlişkisel veri tabanlarındaki bilgileri sorgulamak amacı ile geliştirilmiş olan structured Query Language (yapısal sorgu dili) bütün komutların ve uygulamaların veri tabanında işlem yapabilmesini sağlamak amacı ile geliştirilmiştir. • SQL esasında verilerle mantıksal bir ilişki kurma görevini görmektedir. Hangi veri tabanında kaç tablo bulunduğu , bu tablolarda hangi satır ve sütunların bulunduğu ve aynı zamanda belirli kriterler ile hangi kayıtın kaçıncı index’te bulunduğu ile ilgilenmektedir.
Yapısal Sorgulama Dili (Sql) • Yapısal sorgulama dili esasında 5 ana görevi gerçekleştirmek amacıyla geliştirilmiştir. Bunlar şöyledir; 1. Veri tabanında bulunan bilgileri sorgulama. 2. Var olan bilgileri silme, güncelleme ve yeni bir kayıt ekleme. 3. Veri tabanı yönetim sisteminde yeni veri tabanları, tablolar ve alanlar oluşturmak. 4. Veri tabanında bulunan nesnelerin erişim güvenliğini kontrol etmek 5. Veri tabanı bütünlüğünü ve tutarlılığını kontrol etme
Yapısal Sorgulama Dili (Sql) En çok kullanılan gelişmiş yapısal sorgulama dilleri. • PL/SQL(Procedural Language/Structured Query Language): Oracle veri tabanı sistemlerine özel olarak Oracle firması tarafından Geliştirilmiştir. • T-SQL( Transact-Structured Query Language): Microsoft ve Sysbase firmaları tarafından geliştirilmiş yapısal sorgulama dilidir.
Veri Tanımlama Dili(ddl) • Veri tanımlama dili ile oluşturulacak veri tabanında bulunacak veri tabanı nesneleri ile ilgilenilir. Burada tutulan veriden çok verinin tutulacağı nesneler ve bu nesnelerin veri tipleri ile ilgilenilir. Temel olarak Veri tabanı nesnelerinin oluşturulması, silinmesi ve güncellenmesi işlemlerinden sorumludur. • Create ifadesi • Create Database: • Create Table Alter ifadesi Drop ifadesi • •
Veri Tanımlama Dili(ddl) Örnek: Dersler Adında bir tablo oluşturmak istenildiğinde öncel, kle aşağıdaki adımları belirlememiz gerekmektedir. • a-Ders_id adında ve sayı tipinde bir anahtar alan oluşturulmalı • b-Ders_adi adında karakter katarı içerebilecek bir alan oluşturulmalı boş geçilmemeli • c-Bu tabloya girilecek verilerin kayıt tarihini tutacak ve sistem saatini default kaydedecek tarih tipinde bir alan olmalı • Yukarıda belirttiğimiz adımlar Msql server kullanarak gerçekleştirelim.
Veri Tanımlama Dili(ddl) Alter ifadesi ile var olan bir veri tabanı nesnesi üzerinde düzenlemeler yapmamızı sağlamaktadır. Örnek: alter table tablo_ismi ADD alan_adı özellikleri Yukarıdaki şekilden görüdüğü üzere Dersler. Tablosu’na Ders. Sorumlusu adında yeni bir alan eklenmiştir.
Veri Tanımlama Dili(ddl) Alter ifadesi • Alter komutu ile aynı zamanda var olan bir alanı silme işlemide yapılabilmektedir. Bu işlem için DROP komutu kullanılmaktadır alter table Dersler. Tablosu DROP Ders. Sorumlusu alanı Tablodan Kaldırılmıştır • Benzer şekilde var olan bir alnın özellikleri de değiştirilebilmektedir. Bu işlem için alter komutu ile birlikte ALTER COLUMN komutu kullanılmaktadır. alter table Dersler. Tablosu ALTER COLUMN Ders. Sorumlusu Char(50) Not null
Veri Tanımlama Dili(ddl) Drop ifadesi kullanılarak mevcut veri tabanı veya veri tabanında bulunan bir tablo silinebilir. Var olan bir veri tabanını silmek için aşağıdaki kullanım şekline sahiptir. DROP database Veritabanı_adi Örnek: Drop database OKUL adındaki Veri tabanını tamamen siler. Drop database Personel Veri tabanını tamamen siler Benzer Şekilde Bir Veritabanı içerisinde bulunan tablolarıda silme işlemini yapar. Drop table Dersler. Tablosu�Mevcut Veri tabanından Dersler. Tablosu isimli tablo silinir.
Veri İşleme Dili (Dml) • Veri işleme dili mevcut veri tabanında bulunan veriler üzerinde ekleme, silme, Güncelleme ve listeleme gibi işlemler yapar. Veri tabanı yapısıyla ilgilenmez tamamen bulunan veriler üzerinde çalışır • Select ifadesi • İnsert ifadesi • Update ifadesi • Delete ifadesi
Veri İşleme Dili (Dml) Select ifadesi tablo veya tablolar üzerinde buluna bilgileri listeleme görevini yapmaktadır.
Veri İşleme Dili (Dml) İnsert ifadesi. Var olan bir Veri tabanına yeni bilgiler eklemek için INSET INTO ifadesi kullanılmaktadır. Eklenen yeni bilgiler karakter kümesi şeklinde ise tek tırnak (’ bilgi ’) arasında verilmelidir. Girilecek bilgi sayısal bir değer ise tek tırnak kullanımına gerek yoktur. Temel kullanım Şekli Şöyledir; İnsert into tablo values (veri 1, veri 2, …) Örnek: Dersler. Tablosu adındaki tabloya yeni veriler eklemek istediğimizi düşünelim. Bu işlemi yapmak için aşağıdaki şekilde kodlama yapmalıyız. İnsert into Dersler Tablosu values (‘Asp. net’, 11. 10. 2015, ’Taner UÇKAN’)
Veri İşleme Dili (Dml) Update ifadesi. Var olan Veri tabanı üzerinde bulunan tablolardaki kayıtları değiştirmek için kullanılır. Update ifadesi koşulsuz kullanıldığı zaman yapılacak değişiklik tablodaki bütün veriler üzerinde etkili olacaktır. Bu durumu engellemek için istenilen koşullarda güncelleme yapılmasını sağlamak için WHERE koşul ifadesi ile birlikte kullanılmaktadır. Update ifadesinin temel kullanım şekli şöyledir; Update tablo_adi set Sutun_Adi=Yenideğer, Sutun_adi 2=Yenideğer 2 where Koşul Örnek; Öğrenciler tablosunda bulunan Öğrencilerin Cinsiyet alanını değiştirmek istendiğinde aşağıdaki kodlama yapılmalıdır. Update Ogrenciler set Cinsiyet=’Erkek’
Veri İşleme Dili (Dml) Delete ifadesi Var olan bir tablo içerisindeki verileri silmek için Delete ifadesi kullanılmaktadır. Update ifadesinde olduğu gibi Where koşulu ile beraber kullanılmaktadır. Aksi halde koşulsuz bir delete ifadesi tablodaki bütün verileri silecektir. Temel kullanım Şekli aşağıdaki gibidir; Delete From Tablo_ismi where koşul Örnek: Öğrenciler tablosunda bulunan ve adı alanı Ahmet olan bütün verileri silmek istediğimizi düşünelim. Bu durumda aşağıdaki şekilde bir kodlama yapmamız gerekmektedir. Delete From Ogrenciler where adi=’Ahmet’
Veri Kontrol Dili (Dcl) • Veri kontrol dili, Veri tabanı içerisinde bulunan bilgilere kullanıcı ve kullanıcı guruplarının erişim yetkilerini düzenleme işlemlerini yapmaktadır. Temel olarak 3 yetki düzenleme ifadesi bulunmaktadır. • Grant ifadesi • Deny ifadesi • Revoke ifadesi
Veri Kontrol Dili (Dcl) Grant ifadesi • Bir kullanıcıya veri tabanı veya veri tabanında bulunan nesneler üzerinde izinler vermek için kullanılır. • • • Temel kullanım şekli şöyledir; GRANT izinler ON izin_alanı TO kullanıcılar Örnek: Ahmet kullanıcı adına sahip bir kullanıcıya Dersler tablosu üzerinde select , update, delete, insert ifadesini çalıştırmasını sağlayacak ifadeyi yazalım. • GRANT Select , update, insert On Ogrenciler to Ahmet
Veri Kontrol Dili (Dcl) Deny ifadesi Grant ifadesinin tersi işlem görmektedir. Bir kullanıcıya verilen yetkiler kal Temel kullanım şekli şöyledir; DENY izinler TO kullanıcı Örnek: Ahmet kullanıcısına verilen database oluşturma ve silme yetkilerini engellemek için aşağıdaki ifade kullanılmalıdır. Deny Create database, Drop Database to Ahmet dırılmak istendiğinde Deny ifadesi kullanılmaktadır.
Veri Kontrol Dili (Dcl) Revoke ifadesi Sadece sistem yöneticisi tarafından çalıştırılabilen Revoke ifadesi bir kullanıcıya verilen bütün yetkilerin kaldırılması yada o kullanıcı üzerindeki bütün engellemelerin kaldırlması amacıyla kullanılmaktadır. Temel kullanım Şekli şöyledir; Revoke izinler From kullanıcı Örnek: Ahmet kullanıcısı üzerindeki select, update, insert yetkileri aşağıdaki şekilde kaldırılırabilir. Revoke Select , update, insert On Ogrenciler From Ahmet
- Slides: 18