EkoPC Bilişim Ltd. Eğitim Hizmetleri

Slides:



Advertisements
Benzer bir sunumlar
T sql-diğer komutlar Metin Akbulut.
Advertisements

Hazırlayan : Öğr. Gör. Fahri YILMAZ
4 SQL- Yapısal Sorgulama Dili
Tablo oluşturma İlk olarak tabloları oluşturmamız gerekli..
III.Oturum: SQL ile Verileri İşlemek
SQL Structured Query Language
KARMAŞIK SORGULAR.
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
SQL (Structured Query Language)
SQL (Structured Query Language)
SQL Structured Query Language (Yapısal sorgulama dili)
Karmaşık (İç içe) SELECT Sorguları
SQL Komutlar 2 Sibel SOMYÜREK.
SQL Komutlar 5 Sibel SOMYÜREK.
Alt Sorgular Veritabanı 2.
Veri Tabanı Yönetim Sistemleri
Tek Tablo İçinde Sorgulamalar
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
Veri Tabanı Yönetim Sistemleri
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
BÖLÜM 6 SQL SERVER KOMUTLARI.
Tetikleyici. Nedir? Bir tablo üzerinde Ekleme silme ve güncellemeye bağlı olarak tetiklenip çalışan SQL kodlarıdır. Genel amacı veri bütünlüğünü korumaktır.
SQL (STRUCTURED QUERY LANGUAGE)
SQL ve JavaScript Akademik Bilişim 2003 Adana, Şubat 2003 Fırat Tiryaki.
Veritabanı Temel Kavramlar ve
11 ekim 2011 VTYS –II Dersi. Kalıp İfadelerle Sorgu (Pattern) Eğer bir sözel verinin sadece belli kriterlere uyanlarını seçeceksek sütun_adı LIKE kalıp.
MYSQL 4. HAFTA. mySQL veri türleri INTTamsayı: 'den kadar değişen diziye "signed" (işaretli), 0'dan 'e kadar değişenine.
VIEW (BAKIŞ) OLUŞTURMA
VERİTABANI ve YÖNETİMİ
SQL Dili ve MySQL Komutları
SQL’e Giriş ve SELECT Komutu
MySQL Operatörleri ve Fonksiyonları
SQL SERVER 2008 Yücel YILDIRIM.
VeriTabanı Uygulama.
SQL (Structured Query Language). MySQL de Temel Komutlar : CREATE DATABASE isim; verilen isimde bir veri tabanı oluşturur. SHOW DATABASES; Tüm yaratılan.
SQL Sibel SOMYÜREK.
Veri Tabanı Yönetim Sistemleri 1 Ders 5 SQL'e Giriş
SQL Komutları (2) Uzm. Murat YAZICI.
VERİTABANI MİMARİSİ Talip Hakan ÖZTÜRK Bank ASYA – ORACLE DBA
VTYS Öğr. Gör. Engin DUTAR
SQL’ e Giriş Uzm. Murat YAZICI.
SİSTEM VERİTABANLARI. Sistem veritabanlarını tanıma. Kendi Login’imizi oluşturma Neler İşleyeceğiz?
Update UPDATE tablo_ismi SET sutun1=‘deger1’ WHERE sutun=deger.
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
Yeni Veritabanı Oluşturma
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
Yapısal Sorgulama Dili SQL Hafta 7. TEKRARLI SATIRLARI ÖNLEMEK  DISTINCT komutu ile sorgu sonucunda birden fazla kayıt aynı verileri içeriyorsa tekrarlı.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
View View’ler select ifadesi ile tanımlanmış sanal tablolardır. Temel amacı base tabloların içerisinden veri kümesi getirip ortaya çıkan sonucu sanal.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
VIEW lerle çalışmak 11.BÖLÜM.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
İNDEKS.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
14.DERS Örnekler, Sorular BUKET DOĞAN.
5. HAFTA Öğr. Gör. Yunus KÖKVER
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
SQL.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
DML ile veri ekleme, silme ve değiştirme
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-2
Sorgu / dml / ddl komutları
SQL (STRUCTURED QUERY LANGUAGE)
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-4-DML
Sunum transkripti:

EkoPC Bilişim Ltd. Eğitim Hizmetleri SQL Diliyle Veritabanı Yönetimine Giriş Eğitmen Murat Altınok info@altinok.info

Eğitim İçeriği Giriş: SQL ve ilişkisel veritabanı Konu 1: SQL deyimlerine giriş Konu 2: Veritabanının oluşturulması Konu 3: Tabloların yaratılması Konu 4: İndekslerin yaratılması Konu 5: Verilerin tablolara işlenmesi Konu 6: Verilerin sorgulanması Konu 7: Gruplama ve özetleme Konu 8: Birden fazla tablo ile çalışma (join) Konu 9: Alt sorgular ile çalışma (sub query) Konu 10: Örnek uygulama

