EDİRNE TEKNİK BİLİMLER MESLEK YÜKSEK OKULU VERİ TABANI VE YÖNETİMİ

Slides:



Advertisements
Benzer bir sunumlar
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.
Advertisements

3 Sql Veri Tipleri ve Örnek Veritabanı Tasarımı
SQL SERVER 2008 VERİ TİPLERİ.
VERİ TABANI YÖNETİM SİSTEMLERİ
VERİ TABANI YÖNETİM SİSTEMLERİ
VERİ TABANI YÖNETİM SİSTEMLERİ
Veri Tabanı Nedir ?.
VERİ TABANI YÖNETİM SİSTEMLERİ
SQL Server Veri Tipleri
YAYIN TARAMA VE VERI TABANLARI Tacettin İnandı. Kapsam Veri tabanı Sınıflandırmalar İndeksler Atıflar.
Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
Veri Tabanı Yönetim Sistemleri Hafta 1. 2 Temel Kavramlar Veri Olguların, kavramların, veya talimatların, insan tarafından veya otomatik yolla iletişim,
Beşinci hafta. Müfredat programı Ödev teslim Projelerini teslim edenler; Belediye Projesi -> Tamam Ulaşım Projesi -> Geldi ama kavramsal tasarım yerine.
SAYISAL DEVRELER BÖLÜM-2 Sayı Sistemleri ve Kodlar
Uluslararası Pazarlama Araştırması Metodolojisi
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
SUNUCU İŞLETİM SİSTEMİ Öğr. Gör. Ümit ATİLA.  1980’li yıllardan günümüze geldikçe, bilgi toplumuna yönelişte teknolojik rota, telekomünikasyon ve iletişim.
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
Gereksinim Analizi ve Varlık Ba ğ ıntı Diyagramı Sibel SOMYÜREK.
BSE 207 Mantık Devreleri Sayı sistemleri Sakarya Üniversitesi.
Literatür taramasının önemi  Daha önce neler yapıldığını çıkarmaya çalışmayan araştırmacılar alanlarında önemli katkı sağlama fırsatından yoksun kalırlar.
Çağrı Kuçat SQL Yapısı.
Program Tasarım Modelleri
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
ÇANKIRI KARATEKİN ÜNİVERSİTESİ KÜTÜPHANE VE DOKÜMANTASYON DAİRE BAŞKANLIĞI KATALOGLAMA VE SINIFLAMA EĞİTİM SEMİNERİ.
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı Arş. Gör. Pınar CİHAN.
Bölüm 2 C Dilinin Temelleri
Öğr. Gör. Dr. İnanç GÜNEY Adana MYO
Emine Hoşoğlu doğan İstanbul şehir üniversitesi Eylül 2014
Excel 2007.
Hazırlayan : İbrahim Gökhan Uzun
ISTATİSTİK I FIRAT EMİR DERS II.
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
TAM SAYILAR.
ULUSAL MESLEKİ BİLGİ SİSTEMİ
Varlık-İlişki Modeli Örneği
Program Tasarım Modelleri
Fluvyal Jeomorfoloji Yrd. Doç. Dr. Levent Uncu.
DOSYA BÜYÜKLÜKLERİ İkili Sistem Dosya Büyüklükleri ve Hesaplamalar
SQL Veri Tipleri.
Ofis Yazılımları – Veritabanı Programları
Sözleşme Sözleşme Türleri
TÜRK EĞİTİM SİSTEMİ ve OKUL YÖNETİMİ
KÜMELER HAZIRLAYAN : SELİM ACAR
Bilgisayar Mühendisliğine Giriş
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 1
BİLGİSAYAR programlama II
FI – Finansal Muhasebe Genel Sunumu
Geçerlik ve Kullanışlılık
NİŞANTAŞI ÜNİVERSİTESİ
Evren-Örneklem, Örnekleme Yöntemleri 2
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-2
Bilgisayar Bilimi Koşullu Durumlar.
Bilgisayar Mühendisliğine Giriş
VERİTABANI YÖNETİM SİSTEMLERİ 3-Normalizasyon
Bilgisayar II 8 Mart Mart
Değerler ve Değişkenler
DAVRANIŞ BİLİMLERİNDE ARAŞTIRMA (YÜKSEK LİSANS)
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
İLERİ VERİ TABANI UYGULAMALARI
Veri ve Türleri Araştırma amacına uygun gözlenen ve kaydedilen değişken ya da değişkenlere veri denir. Olgusal Veriler Yargısal Veriler.
Ölçmede Hata Kavramı ve Hata Türleri
NORMALİZASYON Öğr.Gör. Yunus Emre GÖKTEPE
Kesikli Olay benzetimi Bileşenleri
GİRİŞ Öğr.Gör. Yunus Emre GÖKTEPE
VERİTABANI YÖNETİM SİSTEMLERİ 6-SQL Server-3-DDL
VERİ TABANI UYGULAMALARI
Bilimsel Araştırma Yöntemleri
Bellek içi raporlama sistemleri için denormalizasyon uygulaması
Sunum transkripti:

