VERİTABANI YÖNETİMİ. İlişkisel Veritabanı 4.HAFTA. Veritabanı Yönetimi Prof. Dr. İbrahim Çil

Benzer belgeler
VERİTABANI ORGANİZASYONU

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

KISITLAMALAR (CONSTRAINT)

İLİŞKİSEL VERİTABANLARI

1 Temel Kavramlar. Veritabanı 1

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

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

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

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) İlişkisel Veritabanı Modeli

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI

Veri Tabanı Hafta Dersi

1 Temel Kavramlar. Veritabanı 1

SORGULAR VE ÇEŞİTLERİ II

HASTANE OTOMASYONU VERİ TABANI YÖNETİM SİSTEMLERİ TEMEL VERİTABANI KAVRAMLARI

Veri Tabanı-I 4.Hafta

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

Veri Tabanı Hafta Dersi

2 İlişkisel Veritabanı Tasarımı ve Normalizasyon. Veritabanı 1

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

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

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş

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

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

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

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

Veritabanı Tasarımı. Yapay, Birleşik ve İkincil UID ler

08118 Veri Tabanı I. Database Management System. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr.Gör. Murat KEÇECĠOĞLU

VeritabanıYönetimi Varlık İlişki Diyagramları. Yrd. Doç. Dr. Tuba KURBAN

BIM 312 Database Management Systems. Veritabanı Kavramına Giriş

VERİTABANI DERS NOTLARI

Veri Tabanı-I. 3.Hafta

İLİŞKİSEL VERİ MODELİ

İlişkisel Veri Tabanları I

YBS104 - VERİ TABANINA GİRİŞ. Yrd. Doç. Dr. Fırat YÜCEL Akdeniz Üniversitesi Enformatik Bölümü

10-Veri Tabanları.

Veritabanı Yönetim Sistemleri

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

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

Veri Tabanı Örnekleri

«BM364» Veritabanı Uygulamaları

- Veri Bütünlüğü: Bir tabloda değişiklik yapılan verinin ilişkili olduğu diğer tablo veya tablolarda da aynı işlemin yapılması gerekebilir.

2 İlişkisel Veritabanı Tasarımı. Veritabanı 1

SQL e Giriş. Uzm. Murat YAZICI

2 Temel Kavramlar (Devam) Veritabanı 1

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

Veritabanı Tasarımı. Basit Eşleme: Dönüşüm İşlemi

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

BĐL378 - VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Veritabanı Dersi. Teoriden Pratiğe. Çağıltay N.E., Tokdemir G. Veritabanı Sistemleri Dersi -Bölüm XII: Durum Çalışması Çağıltay, N., Tokdemir, G.

VERİTABANI Veritabanı Yönetimi

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

Varlık-İlişki Modeli (Entity-Relationship Model)

VERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri

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

Veritabanı ve Yönetim Sistemleri

1. VERİ TABANI KAVRAMLARI VE VERİ TABANI OLUŞTUMA

VERİ TABANI SİSTEMLERİ

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

Veri Bütünlüğü ve Constraint ler. Veritabanı 1

Coğrafi Bilgi Sistemlerine Giriş. Ünite 5 - Veri Tabanı Yönetim Sistemleri

Veri Tabanı-I 2.Hafta

Veritabanı Tasarımı. İlişkisel Veritabanı Kavramlarına Giriş

Veritabanı Tasarımı. Birincil Anahtar, İkincil Anahtar ve Kontrol Kısıtlamaları

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

UZAKTAN EĞİTİM MERKEZİ

Tekrar. Veritabanı 2

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

VERİ TABANI YÖNETİMİ. Yrd.Doç.Dr. Füsun BALIK ŞANLI YTÜ

Veri Tabanı-I 1.Hafta

Veritabanı Tasarımı ve Yönetimi. Uzm. Murat YAZICI

Veri Tabanı Hafta Dersi

Mysql Veritabanı Komutları

Veri Tabanı-I 3.Hafta

Fonksiyonel(İşlevsel) Bağımlılık

Oracle da kullanılan veri tipleri:

SQL (Structured Query Language)

VTYS İlişkisel Veri Modeli Y R D. D O Ç. D R. M. B E T Ü L Y I L M A Z

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi

VERİTABANI Veritabanı Normalizasyonu

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

İLİŞKİSEL VERİTABANI. İlişkisel veritabanlarının ortak özelliği verilerin tablolar aracılığı ile tutulmasıdır.

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Veritabanı Tasarımı Ve Yönetimi

VERİTABANI Veritabanı Tasarımı

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ü

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

2. NORMALİZASYON. Normalizasyon, taslak veri tabanı üzerinde birtakım işlemler yapılarak taslağı son haline yaklaştırma yöntemidir.

