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

Benzer belgeler
SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL

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

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

3 Sql Veri Tipleri. Veritabanı 1

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

3 Sql Veri Tipleri ve Örnek Veritabanı Tasarımı. Veritabanı 1

Veri Tabanı Hafta Dersi

VERİTABANI Veritabanı Yönetimi

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri

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

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

Mysql Veritabanı Komutları

Oracle da kullanılan veri tipleri:

SORGULAR VE ÇEŞİTLERİ II

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

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

Veritabanına Uygulanması

MİRSİS BİLGİ TEKNOLOJİLERİ LTD. ŞTİ. MİCROSOFT SQL SERVER VERİTABANI VE SORGULARI

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

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

Nesneler üzerinde değişiklik yapmak için kullanılır. Veri tabanındaki nesnelerin oluşturulabilmesi için CREATE komutu kullanılır.

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

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

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

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

MSSQL. 4. Hafta Uygulama - 1 BPR255 Veritabanı CREATE DATABASE OKUL GO USE OKUL GO

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

Durhan GABRALI Veritabanı Organizasyonu Dersi (11B)

KISITLAMALAR (CONSTRAINT)

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

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

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

Veritabanı Yönetim Sistemleri I HAFTA 1

Veri tabanına bağlanmak için öncelikle aşağıdaki yolu izleyerek ağ veri tabanı yazılımını başlatıyoruz.

SQL e Giriş. Uzm. Murat YAZICI

Veri Tabanı-I 5.Hafta

SQL Komutları (2) Uzm. Murat YAZICI

Veritabanına Giriş. Oğuzhan Ceylan. 19 Eylül 2011

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

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

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

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

Veri Tabanı Hafta Dersi

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

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.

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

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

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

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

SQL (Structured Query Language)

Oracle Database 11g: Introduction to SQL

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.

Veri Tabanı Programlamaya Giriş

EĞİTİM : VERİ TABANINA GİRİŞ VE TEMEL VERİ TABANI KAVRAMLARI. Bölüm : Veri Tabanına Giriş. Konu : Veri Tabanına Giriş

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

ACCESS PLATFORMUNDA SQL

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

«BM364» Veritabanı Uygulamaları

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

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

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

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

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

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

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

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

Veri Tabanı-I 1.Hafta

Veri Tabanı-I 1.Hafta

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

BİLİŞİM TEKNOLOJİLERİ

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

YAPISAL SORGULAMA DİLİ (SQL)

VERİ TABANI ve YÖNETİMİ

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

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

STORED PROCEDURE LER (Saklı Yordamlar)

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

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

Veri Tabanı Örnekleri

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

C#(Sharp) Programlama Dili

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

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

10-Veri Tabanları.

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

Veritabanı. SQL (Structured Query Language)

Veri Tabanı II Veri Tipleri. 1. Hafta Dersi

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

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

SQL Kod ile Tablo Oluşturma

İNTERNET PROGRAMCILIĞI DERSİ

«BM364» Veritabanı Uygulamaları-2

VERİ TABANI I. Yrd.Doç.Dr. İlker ÜNAL. Teknik Bilimler Meslek Yüksekokulu

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

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

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

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

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

Transkript:

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

1-Karakter Tabanlı (Metinsel) Veri Tipleri char: Unicode olmayan sabit uzunlukta karakter verisi saklamak için kullanılır. Boyutu değişken olmakla birlikte en fazla 8000 karakter veri saklayabilir. varchar: Unicode olmayan değişken uzunlukta karakter verisi saklamak için kullanılır. Belirlenmiş veri kapasitesi 8000 karakter olmasına rağmen (max) parametresi ile bu değer 2^31 byte a kadar genişletilebilir. text: Daha önceki sql versiyonlarını desteklemek amacıyla Sql Server 2012 içerisinde hala yer almaktadır. Bu veri tipi yerine varchar(max) kullanın. nchar: Sabit uzunlukta 4000 karakter unicode karakter verisi saklamak için kullanılır. Boyutu değişken olmakla birlikte kısa olan değerler atanan uzunluğa tamamlanır. nvarchar: Değişken uzunlukta unicode karakter verisi saklamak için kullanılır. Belirlenmiş maksimum uzunluk 4000 karakter olmasına rağmen (max) parametresiyle 2^31 byte a kadar veri depolanabilir. ntext: text veri tipi gibi, bu veri tipide sadece eski versiyonları desteklemek amacıyla mevcuttur. Text tipinden tek farkı unicode veri saklayabilir. Öğr. Gör. Saliha Kevser KAVUNCU

Metinsel Veri Tipleri Arasından Seçim Yapmak 1Sabit uzunluk veya değişken uzunluk veri tiplerine karar vermek: Bir sütuna girilecek verilerin tamamı benzer uzunlukta ise (telefon numarası, tc kimlik no, telefon kodu v.b) char, nchar gibi sabit uzunluktaki veri tipleri kullanılmalıdır. Fakat girilecek verinin uzunluğu önceden belli değilse (isim, soyisim, adres v.b) değişken uzunlukta olan varchar, nvarchar veri tipleri tercih edilmelidir. 2Unicode olan ve olmayan veri tiplerine karar vermek: char ve varchar veri tipleri Unicode değildir, yani sadece ASCII tabloda yer alan karakterleri saklayabilirsiniz. Eğer Türkçe karakterli veriler girecekseniz ve Collation ayarları hakkında da bilgi sahibi değilseniz sorun yaşamamak için nchar ve nvarchar veri tiplerini kullanınız. Öğr. Gör. Saliha Kevser KAVUNCU