EDİRNE TEKNİK BİLİMLER MESLEK YÜKSEK OKULU VERİ TABANI VE YÖNETİMİ BLP 217

Veri Tabanı Nedir? Birbiriyle ilişkisi olan verilerin tutulduğu, Kullanım amacına uygun olarak düzenlenmiş veriler topluluğunun, Mantıksal ve fiziksel olarak tanımlarının bulunduğu Bilgi depolarıdır.

Veri Tabanı Örnekleri Üniversite- Öğrenci İşleri Bilgi Sistemi Hastane-Hasta, doktor, tedavi, araç-gereç, mali bilgiler Ticari bir şirket- Müsteri, Ürün, Satış, Ödeme, Teslimat bilgileri Banka-Müşteri, mevduat, kredi kartı, kredi bilgileri

Veri tabanı Veri tabanı kavramı ilk olarak 1980’li yıllar Basit bir web uygulamasından uluslararası kuruluşların büyük ve karışık verilerine kadar pek çok alanda veri tabanı uygulamalarına ihtiyaç durulmaktadır.

Veri Tabanı Yönetim Sistemi Nedir? Yeni bir veritabanı oluşturmak, Veri tabanını düzenlemek Kullanmak, Geliştirmek Bakımını yapmak için Çeşitli karmaşık işlemlerin gerçekleştirildiği bir yazılım sistemidir.

Veri Tabanı Yönetim Sistemlerinin Sınıflandırılması Veri Modeline Göre Hiyerarşik Ağ İlişkisel Nesneye Yönelik Kullanıcı Sayısına Göre Tek kullanıcılı Çok kullanıcılı

Hiyerarşik veritabanları Veri tabanları için kullanılan ilk modeldir Hiyerarşik veritabanları bilgileri bir ağaç yağısında saklarlar.

Ağ veritabanları Hiyerarşik veritabanları yetersiz kalınca 1960’ların sonunda verilerin ağaçların daha gelişmiş hali olan graflar şeklinde saklandığı yapı ortaya çıkmıştır.

İlişkisel veritabanları 1970’lerin başında geliştirilmiştir. Bu sistemde veriler tablo şeklinde saklanır. Tablolar arasındaki bağlantılar matematiksel ilişkilerle gösterilir. Günümüzdeki hemen hemen tüm veri tabanı programları bu yapıdadır.

İlişkisel veritabanları

Nesneye Yönelik veritabanları Günümüzdeki pek çok kelime işlemci ve hesap tablosu programında kullanılan nesneler artık veritabanlarında da kullanılmaktadır. Nesneye yönelik veritabanı C++ gibi nesneye yönelik bir dille oluşturulan ve yine bu tarz bir dille kulanılan veri tabanı anlamına gelir.

Neden veri tabanı kullanılır? Verilerin tutulması, saklanması ve erişilmesinde geleneksel yaklaşım verilerin ayrı ayrı dosyalarda gruplanması yaklaşımını kullanmaktadır. Verilerin artması, verilere aynı anda erişme ve düzenlenme ihtiyacı ile geleneksel yakaşım yetersiz kalmıştır.