Veritabanı Tasarımı Ve Yönetimi. Varlık-İlişki Modeli

Üst Düzey Programlama

Veri Tabanı Programlamaya Giriş

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

BTP 209 SİSTEM ANALİZİ VE TASARIMI

Veri Tabanı-I 1.Hafta

Veritabanı Uygulamaları Tasarımı

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

Oracle Database 11g: Introduction to SQL

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) Varlık İlişki Modeli

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veritabanı Sistemleri

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

Transkript:

VERİTABANI YÖNETİMİ İlişkisel Veritabanı 4.HAFTA

İlişkisel Veri Tabanı İlişkisel veri tabanı, birbirinden farkı tablolara yerleştirilmiş olan verilerin birbirleri ile belirli alanlara göre ilişkilendirilerek düzenlenen veri tabanlarıdır. İlişkisel veri tabanları birden fazla tablodan oluşabilir. İlişkisel veri tabanlarında veriler tablolarda birbirleri ile ilişkili bir şekilde saklanmaktadır. En geniş kullanım alanına sahip veri modelidir. Oracle 7.6. ve SQL server bu modeli temel alır. İlişkisel modele bir alternatif nesneye dayalı veri modelidir. Bu iki modelin kaynaşmasından nesne ilişkisel veri modelleri ortaya çıkmıştır. UniSQL, Informix Universal Server, Oracle 8.0, DB2 bazı örnekleridir.

İlişkisel Veritabanı İlişkisel veri tabanı modeli ilk defa 1970 yılında Dr. E.F. Codd tarafından ortaya atılmıştır. Model, veri tabanına kayıt edilmiş bilgilerin belli kurallara uymasını kapsar. İlişkisel veri modeli İlişkisel veri tabanı dillerini ortaya çıkarmıştır. İlişkisel Veritabanı Sistemleri büyük miktarlardaki verilerin güvenli bir şekilde tutulabildiği, bilgilere hızlı erişim imkanlarının sağlandığı, bilgilerin bütünlük içerisinde tutulabildiği ve birden fazla kullanıcıya aynı anda bilgiye erişim imkanının sağlandığı programlardır. İlişkisel veritabanı günümüzde en yaygın kullanılan ilişkisel veritabanı sistemlerinden biridir. En çok kullanılan ilişkisel Veritabanı Yönetim Sistemlerine Oracle, MS SQL Server, Sybase, gibi veritabanı yönetim sistemlerini örnek olarak verebiliriz. Günümüzde hemen tüm VTYS ler ilişkisel veri modelini kullanırlar. Bu model verileri birden çok ilişkili tablolarda tutabilir ve böylece İlişkisel Veri Tabanı olarak adlandırılan veri tabanlarını oluştururlar.

Neden İlişkisel VT? 1. Bilgi tekrarını azaltır. 2. Veriyi sorgulama imkanı verir. 3. Veriyi işlemek daha kolaydır. 4. Gereken disk alanı azdır.

İlişkisel Veri Tabanı İlişkisel Veri Tabanı altında inceleyeceğimiz alt kavramlar: Sunucular Tablolar Sütunlar Satırlar Değerler Kısıtlamalar Anahtarlar Şemalar İlişkiler

Kayıtlar Sunucu-Veri tabanı-tablo-kayıt ilişkileri Sunucu Veritabanı Tablo Numara Adi Soyadı Vize 1 Ali Kaya 75 2 Aylin Kul 76 3 Aydın Recep 80 4 Sami Sert 67

Sunucu: SQL Server: Microsoft firmasına ait bir veritabanı sunucu yazılımıdır.

İlişkisel Veri Tabanın Genel bir Yapısı Birden fazla tablodan oluşabilir. Tablolar en genel halde satır ve sütundan oluşur.

Tablolar

