Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.

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..
SQL Structured Query Language
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
SQL (Structured Query Language)
SQL (Structured Query Language)
SQL’e Giriş.
SQL Komutlar 5 Sibel SOMYÜREK.
EkoPC Bilişim Ltd. Eğitim Hizmetleri
Veri Tabanı Yönetim Sistemleri
Tek Tablo İçinde Sorgulamalar
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)
Bilgisayar Mühendisliği Bölümü
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
SQL Dili ve MySQL Komutları
SQL’e Giriş ve SELECT Komutu
VeriTabanı Uygulama.
SQL Sibel SOMYÜREK.
SQL Komutları (2) Uzm. Murat YAZICI.
Okul Yönetiminde Bilgisayar Uygulamaları
VTYS Öğr. Gör. Engin DUTAR
Veritabanlarına ve SQL'e Giriş Devrim GÜNDÜZ Kivi Bilişim Teknolojileri -
SQL’ e Giriş Uzm. Murat YAZICI.
Bölüm 4: İleri SQL.
Bölüm 8: SQL’de Yetkilendirmeler (Veri Kontrol Dili – DCL)
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
K ıSıT -V ıEW -S EQUENCE U NıON -I NTERSECTıON -E XCEPT E XıSTS -I N İbrahim Onur Sığırcı.
Yeni Veritabanı Oluşturma
S ORGU / DML / DDL KOMUTLARı İbrahim Onur Sığırcı.
Yapısal Sorgulama Dili SQL Hafta 7. TEKRARLI SATIRLARI ÖNLEMEK  DISTINCT komutu ile sorgu sonucunda birden fazla kayıt aynı verileri içeriyorsa tekrarlı.
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.
Veritabanlarına ve SQL'e Giriş Devrim GÜNDÜZ Teknoloji Destek Merkezi --
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
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
VIEW lerle çalışmak 11.BÖLÜM.
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
Veri Tabanı Yönetim Sistemleri 2 Ders 4 Oracle'da VT Nesneleri Yaratma
TETİKLEYİCİ ( Trigger)
Veri Tabanı Yönetim Sistemleri 1 Ders 10 Veri Sözlüğü ve DDL
İNDEKS.
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
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
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)
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
Sunum transkripti:

Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu

SQL Structured Query Language - Yapısal Sorgulama Dili Tarihi Gelişim: Veri tabanı kavramının olgunlaşması ile bir veri sorgulama diline ihtiyaç duyulmaya başlanmıştır. İlk başta matematiksel bir sözdizimine sahip olan SQUARE adlı bir dil geliştirilmiştir. Kolay kullanım hedeflenerek İngilizceye benzer bir sözdizimi kullanılması planlanmıştır. SEQUEL – Structured English Query Language olarak adlandırılan bu yeni dil SQUARE’in yerini almıştır. Günümüzde SEQUEL’in kısaltması olarak SQL kullanılmaya başlanmıştır.

SQL – Yapısal Sorgulama Dili SQL bir sorgulama dilidir. SQL’in kendine özgü deyimleri ve kuralları vardır. Hemen hemen tüm ilişkisel veri tabanı yönetim sistemlerinin ortak dili olarak kabul edilmiştir. Ortak bir dil olarak standart bir yapıya sahip olsa da veritabanına göre değişebilen bir takım farklı ifade biçimleri vardır. SQL veriler üzerinde üç ana kontrol alanı sağlamaktadır: Veri Tanımlama-DDL ( Create, Alter, Drop,... ) Veri İşleme-DML ( Select, Update, Insert, Delete, ) Veri Control- DCL (Grant, Deny, Revoke)

Veritabanı Oluşturma CREATE DATABESE ON PRIMARY (NAME=dosya_ismi, FILENAME=fiziki_dosya, SIZE=dosyaboyu, MAXSIZE=mak_dos_boy, FILEGROWTH=dos_art_boy) LOG ON (NAME=dosya_ismi, FILENAME=fiziki_dosya, SIZE=dosyaboyu, MAXSIZE=mak_dos_boy, FILEGROWTH=dos_art_boy)

