SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL

Benzer belgeler
VERİ TABANI YÖNETİM SİSTEMLERİ-II

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

Veri Tabanı Hafta Dersi

VERİTABANI Veritabanı Yönetimi

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

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Kısıtlamalar (Constraints)

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

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

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

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

Veritabanına Uygulanması

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

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

SORGULAR VE ÇEŞİTLERİ II

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

SQL e Giriş. Uzm. Murat YAZICI

Veritabanı Yönetim Sistemleri I HAFTA 1

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

Bölüm 4: DDL Veri Tanımlama Dili

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

KISITLAMALAR (CONSTRAINT)

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

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

SQL Komutları (2) Uzm. Murat YAZICI

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

Mysql Veritabanı Komutları

SQL (Structured Query Language)

Veri Tabanı Hafta Dersi

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

BİLİŞİM TEKNOLOJİLERİ

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

Oracle da kullanılan veri tipleri:

Oracle Database 11g: Introduction to SQL

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

Durhan GABRALI Veritabanı Organizasyonu Dersi (11B)

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

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU

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

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

Veri Tabanı-I 5.Hafta

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

1. Hafta MS SQL Server 2008 Kurulum ve Tanıtımı BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: Kurulum:

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

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.

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

Veri Tabanı Programlamaya Giriş

Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu tabloya göre yapacağız.

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

ACCESS PLATFORMUNDA SQL

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

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

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

İNTERNET PROGRAMCILIĞI DERSİ

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

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

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

VERİ TABANI ve YÖNETİMİ

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

Ders Tanıtım Sunumu. Database Managegement II. Elbistan Meslek Yüksek Okulu Güz Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

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

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

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

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

STORED PROCEDURE LER (Saklı Yordamlar)

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Veritabanı. SQL (Structured Query Language)

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

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

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

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

«BM364» Veritabanı Uygulamaları

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

Veri Tabanı Tasarım ve Yönetimi

1 - Adi A Harfi İle Biten Kişilerin Listesi İçin Hangisi Kullanılmalıdır? Select * From Kisiler Where Adi End A Select * From Kisiler Where Adi Like

BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK

YAPISAL SORGULAMA DİLİ (SQL)

2- Total de 8000 byte yer tutup 4000 karakter olarak kullanabildiğimiz tip aşağıdakilerden hangisidir?

SQL Kod ile Tablo Oluşturma

SQL (Structured Query Language) kendisi bir programlama dili olmamasına rağmen bir çok kişi tarafından programlama dili olarak bilinir.

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

BÖLÜM -7: TABLOLARI OLUŞTURMA VE YÖNETME

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

Tavsiye Edilen Önhazırlık Temel veritabanı kavramlar hakkında bilgi sahibi olmak. Hedefler Temel veritabanı güvenlik işlemlerini gerçekleştirebilmek

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Mühendislikte Veri Tabanları Dersi Uygulamaları (MS-Access)

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10));

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

Veritabanı Tarihi. 1960s: Bilgisayarlar artan saklama kapasiteleri ile birlikte firmalar tarafından karşılanabilir hale gelmeye başladı

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

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

OTURUM AÇMA ADLARI. Tavsiye Edilen Önhazırlık Enterprise Manager'i kullanabilmek.

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

Veritabanı Tasarımı. Veritabanı Hareketleri

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Algoritmalar ve Programlama. Algoritma

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

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ü

Transkript:

SUNGURLU MESLEK YÜKSEKOKULU BİLGİSAYAR TEKNOLOJİLERİ/BİLGİSAYAR PROGRAMCILIĞI 2017-2018 GÜZ DÖNEMİ VERİ TABANI YÖNETİM SİSTEMLERİ-II 5. T-SQL Öğr. Gör. Saliha Kevser KAVUNCU

1. TRANSACT SQL KAVRAMI Microsoft'un veri tabanı sorgulama dilidir. Transact-SQL, SQL Server ve istemci(client) arasında iletişimi sağlayan SQL sorgulama dilinin gelişmiş bir versiyonudur. Transact Structured Query Language kelimelerinin kısaltmasıdır. Sungurlu Meslek Yüksekokulu

Sql Üç Alt Grupta İncelenir: 1. DDL (Data Definition Language): Veri tabanı üzerinde nesne tanımlama amaçlı kullanılır. CREATE nesne_adi ALTER nesne_adi DROP nesne_adi