Kavramlar Tablo (Table): İlişkisel veri tabanı sistemlerinde, aynı özelliklere sahip veri kümelerinin saklandığı yapılar tablo olarak isimlendirilir. Tablo 2 boyutlu bir matris; Kolonları ve satırları var. Kayıt (Record): Veri tabanı sistemi içinde bulunan tablolardaki her bir satırdaki bilgiye kayıt adı verilir. Nitelik (Attribute): Veri tabanında, tablolara yerleştirilen her kayıt için tanımlanmış olan her bir veri alanı nitelik olarak adlandırılır. Tablodaki sütunlar, kayıtların niteliklerini verir. Anahtar Nitelik (Key Attribute): Tablolar içindeki kayıtların diğerlerinden ayrıştırılması ve ihtiyaç durumunda diğer tablolardaki kayıtlar ile olan bağıntılarının kurulabilmesi için her kaydı tek (unique) olarak tanımlamaya yarayan anahtar nitelik belirlenir. Birleşik Anahtar Nitelik (Composite Key): Birden fazla niteliğin bir araya gelmesi sonucu oluşan anahtarlardır. Süper Anahtar Nitelik (Super Key): Bir tabloya ait kayıtların tek olarak tanımlanmasını sağlayan her bir nitelik grubu bir süper anahtar olarak tanımlanır. Bir tabloya ait birçok süper anahtar seti bulunabilir. SA={{kod, ad}, {kod}, {ad, tarih, yer}, {tarih, yer}, } Aday Anahtar Nitelik (Candidate Key): Süper anahtar nitelik kümesinin bir alt kümesidir. Süper nitelikten farkı, süper nitelik içerisindeki minimal elemanlardan oluşmasıdır. Birincil Anahtar Nitelik (Primary Key): Bir ya da daha fazla niteliğin bir araya gelmesi ile tanımlanır. Tablo içindeki her kayıtın sadece bir kez tanımlanmasını garanti etmek için kullanılır. Aday anahtar kümesi içinde bulunan elemanlar içinde seçilen en uygun anahtardır. Yabancıl Anahtar Nitelik (Foreign Key): İlişkisel veri tabanı sistemlerinde, farklı tablolarda tutulan veriler birbirleri ile birincil ve yabancıl anahtarlar yardımıyla ilişkilendirilir. Yabancı anahtar, bir tabloya girilebilecek verileri başka bir tablonun herhangi bir alanında yer alabilecek veriler ile sınırlandırmak ve ilişkilendirmek için kullanılır.

Tablo örneği Tablolar veri tabanının ana nesneleridir. Bir veri tabanında verilerin saklanmış olduğu nesneler tablo olarak adlandırılır. Bir veri tabanı en az bir tablodan oluşur. Veri tabanını oluşturan tablolar ise data field adı verilen veri alanlarından oluşmaktadır. Tabloları oluşturan sütunlar alanları, satırlar ise kayıtları göstermektedir. NO ADI DOĞUM_TARĠHİ DOĞUM_YERİ 1 ALİ 12/01/1990 ANKARA 2 VELİ 22/09/1989 İSTANBUL 3 AHMET 23/10/1992 İZMİR 4 MEHMET 12/05/1993 DENİZLİ 5 HASAN 12/10/1980 MANİSA Yukarıdaki tabloda; NO, ADI, DOĞUM_TARİHİ, DOĞUM_YERİ olarak dört adet sütun başlığı, Alan isimleri(sütun başlıkları) hariç beş adet satır bulunmaktadır. Her kayıt, bir kişiye birçok yönüyle bağlıdır. Örneğin, üçüncü kayıt için; 3 numaralı personelin adı AHMET, doğum tarihi 23/10/1992ve doğum yeri İZMİR olduğu bilgisine ulaşılır.

Satırlar (Tuples) Kayıtlar İlişkisel veritabanında yer alacak olan tabloların aşağıdaki özelliklere sahip olması gerekmektedir; Tablolar satır ve sütunlardan oluşur. Her sütunun alacağı isim birbirinden farklı olmalıdır. Her satır birbirinden farklı olmalıdır yani birbiri ile tamamen ayni olan iki kayıt kullanılmamalıdır. Satırların ve sütunların sırasının nasıl olacağı önemli değildir. İlişki (Relationship) Örneği İlişki adı PERSONEL Özellikler (Attributes)- sütunlar NO ADI DOĞUM_TARĠHİ DOĞUM_YERİ 1 ALİ 12/01/1990 ANKARA 2 VELİ 22/09/1989 İSTANBUL 3 AHMET 23/10/1992 İZMİR 4 MEHMET 12/05/1993 DENİZLİ 5 HASAN 12/10/1980 MANİSA Anahtar alan

Tablolar Bir veritabanı tablolarda saklanan verilerden oluşur. Tablolar verilerin satırlar ve sütunlar halinde düzenlenmesiyle oluşan veri grubudur. Örneğin öğrenci bilgilerini veritabanında saklamak için tablo oluşturulur: Ogrenci_bilgileri Tablo içindeki her bir bilgi kayıt, Sütunlar ise alan olarak isimlendirilir. Örneğin öğrenci bilgileri tablosunda Öğrenci numarası, adı soyadı, tel bilgileri yer alabilir Alan NO AD SOYAD TEL 125 ALİ KAR 32332 349 VELİ KAYA 54324