SQL ve İlişkisel Veritabanı İlişkisel Veritabanı Nedir ? Verinin, disk üzerindeki yapısının tamamıyla veritabanı yönetim sistemi (DBMS; Oracle, MSSQL, MySQL, Progress, vb.) tarafından idare edildiği, veriler arasındaki ilişkilerin tablolar ve tabloların birbiriyle olan bağlantılarıyla sağlandığı veri saklama ve yönetim ortamlarına ilişkisel veritabanı denir.

SQL ve İlişkisel Veritabanı SQL Nedir, Ne Değildir ? SQL, Yapısal Sorgulama Dili olarak tanımlanan bir bilgisayar dilidir (Structured Query Language). Duruma göre tek başına veya bir program grubu ile birlikte kullanılır. Genel olarak bu dili yorumlayan yani çalıştıran bir ara birim programı vardır. Bu program veritabanı ile kullanıcı arasında bir köprü kurarak SQL komutlarını işletir ve sonuçlarını kullanıcı arayüzü sayesinde aktarır. (devam ediyor...)

SQL ve İlişkisel Veritabanı SQL Nedir Ne Değildir ? SQL paket uygulama değildir. Bir tuşa basarak SQL'den sonuç alamazsınız. Sonuç alabilmek, ancak istenen sonuçlara uygun sorgu cümleleri oluşturmak ve işletmekle mümkündür. SQL temel komutlarının yanı sıra kullanılan veritabanına göre özel komutlar içerebilir. Bu komutlar sadece o veritabanı için geçerlidir ve diğer veritabanları tarafından yorumlanmaz.

SQL ve İlişkisel Veritabanı SQL üç alt grupta incelenir; DDL (Data Definition Language) Veri tabanı üzerinde nesne tanımlama amaçlı kullanılır. CREATE nesne_adi ALTER nesne_adi DROP nesne_adi (devam ediyor...)

SQL ve İlişkisel Veritabanı SQL üç alt grupta incelenir; DML (Data Manipulation Language) Veri tabanı içindeki verileri sorgulamak ve üzerlerinde işlem yapabilmek amacıyla kullanılır. SELECT INSERT UPDATE DELETE (devam ediyor...)

SQL ve İlişkisel Veritabanı SQL üç alt grupta incelenir; DCL (Data Control Language) İşlem izinleri ve yasakları gibi işlemleri yapmak için kullanılır. GRANT DENY REVOKE

Konu 1: SQL deyimlerine giriş

SQL Deyimlerine Giriş SQL deyimleri günlük kullanım diline yakın kelimelerden oluşan ve birlikte kullanıldığında veritabanı işlemlerini yerine getiren komutlardır. Bu komutlar, giriş kısmında belirttiğimiz gibi işlem alanlarına göre üçe ayrılırlar. Komutlar, kullanılan SQL arabirim programına göre, hazır menü seçenekleri üzerinden de çalıştırılabilir.

SQL Deyimlerine Giriş SQL Yardımcı Araçları SQL komutları yardımcı araçları kullanılan veritabanına göre değişebilir. Genel olarak her veri tabanının kendine özgü bir SQL çalıştırma arabirimi vardır. Bu arabirimler, ilgili veritabanının tüm özelliklerini kullanabilen komut ve komut gruplarını çalıştırabilecek yetenektedir. (...devam ediyor)

SQL Yardımcı Araçlarına Örnekler; SQL Deyimlerine Giriş SQL Yardımcı Araçlarına Örnekler; Access: tek başına bir veri tabanı da olan Access, ODBC sürücüleri yardımı ile diğer veritabanlarına bağlanarak kendi içinde SQL işlemlerini yapabilmektedir. QA: Query Analyzer Microsoft ailesine ait bir SQL kullanım aracıdır. SQL Server Ent. Manager: SQL Server üzerinde yapmak istenen her türlü işlemin yapılabildiği kapsamlı bir konfigürasyon aracıdır.

SQL Deyimlerine Giriş SQL deyimlerinin, SQL destekli veritabanları üzerinde yerine getirdiği işlemlere göz atacak olursak; Veritabanı yaratmak için CREATE DATABASE, Tablo oluşturmak için CREATE TABLE, Ekleme yapmak için INSERT, Güncelleme yapmak için UPDATE, Silme yapmak için DELETE, Veritabanından sorgulama yapmak için SELECT komutları sıkça kullanılır.

Konu 2: Veritabanının oluşturulması

Veritabanın Oluşturulması Veritabanı yaratmadan önce, saklanacak tüm veri yapısının planlanmış olması gerekir. Bu plan kapsamında; Hangi tip veriler, ne büyüklüklerde, hangi tablolarda olacak ? Bu tabloların ilişkileri hangi alanlar üzerinden kurulacak ? Bu alanlardaki verilerden hangileri tekil olacak ? Hangileri otomatik olarak artacak ? ... gibi bilgilerin hazır olması gerekir.