Sql Üç Alt Grupta İncelenir: 2. DML (Data Manipulation Language) Veri tabanı içindeki verileri sorgulamak ve üzerlerinde işlem yapabilmek amacıyla kullanılır. SELECT INSERT UPDATE DELETE

Sql Üç Alt Grupta İncelenir: 2. DML (Data Manipulation Language) Veri tabanı içindeki verileri sorgulamak ve üzerlerinde işlem yapabilmek amacıyla kullanılır. SELECT INSERT UPDATE DELETE

Sql Üç Alt Grupta İncelenir: 2. DCL (Data Control Language) İşlem izinleri ve yasakları gibi işlemleri yapmak için kullanılır. GRANT DENY REVOKE

Sql Üç Alt Grupta İncelenir: 2. DCL (Data Control Language) İşlem izinleri ve yasakları gibi işlemleri yapmak için kullanılır. GRANT DENY REVOKE

Nesne ve Tanımlayıcı İsimlendirme Tipleri i. En çok kullanılan standartlar aşağıda özetlenmektedir. ii. Pascal Case: Kelimelerin ilk harfleri büyük diğerleri küçük yazılır. Örneğin AdSoyad, EvTel, CepTel, OgrenciNo vb. iii.camel Case: Birinci kelimelerin ilk harfi hariç diğer kelimelerin ilk harfleri büyük, diğerleri küçük yazılır. Örneğin adsoyad, evtel, ceptelno vb. iv. Upper Case: Kelimelerin tüm harfleri büyük yazılır. Örneğin ADSOYAD, EVTEL, UCGENALAN vb. v. Underscore Case: Kelimelerin arasına alt çizgi yazılır. Örneğin, Ad_Soyad, Ev_Tel, Cep_tel_No vb.

Nesne ve Tanımlayıcı İsimlendirme Kuralları i. İngiliz alfabesindeki A-Z veya a-z arası 26 harf kullanılabilir. ii. 0-9 arası rakamlar kullanılabilir. Simgelerden sadece alt çizgi (_) kullanılabilir. iii. Tanımlayıcılar, harf veya alt çizgi ile başlayabilir. Ancak rakamla başlayamaz veya sadece rakamlardan oluşamaz. iv. Tanımlayıcı, ilgili programlama dilinin komutu veya anahtar kelimesi olamaz. v. Bir tanımlayıcı özel anlamları olan @, @@, #, ##, $ ile başlamamalıdır. Bu karakterlerden @ değişkenlerin başına gelir. @@ sistem ortam değerleri fonksiyonların başına gelir. # ise geçici nesne belirteci olarak kullanılır. vi. Kelimeler arası boşluk yer almamalıdır. vii. Select, Not, Desc gibi kelimeler kullanılamaz.

1. CREATE Veri tabanındaki nesnelerin oluşturulabilmesi için CREATE komutu kullanılır. Oluşturulacak nesnenin özellikleri dikkate alınarak farklı parametreler kullanılmalıdır.

1.a. Create- Veritabanı Oluşturma

1.a. Create- Veritabanı Oluşturma CREATE DATABASE SQLEgitim ON PRIMARY ( NAME = SQLEgitim_DATA, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\SQLEgitim.mdf', SIZE = 8MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10% ) LOG ON ( NAME = SQLEgitim_LOG, FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\SQLEgitim_log.ldf', SIZE = 8MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10% )

1.a. Create- Veritabanı Oluşturma CREATE DATABASE SQLEgitim ifadesi ile Sungurlu isminde bir veritabanı oluşturacağımızı belirttik. PRIMARY ise birincil dosyada oluşturduğumuzu belirtmiş oluyoruz. PRIMARY belirtilmemişse, CREATE DATABASE deyiminde listelenen ilk dosya birincil dosya olur.

1.a. Create- Veritabanı Oluşturma NAME: SQL Server veritabanımıza başvurduğunda bu ismi kullanır. İsim uniqe(benzersiz) olmak zorundadır. FILENAME: Veritabanımızın kaydedileceği yolu belirttiğimiz yerdir. Eğer belirttiğin klasör yok ise önceden oluşturmanız gerekiyor. SIZE: Veritabanınızın ilk boyutu MAXSIZE: Veritabanınızın en fazla ulaşabileceği boyut FILEGROWTH: Yeterli boşluk kalmadığında veritabanınızın genişleme miktarı

