ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ

Slides:



Advertisements
Benzer bir sunumlar
Hazırlayan : Öğr. Gör. Fahri YILMAZ
Advertisements

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
SQL (Structured Query Language)
SQL (Structured Query Language)
SQL’e Giriş.
SQL Komutlar 5 Sibel SOMYÜREK.
İndeksler Sibel SOMYÜREK.
EkoPC Bilişim Ltd. Eğitim Hizmetleri
SQL Komutlar 4 Fahri YILMAZ.
Veritabanı Yönetim Sistemleri-I
Alt Sorgular Veritabanı 2.
Veri Tabanı Yönetim Sistemleri
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
Iletisim Icin : Blog : E - Mail :
Veri Tabanı Yönetim Sistemleri
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)
VTYS Öğr. Gör. Engin DUTAR
VIEW (BAKIŞ) OLUŞTURMA
SQL Dili ve MySQL Komutları
SQL’e Giriş ve SELECT Komutu
VeriTabanı Uygulama.
Bilgisayar Mühendisliği Bölümü
Sibel SOMYÜREK SQL Görev. SQL – 14a Egitselyazilim veri tabanındaki içerik tablosuna yeni bir kayıt ekleyin,
SQL Sibel SOMYÜREK.
Veri Tabanı Yönetim Sistemleri 1 Ders 5 SQL'e Giriş
SQL Komutları (2) Uzm. Murat YAZICI.
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 SQL.
Yeni Veritabanı Oluşturma
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
Veri Tabanı Yönetimi Dersi 4. Laboratuvarı Arş. Gör. Pınar CİHAN.
Altıncı hafta. Müfredat programı Ödev teslim edenler Mantıksal tasarım ödevini teslim edenler: Belediye Projesi Valilik Projesi Mekan Projesi Konaklama.
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.
 Bazı Veri tabanları sadece 1 tablodan oluşmaz.  Bunun sebebi genellikle veri tekrarını önlemektir.  Bu şekilde oluşturulmuş veri tabanlarında, tablolardaki.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
Yapısal Sorgulama Dili SQL Hafta 6 Ders Notu
© 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
TETİKLEYİCİ ( Trigger)
Veri Tabanı Yönetim Sistemleri 1 Ders 10 Veri Sözlüğü ve DDL
© 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.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
SQL.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
DML ile veri ekleme, silme ve değiştirme
Sorgu / dml / ddl komutları
SQL (STRUCTURED QUERY LANGUAGE)
SQL Server - Stored Procedures
SQL Server - Views.
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-4-DML
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-3-DDL
SQL VIEW.
Sunum transkripti:

ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ SQL-2 http://altanmesut.trakya.edu.tr/vt/ ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ

SQL Komutları Yapısal Sorgulama Dili (SQL-Structured Query Language) Veri İşleme Dili (DML-Data Manipulation Language) Veri Tanımlama Dili (DDL-Data Definition Language) Veri Kontrol Dili (DCL-Data Control Language)

SQL Komutları Veri İşleme Dili (DML-Data Manipulation Language) Bir tablodaki veriler üzerinde sorgulama, ekleme, güncelleme ve silme işlemleri gerçekleştirir. Select Insert Update Delete

SQL Komutları Veri Tanımlama Dili (DDL-Data Definition Language) Sıfırdan tablo oluşturma, tablo üzerinde değişiklik yapma, tablo oluşturma, indeks oluşturma ve silme işlemleri gerçekleştirir. Create Table Drop Table Alter Table Create Index Drop Index Alter View

SQL Komutları Veri Kontrol Dili (DCL-Data Control Language) Kullanıcılara veri tabanı üzerinde bazı haklar verme veya verilen hakları geri alma gibi işlemlere olanak tanıyan SQL komutlarını içermektedir. Create User Drop User Alter User Grant Revoke

Tabloların Birleştirilmesi Aynı tür değerler içeren iki tablonun birleştirilerek tek bir tablo elde edilmesine birleştirme (join) denir. Birleştirme ihtiyacı normalizasyonkuralları gereği birden fazla tabloya bölünen verilerin tekrar birleştirilmesi için ortaya çıkar. 3 tür temel birleştirici vardır; 1.Inner Join 2.Outer Join I.Left Outer Join II.Right Outer Join III.Full Outer Join 3.Cross Join

INNER JOIN Inner Join ifadesi şimdiye kadar kullanığımız where ile aynı sonucu verir. select * from OGRENCILER, NOTLAR WHERE OGRENCILER.OGR_NO=NOTLAR.OGR_NO Oğrencilerin aldıkları notları gösteriniz. select * FROM OGRENCILER INNER JOIN NOTLAR ON OGRENCILER.OGR_NO=NOTLAR.OGR_NO

