Tekrar Veritabanı 2.

Slides:



Advertisements
Benzer bir sunumlar
Microsoft Access Bu program Microsoft program paketinin içerisinde yer alan; çok büyük miktarlardaki verilerin depolanabileceği veritabanı oluşturmamıza.
Advertisements

ÖRNEK BİR VERİTABANI TASARIMI VE NORMALİZASYONU
VERİ TABANI VE YÖNETİM SİSTEMLERİ
Veri Tabanı Tasarlama İlk kuralımız, olabildiğince bilgileri parçalamaktır.
4 SQL- Yapısal Sorgulama Dili
Tablo oluşturma İlk olarak tabloları oluşturmamız gerekli..
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
RELATIONAL DATABASE MAGAMENT SYSTEM (RDMS)
Normalizasyon Kuralları & SQL
İLİŞKİSEL VERİ MODELİ Tablolar ile Gösterim
Veri tabanı bileşenleri
SQL Komutlar 5 Sibel SOMYÜREK.
Tablo Oluşturma SQL Server veritabanlarını barındırır; ogrenci, personel gibi Her veritabanı da verilerini saklamak için tablo adı verilen nesneleri.
3 Sql Veri Tipleri ve Örnek Veritabanı Tasarımı
SQL SERVER 2008 VERİ TİPLERİ.
İndeksler Sibel SOMYÜREK.
Veri Tabanı Yönetim Sistemleri
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
Veri Tabanı Yönetim Sistemleri
Veri Tabanı Yönetim Sistemleri
BÖLÜM 6 SQL SERVER KOMUTLARI.
VERİ TABANI VE YÖNETİM SİSTEMLERİ
4 Veri Bütünlüğü ve Constraint’ler
VERİ TABANI VE YÖNETİM SİSTEMLERİ  Birincil Anahtar Türleri  Access Veri Tabanında Bulunan İlişkiler  İlişkileri Tanımlama Bir – Çok İlişkisi Çok –
Veri Bütünlüğü Sibel SOMYÜREK.
Veritabanı Yönetim Sistemleri-I
MYSQL 4. HAFTA. mySQL veri türleri INTTamsayı: 'den kadar değişen diziye "signed" (işaretli), 0'dan 'e kadar değişenine.
VIEW (BAKIŞ) OLUŞTURMA
VERİTABANI OLUŞTURMAK
SQL Dili ve MySQL Komutları
Temel Bilgi Teknolojileri 2
VERİ TABANI VE YÖNETİM SİSTEMLERİ
Veritabanı Yönetim Sistemleri-I
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
ADRES DEFTERİMDE NELER VAR?. Arkadaşlarınızın, akrabalarınızın ve tanıdığınız diğer kişilerin adresleri, telefon numaraları, e-posta adresleri vb. bilgilerini.
VERİTABANI ve YÖNETİMİ
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
VERİTABANI ve YÖNETİMİ
Veritabanı Tasarımı ve Yönetimi
Veritabanı Kavramları
Veri Tabanı Yönetim Sistemleri I
SQL Komutları (2) Uzm. Murat YAZICI.
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
VERİ TABANI YÖNETİM SİSTEMLERİ
SQL’ e Giriş Uzm. Murat YAZICI.
Bölüm 1 Giriş.
Veritabanı Kavramları
Veritabanı Yönetim Sistemleri
İnsan Kaynakları Bilgi Sistemleri
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
UNV13107 TEMEL BİLGİ TEKNOLOJİSİ KULLANIMI. Veri tabanı Bilgisayar ortamında saklanan düzenli verilerdir. Bilgisayar ve ağ ortamındaki bilginin temel.
Veri Tabanı Yönetim Sistemleri Hafta 2 İlişkisel VTYS Temel Kavramlar.
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
Altıncı hafta. Müfredat programı Ödev teslim edenler Mantıksal tasarım ödevini teslim edenler: Belediye Projesi Valilik Projesi Mekan Projesi Konaklama.
Living in a Digital World Discovering Computers 2010 Bilgisayarların Keşfi Veritabanı Yönetimi Hafta 9.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
© Marmara Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi
ÖRNEK BİR VERİTABANI TASARIMI VE NORMALİZASYONU
VIEW lerle çalışmak 11.BÖLÜM.
SQL Veri Tipleri.
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
DML ile veri ekleme, silme ve değiştirme
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-2
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
VERİTABANI YÖNETİM SİSTEMLERİ 3-Normalizasyon
SQL Server - Stored Procedures
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-3-DDL
Transaction.
Sunum transkripti:

