Sunuyu indir
Sunum yükleniyor. Lütfen bekleyiniz
YayınlayanDerya Ece Değiştirilmiş 8 yıl önce
1
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu
2
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.
3
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)
4
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)
5
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)
6
Tablo Oluşturma CREATE TABLE (,, )
7
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))
8
CONSTRAINT (kısıtlayıcılar) ❖ NULL / NOT NULL ❖ DEFAULT ❖ PRIMARY KEY ❖ CHECK ❖ UNIQE ❖ FOREIGN KEY
9
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))
10
CONSTRAINT - DEFAULT CREATE TABLE ogrenciler (ogr_no int NOT NULL, ogr_adi varchar(25), bolum varchar(25) DEFAULT ‘ Endüstri Müh ‘ )
11
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))
12
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))
13
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))
14
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)
15
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
16
DROP ∗ DROP TABLE tablo adı ∗ DROP DATABASE veritabanı_adı ∗ TRUNCATE TABLE tablo_adı ∗ DROP TABLE ogrenci ∗ TRUNCATE TABLE ogrenci ∗ DROP DATABASE ogrenci
17
DML – VERİ İŞLEME DİLİ ∗ SELECT ∗ INSERT ∗ UPDATE ∗ DELETE
18
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.
19
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.
20
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
21
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’)
22
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, …)
23
UPDATE ∗ UPDATE tablo_adı SET sütun1=değer, sütun2=değer,…. WHERE koşul ∗ UPDATE personel SET mail=‘iletisim@...’, telefon=‘12345612’ WHERE ad=‘Ali’ and soyad=‘Kayhan’
24
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
25
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.
26
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
27
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.
28
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
29
Örnek Veritabanı Uygulama
30
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
31
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
32
DERS TABLOSU SQL ∗ create table ders (ders_id nvarchar(10) primary key, ders_adi nvarchar(50), ogrt_id nvarchar(10), bolum_id nvarchar(10))
33
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,)
34
BOLUM TABLOSU SQL ∗ create table bolum (bolum_id nvarchar(10) primary key, bolum_adi nvarchar(50))
35
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))
36
DERS KAYIT TABLOSU SQL ∗ create table ders_kayit (ders_kayit_id int primary key, ogr_no int, ders_id nvarchar(10), donem int)
37
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)
38
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
39
Ders Tablosuna Verileri Ekleme ∗ INSERT INTO ders VALUES ('ENM220', 'İmalat Sistemleri ve Stratejileri', 'A003', '02') ∗ INSERT INTO ders VALUES ('ELK206', İstatistik II', 'A065', '04') ∗ …
40
Öğrenci Tablosuna Verileri Ekleyiniz ogr_noad_soyadadresd_tarihi 1212Yakup ATEŞAnkara15.12.1994 1214Esra ÜNALİstanbul10.02.1992 1216Hilal ÖZTÜRKİstanbul23.04.1993 1234Fatma AKSOYBursa18.03.1993 1245Gözde BOZKURTYozgat29.05.1994 1255Hakan TUNCERAnkara30.08.1992 1266Buğra AYDINİstanbul29.09.1993
41
Öğrenci Tablosuna Verileri Ekleme ∗ INSERT INTO ogrenci (ogr_no, ad_soyad, adres, d_tarihi) VALUES (1212, 'Yakup ATEŞ', 'ANKARA', '1994-12-15') ∗ INSERT INTO ogrenci (ogr_no, ad_soyad, adres, d_tarihi) VALUES (1214, Esra ÜNAL', ‘İSTANBUL', '1992-02-10') ∗ …
42
Öğrenci Tablosuna Verileri Ekleyiniz ogr_nobolum_idkayit_tarihimez_tarihi 12120204.09.2010 12140205.09.2010 12160404.09.2010 12340204.09.2010 12450606.09.2010 12550204.09.2010 12660405.09.2010
43
Öğrenci Tablosuna Verileri Ekleme ∗ UPDATE ogrenci SET bolum_id='02', kayit_tarihi='2010-09- 04' WHERE ogr_no=1212 ∗ UPDATE ogrenci SET bolum_id='02', kayit_tarihi='2010-09- 05' WHERE ogr_no=1214 ∗ …
44
Bölüm Tablosuna Verileri Ekleyiniz bolum_idbolum_adi 02Endüstri Mühendisliği 04Elektrik-Elektronik Mühendisliği 06Makine Mühendisliği
45
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')
46
Öğ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
47
Öğ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')
Benzer bir sunumlar
© 2024 SlidePlayer.biz.tr Inc.
All rights reserved.