Durhan GABRALI Veritabanı Organizasyonu Dersi (11B)

Benzer belgeler
VERİTABANI ORGANİZASYONU

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

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

VERİTABANI Veritabanı Yönetimi

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

SQL Komutları (2) Uzm. Murat YAZICI

SQL (Structured Query Language)

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

Bölüm 4: DDL 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ü

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

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

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

Veri Tabanı Hafta Dersi

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

SQL e Giriş. Uzm. Murat YAZICI

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

SORGULAR VE ÇEŞİTLERİ II

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

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

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

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

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

VERİTABANI ORGANİZASYONU

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

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

Veri Tabanı Programlamaya Giriş

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

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

Veritabanı. SQL (Structured Query Language)

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ı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

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

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

Veri Tabanı Tasarım ve Yönetimi

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

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

Veritabanına Uygulanması

Mysql Veritabanı Komutları

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

3 Sql Veri Tipleri ve Örnek Veritabanı Tasarımı. Veritabanı 1

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

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL

VERİTABANI. SQL (Structured Query Language)

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

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?

SQL Kod ile Tablo Oluşturma

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

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

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

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

«BM364» Veritabanı Uygulamaları

3 Sql Veri Tipleri. Veritabanı 1

Veri Tabanı-I 1.Hafta

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

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

BİLİŞİM TEKNOLOJİLERİ

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

Oracle da kullanılan veri tipleri:

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

İLİŞKİSEL VERİTABANLARI

SQL Query and Table Application

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

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

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi --

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

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

VERİ TABANI ve YÖNETİMİ

YAPISAL SORGULAMA DİLİ (SQL)

Veritabanı Uygulamaları Tasarımı

Veri Tabanı Hafta Dersi

VERİTABANI Veritabanı Sorgulama

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

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

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş

Maltepe Üniversitesi Endüstri Mühendisliği Bölümü Veri Tabanı Yönetimi (END 210)

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

1 Temel Kavramlar. Veritabanı 1

Veritabanı Tasarımı. Tablo Oluşturma

T-SQL NEDİR? Microsoft T-SQL Transact-SQL

KISITLAMALAR (CONSTRAINT)

Veritabanı Tasarımı. Veritabanı Hareketleri

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.

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

Veri Tabanı Hafta Dersi

SQL (Structured Query Language)

MOBİL UYGULAMA GELİŞTİRME

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

Data Programming SQL Language

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

10-Veri Tabanları.

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

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

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

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

Veritabanı Tasarımı. SQL Deyimi Anatomisi

2 Temel Kavramlar (Devam) Veritabanı 1

Transkript:

VERİTABANI ORGANİZASYONU Veri nedir? Veri(data) ilişkide olduğumuz(ilgimiz olan) dünyanın durumlarıdır. O gün mağazaya kaç kişi geldiği, dışarıda havanın sıcaklığı, boyunuzun uzunluğu, göz renginiz veya son okuduğunuz kitabın sayfa sayısı birer veridir. Veri kavramını dünyanın betimlemesi olarak düşünebiliriz. Duyu organlarımız ile verileri algılar ve beynimizle işleriz. Bilgi nedir? Bilgi (knowledge) verilerin işlenmesiyle elde edilir. Örnek: Bugün dışarıda hava sıcaklığı 25 C dir. İnsanlar bilgiyi oluşturabilmek için uzunca bir süre verilerden yararlanırlar. Verilerin anlamlı ve kullanılabilir olmaları için tanımlı bir çerçeve içine alınmaları ve işlenmeleri gerekir. Veritabanı nedir? Birbiri ile ilişkili verilerin belirli bir düzen içerisinde bir araya getirildiği ve depolandığı yapılara veritabanı(database) diyoruz. Veritabanı Yönetim Sistemi(VTYS) Database Management System(DBMS) Veritanı oluşturmak, verileri saklamak ve verileri işlemek üzere geliştirilmiş bilgisayar yazılımlarına VTYS denir. VTYS lerden önce veriler klasik dosyalarda saklanıyordu. Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 1

