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

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

İLİŞKİSEL VERİ MODELİ

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

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

3 Sql Veri Tipleri. Veritabanı 1

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

Mysql Veritabanı Komutları

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

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

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

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

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

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

SORGULAR VE ÇEŞİTLERİ II

KISITLAMALAR (CONSTRAINT)

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

Oracle da kullanılan veri tipleri:

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

Veritabanına Uygulanması

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

Veri Tabanı-I 3.Hafta

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

Veri Tabanı Hafta Dersi

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

Veri Tabanı-I. 3.Hafta

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

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

Veri Tabanı-I 2.Hafta

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

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

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

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

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

SQL e Giriş. Uzm. Murat YAZICI

Veri Tabanı Örnekleri

Veri Tabanı Yönetim Sistemleri I

Dosya Organizasyonu ve Veritabanı

VERİ TABANI YÖNETİM SİSTEMLERİ. Yrd. Doç. Dr. Fırat YÜCEL Akdeniz Üniversitesi Enformatik Bölümü

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

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

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.

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İ Melih BÖLÜKBAŞI

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

VTYS-Giriş Arş. Gör. Muhammet BAYKARA- F.Ü. Teknoloji Fakültesi Yazılım Mühendisliği 1

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

Veritabanı Tasarımı Ve Yönetimi

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

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

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

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

Herhangi bir tablonun tekrarlı veriler içerdiği duruma birinci normal form denir. Birinci normal formu Aşağıdaki tablo ile ele alacağız.

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

Güz Yarıyılı MT 487 Bilgisayarda Veri Yapıları Final Çalışma Soruları

ve kullanıcı gereksinim listeleri size yol gözünden

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

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.

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

Veritabanı ve Yönetim Sistemleri

KIRIKKALE ÜNİVERSİTESİ EĞİTİM FAKÜLTESİ BİLGİSAYAR VE ÖĞRETİM TEKNOLOJİLERİ EĞİTİMİ ANA BİLİM DALI VERİ TABANI YÖNETİM SİSTEMLERİ DERSİ FİNAL PROJESİ

VERİTABANI ORGANİZASYONU

EBE-368 Veri Tabanı Yönetim Sistemleri SQL

«BM364» Veritabanı Uygulamaları

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

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

3. Hafta Tablo İşlemler BPR255 Ver tabanı. Bu Der ste Öğr enecekler n z: 1. Tablo İşlemler

Durhan GABRALI Veritabanı Organizasyonu Dersi (11B)

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

Veri Tabanı-I 1.Hafta

SQL Kod ile Tablo Oluşturma

VERİTABANI ve YÖNETİMİ

10-Veri Tabanları.

Model: Soyutlama. Kavramsallaştırma (Genelleme) (Spesifikleştirme) Özelleştirme. Veri (Data) Yapı (Structure)

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

Veritabanı Tasarımı. Veri Türleri Kullanma

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

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

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

VERİ TABANI YÖNETİMİ Hafta1

MT487_2005guz_final_cevaplar (cevaplar vurgulu ve koyu yazılmıştır)

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

Veritabanı Yönetim Sistemleri

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

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL

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

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

ACCESS PLATFORMUNDA SQL

VERİTABANI Veritabanı Yönetimi

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

Pursaklar İMKB Teknik ve Endüstri Meslek Lisesi

VERİTABANI & VERİTABANI YÖNETİMİ

KULLANICI TANIMLI FONKSİYONLAR

KULLANICI TANIMLI FONKSİYONLAR (Devam)

Veri Tabanı Hafta Dersi

SQL (Structured Query Language)

HSancak Nesne Tabanlı Programlama I Ders Notları

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

Veri Tabanı II Veri Tipleri. 1. Hafta Dersi

SQL Server genel olarak iki tip veritanını yönetmek için kurulur.

Transkript:

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

VERITABANI-I Varlık-İlişki Diyagramlarının İlişki Şemalarına Dönüştürülmesi