Veri Tabanı Yaklaşımının Avantajları Ortak verilerin tekrarını önIenmesi; Verilerin merkezi denetiminin ve tutarlılığının sağlanması Veri payIaşımının sağlanması Fiziksel yapı ve erişim yöntemi karmaşıklıklarının, çok katmanlı mimarilerle kullanıcıdan gizlenmesi, Her kullanıcıya yalnız ilgilendiği verilerin, alışık olduğu kolay, anlaşılır yapılarda sunulması

Veri Tabanı Yaklaşımının Avantajları Sunulan çözümleme, tasarım ve geliştirme araçları ile uygulama yazılımı geliştirmenin kolaylaşması. Veri bütünlüğünün gerekli olanakların sağlanması, Güvenlik ve gizliliğin istenilen düzeyde sağlanması Yedekleme, yeniden başlatma, onarma gibi işletim sorunlarına çözüm getirilmesi

Veri Tabanı Yönetim Sistemleri Oracle database IBM DB/2 Adaptive Server Enterprise Informix Microsoft Access Microsoft SQL Server Microsoft Visual FoxPro MySQL PostgreSQL Progress SQLite Teradata CSQL OpenLink Virtuoso

Veri Tabanı Yapısı Veri tabanı Tablo Tablo Tablo Tablo Tablo Alan 1 2 3

Tablo Bir veritabanı tablolarda saklanan verilerden oluşur. Tablolar verilerin satırlar ve sütunlar halinde düzenlenmesiyle oluşan veri grubudur. Örneğin ders içeriği ve öğrenci bilgilerini veritabanında saklamak için 2 tablo oluşturulur: Ogrenci_bilgileri icerik

Tablo Tablo içindeki her bir bilgi kayıt, Sütunlar ise alan olarak isimlendirilir. Örneğin öğrenci bilgileri tablosunda Öğrenci numarası, adı soyadı, doğum tarihi, doğum yeri, e-mail adresi bilgileri yer alacaksa

Tablo Alan Alan Kayıt Ogr_no Ad_soyad d_tarih d_yeri e-mail 1 Ayşe Öztürk 01.11.1979 Konya ayse@gazi.edu.tr 2 Sema Özdemir 24.05.1975 Ankara sema@gazi.edu.tr 3 Serdar Gülpınar 06.06.1983 Adana serdar@gazi.edu.tr 4 Mehmet Efe 11.02.1978 Niğde mehmet@gazi.edu.tr 5 Zerrin Polat 22.08.1980 Antalya zerrin@gazi.edu.tr 6 Ulviye Kubalı 12.12.1984 İstanbul ulviye@gazi.edu.tr Alan Kayıt

Veri Türleri Veri tabanında tutulan kayıtların yapısı hakkında bilgi sahibi olmak için Alanların bazı özelliklerinin önceden tanımlanması gerekir. Örneğin personel sicil numarası mutlaka tam sayı, ad soyad harflerden oluşması gibi

SQL Server Veri Tipleri 1. Kesin Sayısal Veri Tipleri (Exact numerics) bit: 1 bayt yer kaplar. 1 ve 0 değerlerini alır. C#’ta bool’a karşılık gelir. true/false değerlerini bu tipte saklayabiliriz. tinyint: 1 bayt yer kaplar. 0 ile 255 arası tam sayıları tutar. C#’ta byte tipine karşılık gelir. smallint: 2 bayt yer kaplar. -32.768 ile 32.767 arası tam sayıları tutar. C#’ta short tipine karşılık gelir. int: 4 bayt yer kaplar. -2.147.483.648 ile 2.147.483.647 arası tam sayıları tutar. C#’ta da int tipine karşılık gelir. bigint: 8 bayt yer kaplar. -9.223.372.036.854.775.808 ile 9.223.372.036.854.775.807 arası tam sayıları tutar. C#’ta long tipine karşılık gelir. smallmoney: 4 bayt yer kaplar. -214.748,3648 ile 214.748,3647 arası ondalık sayıları tutar. Virgülden sonra 4 basamak alır. Parasal verileri smallmoney veri tipinde saklayabiliriz. C#’ta direkt karşılığı yoktur, decimal kullanılır. money: 8 bayt yer kaplar. kaplar. -922.337.203.685.477,5808 ile 922.337.203.685.477,5807 arası ondalık sayıları tutar. Virgülden sonra 4 basamak alır. Parasal verileri money veri tipinde saklayabiliriz. C#’ta direkt karşılığı yoktur, decimal kullanılır. decimal ve numeric: kapladığı alan kullanılan basamak sayısına göre değişir. virgülden önce ve sonra toplam basamak sayısı 1-9 arası 5 bayt; 10-19 arası 9 bayt; 20-28 arası 13 bayt; 29-38 arası 17 bayt yer kaplar. – 10^38 +1 den 10^38 – 1 e kadar olan ondalık sayıları tutar. numeric ile decimal birebir aynı veri tipidir. C#’ta decimal tipine karşılık gelirler.