Tekrar Veritabanı 2

Veritabanı Nedir? Veritabanı ortaya çıkış hikayesi Saklanan ve işlenen veri miktarındaki artış Veri tabanı olmayan sistemin verilerinin kalıcı olmaması. Veritabanı; tanım olarak herhangi bir konuda birbiri ile ilişkili ve düzenli bilgiler topluluğudur. Geleneksel dosyalama sistemine göre verilere erişim hızlı. Gereksiz veri tekrarını engeller. Her ihtiyaca, büyük veya küçük bütün otomasyon sistemleri günümüzde artık veri tabanı kullanmaktadır.

Veritabanı Kavramları -1 Tablo; Veritabanı içerisinde verilerin tutulduğu kısımdır. Satır ve sütunlardan oluşmaktadır. Tablo içerisinde her satır bir kaydı ifade ederken , her sütun her bir kayıta ait bir özelliği ifade eder aynı zamanda her bir sütuna field yada alan denir. Personel Tablosu PerNo Adı Soyad Bölüm 759 Ali Coşkun Bilgisayar 760 Mehmet Kaya 786 Kemal Köse Büro Her satır bir kaydı temsil etmekte Her sütün farklı bir özelliği ifade eder , PerNo,Adı,Soyadı,Bölüm buradaki alanlarımız.

Veritabanı Kavramları -2 Satır ve Sütun; Tabloyu oluşturan temel kavram. Sütun tablo içerisinde tutulan her bir veri türüne verilen isimdir, tablo içerisinde birden fazla kullanılır. Satır sütuna ait veri gurubudur. Örneğin bir öğrencinin no,ad,soyad bilgilerinin tamamı satırı ifade etmektedir. Veri Tipleri Oluşturulan veritabanında tutulan verilerin hepsi aynı türden değildir. Her veriye göre farklı veri tipi oluşturulur.

VTYS Sağladığı Yararlar -1 Veri Tekrarı (“Data Redundancy”) :Aynı verinin sürekli tekrarlanmasını önler.Aynı tablo içerisinde, farklı bilgisayarlarda vb..; Veri Tekrarı (“Data Redundancy”) azaltılır ya da yok edilir. Veri Tutarlılığı (“Data Consistency”): Aynı verinin değişik yerlerde birkaç kopyasının bulunması “bakım” zorluğu getirir: bir yerde güncellenen bir adres bilgisi başka yerde güncellenmeden kalabilir ve bu durum veri tutarsızlığına (“Data Inconsistency”) yol açar. Veri Paylaşımı / Eşzamanlılık (“Concurrency”): Veri tabanı yönetim sistemi (VTYS) kullanılmadığı durumlarda veriye sıralı erişim yapılır. Yanı birden çok kullanıcı aynı anda aynı veriye erişemez. Bir VTYS’de ise aynı veritabanlarına saniyede yüzlerce, binlerce erişim yapılabilir.

VTYS Sağladığı Yararlar -2 Veri Bütünlüğü (“Data Integrity”): Bir tablodan bir öğrenci kaydı silinirse, öğrenci var olduğu diğer tüm tablolardan silinmelidir. Veri Güvenliği (“Data Security”): Verinin isteyerek ya da yanlış kullanım sonucu bozulmasını önlemek için çok sıkı mekanizmalar mevcuttur. Veri tabanına girmek için kullanıcı adı ve şifreyle korumanın yanı sıra kişiler sadece kendilerini ilgilendiren tabloları ya da tablo içinde belirli kolonları görebilirler. Veri Bağımsızlığı (“Data Independence”): Programcı, kullandığı verilerin yapısı ve organizasyonu ile ilgilenmek durumunda değildir. VERİ BAĞIMSIZLIĞI, VTYS’lerinin en temel amaçlarındandır.

Veritabanı Kullanıcıları Veritabanı Yöneticisi (DBA-Database Administrator) Tasarım,oluşturma ve işletiminden sorumludur. Görevleri; Tasarımı Performans Analizi Erişim Yetkilerini Düzenleme ve Erişim Sağlama Yedekleme ve Geri Yükleme Veri Bütünlüğü Sağlama Sistem Sürekliliği Sağlama Uygulama Programcısı Son kullanıcılara yönelik uygulama yazılım geliştirmek. Veri işleme dili ve geliştirme. Sorgu Dili Kullanıcıları Mevcut sorgular dışındaki diğer sorguları hazırlamak. Veri eklemek,silmek. Son Kullanıcılar Yazılımı kullanan