VTYS lerin üstünlükleri: - Veri tekrarının önlenmesi. - Verilerin tutarlı olmasını sağlamak - Aynı aydaki erişimlerde tutarsızlıkların ortaya çıkmasını önlemek. - Verilerin güvenliğini sağlamak. Örnek VTYS yazılımları: MS-Access, MS-SQL Server, My-Sql, PostgreSQL, Oracle, IBM DB2, IBM-Informix, Paradox İlişkisel Veritabanı Nedir? Günümüz veritabanı sistemleri ilişkisel modeli kullanır. İlişkisel Model -> Releational Model Bu modelin prensibi böl-parçala-yönet tir. Bu modelde veriler birden çok tabloda saklanır. Bu tablolar ortak alanlar vasıtasıyla ilişkilendirilir. İlişki Türleri a) Bire-Bir İlişki ( 1-1 ) b) Bire-Çok İlişki ( 1 oo ) c) Çoka Çok İlişki ( oo oo ) Bire Bir İlişki: Bir tablodaki bir kayda karşılık diğer tabloda bir kayıt varsa bu tablolar arasında bire-bir ilişki söz konusudur. Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 2

Bire-Çok İlişki: Bir tablodaki bir kayda karşılık diğer tabloda çok sayıda kayıt varsa bu tablolar arasında bire-çok ilişki söz konusudur. Çoka-Çok İlişki: Bir tablodaki çok sayıda kayda karşılık diğer tabloda çok sayıda kayıt varsa bu tablolar arasında çoka-çok ilişki söz konusudur. Tablolarda İstenmeyen Durumlar Veritabanını oluşturan tablolarda meydana gelen veri fazlalığı veya veri tekrarı istenmeyen durumlardır. Bunları gidermek için tabloların normalize edilmesi gerekir. Aşağıdakiler tablolarda istemediğimiz durumlardır. Veri Fazlalıkları a) Mutlak Veri Fazlalığı i) Birleşik Özellik : Birden çok verinin birleştirilerek bir alanda bulunması. ii) Tekrarlayan Grup: Tablolarda aynı tipteki veriyi içerecek alanların bulunması. iii) Çok Değerli Özellik: Aynı alanda birden fazla verinin virgülle ayrılarak kaydedilmesi. Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 3

a) Gereksiz Tekrar (Veri Artıklığı): Bazı durumlarda aynı veri çeşidi birden fazla kayıtta yer alabilmekte ve bu da sistemin yavaşlamasına sebep olmaktadır. Bilgilerin yinelenmesi, gereksiz alan kaplar, hata ve tutarsızlıklara sebep olabilir. Tablo-1: Tablo-2: (Veri artıklığı içeren tablo örnekleri) Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 4

NORMALİZASYON Amaç : Temel amaç veri tekrarını ve bilgilerin kaybını önlemek. Toplam 5 tane normalizasyon kuralı vardır. İlk 3 kural pratikte kolay uygulanabilir kurallardır. Diğerleri ise daha çok teoride olarak kalır ve uygulanması zordur. Normalizasyon uygulanmadan önce bütün tablolar ; Normal Olmayan Biçim (Unnormalized Form UNF) de kabul edilir. Kurallar uygulanıp tablolar dönüştürüldükçe; Normal Biçime dönüşür. (Normal Form - NF) UNF -> 1.NF -> 2.NF -> 3.NF -> 4.NF -> 5.NF Normalizasyon işlemleri uygulanan tablolarda tasarım hataları giderilmiş olur ve tablolar olması gereken ideal hale yaklaşmış olur. Temel amaç veri tekrarını ve işlemlerde meydana gelebilecek veri kayıplarını önlemektir. Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 5