1.a. Create- Veritabanı Oluşturma LOG NAME: Log dosyanızın SQL Server başvurduğunda kullanacağı isim. Uniqe olmak zorundadır. FILENAME: Log dosyanızın kaydedileceği yolu belirtiğimiz yerdir. SIZE: Log dosyanızın ilk boyutu MAXSIZE: Log dosyanızın en fazla ulaşabileceği boyut FILEGROWTH: Yeterli boşluk kalmadığında log dosyanızın genişleme miktarı

1.a. Create- Veritabanı Oluşturma LOG NAME: Log dosyanızın SQL Server başvurduğunda kullanacağı isim. Uniqe olmak zorundadır. FILENAME: Log dosyanızın kaydedileceği yolu belirtiğimiz yerdir. SIZE: Log dosyanızın ilk boyutu MAXSIZE: Log dosyanızın en fazla ulaşabileceği boyut FILEGROWTH: Yeterli boşluk kalmadığında log dosyanızın genişleme miktarı

CREATE TABLE ifadesi ile var olan veritabanımıza yeni bir tablo oluşturulur. Bu işlemi yapabilmek için mevcut kullanıcımızın tablo oluşturma yetkisine sahip olması gerekmektedir. Create Table Kullanım Biçimi: CREATE TABLE ( alan_adi1 veri_tipi(boyut), alan_adi2 veri_tipi(boyut), alan_adi3 veri_tipi(boyut),... ) 1.b. Creat- Tablo Oluşturma

1.b. Creat- Tablo Oluşturma Bu kod ile id isminde bir sayısal alan, boşluklar dahil olmak üzere numara ve harften oluşan 25 karakterli adi_soyadi, 15 karakterli sehir ve bolum ile medeni_durum adında bolean yani "evet-hayır", "var-yok", "1-0" gibi sadece iki seçenekli bir alan tanımlanıyor. Oluşan tabloda herhangi bir kayıt olamayacaktır.

SQL PRIMARY KEY Kullanımı: PRIMARY KEY ile tablomuzdaki ilgili alanda benzersiz kayıtların tutulmasını istediğimiz durumlarda kullanılır. Yapısal olarak UNIQUE ile karıştırılabilir. Aradaki farkları sıralayacak olursak: - Birden fazla alan tek bir PRIMARY KEY ile tanımlanabilir. Ancak PRIMARY KEY yapısı her tabloda sadece bir tane olabilir. UNIQUE yapısı bir tabloda birden fazla olabilir. - PRIMARY KEY yapısı ile boş kayıtlara izin verilmez. UNIQUE yapısında boş kayıtlara izi n verilir. - PRIMARY KEY yapısı ile tablo üzerinde bir index tanımı oluşturulur her kaydın benzersiz bir tanımı yapılır. Böylece kullandığınız uygulama geliştirme ortamında (Ör:.NET) tablo üzerinde daha etkin sonuçlar elde edilebilir. UNIQUE yapısında ise alandaki değerlerin benzersiz olup olmadığına bakılır. Birden fazla alanda UNIQUE yapıldığında bunları bir index adıyla tanımlanmaı sağlaabilir ancak bu sadece bir tanımladır.)

SQL PRIMARY KEY Kullanımı: PRIMARY KEY Kullanım Biçimi CREATE TABLE Personel ( id int NOT NULL PRIMARY KEY, adi_soyadi varchar(20), Sehir varchar(20) )

PRIMARY KEY Kullanım Biçimi Birden fazla alanda kullanım biçimine örnek: CREATE TABLE Personel ( id int NOT NULL, adi_soyadi varchar(20) NOT NULL, Sehir varchar(20), CONSTRAINT id_no PRIMARY KEY (id,adi_soyadi) ) *Burada görüleceği üzere birden fazla alan PRIMARY KEY yapısı içine alınıyor. CONSTRAINT ifadesi ile bu işleme bir tanım giriliyor. Aslında bu tanım bizim tablomuzun index alanını oluşturmaktadır. İndexleme sayesinde tablomuzdaki verilerin bütülüğü daha sağlam olurken aramalarda da daha hızlı sonuçlar elde ederiz. Ayrıca kullandığınz uygulama geliştirme ortamlarında (ör.net) tablo üzerinde daha etkin kullanım imkanınız olacaktır. PRIMARY KEY ifadesinden sonra ise ilgili alanları virgül ile ayırarak yazarız.