SQL Server Veri Tipleri 2. Yaklaşık Sayısal Veri Tipleri (Approximate Numerics) float: kullanılmak istenen boyuta göre ortalama değer alır. float(n) şeklinde kullanılır. mesela virgülden sonra 20 bitlik bir alan kullanılmasını istiyoruz. o zaman float(20) olarak yazılır ve verdiğimiz bu boyuta göre kaydetmek istediğimiz sayı yuvarlanır. kesin değer değil de yaklaşık değer kaydedilmiş olur. n kısmı 1 ile 53 arasında olmalıdır. C#’ta double tipine karşılık gelir. real: float(24) ile aynı özelliktedir. 4 bayt yer kaplar. – 3.40E+38 ile -1.18E-38, 0 ve 1.18E-38 ile 3.40E+38 arası ondalık sayıları tutar. C#’ta Single tipine karşılık gelir.

SQL Server Veri Tipleri 3. Tarih ve Zaman Veri Tipleri (Date and Time) date: YYYY-MM-DD şeklinde tarihi tutar. 3 bayt yer kaplar. 0001-01-01 ile 9999-12-31 arası tarih değerlerini saklar. datetime: YYYY-MM-DD hh:mm:ss[.mmm] şeklinde tarihi tutar (2011-01-21 12:35:29.123 gibi). 8 bayt yer kaplar. 1753-01-01 00:00:00.000 ile 9999-12-31 23:59:59.999 arası tarih değerlerini saklar. datetime2: datetime göre daha hassas şekilde YYYY-MM-DD hh:mm:ss[.nnnnnnn] tarih tutar (2011-01-21 12:35:29.1234567 gibi). saniye bölümünün ondalık kısmında 7 basamağa kadar değer tutabilir. Bu değer sadece datetime2 olarak kullanıldığında varsayılan olarak 7 basamaktır.datetime(n) şeklinde kullanarak basamak değerini belirleyebiliriz. eğer n değeri 0 ile 2 arasında ise 6 bayt; 3 veya 4 ise 7 bayt; 5 ile 7 arasında ise 8 bayt yer kaplar. smalldatetime: YYYY-MM-DD hh:mm:ss şeklinde tarih tutar. 4 bayt yer kaplar. 1900- 01-01 00:00:00 ile 2079-06-06 23:59:59 arası tarih değerlerini saklar. time: sadece saati hh:mm:ss[.nnnnnnn] şeklinde tutar. 00:00:00.0000000 ile 23:59:59.9999999 arası değer alır. datetime2′de olduğu gibi time(n) şeklinde n değerini belirleyebiliyoruz. n değeri 0 ile 2 arasında ise 3 bayt; 3 veya 4 ise 4 bayt; 5 ile 7 arasında ise 5 bayt yer kaplar. sadece time olarak kullanılırsak varsayılan n değeri 7′dir. datetimeoffset: kullanımı ve tarih aralığı datetime2 ile aynıdır. Ülkelere göre değişen zaman farkını da tutmamıza olanak sağlar. YYYY-MM-DD hh:mm:ss[. nnnnnnn] [{+|-}hh:mm] şeklinde tarihi tutar (22.01.2012 02:07:23.1234567 +03:00). Saat farkı - 14:00 ile +14:00 arasında değer alır. Yaptığımız uygulamada farklı ülkelerin tarih ve saat bilgilerini tutuyorsak bu veri tipini kullanabiliriz. datetimeoffset(n) şeklinde kullanılır.  n değeri 0 ile 2 arasında ise 8 bayt; 3 veya 4 ise 9 bayt; 5 ile 7 arasında ise 10 bayt yer kaplar. sadece datetimeoffset olarak kullanılırsak varsayılan n değeri 7′dir.