Veritabanı Tasarım Adımları 1) Nesneler Tanımlanır: Nesne, çeşitli özellikleri bulunan bir varlıktır. Herhangi bir proje de öncelikle nesneler tanımlanır. Ör) Birkaç örnek proje için nesneleri verecek olursak, Kütüphane sistemi: Kitap, üyeler, türler, ödünç hareketleri E-ticaret sistemi: Ürünler, müşteriler, siparişler, teslimat, fatura bilgileri, üreticiler, tedarikçiler, dağıtıcılar... Futbol Ligi: Takımlar, sahalar, oyuncular, fikstür, hakemler, antrenörler Okul Sistemi: Öğrenciler, öğretmenler, dersler, derslikler Sözlük: kelimeler, anlamlar, diller 2) Her nesne için bir tablo oluşturulur: Her nesne için bir tablo oluşturulur ve her bir tabloya içereceği veriyi en iyi anlatan bir isim verilir. 3) Her bir tablo için bir anahtar alan seçilir: Veri tabanındaki herhangi bir veriye erişilmeden önce tabloya erişilir. Tabloda yer alacak her bir kaydı bir diğerinden ayırabilecek bir sütuna ihtiyaç duyulur. 4) Nesnelerin gerekli her bir özelliği için tabloya bir sütun eklenir : Tablolara sırasıyla adını veren nesnelerin her bir özelliği için bir alan (sütun) eklenir. 5) Tekrarlayan nesne özellikleri için ek tablolar oluşturulur : Veri tekrarı olacaksa bir yerlerde hata yapılıyor demektir. Bu durumda eldeki tablonun en az bir tabloya daha Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 6

ayrılması gerekiyor demektir. (Normalizasyon kurallarının devreye girdiği aşamadır) 6) Anahtar alana bağlı olmayan alanlar belirlenir: Bazen, anahtar alan ile aynı satırda yer aldığı halde, anahtar alan ile birebir ilişkisi olmayan bir alan yer alabilir. Bu türden alanların elimine edilip ayrı tablolara ayrılması gerekir. 7) Tablolar arasındaki ilişkiler tanımlanır: Her biri bir nesneye dair özellikleri barındıran tabloların tümü göz önüne alınır ve birbirleri ile olan ilişkileri tanımlanmaya çalışılır. Bir veritabanın baştan sonra tasarlanması: A) İhtiyaç Analizi Yapmalıyız. Veri tabanı ihtiyaç analizi yapılırken hazırlanacak olan sistemin neye hizmet edeceği, Veri tabanını ne iş yapacağı ve hangi ihtiyaçları karşılayacağına, Veri tabanının hangi verileri depolayacağı Veri tabanını oluşturan tabloların neler olacağı ve ne tür verileri saklayacağı v.b. gibi sorulara cevap vermek gerekmektedir. Tüm bunları kağıt üzerinde tasarladıktan sonra fiziksel tasarıma geçmek çalışmanızın daha sistemli yürümesi açısından avantajınıza olacaktır. Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 7

B) Tasarım Adımları 1.Nesneler Tanımlanır (Örneğimiz Kütüphane Sistemi olsun) kitaplar, üyeler, türler, ödünç hareketleri, yazarlar vd. 2.Her nesne için tablo oluşturulur 3.Her bir tablo için anahtar alan seçin 4.Nesnelerin gerekli her bir özelliği için tabloya bir sütun ekleyin. (Alanları belirleyin) Ör) Tablo:kitap ( kitapid (PK), kitapadi, ISBNNo, sayfasayisi, tur, ozet, yayinevi, yazar, yil) Bu şekilde bu tablolar önceden oluşturulmalı Normalizason ile ilgili işlemler 5.Tekrarlayan nesne özellikleri için ek tablolar oluşturun 6.Anahtar Alana Bağlı Olmayan Alanları Belirleyin 7.Tablolar arasındaki ilişkileri tanımlayın. Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 8

En son aşamada veritabanı şematik olarak ifade edilmelidir. Not: Bu şema temsilidir. Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 9

SQL Structured Query Language (Yapısal Sorgulama Dili) Veritabanı Yönetim Sistemleri için evrensel bir veri sorgulama dilidir. Neler yapılabilir? - Veritabanı, tablolar ve diğer nesneler oluşturulabilir. - Veri sorgulama işlemleri : Veri çekme - Diğer veri işlemleri : Veri ekleme, veri silme, veri güncelleme - Yapısal işlemler: Tabloların yapılarını değiştirme SQL dili kendi arasında: 1. DML (Data Manupulation Language) : Veri İşleme Dili. SELECT, UPDATE, DELETE, INSERT 2. DDL (Data Definition Language) : Veri tanımlama dili. CREATE, DROP, ALTER 3. DCL (Data Control Language) : Veri kontrol dili. GRANT, DENY, REVOKE, IF, FOR DDL (Data Definition Language) - Veri tanımlama dili komutları: CREATE Komutu: Bu komut ile veritabanın kendisi dahil bir çok nesne oluşturabilir. Database Oluşturmak (Access te geçersiz): CREATE Database dbname; Database Silmek(Access te geçersiz): DROP Database dbname; Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 10