Veritabanın Oluşturulması Kullanılan veritabanı yönetim sistemine göre, yaratılacak veritabanının hangi kayıt ortamında duracağı, nasıl büyüyeceği, “transaction log” dosyasının nerede olacağı (veya olmayacağı) kararlarının verilmesi gerekir. Bu karar verildikten sonra veritabanı yaratmak için veritabanına bir isim vermek gerekir. Veritabanı isimlerinde boşluk karakteri kullanılamaz. Kullanım amacına yönelik açıklayıcı kelimelerden oluşan bir isim verilmesi uygundur. Bu ismin uzun olmaması tercih nedenidir.

Veritabanın Oluşturulması CREATE DATABASE veritabani_ismi [ ON [ PRIMARY ] [ <filespec> [ ,...n ] [ , <filegroup> [ ,...n ] ] [ LOG ON { <filespec> [ ,...n ] } ] ] [ COLLATE collation_name ] [ WITH <external_access_option> ] [;]

Veritabanın Oluşturulması CREATE DATABASE Satis ON ( NAME = Satis_dat, FILENAME = ''+ @veri_dizini + 'satisdat.mdf', SIZE = 10, MAXSIZE = 50, FILEGROWTH = 5 ) LOG ON ( NAME = Satis_log, FILENAME = ''+ @veri_dizini + 'satislog.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB )

Konu 3: Tabloların yaratılması

Tabloların Yaratılması Veritabanı üzerinde tablo yaratmak için CREATE TABLE deyimi kullanılır. Yapısı: CREATE tablo_adi Örnek: CREATE TABLE Musteri ( mus_id char(4) NOT NULL, mus_ad varchar(40) NULL, ili varchar(20) NULL, ulke char(2) NULL, adres varchar(30) NULL, pk int NULL )

Tabloların Yaratılması Tablolarda, aşağıdaki veri tipleri kullanılabilir. Veri tipleri, veritabanı yönetim sistemine göre farklılıklar gösterir.

Konu 4: İndekslerin yaratılması

İndekslerin Yaratılması Veritabanı üzerinde bir indeks yaratmak için CREATE INDEX deyimi kullanılır. Yapısı: CREATE INDEX indeks_adi ON tablo_adi (kolon_adi) Örnek: CREATE INDEX indeks_mus_id ON Musteri (mus_id) Veritabanı üzerinde tekil bir indeks yaratmak için CREATE UNIQUE INDEX deyimi kullanılır. Yapısı: CREATE UNIQUE INDEX indeks_adi ON tablo_adi (kolon_adi) CREATE UNIQUE INDEX indeks_mus_id ON Musteri (mus_id)

Konu 5: Verilerin tablolara işlenmesi

Verilerin Tablolara İşlenmesi Tablolara veri girişi için INSERT deyimi kullanılır. Yapısı: INSERT INTO tablo_adi VALUES (deger1, deger2,....) INSERT INTO tablo_adi (alan1,...) VALUES (deger1,..) Örnek: INSERT INTO Musteri VALUES (1,'Ahmet Korkmaz', 'Istanbul', 'TR', 'Kadıköy', 34718)

Verilerin Tablolara İşlenmesi Tablolardaki verileri güncellemek için UPDATE deyimi kullanılır. Yapısı: UPDATE tablo_adi SET alan_adi=deger,... WHERE kolon_adi = kriter_degeri Örnek: UPDATE Musteri SET adres = 'Bostancı' WHERE mus_id = 1

Verilerin Tablolara İşlenmesi Tablolardaki verileri silmek için DELETE deyimi kullanılır. Yapısı: DELETE FROM tablo_adi WHERE kolon_adi = kriter_degeri Örnek: DELETE FROM Musteri WHERE mus_id = 1

Konu 6: Verilerin sorgulanması

Verilerin Sorgulanması Tablolardaki verileri sorgulamak için SELECT deyimi kullanılır. Yapısı: SELECT [alan_isimleri] FROM tablo_adi WHERE kosul Örnekler: SELECT * FROM Musteri WHERE ulke = 'TR' SELECT mus_id,ulke FROM Musteri WHERE ulke = 'TR' SELECT DISTINCT pk FROM Musteri WHERE ulke = 'TR' SELECT * FROM Musteri WHERE ili LIKE '%IS%' SELECT * FROM Musteri WHERE id IN (1,2,...) SELECT * FROM Musteri ORDER BY ulke,isim SELECT COUNT(*) FROM musteri WHERE ulke = 'TR'

Verilerin Sorgulanması Veritabanı sorgulamaları sırasında, WHERE koşul cümleciği kullanılır. Bu cümleden sonra, istenen kriterler aşağıdaki operatörler kullanılarak alanlara uygulanır. Birden fazla kriterin uygulanması gerektiğinde kriterler arasına AND (ve), OR (veya) bağlaçları eklenir. AND durumunda, AND bağlacının her iki tarafındaki kriterlerin beklenen sonucu vermesi gerekir. OR bağlacı için ise kriterlerden bir tanesinin beklenen sonucu vermesi yeterlidir. Birden fazla AND veya OR kullanılacak ise kriterlerin parantezler içerisine alınması gerekir.

Konu 7: Gruplama ve özetleme

Gruplama ve Özetleme Tablolardaki verilerin özetlenmesi ve belirli bir alana göre gruplanması için GROUP BY deyimi kullanılır. GROUP BY deyimi genellikle SUM, COUNT, AVG,... gibi SQL fonksiyonlarının sonuçlarını almak için kullanılır. Yapısı: SELECT alan1,SUM(alan2) FROM tablo_adi WHERE kosul GROUP BY kolon_adi Örnekler: SELECT mus_id, SUM(borc) AS musteri_borcu FROM Musteri WHERE ulke = 'TR' GROUP BY mus_id SELECT ulke, COUNT(mus_id) AS musteri_sayisi FROM Musteri GROUP BY ulke HAVING musteri_sayisi > 5 SELECT ulke,AVG(yas) AS ortalama_yas FROM Musteri GROUP BY ulke

Konu 8: Birden fazla tablo ile çalışma (join)

Birden Fazla Tablo İle Çalışma Zaman zaman, birden fazla tablonun aynı anda kullanılmasını gerektiren sorgular çalıştırmak istenebilir. Örneğin müşteri bilgileri ile müşterinin cari hareketleri tablolarını bir arada raporlamak gerekebilir. Bu ve benzeri durumlarda, ihtiyacımız olan verileri birden fazla tablo üzerinden belirli anahtar alanlar kullanılarak toplamamız ve belli bir hiyerarşide göstermemiz gerekebilir. İşte bu durumlarda, JOIN işlemi yapmamız gerekir. JOIN, kelime anlamı ile de birleştirmek demektir.

Birden Fazla Tablo İle Çalışma SELECT A.mus_id,A.mus_isim,B.fis_no,B.aciklama FROM musteri AS A INNER JOIN musteri_hareket AS B ON B.mus_id = A.mus_id

Birden Fazla Tablo İle Çalışma INNER JOIN: Her iki tabloda da şarta uygun olan kayıtlar gelir LEFT JOIN: Sol tablodaki tüm kayıtlar (sağ tabloda karşılıkları olmasa dahi), sağ tablodan ise koşulu sağlayan kayıtlar gelir RIGHT JOIN: Sağ tablodaki tüm kayıtlar (sol tabloda karşılıkları olmasa dahi), sol tablodan ise koşula uygun kayıtlar gelir Yukarıda sayılanların dışında, veritabanı yönetim sistemine bağlı olarak çok daha farklı JOIN koşulları bulunabilir.

Konu 9: Alt sorgular ile çalışma (sub query)

Alt Sorgular İle Çalışma Sorgulama sonuçlarının, bazı durumlarda başka tablolarla bağlantılı çalışması gerekebilir. Bu durumda sorgunun bir tablo mantığı ile işlemesi ve sorguya dahil edilmesi beklenir. Bu tip sorgular, alışılagelmiş yapının dışında değildir. Tek farkları, parantez içine alınarak bir rumuz (alias) verilerek sorgu içerisinde kullanılır.

Alt Sorgular İle Çalışma Tablo şeklinde kullanacağımız sorgumuz; SELECT * FROM Musteri WHERE ulke = 'TR' Bu sorgumuz tek başına çalıştığında ülke kodu TR olan tüm müşterilerimizi listeleyecektir. Biz bu sorgu içerisinden mus_id ve adres alanlarını listeleyeceğimiz ve adresi Istanbul olan başka bir sorgu oluşturacağız. Bu sorgu şu şekilde olacaktır; SELECT A.mus_id, A.adres FROM (SELECT * FROM Musteri WHERE ulke = 'TR') AS A WHERE A.adres LIKE '%Istanbul%'

Alt Sorgular İle Çalışma Alt sorgular, veri güncelleme amacıyla da kullanılabilir; UPDATE mus_promosyon SET promosyon_kodu = '948' WHERE (SELECT * FROM Musteri WHERE ulke = 'EN') Subquery ile insert işlemi Eklenecek olan kayıtlar SELECT mus_id,... diger alanlar FROM musteri WHERE ulke = 'TR' eklem sorgusu INSERT INTO musteri (mus_id,... diğer alanlar) SELECT mus_id,... diger alanlar) FROM musteri WHERE ulke = 'TR'

Konu 10: Örnek Uygulama

Teşekkürler