İlişki Türleri Tablo yapısına ve içerdiği bilgilere göre ilişkileri farklı olabilir. Bire-Bir (1-1) Bire-Çok(1-n) Çoğa-Bir(n-1) Çoğa-Çok(n-m)

İlişki Türleri Bire-Bir (1-1) İlişki ; Tablolar arası ilişki kurulan alanların her iki tabloda da tek olması anlamına gelir. 1 kişiye ait sadece 1 şifre olabilir, 1 şifre 1 kişiye ait olabilir. KimlikBilgileri TcNo Ad Soyad 121 Ayşe Berk 243 Kemal Kurt 982 Musa Tufan Sifre TcNo 121 sifre1 243 asd123 982 111111 1 1

İlişki Türleri Bire-Çok (1-n) İlişki ; Tablodaki 1 değer diğer tabloda birden fazla alana (n) karşılık gelmektedir. Öğrenciler ogrNo ad bolum_id 759 Ayşe 1 760 Kemal 761 Musa 2 Notlar ogrNo ders not 759 c121 60 c122 70 760 85 1 n n Bölümler bolum_id bolum 1 Bilgisayar 2 Büro 1

İlişki Türleri Çoğa-Çok (n-m) İlişki ; Tabloların birindeki birçok kaydın değeri diğer tablolarda birden fazla kayda karşılık geliyorsa. Müşteri mus_id ad soyad 1 Ayşe Ay 2 Kemal Kaya Ürün urun_id Urun 101 Kalem 102 Kitap 1 1 Fatura faturaNo mus_id urun_id adet 1 101 102 2 5 6 n m

Normalizasyon -Tanım Normalizasyon; veri tabanı tasarım aşamasında veri tekrarını, veri kaybını veya veri yetersizliğini önlemek için gerçekleştirilen işlemlerdir. Normalizasyon tanım olarak ise ; (Ayrıştırma), veritabanlarında çok fazla sütun ve satırdan oluşan bir tabloyu tekrarlardan arındırmak için daha az satır ve sütun içeren alt kümelerine ayrıştırma işlemidir.

Normalizasyon Amaçları Veri Bütünlüğünün Sağlanması Gereksiz veri tekrarını önleyerek verilerdeki bozulmaları önlemek Uygulamadan Bağımsızlık Uygulama değişse bile veritabanı tutarlı olarak çalışmalı Performansı Arttırmak Veri tekrarı en aza iner ve arama hızlı olur.

Normalizasyon Kuralları Birinci Normal Form (First Normal Form) 1NF İkinci Normal Form(Second Normal Form) 2NF Üçüncü Normal Form(Third Normal Form) 3NF

Birinci Normal Form -1 Tekrarlanan sütun yapıları olmamalıdır Birden fazla türde bilgi tek bir sütunda olamaz. Bir alan içerisindeki bilgi özel karakterlerle ayrılarak tutulmamalıdır. Adres Tablosu Ad Soyad Adres1 Adres2 Ali Coşkun Ordu Çivril Atasay Kamer MYO Çivril / Denizli Mehmet Kaya Denizli Ahmet Demir Adana Telefon Tablosu Ad Soyad Telefon Ali Coşkun 3710, 3712 Mehmet Kaya 3714, 3715,3716 Ahmet Demir 3750

Birinci Normal Form -2 1Nf uyun hale geldi fakat 2NF ve 3NF ye uygun değil Telefon Tablosu Ad Soyad Telefon Ali Coşkun 3710 3712 Mehmet Kaya 3714 3715 3716 Ahmet Demir 3750 Adres Tablosu Ad Soyad Adres1 Ali Coşkun Ordu Çivril Atasay Kamer MYO Çivril / Denizli Mehmet Kaya Denizli Ahmet Demir Adana

Birinci Normal Form -3 Sorunlar Veri Ekleme Veri güncelleme Veri silme Eklenen verinin daha önce olup olmadığının kontrolü zor Veri güncelleme Kişiye ait bir telefon numarası güncellenmek istediğine hangisinin güncelleneceği Veri silme Silinecek verinin hangisi olduğu Telefon Tablosu Ad Soyad Telefon Ali Coşkun 3710 3712 Mehmet Kaya 3714 3715 3716 Ahmet Demir 3750