Tablolar Tablo veri tabanı mantığı içerisindeki en önemli kavramdır. Tablolar veritabanlarının temelidir, çünkü tablolar bilgileri organize olmuş bir şekilde tutar ve bizim bilgilere ulaşmamızı sağlar. Veritabanı binlerce, milyonlarca parçalanmış bilgiye etkili ve doğru şekilde ulaşmamızı sağlar. Veri tabanı aslında tablolarda saklanan verilerden oluşur. Tablo belli bir konu hakkındaki datalar topluluğudur. Tablodaki veri sütun ve satırlarla ifade edilir. Her sütün, bir bilgi kategorisi olan bir alanı temsil eder. Her satır ise bir öğe için bilgi saklayan kayıttan oluşur.

Bir kaydın veri tabanında saklanması Bir kayıt, bir kişi, bir yer, yada bir olay gibi hakkında bilgi saklanacak olan tek ve bağımsız bir varlığı (entity) tanımlar. Mesela bir satış siparişi dosyasındaki bir sipariş tipik bir varlıktır. Bir varlığı tanımlayan her bir özelliğe alan denir. Örneğin, sipariş no, sipariş tarihi, sipariş miktarı, vb. Bu alanların alabileceği spesifik değerler sipariş kaydını teşkil eden alanlarda bulunabilir. Bir tablo içindeki her bir kayıt, o kaydın çağırılmasında kullanılabilecek en az bir tane tanımlayıcı alan içermelidir. Bu tanımlayıcı alana anahtar alan adı verilir. Bu örnekte sipariş numarası anahtar alandır çünkü her bir siparişe kendine özgü bir tanımlayıcı numara verilir. Varlık: Sipariş Alanlar Sipariş no 4340 sipariş tarihi 02/08/2013 Parça no 1580 sipariş miktarı 2 Kayıtlar Anahtar alan

Satırlar (Tuples) İlişki (Relation) Satır Sayısı İlişkisel Veri Modeli - Kavramlar PERSONEL Özellikler (Attributes) Sicil No Adı Soyadı Giriş Tarihi Doğum Tarihi 1 Mehmet Taner 06/03/2004 15/10/1970 2 Aysu Şahin 15/10/2003 01/08/1966 3 Kemal Atlı 29/05/2002 10/02/1971 4 Ali Demirci 12/05/2005 18/07/1974 5 Gülin Merter 07/08/2007 23/02/1972 ÜNVANLAR Birincil Anahtar Sütun Sayısı Yabancı Anahtar Sıra No Unvan_Kodu Açıklama Terfi Tarihi Sicil No 1 SM Satış Müdürü 06/03/2004 1 2 PM Proje Müdürü 15/10/2003 1 3 MUH Mühendis 29/05/2002 2 4 UZMUH Uzman Mühendis 12/05/2005 2

Tablolar İlişkisel veritabanlarının temelini oluşturan yapıdır. Satır ve sütunlardan oluşur. Örnek bir tablo yapısı: Öğrenci No Ad Soyad E - Posta 101 Ali bilgi Ali@bb.com 102 Veli ak veli@aa.net 103 Can kara Elif@cc.org Örnek tabloda yer alan her bir satır farklı bir öğrencinin bilgilerini içerir. Her sütun ise kendi içinde aynı tip bilgiyi depolar.

Sütunlar- Alanlar Tablodaki her sütun benzersiz bir ada sahiptir ve farklı veriler içerir. Her sütunun ilişkilendirilmiş bir veri tipi vardır. Örnek tabloda Öğrenci No sütunu sayısal veri tipi ile ilişkilendirilmişken diğer alanlar metin veri tipi ile ilişkilendirilmiştir. Tc_Kimlik Ad Soyad E_Posta Telefon 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 02324208994 23421124534 Hakan Aşan hakan.asan@hotmail.com 02324208923 23474367832 Talip Arsu talip.arsu@gmail.com 05555308998 98324534244 Melih Durmuş melih@boyamak.com.tr 05332274392 Tabloların her bir özelliğini tutar. Her sütunun belli bir tipi vardır.( Metin, Tarih, )

Satırlar- Kayıtlar Tablodaki her satır farklı bir veri girişini (öğrenciyi) temsil eder. Tablonun biçimi nedeniyle satırların her biri aynı niteliklere sahiptir. Her bir satır Kayıt olarak da ifade edilebilir. Örnek tabloda üç farklı veri girişi (kayıt) görülmektedir. Tc_Kimlik Ad Soyad E_Posta Telefon 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 02324208994 23421124534 Hakan Aşan hakan.asan@hotmail.com 02324208923 23474367832 Talip Arsu talip.arsu@gmail.com 05555308998 98324534244 Melih Durmuş melih@boyamak.com.tr 05332274392 Her satır bir kaydı temsil eder.