2-Nümerik (Sayısal) Veri Tipleri bit: Bir byte uzunluğunda tamsayı veri tipidir. Boyutu aklınızı karıştırmasın. Tablodaki ilk bit, bir byte büyüklüğünde yer kaplar, sonraki yedi bit aynı byte ı kullanabilir. tinyint: 1 byte büyüklüğünde 0 ile 255 arasında değer alabilen tamsayı veri tipidir. smallint: 2 byte büyüklüğünde -32768 ile 32767 arasında değer alabilen tamsayı veri tipidir. int: 4 byte büyüklüğünde yaklaşık -2 milyar ile +2 milyar arasında değer alabilen tamsayı veri tipidir. bigint: 8 byte yüyüklüğünde -2^63 ile +2^63 arasında değer alabilen tamsayı veri tipidir. decimal ve numeric: Decimal ve nümeric veri tipleri adları farklı olmasına rağmen kullanımları aynıdır. Boyutu değişken olmakla birlikte -10^38 ile +10^38 arasında ondalık ve tamsayı türünde verileri saklayabilir. float: Boyutu ve doğruluğu (ondalık kısım duyarlılığı) aldığı parametreye göre değişen kayan noktalı sayılar için kullanılır. real: Float veri tipinin parametre olarak 24 değerini aldığında ortaya çıkan halidir. -3.40E+38 ile 3.40E+38 arasında değer alır. Öğr. Gör. Saliha Kevser KAVUNCU

3-Parasal Veri Tipleri smallmoney: 4 byte uzunluğunda yaklaşık -214 000 ile 214 000 arasında parasal değerleri tutmak için kullanılır. Ondalık kısım duyarlılığı 4 basamaktır. money: 8 byte uzunluğunda yaklaşık -922 milyar ile 922 milyar arasındaki parasal değerleri tutmak için kullanılır. Ondalık kısım duyarlılığı 4 basamaktır. Öğr. Gör. Saliha Kevser KAVUNCU

4-Tarih-Zaman Veri Tipleri date: Tarihleri YYYY-MM-DD şeklinde saklayan 3 byte uzunluğunda veri tipidir. 0001-01-01 ile 9999-12-31 tarihleri arasındaki tüm değerleri tutabilir. smalldatetime: Tarih ve zaman verilerini YYYY-MM-DD hh:mm:ss şeklinde saklayan 4 byte uzunluğunda veri tipidir. 1900-01-01 00:00:00 ile 2079-06-06 23:59:59 arasındaki tarih ve zaman değerlerini saklar. datetime: YYYY-MM-DD hh:mm:ss:mmm şeklinde tarih ve zaman verilerini tutan 8 byte uzunluğunda veri tipidir. 1753-01-01 00:00:00.000 ile 9999-12- 31 23:59:59.999 arası değerlerini saklar. datetime2: datetime ile arasındaki fark salise hassasiyetinin daha yüksek olmasıdır. 7 basamağa kadar salise hassasiyeti kullanıcı tarafından belirlenebilir. Kapladığı alan salise hassasiyetine göre değişir. (6-8 byte) time: Sadece saat verilerini hh:mm:ss:nnnnnnn şeklinde saklayan veri tipidir. Dateteime2 gibi salise hassasiyeti maksimum 7 basamaktır ve kullanıcı tarafından değiştirilebilir. (3-5 byte) datetimeoffset: Ülkelere göre değişen zaman farkını tutmak için kullanılır. Öğr. Gör. Saliha Kevser KAVUNCU

5-Binary (İkilik) Veri Tipleri binary: Maksimum 8000 byte boyutunda, sabit uzunlukta binary veri saklamak için kullanılır. varbinary: Değişken uzunlukta 8000 byte boyutunda binary değer saklamak için kullanılır. (max) parametresiyle tutacağı maksimum değer 2^31 byte a kadar yükseltilebilir. image: Önceki sql versiyonlarını desteklemek amacıyla kullanılmaktadır. Bu tip yerine varbinary (max) veri tipi tercih edilmelidir. Öğr. Gör. Saliha Kevser KAVUNCU

6-Diğer Veri Tipleri timestamp ve rowversion: Tabloya kayıt eklendiğinde ve güncellendiğinde binary türünde özel bir değer alan veri tipidir. Tarih veri tipleriyle alakası yoktur. Kullanıcı bu alanı değiştiremez veya kendisi değer atayamaz. uniqueidentifier: 16 byte uzunluğunda eşsiz bir GUID değeri saklamak için kullanılır. Guid ve yapısı hakkında internetten bilgi bulabilirsiniz. xml: XML türünde hiyerarşik verileri saklamak için kullanılır. Bellekteki boyutu saklanan xml verisine göre değişir. geography: Coğrafi koordinatları ve gps verilerini tutmak için kullanılır. geometry: Öklid koordinat sistemine ait verileri tutmak için kullanılır. Geometrik şekillerin en, boy, yükseklik verilerini saklar. hierarchyid: Ağaç veri modeli veya hiyerarşik olarak sınıflandırılmış verileri saklamak için kullanılır. Öğr. Gör. Saliha Kevser KAVUNCU

1. T R A N S A C T S Q L K A V R A M I Microsoft'un veri t abanı sorgulam a dilidir. Transact-SQL, SQL Server ve istemci(client) arasında iletişim i sağlayan SQL sorgulama dilinin gelişmiş bir versiyonudur. Transact Structured Query kelimelerinin kısaltmasıdır. Language 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 a n ahtar kelimesi olamaz. v. Bir tanımlayıcı özel anlamları olan @, @@, #, ##, $ ile başlamamalıdır. Bu karakte rlerden @ değişkenlerin başına gelir. @@ sistem o rtam 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 dosya birincil dosya olur. ilk

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ırkenhangi 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,adi_soyadi) id_no UNIQUE

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