Veritabanı Oluşturma CREATE DATABESE okul ON (NAME=okul_dat, FILENAME=c:\okuldat.mdf, SIZE=10, MAXSIZE=50, FILEGROWTH=5) LOG ON (NAME=okul_log, FILENAME=c:\okullog.ldf, SIZE=5MB, MAXSIZE=25MB, FILEGROWTH=5 MB)

Tablo Oluşturma CREATE TABLE (,, )

Tablo Oluşturma CREATE TABLE ogrenciler (ogr_no int NOT NULL PRIMARY KEY, ogr_adi varchar(25), bolum varchar(25)) CREATE TABLE personel (personel_id int NOT NULL, soyad nvarchar(255) NOT NULL, isim nvarchar(255), adres nvarchar(255), sehir nvarchar(255), UNIQUE (personel_id))

CONSTRAINT (kısıtlayıcılar) ❖ NULL / NOT NULL ❖ DEFAULT ❖ PRIMARY KEY ❖ CHECK ❖ UNIQE ❖ FOREIGN KEY

CONSTRAINT - NULL / NOT NULL CREATE TABLE ogrenciler (ogr_no int NOT NULL, ogr_adi varchar(25), bolum varchar(25)) Öğrenci numarasının otomatik artmasını isterseniz CREATE TABLE ogrenciler (ogr_no int IDENTITY (1, 1) NOT NULL, ogr_adi varchar(25), bolum varchar(25))

CONSTRAINT - DEFAULT CREATE TABLE ogrenciler (ogr_no int NOT NULL, ogr_adi varchar(25), bolum varchar(25) DEFAULT ‘ Endüstri Müh ‘ )

CONSTRAINT – PRIMARY KEY CREATE TABLE ogrenciler (ogr_no int PRIMARY KEY, ogr_adi varchar(25), bolum varchar(25) DEFAULT ‘ Endüstri Müh ‘ ) veya CREATE TABLE notlar (ogr_no int NOT NULL, ders_kodu varchar(25) not null, vize int, final int, CONSTRAINT pkkey PRIMARY KEY (ogr_no, ders_kodu))

CONSTRAINT – CHECK CREATE TABLE notlar (ogr_no int NOT NULL, ders_kodu varchar(25) not null, vize int CHECK (vize>=0), final int CHECK (final>=0), CONSTRAINT pkkey PRIMARY KEY (ogr_no, ders_kodu)) CREATE TABLE notlar (ogr_no int NOT NULL, ders_kodu varchar(25) not null, vize int, final int, CONSTRAINT pkvize CHECK (vize>=0 and vize<=100)) CONSTRAINT pkfinal CHECK (final>=0 and final<=100))

CONSTRAINT – UNIQE CREATE TABLE personel (personel_id int NOT NULL, soyad nvarchar(255) NOT NULL, isim nvarchar(255), adres nvarchar(255), sehir nvarchar(255), UNIQUE (personel_id))