SQL Server Veri Tipleri 4. Karakter Veri Tipleri (Character Strings) char: sabit uzunlukta karakter dizilerini tutar. char(n) şeklinde kullanılır. n karakter sayısıdır ve 1 ile 8000 arasında değer alır. belirlediğimiz n değerinden daha kısa uzunlukta olan veriler boşluk ile belirlediğimiz bu n değerine tamamlanır. ve bu n değerine göre (n x 1 bayt) yer kaplarlar. varchar: sabit uzunlukta karakter dizilerini tutar. varchar(n) şeklinde kullanılır. n karakter sayısıdır ve 1 ile 8000 arasında değer alır. belirlediğimiz n değeri alabileceği maksimum karakter sayısıdır. Karakter sayısı daha kısa veri girersek char gibi boşlukla tamamlanmaz. Kaç karakter veri girilirse boyutu ona göre değişir. ((kaydedilenVerininKarakterSayisi x 1 bayt) + 2 bayt) olarak yer kaplar. varchar(MAX) şeklinde kullanırsak maksimum 8000 karakter değil de maksimum2,147,483,647 karakter veri girilebilir. text: varchar(max) ile aynı özelliktedir. maksimum 2,147,483,647 karakter veri girilebilir. microsoft bu veri tipini gelecek versiyonlarda kaldıracağı için kullanılması önerilmez. yerinevarchar(MAX) kullanabilirsiniz. Not: Eğer oluşturmuş olduğumuz veritabanın dil seçeneği (collation) türkçe (Turkish_Cl_AS gibi) ise unicode olmayan bu veri tiplerinde (char,varchar) de türkçe karakter saklayabiliriz. Fakat dil seçeneği farklıysa türkçe karakter gönderdiğimizde seçtiğimiz dil seçeneğine göre türkçe karakter kaydedilmeyebilir. (ı’lar i; ş’ler s’ye çevrilebilir). Böyle durumlarda ya veritabanı özelliklerinden dil seçeneğini (collation)’ı türkçeye çevirmeliyiz ya da unicode karakter veri tiplerini(nchar,nvarchar) kullanmalıyız.

SQL Server Veri Tipleri 5. Unicode Karakter Veri Tipleri nchar: char ile kullanımı aynıdır. char’dan farklı olarak unicode karakterleri de saklayabilir. nchar(n) şeklinde kullanılır ve n değeri 1 ile 4000 arasındadır. char’ın iki katı kadar (n x 2 bayt) yer kaplar. nvarchar: varchar ile kullanımı aynıdır. varchar’dan farklı olarak unicode karakterleri de saklayabilir. nvarchar(n) şeklinde kullanılır ve n değeri 1 ile 4000 arasındadır. varchar’ın iki katı kadar ((kaydedilenVerininKarakterSayisi x 2 bayt) + 2 bayt) olarak yer kaplar. ntext: nvarchar(max) ile aynı özelliktedir. maksimum 1,073,741,823 karakter veri girilebilir. microsoft bu veri tipini gelecek versiyonlarda kaldıracağı için kullanılması önerilmez. yerinenvarchar(MAX) kullanabilirsiniz. Not: Eğer veritabanımızdaki kayıtlarda birden fazla dil kullanılacaksa veya veritabanının dil seçeneğinden (collation) farklı bir dil ile kayıt yapılacaksa unicode karakter veri tipleri kullanılmalıdır. 6. Binary Veri Tipleri (Binary Strings) binary: dosyaları(binary data) saklamak için kulanılır. binary(n) şeklinde n değeri 1 ile 8000 arasında değer alır. n bayt kadar yer kaplar. varbinary: dosyaları(binary data) saklamak için kullanılır. binary’den farklı olarak boyutu kaydedilen dosyanın boyutuna göre değişir. varbinary(n) şeklinde n değeri 1 ile 8000 arasında değer alır. varbinary(MAX) olarak kullanıldığında maksimum 2,147,483,647 bayt (2 GB) büyüklüğünde dosya kaydedilebilir. image: dosyaları(binary data) saklamak için kullanılır. maksimum 2,147,483,647 bayt (2 GB) büyüklüğünde dosya saklayabilir. microsoft, sql server’ın gelecek versiyonlarında image veri tipini kaldırmayı düşündüğü için yerine varbinary(MAX) kullanabilirsiniz.