Değerler Tablodaki her satır sütunlara karşılık gelen bir dizi değerden oluşur. Her değer, sütunu tarafından belirtilen veri tipinde olmalıdır. Örnek tabloda yer alan Ahmet, yumak, 101 ve benzeri sayı ve metin katarlarının her biri değer olarak ifade edilir. Tc_Kimlik Ad Soyad E_Posta Telefon 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 02324208994 23421124534 Hakan Aşan hakan.asan@hotmail.com 02324208923 23474367832 Talip Arsu talip.arsu@gmail.com 05555308998 98324534244 Melih Durmuş melih@boyamak.com.tr 05332274392 Girilen her bir veri değere karşılık gelir.

Anahtarlar Anahtarlar satırları (kayıtları) tanımlayan özel sütunlardır (alanlardır). Farklı veri tipleri anahtar olarak belirlenebilir. Anahtar olarak belirlenen sütunların içinde yer alan her bir satır (değer) benzersizdir. Örnek tabloda yer alan Öğrenci No alanı anahtar olarak belirlenmek için uygun sütundur. Tc_Kimlik Ad Soyad E_Posta Telefon 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 02324208994 23421124534 Hakan Aşan hakan.asan@hotmail.com 02324208923 23474367832 Talip Arsu talip.arsu@gmail.com 05555308998 98324534244 Melih Durmuş melih@boyamak.com.tr 05332274392 Anahtarlar satırları (kayıtları) tanımlayan özel sütunlardır (alanlardır).

İlişkiler Tc_Kimlik Ad Soyad E_Posta Telefon 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 02324208994 23421124534 Hakan Aşan hakan.asan@hotmail.com 02324208923 23474367832 Talip Arsu talip.arsu@gmail.com 05555308998 98324534244 Melih Durmuş melih@boyamak.com.tr 05332274392 Sinav_No Tc_Kimlik Sinav_Notu 1 12342378891 80 2 23421124534 90 3 23474367832 85 4 12342378891 75

Metadata Veri tabanının yapısı hakkındaki verilere metadata adı verilir. Tablo isimleri Sütun isimleri Tablo ve sütunların özellikleri vb. Tablo no Tablo adı Sütun sayısı Satır sayısı 1 Müşteriler 3 7 2 Firmalar 3 4 Sütun no Sütun adı Veri türü Uzunluğu Tablo no 3 Satışlar 3 7 Metadata: Veri hakkında veri. VTYS de bir varlığın tüm özelliklerinin tanımlanması, ör: Ad Veri türü Büyüklük Biçim veya özel karakteristikler Dosyaların ya da ilişkilerin özellikleri Ad, içerik, notlar, vs. 1 id int 4 1 2 Mus_adi char 50 1 3 meslegi char 50 1

Anahtarlar Bir veri tabanının etkin bir şekilde çalışabilmesi için tablonun alanlarından bir veya kayıtları tek başına temsil edebilecek birkaç alan kullanılarak anahtarlar oluşturulur. Bu anahtarlar kayıtların sıralanmasında, aranmasında ve ilişkilerin kurulmasında yardımcı olur. Bunun dışında anahtarlar alanlara çift bilgi girilmesini de önlerler. Birincil Anahtar Nitelik (Primary Key): Bir ya da daha fazla niteliğin bir araya gelmesi ile tanımlanır. Tablo içindeki her kayıtın sadece bir kez tanımlanmasını garanti etmek için kullanılır. Aday anahtar kümesi içinde bulunan elemanlar içinde seçilen en uygun anahtardır. Aday anahtarlar arasından seçilmiş anahtar. Bu anahtar sadece bir özellikten oluşabileceği gibi birden fazla özelliğin birleşiminden de oluşabilir. Çalışan varlık türünde SİCİLNO veya TC_KİMLİK_NO özellikleri birincil anahtar olarak seçilebilir. Yabancıl Anahtar Nitelik (Foreign Key): İlişkisel veri tabanı sistemlerinde, farklı tablolarda tutulan veriler birbirleri ile birincil ve yabancıl anahtarlar yardımıyla ilişkilendirilir. Bir yabancıl anahtar veri tabanı tablosunda bulunan bir niteliktir.

Anahtarlar Genel anahtar (superkey) ilişki dahilinde satırı eşsiz tanımlayan özellik veya özellikler kümesi Basit anahtar- yalnız bir özellikten oluşan anahtar Karmaşık anahtar- birkaç özellikten oluşan anahtar Aday anahtar (candidate key)-altkümesi genel anahtar olmayan genel anahtar, başka değişle, her hangi biçimde parçalandığı zaman anahtarlık özelliğini kaybeden karmaşık anahtar; her bir basit genel anahtar aday anahtardır. Birincil anahtar-aday anahtarlar içinden seçilmiş aday anahtar Yabancı anahtar-bir ilişkinin, başka bir ilişkinin aday anahtarı ile eşleşen özellik veya özellikler kümesi