CONSTRAINT – FOREIGN KEY OGRENCİ(ogr_no, ad, soyad, bolum) ve DERS(ders_kodu, ders_ad) tabloları ile ilişkili olacak NOTLAR tablosunu ve ilişkiyi oluşturan sql ifadeleri verilmiştir. CREATE TABLE notlar (ogr_no int FOREIGN KEY REFERENCES ogrenci(ogr_no), ders_kodu varchar(25) FOREIGN KEY PREFERENCES ders (ders_kodu), vize int, final int) CREATE TABLE notlar ( ogr_no int, ders_kodu varchar (25), vize int, final int, CONSTAINT fk_ogr_no FOREIGN KEY (ogr_no) REFERENCES ogrenci (ogr_no) CONSTAINT fk_dkod FOREIGN KEY (ders_kodu) REFERENCES ders(ders_kodu)

ALTER ∗ ALTER TABLE tablo_adı ADD yeni_sut_ad özellikler ∗ ALTER TABLE tablo_adı DROP COLUMN sut_ad ∗ ALTER TABLE tablo_adı ALTER COLUMN sut_ad sut_özellik ALTER TABLE ogrenci ADD UNIQE(ogr_no) ALTER TABLE ogrenci ADD CONSTRAINT uc_de UNIQE (ogr_no, ad) ALTER TABLE ogrenci ADD PRIMARY KEY(ogr_no) ALTER TABLE ogrenci ALTER COLUMN d_tarihi varchar(15) NULL ALTER TABLE ogrenci DROP COLUMN d_tarihi

DROP ∗ DROP TABLE tablo adı ∗ DROP DATABASE veritabanı_adı ∗ TRUNCATE TABLE tablo_adı ∗ DROP TABLE ogrenci ∗ TRUNCATE TABLE ogrenci ∗ DROP DATABASE ogrenci

DML – VERİ İŞLEME DİLİ ∗ SELECT ∗ INSERT ∗ UPDATE ∗ DELETE

Sorgulama İşlemleri: Select Deyimi SELECT yazım kuralları: 1.Kural: SQL deyimleri büyük – küçük harf ayırımından etkilenmez. SQL deyiminin bir kısmı büyük; diğer bir kısmı küçük harflerle ifade edilebilir. 1.Kural: Bir SQL deyimi bir veya daha fazla satırda yer alabilir. 1.Kural: SQL komutları kısaltılamaz veya yarıda kesilerek alt satırdan devam edemez. 2.Kural: Bazı VTYS ler satır sonuna ; eklenmesi gerekir SQL deyimleri düzenlenirken bu kuralları ve önerileri göz önünde tutmak gerekmektedir. Aksi takdirde sorgu hata verebilir.

Select Deyimiyle Sorgulanacak olan tablonun her sütunu yazılabilir Bir veya birden fazla tabloda sorgulama yapılabilir Kayıtlar belirli koşul veya koşullara göre sorgulanabilir Sorgu esnasında birden fazla sütun birleştirilebilir veya ek bilgiler eklenebilir Sayısal veriler üzerinde matematiksel işlemler uygulanabilir Bir veya birden fazla sütuna göre sıralama yapılabilir. Farklı tablolardan ortak sütunlarla ilişkilendirip ortak özellikli kayıtlar seçilebilir İç içe select cümleleri kullanılabilir.

SELECT ∗ SELECT * FROM tablo_adı ∗ SELECT sütun1, sütun2, …. FROM tablo_adı ∗ SELECT sütun1, sütun2, …. FROM tablo_adı WHERE koşul ∗ Koşul ifadelerinde kullanılabilecek ek özellikler ∗ (, =, NOT) ∗ AND ∗ OR ∗ IN ∗ LIKE

SELECT ∗ SELECT * FROM personel ∗ SELECT no, ad FROM personel ∗ SELECT * FROM personel WHERE ad=‘Ahmet’ ∗ SELECT * FROM personel WHERE per_id=2 ∗ SELECT * FROM personel WHERE gorev=‘Mühendis’ AND sehir=‘İzmir’ ∗ SELECT * FROM personel WHERE gorev=‘Mühendis’ OR sehir=‘İzmir’ ∗ SELECT * FROM personel WHERE sehir IN (‘İzmir’, ‘Ankara’) ∗ SELECT * FROM personel WHERE ad LIKE(‘%A%’) ∗ SELECT * FROM personel WHERE ad LIKE ‘_A_’ OR sehir IN (‘İzmir’, ‘Ankara’)

INSERT ∗ INSERT INTO tablo_adı VALUES (değer1, deger2, …) ∗ Tüm alanlara veri girilecekse sütunların belirtilmesi gerekmez fakat sadece belirli sütunlara veri girilecekse veri girilecek alanların belirtilmesi gerekmektedir. ∗ INSERT INTO tablo_adı (sütun1, sütun2,…) VALUES(değer1, değer2, …)

UPDATE ∗ UPDATE tablo_adı SET sütun1=değer, sütun2=değer,…. WHERE koşul ∗ UPDATE personel SET telefon=‘ ’ WHERE ad=‘Ali’ and soyad=‘Kayhan’

DELETE ∗ DELETE FROM tablo_adı WHERE koşul ∗ DELETE FROM personel WHERE ad LIKE ‘%hm%’ ∗ TURUNCATE TABLE tablo_adı ∗ DELETE FROM tablo_adı aynı işlemi yapar

VERİ CONTROL DİLİ (DCL) ∗ Veri erişimini düzenlemek için kullanılan komutlardır. GRANT, DENY ve REVOKE ∗ GRANT: kullanıcıların kayıtlar üzerinde işlem yapmasına ve SQl çalıştırmasına izin veriri ∗ DENY: kullanıcıların kayıtları kullanmasını kısıtlar ∗ REVOKE: daha önce yapılan tüm kısıtlama ve izinleri iptal eder.

GRANT GRANT{ALL veya izinler} ON {izin alanı} TO{kullanıcılar} GRANT SELECT ON ogrenci TO deneme GRANT CREATE TABLE ON ogrenci TO deneme GRANT SELECT ON ogrenci TO deneme, deneme2

DENY DENY {ALL veya izinler} ON {izin alanı} TO{kullanıcılar} DENY CREATE TABLE TO deneme DENY SELECT ON ogrenci TO deneme *Oracle kullanmamaktadır.

REVOKE REVOKE {ALL veya izinler} FROM {kullanıcılar} REVOKE ALL FROM public REVOKE SELECT ON personel FROM public REVOKE UPDATE ON ogrenci FROM deneme

Örnek Veritabanı Uygulama

n n n n n n n n Ogrenci ogr_no ad_soyad adres d_tarih bolum_ıd kayit_tarihi mezun_tarihi Bolum bolum_id bolum_ad Ogrt_El Ogrt_id ad_soyad unvan bolum_id Ders ders_id ders_adi ogrt_id bolum_id Ogr_basari basari_id ders_id ogr_no vize final butunleme Ders_kayit ders_kayit_id ogr_no ders_id Donem Örnek Veritabanı Uygulama

Bolum bolum_id bolum_ad nvarchar(10) nvarchar(50) Ogrt_El Ogrt_id ad_soyad unvan bolum_id nvarchar(10) nvarchar(50 nvarchar(15) nvarchar(10) Ders ders_id ders_adi ogrt_id bolum_id nvarchar(10) nvarchar(50) nvarchar(10) Ogr_basari basari_id ders_id ogr_no vize final butunleme int nvarchar(10) int Ders_kayit ders_kayit_id ogr_no ders_id Donem int nvarchar(10) int Aşağıdaki Tabloları Oluşturunuz Ogrenci ogr_no ad_soyad adres d_tarih bolum_ıd kayit_tarihi mezun_tarihi int nvarchar(50) nvarchar(150) date nvarchar(10) date

DERS TABLOSU SQL ∗ create table ders (ders_id nvarchar(10) primary key, ders_adi nvarchar(50), ogrt_id nvarchar(10), bolum_id nvarchar(10))

OGRENCİ TABLOSU SQL ∗ create table ogrenci (ogr_no int primary key, ad_soyad nvarchar(50), adres nvarchar(150), d_tarihi date, bolum_id nvarchar(10), kayit_tarihi date, mezun_tarihi date,)

BOLUM TABLOSU SQL ∗ create table bolum (bolum_id nvarchar(10) primary key, bolum_adi nvarchar(50))

OGRT_EL TABLOSU SQL ∗ create table ogrt_el (ogrt_id nvarchar(10) primary key, ad_soyad nvarchar(50), unvan nvarchar(15), bolum_id nvarchar(10))

DERS KAYIT TABLOSU SQL ∗ create table ders_kayit (ders_kayit_id int primary key, ogr_no int, ders_id nvarchar(10), donem int)

OGRENCİ BAŞARI TABLOSU SQL ∗ create table ogrenci_basari (basari_id int primary key, ogr_no nvarchar(10), ders_id nvarchar(10), vize int, final int, butunleme int)

Ders Tablosuna Verileri Ekleyiniz ders_idders_adiogrt_idbolum_id ENM220İmalat Sistemleri ve StratejileriA00302 ELK206İstatistik IIA06504 MAK218Malzeme ve İmalat TeknolojileriA01206 ENM216Veritabanı YönetimiA14402 ENM214Yöneylem Araştırması-IA00302

Ders Tablosuna Verileri Ekleme ∗ INSERT INTO ders VALUES ('ENM220', 'İmalat Sistemleri ve Stratejileri', 'A003', '02') ∗ INSERT INTO ders VALUES ('ELK206', İstatistik II', 'A065', '04') ∗ …

Öğrenci Tablosuna Verileri Ekleyiniz ogr_noad_soyadadresd_tarihi 1212Yakup ATEŞAnkara Esra ÜNALİstanbul Hilal ÖZTÜRKİstanbul Fatma AKSOYBursa Gözde BOZKURTYozgat Hakan TUNCERAnkara Buğra AYDINİstanbul

Öğrenci Tablosuna Verileri Ekleme ∗ INSERT INTO ogrenci (ogr_no, ad_soyad, adres, d_tarihi) VALUES (1212, 'Yakup ATEŞ', 'ANKARA', ' ') ∗ INSERT INTO ogrenci (ogr_no, ad_soyad, adres, d_tarihi) VALUES (1214, Esra ÜNAL', ‘İSTANBUL', ' ') ∗ …

Öğrenci Tablosuna Verileri Ekleyiniz ogr_nobolum_idkayit_tarihimez_tarihi

Öğrenci Tablosuna Verileri Ekleme ∗ UPDATE ogrenci SET bolum_id='02', kayit_tarihi=' ' WHERE ogr_no=1212 ∗ UPDATE ogrenci SET bolum_id='02', kayit_tarihi=' ' WHERE ogr_no=1214 ∗ …

Bölüm Tablosuna Verileri Ekleyiniz bolum_idbolum_adi 02Endüstri Mühendisliği 04Elektrik-Elektronik Mühendisliği 06Makine Mühendisliği

Bölüm Tablosuna Verileri Ekleme ∗ INSERT INTO bolum VALUES (‘02', ‘Endüstri Mühendisliği') ∗ INSERT INTO bolum VALUES (‘04', ‘Elektrik-Elektronik Mühendisliği ') ∗ INSERT INTO bolum VALUES (‘06', ‘Makine Mühendisliği')

Öğrt El. Tablosuna Verileri Ekleyiniz ogrt_idad_soyadunvanbolum_id A003Cemil TAŞProf. Dr02 A012Ahmet ATAKDoç. Dr.06 A065Ayşe YILMAZYrd. Doç. Dr.04 A144Hasan ALANYrd. Doç. Dr.02

Öğr_El Tablosuna Verileri Ekleme ∗ INSERT INTO ogrt_el VALUES ('A003', 'Prof. Dr.', 'Cemil TAŞ', '02') ∗ INSERT INTO ogrt_el VALUES ('A012', ‘Doç. Dr.', ‘ahmet ATAK', '06') ∗ INSERT INTO ogrt_el VALUES ('A065', ‘Yrd. Doç. Dr.', ‘Ayşe YILMAZ', '04') ∗ INSERT INTO ogrt_el VALUES ('A144', ‘Yrd. Doç. Dr.', ‘Hasan ALAN', '02')