İkinci Normal Form -1 Tabloda bir birincil anahtar olmalı ve anahtar olmayan sütunlar birincil anahtara bağımlı olmalı. Birincil anahtar birden fazla sütundan oluşuyorsa tablodaki veriler her iki sütuna da bağımlı olmalıdır. Öğrenci bilgileri ve not bilgileri ayrılmalı. OgrenciVeNot Tablosu ogrNo Ad Bolum DersKodu Not 759 Ali Bilgisayar c121 60 c122 70 760 Mehmet 65 761 Kemal Büro c134 90

İkinci Normal Form -2 İkinci normal forma uygun hali Ogrenci Tablosu ogrNo Ad Bolum 759 Ali Bilgisayar 760 Mehmet 761 Kemal Büro Not Tablosu ogrNo DersKodu Not 759 c121 60 c122 70 760 65 761 c134 90

Üçüncü Normal Form -1 Anahtar olmayan sütunlar anahtar sütuna tam bağımlı olmalı. Anahtar olmayan sütuna bağımlı olmamalı. Ürün Tablosu ÜKodu Ad Birim Birim Adı k001 Alçı 1 Kg k002 Tel 2 Cm k003 Boya 3 Lt

Üçüncü Normal Form -2 Ürün Tablosu ÜKodu Ad Birim k001 Alçı 1 k002 Tel Boya 3 Birim Tablosu Birim Birim Adı 1 Kg 2 Cm 3 Lt

Normalizasyon Örnek-1 1NF Uygun 2NF değil musteri Urun_id Sehir SehirKodu Miktar M145 U1 Denizli 1 100 U2 150 M151 Tokat 2 75 M149 U3 Samsun 3 200 M148 140

Normalizasyon Örnek 1-devam musteri Urun_id Miktar M145 U1 100 U2 150 M151 75 M149 U3 200 M148 140 musteri Sehir SehirKodu M145 Denizli 1 M151 Tokat 2 M149 Samsun 3 M148 2NF uygun 3NF uygun değil.

Normalizasyon Örnek 1-devam musteri Urun_id Miktar M145 U1 100 U2 150 M151 75 M149 U3 200 M148 140 musteri SehirKodu M145 1 M151 2 M149 3 M148 SehirKodu Sehir 1 Denizli 2 Tokat 3 Samsun

Ms SQL Server Veri Tipleri Bigint: -9,223,372,036,854,775,808 ile 9,223,372,036,854,775,807 arasındaki sayıları tutar. 8 baytlık yer kaplar. Int: -2,147,483,648 ile 2,147,483,648 arasındaki sayıları tutar. fiziksel olarak 4 baytlık yer kaplar. Smallint: -32,768 ile 32,767 arasındaki sayıları tutar. 2 baytlık yer kaplar. Tinyint: 0 ile 255 arasındaki sayıları tutar. 1 baytlık yer kaplar.

Ms SQL Server Veri Tipleri Decimal (x,y): Boyutu 5 ile 17 byte arasında değişir. ondalıklı sayıları tutmaya yarar. İki parametre alır. İlk parametre (x) sayının kaç karakter uzunluğunda olacağını, ikinci parametre (y) ise bu karakterlerin kaçının ondalık kısım olduğunu ifade eder. Örneğin decimal(4,2) şeklinde tanımlanan bir değişken 12,34 değeri alabilir. Numeric (x,y): Kullanımı ve özellikleri decimal ile aynıdır. Float: Çok büyük ve çok küçük kesirli sayılar için kullanılan veri tipidir. Boyutu 4 ile 8 byte arasındadır. Real: Float ile aynı özelliklere sahip.

Ms SQL Server Veri Tipleri Money: -922 337 203 685 47,5808 ile 922 337 203 685 477,5807 arası parasal veri tutabilir. 8 baytlık yer kaplar. Smallmoney: -214 748,3648 ile 214 748,3647 arası parasal veri tutabilir. 4 baytlık yer kaplar. Datetime: 1 Ocak 1753 ile 31 Aralık 9999 tarihleri arasındaki herhangi bir tarihi saatiyle birlikte tutar. 3.33 milisaniyelik bir hassasiyete sahiptir. 8 baytlık yer kaplar. Smalldatetime : 1 Ocak 1990 ile 6 Haziran 2079 tarihleri arasındaki herhangi bir tarihi saatiyle birlikte tutar. 10 dakikalık bir hassasiyete sahiptir. 4 baytlık yer kaplar.