SQL - LEFT OUTER JOIN Komutu INNER JOIN sorguları tablolar arasında birebir eşleşen verileri döndürür. Eğer iki tablo arasında eşleşen verilerin yanısıra bir tablodaki eşleşmeyen verileri de listelemek amacıyla OUTER JOIN komutu kullanılır; LEFT OUTER JOIN RIGHT OUTER JOIN

SQL - LEFT OUTER JOIN Komutu LEFT OUTER JOIN komutu ilişkili tablolardaki verilerden soldaki tabloda bulunup ikinci tabloda bulunmayan kayıtları da listeler. SELECT alanadi1,alanadi2 FROM tablo_adi LEFT OUTER JOIN tablo_adi2 ON tabloadi.alan1=tabloadi2.alan1);

SQL - LEFT OUTER JOIN Komutu Tüm hocaların girdiği dersleri gösteriniz. select * FROM HOCALAR LEFT OUTER JOIN DERSLER ON HOCALAR.HOCA_NO=DERSLER.HOCASI

SQL – RIGHT INNER JOIN Komutu RIGHT OUTER JOIN komutu ilişkili tablolardaki verilerden sağdaki tabloda bulunup birinci tabloda bulunmayan kayıtları da listeler. SELECT alanadi1,alanadi2 FROM tablo_adi RIGHT OUTER JOIN tablo_adi2 ON tabloadi.alan1=tabloadi.alan1);

SQL – RIGHT INNER JOIN Komutu Az önceki örneği right outer olacak şekilde yazınız. select * FROM dersler right OUTER JOIN hocalar ON HOCALAR.HOCA_NO=DERSLER.HOCASI

INSERT Bir tabloya kayıt eklerken kullanılan DML komutudur. INSERT INTO Tablo [(ALAN Listesi)] VALUES (Değerler Listesi) Aşağıdaki DML ifadesi HOCALAR tablosuna kayıt ekler: INSERT INTO HOCALAR (HOCA_NO,AD,SOYAD,UNVAN)VALUES (15, ‘Ahmet’, ‘Çalışkan’, ‘Prof. Dr.’) Veri türü karakter değilse tırnak kullanılmaz

INSERT Bir tabloya (ilişkiye) bir veya daha fazla satır eklemede kullanılır. Kolon listesi zorunlu değil. Belirtilmemişse TABLO’daki tüm kolonlar CREATE TABLE komutundaki sırada kabul edilir. Değerler Listesi sayısı, Kolon Listesi sayısına eşit olmalıdır. Değerler Listesi’ndeki verinin yeri, ilgili kolonun yerine uygun olmalıdır. Değerler Listesi’ndeki verinin türü, ilgili kolonun veri türünde olmalıdır Foreign key olan tabloya kayıt primary key olan tablodaki ilişkili alana bağlı veriye uygun olarak girilebilir. Hesaplanmış alanlara veri girilmez

INSERT Eğer eklenecek kaydın sadece belirli alanlarına veri girilecekse (Ör. HOCA_NO alanı ‘otomatik sayı’ veri türünde ise o alana veri giremeyiz), tablo adından sonra bu alanlar belirtilmelidir: INSERT INTO HOCALAR (AD, SOYAD, UNVAN) VALUES (‘Ahmet’, ‘Çalışkan’, ‘Prof. Dr.’)

Hocalar tablosuna, 18 numaraya Prof. Dr.Ayşe Sarı’ı ekleyin. INSERT INTO HOCALAR ( HOCA_NO, AD, SOYAD, UNVAN ) VALUES (18, "Ayşe", "Sarı", "Prof. Dr."); Aynı kaydı tekrar eklemeye çalışın. Hangi hatayla karşılaşırsınız? Neden? Bu hatanın olmaması için tasarımın başlangıcında ne yapabilirdik?

1080203002 nolu öğrencinin BM AT2 dersinden 2011-2012 yılında aldığı vize 50, final 80 giriniz. insert into notlar (OGR_NO, DERS_KODU, DERS_YILI, VIZE, FINAL) values(1080203002, "BM AT2", "2011- 2012",50, 80) 5 nolu öğrenci için öğrencinin BM AT2 dersinden 2011-2012 yılında aldığı vize 50, final 80 giriniz. Neden hata verdi?

DELETE Bir tablodaki bir yada daha çok kaydı silmek amacıyla kullanılan DML komutudur. Hangi kayıt yada kayıtların silineceği WHERE sözcüğünden sonra verilen kriter ile belirlenir.