E-R Çizelgelerini İVTYS ye Dönüştürme Varlık-ilişki modeli kullanılarak veri modelleme yapıldıktan sonra, eğer veri tabanını gerçekleştirmek için ilişkisel bir VTYS kullanılacaksa, oluşturulan varlık-ilişki çizelgesinin tablolara (ilişki şemalarına) dönüştürülmesi gerekir. Bu amaçla varlık-ilişki modelindeki her farklı kavramın (varlık kümesi, nitelik, ilişki kümesi, ilişki kümesinin tanımlayıcı niteliği, güçlü ve zayıf varlık kümeleri, var olma bağımlılığı, genelleme, kümeleme,..vb) ilişkisel modelde nasıl gösterileceğinin bilinmesi gerekir.

Varlık Kümelerinin Dönüştürülmesi Varlık-ilişki modelindeki her varlık kümesi için ilişkisel modelde bir tablo oluşturulur. Tablonun alanları olarak varlık kümesinin nitelikleri kullanılır.

Örnek ADI SOYADI CİNSİYETi DKODU DERS KREDİSİ ÖĞRNO ÖĞRENCİ DOĞTAR DERSADI ÖĞRENCİ ve DERS varlık kümelerine karşılık, ilişkisel modelde aşağıdaki tablolar oluşturulur. ÖĞRENCİ (ÖĞRNO, ADI, SOYADI, CİNSİYETİ, DOĞTAR) DERS (DKODU, DERSADI, KREDİSİ)

Bire-bir ilişkilerin tabloya dönüştürülmesi Birebir ilişkiyi oluşturan varlık kümeleri tablolara dönüştürülür. Nitelikleri tabloların alanlarına dönüşür. Uygun olan varlık kümesinin anahtar alanı diğer varlık kümesine yabancı anahtar olarak eklenir. Bire-bir ilişkide belirtilen tanımlayıcı nitelikler, yabancı anahtar eklenen tabloya alan olarak eklenir.

1. Yol Bölüm (bölümno, bölümad, sicilno) Personel (sicilno, ad, soyad, adres, maaş) 2. Yol Bölüm (bölümno, bölümad ) Personel (sicilno, ad, soyad, adres, maaş, bölümno)

Bire - çok(1- n) ilişkilerin tablolara dönüştürülmesi İlişkiyi oluşturan varlık kümeleri tablolara dönüştürülür. İlişkinin n tarafındaki tabloya 1 tarafındaki tablonun anahtar alanı yabancı anahtar olarak eklenir. İlişkide belirtilen tanımlayıcı nitelikler n tarafına alan olarak eklenirler.

Öğrenci (öğrencino, ad, cinsiyet, adres, doğumtarih, bölümno, kayıttar, mezuntar) Bölüm(bölümNo, bölümad)

Çoğa - çok(n-m) ilişkilerin tablolara dönüştürülmesi Eğer bir ikili ilişki kümesinin türü çoktan-çoğa (ilişki hiçbir yönde işlevsel değil) ise ilişkisel modelde bu ilişki kümesi için ayrı bir şema oluşturulur. İlişki kümesine karşılık gelen ilişki tabloda, her iki varlık kümesinin anahtarları ile, varsa ilişki tanımlayıcı niteliklerine yer verilir.

Müşteri (müşterino, ad, adres, telefon) Ürün (ürünno, ürünad, birimfiyat, stokmiktarı) SatınAlır (müşterino, ürünno, tarih, miktar)

KONSER (KONSNO, TARİH, SALON) ESER (ESNO, ESADI, ESTÜRÜ, BESTECİ) MÜZİSYEN (MZSNO, ADI, SOYADI) KATILIM (KONSNO, ESNO, MZSNO, GÖREVİ)

Zayıf varlık kümelerinin tablolara dönüştürülmesi Zayıf varlık kümeleri tablolara dönüştürülür. Ancak zayıf varlık kümesinin anahtar alanı kendi anahtar alanı ile birlikte ilişki kurduğu güçlü varlık kümesinin yabancı anahtarının birleşimidir. Örneğin, aşağıdaki şekildeki üniversite-fakülte 1-n ilişkisinde, üniversite varlık kümesi güçlü, fakülte varlık kümesi ise zayıf varlık kümesidir. Üniversite ve fakülte varlık kümeleri, ayrı ayrı üniversite ve fakülte varlık kümelerine dönüştürülür. Ancak, fakülte varlık kümesinin anahtar alanı, fakülteno ile birlikte üniversiteno alanlarından oluşturulur.

Üniversite (ünivno, ünivad, il) Fakülte (fakülteno, ünivno, fakültead)