SQL UNIQUE Kullanımı: Tablomuzda bir alandaki verilerin tekrarlı olmasını istemiyorsak UNIQUE kriterini kullanmamız gerekir. Tablo tasarımını yaparken bir alanın UNIQUE olup olmayacağına iyi karar vermemiz gerekir. Çünkü daha sonradan ALTER komutu ile alanın özelliklerini değiştirirken, ilgili alanda tekrarlayan kayıtlar varsa UNIQUE değerini veremeyiz. PRIMARY KEY ile çokça karıştırılmaktadır. Aradaki farkları sıralayacak olursak: Birden fazla alan tek bir PRIMARY KEY ile tanımlanabilir. Ancak *PRIMARY KEY yapısı her tabloda sadece bir tane olabilir. UNIQUE yapısı bir tabloda birden fazla olabilir. *PRIMARY KEY yapısı ile boş kayıtlara izin verilmez. UNIQUE yapısında boş kayıtlara izi n verilir. *PRIMARY KEY yapısı ile tablo üzerinde bir index tanımı oluşturulur Her kaydın benzersiz bir tanımı yapılır. Böylece kullandığınız uygulama geliştirme ortamında (Ör:.NET) tablo üzerinde daha etkin sonuçlar elde edilebilir. UNIQUE yapısında ise alandaki değerlerin benzersiz olup olmadığına bakılır. Birden fazla alanda UNIQUE yapıldığında bunları bir index adıyla tanımlanmaı sağlanabilir ancak bu sadece bir tanımladır.

UNIQUE Kullanım Biçimi: Örnek 1: CREATE TABLE Personel ( id int NOT NULL UNIQUE, adi_soyadi varchar(20), Sehir varchar(20) ) Örnek 2: CREATE TABLE Personel ( id int NOT NULL, adi_soyadi varchar(20) NOT NULL, Sehir varchar(20), CONSTRAINT id_no UNIQUE (id,adi_soyadi) )

SQL NOT NULL Kullanımı: Tablomuza kayıt girerken NOT NULL kriteri ile belirleyeceğimiz alan veya alanların boş geçilmesini engelleyebiliriz. NOT NULL kriteri tabloyu ilk defa oluştururken belirlenebileceği gibi daha sonra ALTER yapısı ile de belirleyeceğmiz alanlara NOT NULL kriterini verebiliriz. Örnek: Create Table (id int NOT NULL, adi_soyadi varchar(20), Meslek varchar(10) ) Yuklarıdaki örnekte, id numarası alanının boş geçilmemesi gerektiği için sadece id alanını NOT NULL kriteri ile yapıladırılmıştır.