CREATE ile Tablo Oluşturmak: Create Table <tablo adı> ( alan_adı veri_türü [Default ifade] [alan_kısıtlaması], [ tablo kısıtlaması] ); Veri Tipleri (SQL Server) 1.Sayısal Veri Tipleri 2.Parasal Veri Tipleri Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 11

3.Tarih ve Zaman Veri Tipleri 4.Karakter Veri Tipleri 5.Unicode Karakter Veri Tipleri Not : Karakter veri tipleriyle kullanımları aynıdır. Farkı ise Unicode karakterleri tutabilmeleridir. Unicode karakterleri hafızada tutabilmek için 1 byte yeterli değildir. Fazladan 1 byte daha kullanılır ve 2 byte yer kaplar. 6.İkili (Binary) Veri Tipleri SQL Server de dosyaları saklamak için kullanılan veri tipleridir. binary(n): n değeri 1 ile 8000 arasında olabilir. n byte kadar yer kaplar. Boyutu sabittir. varbinary(n): n değeri 1 ile 8000 arasında olabilir. binary(n) den farkı, kaydedilen dosya boyutuna göre boyutunun değişebilmesidir. varbinary(max): Maksimum 2 GB ye kadar değişken boyutta binary veri tutmak için kullanılır. Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 12

image: varbinary(max) veri tipiyle kullanımı aynıdır. Sadece resim dosyaları değil, diğer tür dosyalarıda hafızada tutabilirler. Gelecekte bu veri tipinden vazgeçilmesi söz konusu olduğundan varbinary(max) tercih edilmesi daha doğrudur. Örnek: Access te PERSONEL isimli tablonun oluşturulması. Örnek: Mezun olan öğrenciler için mezun bilgilerinin tutulacağı bir tablo oluşturalım. Bu tablo için aşağıdaki alan adları bulunacaktır. Tablo adını Ogrenciler olarak kabul edelim. Alan Adı - Açıklama Ogrno : Öğrenci Numarası Ad : Öğrenci Adı Soyad : Öğrenci Soyadı SQL Kodu(Access), Versiyon-1 CREATE TABLE Ogrenciler ( Ogrno INT NOT NULL, Ad VARCHAR(20) NOT NULL, Soyad VARCHAR(20) NOT NULL, CONSTRAINT PK_Ogrno PRIMARY KEY (Ogrno) ); Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 13

Versiyon-2 CREATE TABLE Ogrenciler ( Ogrno AUTOINCREMENT PRIMARY KEY, Ad VARCHAR(20) NOT NULL, Soyad VARCHAR(20) NOT NULL, ); Örnek: Bir alışveriş sitesinde müşteri bilgilerini tutacak bir tablo için aşağıdaki alanlar bulunacaktır. Tablo adı Musteri olsun. Alan Adı - Açıklama MusteriId : Müşteri numarası Ad : Müşteri adı Soyad : Müşteri soyadı Adres : Müşteri adresi Sehir : Şehir Tel : Telefon SQL Kodu(Access) CREATE TABLE Musteri ( MusteriId AUTOINCREMENT PRIMARY KEY, Adsoyad VARCHAR(50) NOT NULL, Soyad VARCHAR(50) NOT NULL, Adres VARCHAR(100) NOT NULL, Sehir VARCHAR(15) NOT NULL, Tel VARCHAR(11) ); Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 14