Anahtar (Key) Anahtar bir veya birden fazla alanın bir satır için niteleyici olarak girilmesi için zorlanan bir çeşit zorlayıcıdır. 2 çeşit anahtar vardır: Birincil Anahtar (Primary Key) Yabancı Anahtar (Foreign Key)

Birincil anahtar Bir kayıta ulaşmayı sağlayacak anahtar veridir. Örneği öğrenciler arasında iki Ahmet var. Arama yaparken istediğimiz Ahmet’i bulmak için her bir öğrenciye özel bir numara olmalıdır. Örneğin öğrenci numarası Birden fazla alanda birlikte birincil anahtar olabilir

Yabancı anahtar Bir tabloya girilebilecek kayıtları başka bir tablonun belli alanındaki verilerle sınırlandırmaya ve ilişkilendirmeye yarar. Örneğin öğrencilerin not verilerinin girildikleri tablodaki her satıra öğrenci bilgileri tablosundaki öğrenci no ile eşleşen bir değer girilmesi gibi.

Varlık-bağıntı modeli (Entity–relationship - ER -model) Varlık – Entity – Tablo - Table Nitelik - Attribute – Sütun - Column Relationsip – İlişki Anahtar Nitelik – Primary Key Çok Değerli Nitelik Zayıf Varlık Kümesi

Veri tabanı Tasarlama 1. Nesneler tanımlanır Kütüphane sistemi: kitap, üyeler, türler, ödünç hareketleri

Veri tabanı Tasarlama 2. Her nesne için bir tablo oluşturulur. kitap, uyeler, turler, odunc_hareketleri

Veri tabanı Tasarlama 3. Her tablo için bir anahtar alan seçilir Kitap tablosu: kitapno Üyeler tablosu: uyeno

Veri tabanı Tasarlama 4. Nesnelerin her bir özelliği için tabloya sütun eklenir Kitap tablosu: kitapno, yılı, yazarı, adı, ilgili olduğu alan

Veri tabanı Tasarlama 5. Tekrarlayan nesne özellikleri için ek tablolar oluşturulur. İstek tablosu uyeno İstek _tarihi Kitap_adi Kitap_yili Kitap_yazari ilgili _alan

Veri tabanı Tasarlama 6. Tablo ile doğrudan ilişkili olmayan alanlar belirlenir. Ödünç hareketleri tablosunda kitabı ödünç alan üyenin adresi doğrudan bu tablo ile ilişkili değildir. Bu veri üye bilgilerinin tutulduğu uyeler tablosunda yer almalıdır.

Veri tabanı Tasarlama 7. Tablolar arasındaki ilişkiler tanımlanmalıdır. Tanımlanan tablodaki alanların birbiri ile ilişkisi tanımlanır. Örneğin uyeler tablosundaki uyeno ile odunç_tablosundaki uyeno alanı ilişkilendirilmelidir.

Kaynaklar Köseoğlu, K. (2005). Veri Tabanı Mantığı. Şefik Matbaası. İstanbul Alokoç Burma, Z. (2005). Veritabanı Yönetim Sistemleri ve SQL / PL - SQL / T – SQL. Seçkin Yayıncılık. Ankara