Anahtarlar (devamı) Aday anahtarın özellikleri: eşsizlik- her bir satır için eşsiz değer alması küçülmezlik- karmaşık aday anahtarın her hangi altkümesinin anahtar özelliği yoktur Birincil anahtarın özellikleri: özellikler kümesi en küçük olmalı; değerlerinin değişme olasılığı düşük olmalı; eşsizlik özelliğini kaybetme olasılığı düşük olmalı ismi çok sayıda karakterle ifade edilmemeli; kullanıcı tarafından kolay kullanıla ve anlaşıla bilir olmalı; satır için anlam ifade etmeli

İlişkisel Bütünlük (relational İntegrity) Boş (Null) değerler Özelliğin, verilmiş satır için uygulana bilmeyen veya şuan belli olmayan değerini ifade eder Varlık bütünlüğü (Entity İntegrity) Taban ilişkide birincil anahtar özelliği boş değer alamaz Erişimsel Bütünlük (Referential İntegrity) İlişkide yabancı anahtar varsa, bu anahtarın değeri, ana ilişkinin her hangi bir satırındaki aday anahtarının değerine eşit olmalı veya boş değer almalıdır Sınırlamalar 1. Kullanıcılar veya veri tabanı yöneticisi tarafından belirlenmiş kurallar

Anahtar Alan Anahtar Alan: Varlık kümesinde yer alan her varlığı kesin olarak tanımlamaya yarayan özelliklere aday anahtar adı verilir. Çalışan varlık türünde SİCİLNO ve TC_KİMLİK_NO özellikleri aday anahtar olabilir. Fakat Çalışan_ADI özelliği olamaz, çünkü aynı ada sahip birden fazla Çalışan olabilir. Eğer bir üniversitede tüm öğrencilerin numaraları birbirinden farklı ise, öğrencileri ayırt etmek için öğrenci numarası yeterlidir. Bu durumda öğrenci numarası, öğrenci varlık kümesi için aday anahtar ya da kısaca anahtardır. Birleşik (Composite) Anahtar: İki veya daha fazla özellikten oluşan aday anahtar. ÖĞRENCİ NO, YIL ve DÖNEM alanları birleşik anahtar olabilir. Süper Anahtar Nitelik (Super Key): Bir tabloya ait kayıtların tek olarak tanımlanmasını sağlayan her bir nitelik grubu bir süper anahtar olarak tanımlanır. Bir tabloya ait birçok süper anahtar seti bulunabilir. SA={{kod, ad}, {kod}, {ad, tarih, yer}, {tarih, yer}, } Aday Anahtar Nitelik (Candidate Key): Süper anahtar nitelik kümesinin bir alt kümesidir. Süper nitelikten farkı, süper nitelik içerisindeki minimal elemanlardan oluşmasıdır.

Kısıtlamalar (Constraınts) Veri tabanında depolanan bilgiler arasında bir bütünlük olması yani verilerin birbirleri ile uyumlu olması gerekmektedir. Bütünlük kısıtlamaları, veri tabanında depolanacak verileri kısıtlayan koşullar olarak adlandırılır. Bir veritabanına kısıtlamalar uygulanarak sadece geçerli verilerin depolanması sağlanır. 1. PRIMARY KEY 2. FOREIGN KEY 3. NULL / NOT NULL 4. CHECK 5. UNIQE 6. DEFAULT

Bütünlük Kuralları Ana tabloda bir kayıt yoksa alt tablolarda da hiçbir kayıt olamaz. Alt tablolara ait bir tablodan bir satır silinmesi yada değiştirilmesi durumunda alt tablolara bakılır. Eğer alt tablolarda ilişkili kayıtlar varsa ana tablo satırının silinmesine izin verilmez. Alt tablolarda girilen bilginin ana tabloya bağlı alanı kontrol edilmeli. Farklı bir bilginin girilmesine izin verilmez.

Anahtar Kısıtlamaları Veri tabanında depolanan bilgiler arasında bir bütünlük olması yani verilerin birbirleri ile uyumlu olması gerekmektedir. Bütünlük kısıtlamaları, veri tabanında depolanacak verileri kısıtlayan koşullar olarak adlandırılır. Bir veritabanına kısıtlamalar uygulanarak sadece geçerli verilerin depolanması sağlanır. Bütünlük kısıtlamalarının sağlanmasında anahtar kısıtlamaları önemli bir role sahiptir. Herhangi bir tablodaki her bir satır için kullanılan anahtarın tek olması gerekmektedir. Aksi takdirde kayıtlar arasında tutarsızlıklar meydana gelebilmektedir. Birincil anahtar(primary key) veya yabancı anahtar(foreign key) türlerinden birisi seçilerek kısıtlamaların gerçekleştirilmesi sağlanmaktadır. Anahtar Kısıtlamaları: Bütünlük kısıtlamalarının sağlanmasında anahtar kısıtlamaları önemli bir role sahiptir. Herhangi bir tablodaki her bir satır için kullanılan anahtarın tek olması gerekmektedir. Aksi takdirde kayıtlar arasında tutarsızlıklar meydana gelebilmektedir. Birincil anahtar(primary key) veya yabancı anahtar(foreign key) türlerinden birisi seçilerek kısıtlamaların gerçekleştirilmesi sağlanmaktadır.