Örnek: Bir satış sitesine konulacak ürünlerin tutulacağı Urunler adlı tabloyu aşağıdaki gibi oluşturalım. Alan Adı - Açıklama UrunKodu : Satılacak ürün kodu UrunMarkasi : Satılacak ürünün markası UrunTuru : Satılacak ürün türü UrunFiyati : Satılacak ürünün fiyatı SQL Kodu(Access) CREATE TABLE Urunler ( UrunKodu AUTOINCREMENT PRIMARY KEY, UrunMarkasi VARCHAR(20) NOT NULL, UrunTuru VARCHAR(20) NOT NULL, UrunFiyati INT(10), CONSTRAINT PK_UrunKodu PRIMARY KEY (UrunKodu) ); Tabloları Silmek (DROP TABLE Komutu): Bazen bir tablonun tamamından kurtulmak isteyebilirsiniz. Bunu DROP TABLE ifadesiyle yapabilirsiniz. Genel kullanımı aşağıdaki gibidir: DROP TABLE tablo_adi Örnek: musteri tablosunu silmek için aşağıdaki ifade kullanılır. DROP TABLE musteri; Bu sorgu, tablodaki tüm satırları ve tablonun kendisini sileceğinden kullanırken dikkatli olunmalıdır. Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 15

Alter Komutu Alter Table, bir tablonun yapısını değiştirir. Değiştirme cümleciklerinin her biri tablonun farklı yönlerini değiştirmek için kullanılabilir. Alter Table nin çeşitli alt kullanımları vardır. Yeni Sütun Ekleme Bir tablo oluşturduktan sonra, isteğe göre oluşturulmuş olan tabloya yeni sütunlar ekleyebilirsiniz. Tabloya yeni bir sütun eklemek için ADD COLUMN deyimi kullanılır. Örnek: Müşteri tablosunda müşterilerin e-mail adreslerini de almak istediğimizi düşünelim. tablomuzda böyle bir sütun önceden yoktu. Bu durumda yeni bir sütun eklenecektir. ALTER TABLE musteri ADD COLUMN email CHAR(50) NOT NULL; Eklenen bir sütundan kurtulma isteği de yine çok sık karşılaşılan bir durumdur. Yukarıda eklediğimiz sütunu aşağıdaki gibi silebiliriz: Sütun Silme ALTER TABLE musteri DROP email; Sütun Veri Türünü ve Uzunluğunu Değiştirme Örnek: Müşteri tablosunda adların 25 karaktere kadar uzun olmasına izin verilmiş olsun. Verileri almaya başladıktan sonra bazı isimlerin çok uzun olduğu görülsün. Bu durum, sütunu 50 karakter uzunluğunda olacak şekilde değiştirilerek düzeltilebilir. ALTER TABLE musteri ALTER COLUMN ad CHAR(50) NOT NULL; Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 16

DML (Data Manupulation Language) - Veri İşleme Dili komutları: SELECT Komutu SQL'de sorgulama işlemleri, SELECT deyimi yardımıyla yerine getirilir. SELECT deyimi en basit biçimde şu şekilde ifade edilmektedir; SELECT [DISTINCT] { * sütun,...} FROM tablo; Tanım içinde bazı SQL anahtar kelimelerine yer verilmektedir. Bu anahtar kelimeler, SQL 'in kendi özel kelimeleridir ve aynen bu şekilde ifade edilmelidir. SELECT: SQL'in sorgulama deyimidir. FROM: Hangi tablonun sorgulanacağını ifade eder. DISTINCT: Çift kayıtları önleyen anahtar kelimedir. Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 17

Örnek: Örnek: Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 18

Örnek: Örnek: Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 19

Örnek: Örnek: Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 20

Örnek: Verinin Sınırlandırılması Veri tabanını sorgularken, satırlara bazı kısıtlamalar koyarak sorgulanan tablonun tüm satırları yerine belirli bir kısmı geri döndürülebilir. Bu işlem için SELECT deyimi içerisinde WHERE ifadesi kullanılır. SELECT [DISTINCT] {* sütun,...} FROM tablo [WHERE KOŞUL]; Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 21

Örnek: WHERE sözcüğü içinde tanımlanan kısıtlama ifadelerinde, çeşitli karşılaştırma işleçleri kullanılabilir. <> Eşit Değil <= Küçük veya Eşit >= Büyük veya Eşit < Küçük > Büyük = Eşit Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 22