Ms SQL Server Veri Tipleri ANSI standartlarına uyan herhangi bir karakter 1 byte yer kaplar. Ancak Unicode karakterler ise hafızada 2 byte yer kaplar. Unicode karakterler farklı dillere özgü karakterlerdir.Türkçe’ de kullandığımız ç,ğ,ş,ö gibi harfler bizim dilimize özgüdür ve ANSI standartlarında yer almamaktadır. Char(n): Boyutu1 ile 8000 arasında değişir. Maksimum 8000 karakter tutar. Nchar(n): Boyutu 2 ile 8000 arasında değişir. Maksimum 4000 karakter tutar. Varchar(n): Boyutu1 ile 8000 arasında değişir. Maksimum 8000 karakter tutar. Nvarchar(n): Boyutu 2 ile 8000 arasında değişir. Maksimum 4000 karakter tutar. Nvarchar(MAX): Maksimum 2 gigabyte (536.870.912 karakter) veri saklar. Text: Maksimum 2 gigabyte (1.073.741.824 karakter) veri saklar. Ntext: Maksimum 2 gigabyte (536.870.912 karakter) veri saklar.

Veri Bütünlüğü Programsal Veri Bütünlüğü Tanımsal Veri Bütünlüğü Veri bütünlüğü, bir tabloda veri güncelleme, silme veya ekleme gibi işlemler yapılırken diğer tablo ya da tablolardaki verilerin birbirleriyle uyum içinde olması, dolayısıyla veri tutarlılığının kaybolmamasının garanti altına alınması demektir. Programsal Veri Bütünlüğü Tanımsal Veri Bütünlüğü

Veri Bütünlüğü Programsal Veri Bütünlüğü: Tanımsal Veri Bütünlüğü Trigger’ler, Stored Procedurler, İş seviyesi Uygulamalar Transaction’dan sonra devreye giriyor veya, bir sorgu daha kullanarak kontrol ediyor. Çok kaynak tüketir. Her türlü kuralı denetleyebilir. Tanımsal Veri Bütünlüğü Constraint; Tablo ile birlikte derlenir ve Transaction’dan önce devreye girer. Etkin ancak dinamik değil, her sorunu çözemeyebilir. Primary Key Constraint Unique Constraint Check Constraint Default Constraint Foreign Key Constraint Rule = Check Constraint Tablo dışında nesne. Default = Default Constraint Tablo dışında nesne.

Constraint’ler Primary Key Constraint Unique Constraint Daha önce girilmemiş değerler girmeye zorlar, her satırın tekilliğini sağlar. NULL kalamaz. Her tabloda en fazla 1 adet bulunabilir. SQL Server Tarafından, arka planda Unique Indeks olarak gerçeklenir. Unique Constraint Bir tabloda birden fazla sütunda tanımlanabilir. NULL kalabilir ama NULL değil ise, mutlaka girişmemiş verilerden gelmelidir.(Ya NULL kal ya tekrarlama) Örnek:Kişi kimlik bilgilerinin tutulduğu bir tabloda kişinin sicilNumarası , tcKimlikNumarası, vergiNumarası, sosyalGuvenlikNumrası gibi bilgiler kişiye özel bilgileridir. Fakat bu bilgilerden yanlızca bir tanesi primary key olabilir. Diğer kişiye özel bilgilerin tekrarını engellemek için unique key tanımlanır.

Constraint’ler Check Constraint =RULE Default Constraint=DEFAULT Belli bir formata uygun giriş için, Aynı tablonun aynı satırı için, iki farklı sütun değerini karşılaştırmak için, Boş geçilemez sütun için, Örnek: Doktor bilgilerinin tutulduğu bir tabloda doktorun iseBaşlamaTarihi ve istenAyrılmaTarihi karşılaştırılmalıdır. Çünkü işten ayrılma tarihi başlama tarihinden önce olamaz. Default Constraint=DEFAULT Bir sütuna girilmek üzere değer verilmezse, girilebilecek bir standart değer tanımlar. Sadece INSERT’te geçerlidir. Örnek :tbl_hastalar tablosunda sisteme yeni bir hasta ekleneceği zaman eklenme tarihini günün tarihini eklenmesi otomatik olarak sağlanır. Foreign Key Constraint Bir tablodaki bir sütuna ait değerlerin, başka bir tablonun belli sütunundan gelmesini denetler CASCADE UPDATE, CASCADE DELETE özelliği var, Trigger’e gerek yok. Constraint’leri geçici olarak açıp kapatabiliriz.