Eğer WHERE sözcüğü hiç kullanılmaz ise tablodaki tüm kayıtlar silinir( DELETE FROM NOTLAR NOTLAR tablosundan ‘2007-2008’ öğretim yılına ait tüm kayıtları silen DML ifadesi : DELETE FROM NOTLAR WHERE DERS_YILI = ‘2007- 2008’

UPDATE Bir tablodaki kayıtların güncellenmesi amacıyla kullanılan DML komutudur. Hangi kayıt yada kayıtların güncelleneceği WHERE sözcüğü ile verilen kriter ile, kayıtlardaki güncellenecek alanlar ise SET sözcüğü sonrasında yeni değerlerinin atanması ile belirtilir. Aşağıdaki DML ifadesi PERSONEL tablosundaki Pazarlama bölümünde çalışanların maaşlarını %10 oranında arttırır. UPDATE PERSONEL SET MAAS = MAAS * 1.1 WHERE BOLUM = (SELECT BOLUM_NO FROM BOLUMLER WHERE BOLUM_ADI = ‘Pazarlama’)

5 nolu hoca okuldan ayrılmış ve derslerine 16 nolu hoca girmeye başlamıştır. Dersler tablosunda 5 nolu hocayı 16 noluyla değiştirin. update dersler set HOCASI=16 where HOCASI=5

Sorgu sonucunu tablo yapma Bir sorgu sonucunun yeni bir tablo olarak saklanması isteniyorsa FROM öncesinde INTO TABLO_ADI kullanılır. Aşağıdaki SQL cümlesi PERSONEL tablosundaki tüm verileri yeni yaratacağı PERS_YEDEK tablosuna kopyalar: SELECT * INTO PERS_YEDEK FROM PERSONEL Eğer PERS_YEDEK tablosu önceden varsa, yukarıdaki komut önce tabloyu siler, sonra tekrar yaratarak verileri kopyalar.

Sorgu sonucunu INSERT ile kullanma Bir tabloya veri eklerken INSERT ifadesinde VALUES yazılmayıp bir sorgu da yazılabilir. Aşağıdaki ifade PERSONEL tablosundaki tüm verileri önceden yaratılmış olan PERS_YEDEK tablosuna ekler: INSERT INTO PERS_YEDEK SELECT * FROM PERSONEL Bu komut çalıştırılmadan önce PERS_YEDEK tablosu boş değilse anahtar alan olan PERSONEL_NO alanında veri tekrarına neden olabilir (dolayısı ile hata verebilir). Aşağıdaki ifade sadece 2010 yılından sonra işe başlayanları ekler: INSERT INTO PERS_YEDEK SELECT * FROM PERSONEL WHERE GIRIS_TARIHI > #1/1/2010#

CREATE Özellikleri ve veri türleri ile birlikte yeni bir tablo (ilişki) tanımlamak için kullanılır. Özellikler için NOT NULL tanımlaması yapılabilir. Birincil anahtar özellikler (PRIMARY KEY) tanımlanabilir. Farklı (UNIQUE) değerler alması gereken özellikler tanımlanabilir Bir alana veri girişi CHECK Constrain ile kontrol edilebilir Bir alana DEFAULT değer verilebilir Yabancı anahtarlar (FOREIGN KEY) tanımlanabilir

CREATE Kullanım Şekli CREATE TABLE <tablo_adı>(alan_adı veri_türü)

CREATE Firma Adını ve şehrini metin, numarasını sayı, kayıt tarihini tarih, firma ödeme tipini para birimi bazında düzenleyerek firma tablosunu oluşturunuz. create table firma (firma char, Tarih DATETIME, sehir char, no int, Odeme_tipi money)

CREATE Müşteri tablosunda, ad ve soyad 20 karakter, doğum tarihi olacak şekilde tabloyu oluşturunuz. create table musteri (ad char(20), soyad char(20), doğum DATETIME, telefon int)

CREATE Öğrenci tablosunu, öğrenci_id not null ve primary key, öğrenci no 8 karakter ve not null, tc kimlik no int ve not null,ad soyad 100 karakter ve not null, doğumtarihi ve doğum yeri de olacak şekilde kodlayınız. Create table ogrenci (ogr_id INT NOT NULL PRIMARY KEY, ogrNo CHAR(8) NOT NULL, tcNo int NOT NULL UNIQUE, ad CHAR(100) NOT NULL, Soyad CHAR(100) NOT NULL, dogumTarihi DATETIME not NULL, dogumYeri CHAR(50))

CREATE Tabloda, alanı yabancı anahtara dönüştürmek için kod: CONSTRAINT kısıt_adı FOREIGN KEY(alan_adi) REFERENCES alinan_tablo(alan_id),

CREATE Öğrenci notları tablosuna öğrenci tablosundan öğrenci_id yabancı anahtar şekilde giriniz. Tabloda öğrenci _notu alanı da tamsayı olsun. CREATE TABLE ogrenciNot (notu INT, ogr_id int, CONSTRAINT ilkkısıt FOREIGN KEY(ogr_id) REFERENCES ogrenci(ogr_id))

SQL – ALTER TABLE Komutu Tabloya alan ekleme, varolan alanı düzenleme ve silmek için ALTER TABLE komutu kullanılır, ALTER TABLE tablo_adi ADD alan_adi alan_turu; ALTER TABLE tablo_adi ALTER COLUMN alan_adi alan_turu; ALTER TABLE tablo_adi DROP COLUMN alan_adi;

SQL – ALTER TABLE Komutu Egitselyazilim veri tabanındaki kullanıcı tablosuna 50 karakterlik metin girişine imklan sağlayan e_posta isimli bir alan eklemek için; ALTER TABLE kullanici ADD e_posta VARCHAR(50),

SQL – ALTER TABLE Komutu Egitsel yazilim veri tabanındaki kullanıcı tablosuna birden fazla alan eklemek için; ALTER TABLE kullanici ADD (e_posta VARCHAR(50), yas INT (3), yer VARCHAR(80));

SQL – ALTER TABLE Komutu Öğrenci tablosuna bolum ve cinsiyeti ekleyiniz. ; ALTER TABLE ogrenci ADD bolum CHAR(20), cinsiyet char(10)

SQL – ALTER TABLE Komutu Egitselyazilim veri tabanındaki kullanıcı tablosundaki yer alanının veri türüyle ilgili değişiklik yapmak için; ALTER TABLE kullanici ALTER COLUMN yer VARCHAR(100);

SQL – ALTER TABLE Komutu Öğrenci tablosunda ad alanını 30 karakter olacak şekilde değiştiriniz; ALTER TABLE ogrenci alter column ad CHAR(30);

SQL – ALTER TABLE Komutu Egitselyazilim veri tabanındaki kullanıcı tablosundaki yer alanı kaldırmak için; ALTER TABLE kullanici DROP COLUMN yer;

SQL – ALTER TABLE Komutu Öğrenci tablosundaki bölüm alanını kaldırınız. ALTER TABLE ogrenci drop column bolum

SQL – DROP TABLE Komutu Veritabanında yer alan bir tabloyu kaldırmak için; DROP TABLE tabloadi;

SQL – DROP TABLE Komutu Egitselyazilim veri tabanındaki kullanıcı tablosunu kaldırmak için; DROP TABLE kullanici;

SQL – DROP TABLE Komutu Öğrenci tablosunu siliniz; DROP TABLE ogrenci;

SQL – CREATE VIEW Komutu View oluşturmak için; CREATE view view_adi AS SELECT alanadi,alanadi2 FROM tabloadi WHERE kosul;

SQL – CREATE VIEW Komutu Egitselyazilim veri tabanındaki kullanıcı tablosundaki Ahmet isimli kullanıcıların ad ve soyadları listeleyen bir view oluşturmak için; CREATE view kul_adsoyad AS SELECT adi,soyadi FROM kullanici WHERE adi=‘Ahmet’;

SQL – CREATE VIEW Komutu Access de çalışmıyor…. Öğrencilern 2008-2009 yılında BM 111 nolu dersten aldıkları notları, öğrenci adlarına göre sıralatan bir view oluşturunuz; CREATE view BM111_dersi SELECT ad, soyad,ders_yılı, ders_kodu FROM ogrenciler, notlar WHERE öğrenci.no=notlar.no

SQL – ALTER VIEW Komutu View oluşturmak için; ALTER view view_adi AS SELECT alanadi FROM tabloadi WHERE kosul;

SQL – ALTER VIEW Komutu Egitselyazilimdaki kul_adsoyad view’ını değiştirerek, veri tabanındaki tüm kullanıcıların ad ve soyadları listelemesi için; ALTER view kul_adsoyad AS SELECT adi,soyadi FROM kullanici;

Kaynakça http://altanmesut.trakya.edu.tr/vt/ http://www.muratyazici.com/wpcontent/dersler/vt/vtys5 .pdf http://sibelsomyurek.com/veritabani/ders_notlari.html http://www.muratyazici.com/wp/content/dersler/vt/vtS orular.pdf http://websitem.gazi.edu.tr/site/ayseoguz/files http://ali.pau.edu.tr/2012bahar/veritabani