Anahtar Kısıtlamaları Birincil anahtarlar hiçbir zaman NULL(boş) veya birbiri ile ayni olan değerleri içeremez. Yabancı anahtar, bir tabloya girilebilecek verileri başka bir tablonun herhangi bir alanında yer alabilecek veriler ile sınırlandırmak ve ilişkilendirmek için kullanılır. OGRENCI TCKİMLİK_NO AD SOYADİ ADRES BÖLÜMÜ ÖĞRENCİNO Birincil anahtar Yabancı anahtar NOTLAR ÖĞRENCİNO ORTALAMANOTU HARFKARŞILIĞI Birincil anahtar

Veri Kısıtlamaları Tablo tasarlarken kullanılan verilerin tutarlılığını sağlamak ve ne tür değerlere sahip olabileceğini belirlemek için de kısıtlamalar getirilebilir. Veri kısıtlamaları sırasında kullanılan bazı kısıtlamalar Not Null, Default, Unique ve Check tir. 1. Not null kısıtlaması; Veri girişi yapılacak bir tablodaki sütunun değer alıp (NULL) almaması (NOT NULL) gerektiğini belirlemek için kullanılan kısıtlamadır. 2. Default kısıtlaması; Veri girişi sırasında bir alanın alabileceği varsayılan bir değer atamak için kullanılır. 3. Unique kısıtlaması; Tablodaki bir alana girilen verinin tekrarsız olmasını sağlamak için kullanılır. 4. Check Kısıtlaması; Kontrol kısıtlayıcı olarak da adlandırılır. Veri girişlerinin belirtilen kriterlere göre yapılmasını sağlar. Örneğin kişinin T.C. Kimlik numarası girilirken 11 haneden fazla değer girilmesi engellenebilir.

KISITLAMALARIN KULLANIMI Boş Geçilemez : ogr no int NOT NULL Birincil Anahtar : ogr no int NOT NULL PRIMARY KEY CONSTAINT pkkey PRIMARY KEY (ogr_no, ders_kodu) CHECK : vize int CHECK(vize>0) CONSTAINT chkvize CHECK (vize>=0 AND vize<=100) CONSTAINT chchod CHECK (urun_kod IN ( A089, A090, A091, A100 ) OR urun_kod LIKE A9[0-9][0-9] )) UNIQE : pers_id int NOT NULL UNIQE (MSSQL, ORACLE) UNIQE(pers_id) CONSTAINT un_deger UNIQE (pers_id, Soyadi) FOREIGN KEY : CREATE TABLE notlar (ogr_no in FOREIGN KEY PREFERENCES ogrenci(ogr_no), ders_kodu varchar(25) FOREIGN KEY PREFERENCES ders (ders_kodu) (Oracle) 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)

İlişki kurmadaki hatalar Tablolardaki anahtar alanların null olması İlişki kuracak alanların veri tiplerinin aynı tipde olmaması İlişki kurulacak alanlarda tutarsız bilgilerin mevcut olması 35

Tablo tasarımındaki sıra Normalizasyon kurallarına göre tablolar oluşturulur. Her tabloda birincil anahtarlar tespit edilir. İlişkileri kuracak ortak alanlar tespit edilir. İlişkiler kurulur Kayıtlar girilir. 36

Şemalar Veritabanında tablonun tasarımına şema adı verilir. Şema veri içermez; veritabanının taslağı olarak kullanılabilir. Şema; tabloları, sütunları ve her tablonun birincil anahtarları ile birlikte varsa yabancı anahtarları da gösterir. Birincil Anahtarlar Yabancıl Anahtarlar

Örnek Bir Veritabanı Şeması