Örnek: Diğer Karşılaştırma İşleçleri Şu ana kadar öğrendiğimiz karşılaştırma işleçleri dışında, bazı özel amaçlarla kullanılabilecek başka karşılaştırma işleçleri de bulunmaktadır. Şimdi bu işleçleri ve anlamlarını inceleyelim; BETWEEN... AND... : İki değer arasındaki karşılaştırma. IN (liste) : Liste içindeki değerlerle karşılaştırma. LIKE: Bir karakter katarı ile karşılaştırma. IS NULL: Bir NULL değer ile karşılaştırma. Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 23

Örnek: Örnek: Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 24

Örnek: Örnek: Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 25

Örnek: Mantıksal İşleçler Koşulları içeren karşılaştırma işlemlerinde mantıksal işleçlere de yer verilebilir. Bu işleçlerden; AND ve OR iki koşulu birlikte değerlendirmek üzere kullanılırlar. AND : Her iki koşulun değeri TRUE ise, sonuç olarak TRUE döndürür. OR : Koşulların herhangi birinin değeri TRUE ise, sonuç olarak TRUE döndürür. NOT : Bu işleci izleyen koşul FALSE ise, TRUE; TRUE ise, FALSE döndürür. Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 26

Örnek: Örnek: Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 27

Örnek: İşleçlerin İşlem Sırası WHERE sözcüğü içinde yer alan işleçler, belirli bir sıraya göre işlem görürler. Bu işleçlerin dışında, parantezler de kullanılabilir. Parantezler tüm işleçlere göre bir önceliğe sahiptir. Yani öncelikle parantez içindeki işlemler yapılır, ardından da aşağıdaki işlem sırası uygulanır. 1- Karşılaştırma İşleçleri ( <, >, <=, >= ) 2- NOT 3- AND 4- OR Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 28

Sıralama İşlemleri Tabloların satırlarının, herhangi bir sütuna göre sıralı olarak elde edilmesi söz konusu ise, SELECT deyimi ORDER BY ifadesi ile birlikte kullanılır. Örnek: Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 29

Örnek: Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 30

Fonksiyonlar veya bir başka deyişle işlevler, SQL'e bazı güçlü özellikler katan olanaklar olarak değerlendirilir. SQL fonksiyonları, aynen programlama dillerinde olduğu gibi, kullanıcıya bazı özel işlemleri ve hesaplamaları otomatik olarak sağlar. Bir fonksiyon; çeşitli argümanları girdi olarak alıp bir sonuç üreten hazır bileşenlerdir. Kullanıcının, fonksiyonun adını ve gerekli argümanları tanımlaması yeterlidir.bu bilgilere dayalı olarak fonksiyon, bir sonuç döndürür (üretir). Fonksiyonlar uygulamadan uygulamaya farklılık gösterebilirler. Tek Satır Fonksiyonları Tek satır fonksiyonları (genelde sadece Fonksiyon olarak adlandırılır), tablonun her bir satırına uygulanan fonksiyonlardır. Tek satır fonksiyonlarının Karakter, Tarih, Sayısal, Dönüştürme gibi birçok türü bulunmaktadır. Fonksiyonların kullanım şekli aşağıda belirtildiği gibidir. Fonksiyon_adı(sütun ifade, [argümanlar]) Fonksiyon: Herhangi bir SQL fonksiyonunu simgeler. Örneğin LCASE bir fonksiyon ismidir. Bu ismi değiştiremeyiz. Sütun: Herhangi bir tabloya ilişkin sütun adı. İfade: Herhangi bir karakter dizisi ya da hesaplama ifadesi. Argümanlar: Fonksiyonla birlikte kullanılabilecek argümanlar. Karakter Fonksiyonları Karakter fonksiyonları; karakter verileri girdi olarak alan, karakter ya da sayısal değerler döndürebilen fonksiyonlardır. Bu fonksiyonların en çok kullanılanlarını şu şekilde sıralayabiliriz; Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 31

Örnek: Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 32

Örnek: Örnek: Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 33

Örnek: Örnek: Durhan GABRALI Veritabanı Organizasyonu Dersi (11B) 2018 34