Uygulama başlık miktar yazar Yayın-yılı müşteriadı ssn ücret Müşteri_id adres n m Kitaplar Siparişler Müşteriler miktar Sipariş tarihi Gönderi tarihi Kart numarası Kitaplar(ssn, baslık, miktar, yazar, yayın_yılı, ücret) Müşteriler(MüşteriId, adı, adres) Siparişler(ssn, müşteriid, miktar, sipariş_tarihi, kart_no, gönderi_tarihi

Uygulama

Çözüm ÜRÜNLER(ÜrünID, ÜrünAdı, AlışFiyatı, SatışFiyatı, KategoriID, FirmaID) KATEGORİLER(KategoriID, KategoriAdı, KDVOranı) FİRMALAR(FirmaID, MüşteriID,Tarih) MÜŞTERİLER(MüşteriID, Adı, Soyadı, Adresi, Telefonu) SİPARİŞLER(SiparişID, MüşteriID, Tarih) SİPARİŞ_ÜRÜN(SiparişID, ÜrünID, Adet)

Tablo Oluşturma CREATE TABLO <tablo adı> (<Tablonun alanın adı> <alanın tipi> <alanın kısıtlaması>...) CREATE TABLO komutu kullanılırken tablonun her alanı (sütunu) için veri tipi ve başka bazı parametreleri vardır. Bazı alanlar (sütunlar) için kısıtlamalarının gösterilmesi gereklidir. Bu kısıtlamalar aşağıdaki şekilde sayılabilir; 1. Not Null, alan için bir değerin mutlaka girilmesi gerektiğini gösterir. (Bu parametre daha çok birincil anahtarlar ve eşsiz alanlar için kullanılır. ) 2. Default, alan için bir başlangıç değeri verilmesinde kullanılır. Bu değer sabit bir değer olabileceği gibi, Null değeri de olabilir. 3. İsteğe bağlı olarak constraint anahtar kelimesi kullanılarak bir veya birden fazla kısıt kullanılabilir. Bu kısıtlar şunlardır. a. PRIMARY KEY (Birincil anahtar) b. UNIQUE (her kaydın bir alan için farklı bir değer olması gerektiğini gösterir. c. REFERENCES (başka bir tablonun alanıyla ilişki kurmak için

Veri Tipleri - Karakter Tabanlı (Metinsel) 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.

Veri Tipleri - Karakter Tabanlı (Metinsel) 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.

Veri Tipleri - Nümerik (Sayısal) 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.

Veri Tipleri - Nümerik (Sayısal) 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.

Veri Tipleri - Parasal 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.

Veri Tipleri - Tarih-Zaman 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.

Veri Tipleri - Tarih-Zaman 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

SQL İlişkileri Oluşturma MNo Ad Adres 53666 Ali ali@gmail 53688 Aslı aslı@gmail 53650 Ahemt ahmet@gmail CREATE TABLE musteri (mno int, ad CHAR(20), adres CHAR(100)) UrunNo UrunAd Fiyat Stok 537 A 100 1000 538 B 50 2600 536 C 20 1200 532 D 30 3000 CREATE TABLE urun (Uno int, Uad CHAR(20), fiyat money, smiktar int)

SQL de Primary Key CREATE TABLE musteri (mno int, ad CHAR(20), adres CHAR(100), PRIMARY KEY (mno)) CREATE TABLE urun (Uno int, Uad CHAR(20), fiyat money, smiktar int, PRIMARY KEY (Uno))

SQL de Foreign Key Musteri MNo Ad Adres 53666 Ali ali@gmail 53688 Aslı aslı@gmail 53650 Ahemt ahmet@gmail Urun MNo Musteri_Urun MNo UNo Miktar 53666 537 100 53688 538 150 53650 536 50 53666 532 100 Urun No UrunA d Fiyat Stok 53666 537 A 100 1000 53688 538 B 50 2600 53650 536 C 20 1200 53666 532 D 30 3000

CREATE TABLE Musterı_Urun (Mno int, Uno int, Uad CHAR(20), fiyat money, smiktar int, PRIMARY KEY (Mno,Uno), FOREIGN KEY (Mno) REFERENCES Musteri FOREIGN KEY (Uno) REFERENCES Urun )