İlişki şeması- Liste İlişkinin adı ve ilişki niteliklerinin adlarından oluşan tanım deyimine ilişki şeması denir. ÖGRENC ilişki şeması. ÖGRENC(Ögr-No, Ögr-Adı,Ögr-Adres) ÇALISMA(Ögr-No.,Ders-Kodu) DERS(Ders-Kodu,Ders-Adı) Örnek Veritabanı şeması (database Schema) Yada; Sınav(kod, tarih,ad, süre, yer, açıklama) Takım (no, ad, şehir, kyılı) Oyuncu (no, ad, adres, adress, dtarihi, takımno) Pozisyon (no, ad) Oynar(oyuncu,pozisyonno) İlişkisel tablolar

İlişki Şeması-Liste Veri tabanında tutulan tabloların ve bu tablolardaki veriler ile ilgili diğer bilgilerin tanımladığı yapıları gösterir. Veri tabanı şeması, veri tabanı tasarımı aşamasında hazırlanır ve genelde çok sıklıkla değişmesi beklenmeyen bir yapıdır. Sınavlar (kod, tarih, ad, süre, yer, açıklama) Hazırlayan (sınavkodu, öğretmenkodu (sınavkodu sınavlar tablosunu, öğretmenkodu öğretmenler tablosunu referans verir), tarih) Sınavlar Skodu ad tarih yer açıklama süre Hazırlayanlar öğretmenkodu skodu tarih

İlişki Şemaları Varlık-İlişki Diyagramı Sayfa Sayısı Kitap Adı KİTAP N Kitap_No N Yazar_Kitap Bastığı Yayınevi No M 1 YAZAR Yazar Adı Yazar Soyadı Yazar No YAYIN EVİ Yayınevi Adı İlişki Şeması YAZAR (Yazar No, Yazar Adı, Yazar Soyadı) YAYINEVİ (Yayınevi No, Yayınevi Adı) KİTAP (Kitap No, Kitap Adı, Sayfa Sayısı, Yayınevi No) YAZAR_KITAP(Yazar No, Kitap No)

İlişkiler Tc_Kimlik Ad Soyad E_Posta Telefon 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 02324208994 23421124534 Hakan Aşan hakan.asan@hotmail.com 02324208923 23474367832 Talip Arsu talip.arsu@gmail.com 05555308998 98324534244 Melih Durmuş melih@boyamak.com.tr 05332274392 Sinav_No Tc_Kimlik Sinav_Notu 1 12342378891 80 2 23421124534 90 3 23474367832 85 4 12342378891 75

İlişkisel Veri Tabanı: İlişkiler Tablolar arası bağlantı ilişkiler aracılığıyla sağlanır. İlişkiler iki tabloda bulunan ortak alanlarla yapılır. İki tabloyu ilişkilendirmek ilişkisel veri tabanının en temel çalışma şeklidir. Böylece farklı tablolardaki bilgilerin birbirleriyle etkili biçimde kullanılması sağlanmış olur. Veri tutarlılığının sağlanması için ilişkiler çok önemlidir. İlişkisel veri tabanının en önemli özelliği ilişkilerdir. Tablolar arasındaki verileri bağlamak için çeşitli ilişki türleri vardır. Örneğin Şekil 3 deki gibi ÖĞRENCİ tablosundaki birden fazla satır DERS tablosundaki birden fazla satırla bağlantılıdır. ÖĞRENCİ Öğrenci No Adı Soyadı E - Posta 101 Ali Can ahmet@bilgi.com 102 Fatma Kara deniz@yumak.net 103 Ruhu Say Elif@keskin.org N 1 DERS Ders Kodu Ders Adı Kredisi 201 Programlama 4 105 Veri Tabanı 4 207 Fizik 3 1 N ALINAN_DERS Öğrenci No Ders Kodu Notu Harf Notu 101 201 90 AA 101 105 80 BB 102 105 75 CB 102 207 85 BA

Satış Fiyat Örnek Veritabanı (ŞİRKET) Varlık-İlişki Şeması KDV Oranı Ürün ID ÜRÜN N AİT OLDUĞU 1 KATEGORİ Kategori Adı N N Ürün Adı Kategori ID TEDARİK EDEN ÜRÜN_SİPARİŞ Adet Adres 1 N SİPARİŞ Tarih Firma ID FİRMA N Adres Ad Firma Adı Telefon MÜŞTERİ_SİPARİŞ 1 MÜŞTERİ Soyad Telefon Müşteri ID

İlişki Şeması ÜRÜN (Ürün No, Ürün Adı, Satış Fiyatı, Kategori No, Firma No) KATEGORİ (Kategori No, Kategori Adı, KDV Oranı) FİRMA (Firma No, Firma Adı, Adresi, Telefon) MÜŞTERİ (Müşteri No, Adı, Soyadı, Adresi, Telefonu) SİPARİŞ (Sipariş No, Tarih, Müşteri No) ÜRÜN_SİPARİŞ (Sipariş No, Ürün No, Adet)

İlişkisel Model

Veritabanı Şeması