SQL IDENTITY Kullanımı Tablomuza her kayıt eklendiğinde bir alanda bulunan değerin benzersiz olmasını ve otomatik olarak artmasını isteyebiliriz. Daha çok kayıtlarımız için bir id numarası alanı kullanıyorsak, IDENTITY (n,m) kullanılır. Sadece sayısal alalarda kullanılır. SQL Server tarafında IDENTITY kelimesi kullanılır. Parantezin içindeki birinci rakam başlama değerini, ikinci rakam ise artış miktarını belirler. CREATE TABLE Personel ( id int IDENTITY(1,1) PRIMARY KEY, adi varchar(10), soyadi varchar(10= ) Bu örnekte ilk numara 1 'den başlayacaktır ve her kayıt eklendiğinde id alanı bir numara artacaktır. Eğer ilk kayıt numarasını 50'den başlamasını ve 5 farkla eklenmesini istersek IDENTITY(50,5) yazmamız yeterli olacaktır.

SQL FOREIGN KEY Kullanımı Temel olrak FOREIGN KEY yardımcı index oluşturmak için kullanılır. Bir tabloda "id" alanına PRIMARY KEY uygulayabiliriz. Ancak aynı tablodaki başka bir alan farklı bir tablodaki kayda bağlı çalışabilir. MS Access veritabanlarında bu duruma "İlişkili Veritabanı" deniliyor. İşte bu iki tablo arasında bir bağ kurmak gerektiği durumlarda FOREIGN KEY devreye giriyor. Böylece tablolar arası veri akışı daha hızlı olduğu gibi ileride artan kayıt sayısı sonucu veri bozulmalarının önüne geçilmiş olunur.

SQL FOREIGN KEY Kullanımı Burada Personel tablomuzdaki "p_id" alanı ve Satışlar tablomuzdaki "s_id" alanları Primary Key ile indexlenmiştir. Ancak Satışlar tablosunda, ilgili satış işleminin hangi personel tarafından yapıldığı bilgisini tutan "satan_id" isimli alan vardır. Yazacağınız programda veritabanından bilgileri çekip ekrana aktaracağınız için iki tablo arasında bir ilişki vardır. Bu ilişkiyi ise Personel tablosundaki "p_id" ile Satışlar tablosundaki "satan_id" alanları belirler. Dolayısı ile "satan_id" alanına FOREIGN KEY yani ikincil index tanınlayarak aradaki veri bütünlüğünün sağlanmasını sağlarken aynı zamanda da veri akışının da hızlanmasını sağlamış oluruz. CREATE TABLE Satislar (id int NOT NULL PRIMARY KEY, Urun varchar(20), Satis_fiyati varchar(20), satan_id int FOREIGN KEY References Personel(id) ) FOREIGN KEY tanımlaması yapılırken hangi tablodaki hangi alanla ilişkili oldğunu REFERENCES ifadesinden sonra yazmak gerekir.

2. ALTER Tablomuzda bulunan bir alanı silebilir, adını veya tipini değiştirebilir veya yeni bir alan ekleyebiliriz. Bu işlemler için ALTER TABLE kullanılmaktadır.

2.a. Alter-Alan Ekleme ALTER TABLE tablo_adi ADD alan_adi veri_tipi Uygulama: *ALTER TABLE Personel ADD Dogum_tarihi year *ALTER TABLE Personel ADD PRIMARY KEY (id)

2.a. Alter-Alan Ekleme *ALTER TABLE Personel ADD CONSTRAINT id_no PRIMARY KEY (id,adi_soyadi) *ALTER TABLE Personel ADD UNIQUE (id) *ALTER TABLE Personel ADD CONSTRAINT id_no UNIQUE (id,adi_soyadi)

2.b. Alter-Alan Silme ALTER TABLE tablo_adi DROP CLOUMN alan_adi Uygulama: ALTER TABLE Personel DROP Dogum_tarihi year

TRUNCATE TABLE Kullanım Biçimi TRUNCATE TABLE tablo_adi Örnek: TRUNCATE TABLE KisiselBilgiler

3. DROP DROP yapısı ile indexler, alanlar, tablolar ve veritabanları kolaylıkla silinebilir. DELETE yapısı ile karıştırılabilir. Delete yapsında sadece bir tablomuzdaki kayıt veya vereceğimiz kritere göre kayıtları silebilir. Eğer tablomuzu veya veritabanımızı silmek istiyorsak DROP yapısını kullanmamız gerekmektedir.

3. Drop Veri tabanı silme DROP DATABASE tablo_adi Örnek: DROP DATABASE OGRENCI

3. Drop Tablo Silme DROP TABLE tablo_adi Örnek: DROP TABLE Bilgiler

UYGULAMA OnlineKitap adında bir veri tabanı oluşturunuz. Veritabanı, DATA klasörünün içinde oluşturulmuş 03.10.2017 Klasörünün içine olacak şekilde kodlayınız. Veritabanı başlangıç, artım ve bitiş aşağıdaki gibi olmalıdır. DATA 10MB UNLIMIT 5MB LO 7MB 1000MB 3MB

UYGULAMA Aşağıdaki tabloyu oluşturunuz. Uygun veri tiplerini yazınız. Primary ve Foreign Key aşağıdaki gibi olmalıdır.

UYGULAMA Telefonu tek benzersiz tanımlanmalıdır (unique) Sonradan yapılacak işlemler: (Alter) *Yazar tablosuna Soyadı alanı ekleyiniz. *Kitap tablosundaki YazarNo alanı Foreign key yapınız. * Yayımcı tablosundaki adres alanını siliniz.

UYGULAMA * Kitap tablosundaki Kitap No ile Adını birleştirip Kitap yapıp birincil anahtar atayınız. Tabloları tek tek siliniz. Veri tabanını siliniz.