Veri tabanı en genel tanımıyla, kullanım amacına uygun olarak düzenlenmiş veriler topluluğudur. Birbirleriyle ilişkileri olan verilerin tutulduğu,

Benzer belgeler
Semantik Ağ ve Üst Veri Sistemleri İçin Yeni Nesil Veri Tabanı Yönetim Modeli: NoSQL. R. Orçun Madran Atılım Üniversitesi.

NoSql ve MongoDB. Saygın Topatan

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

1 Temel Kavramlar. Veritabanı 1

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

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

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

İlişkisel Veri Tabanları I

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

VERİTABANI ORGANİZASYONU

NoSQL. SQL ve Daha Fazlası (Not Only SQL) Hazırlayan: Ahmet Cevahir ÇINAR

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

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

Bilgisayar Uygulamaları. MySql

SQL Komutları (2) Uzm. Murat YAZICI

Veri Tabanı Hafta Dersi

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

Veritabanı Uygulamaları Tasarımı

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

YAPISAL SORGULAMA DİLİ (SQL)

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

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

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

VERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri

SQL e Giriş. Uzm. Murat YAZICI

Veritabanı. Ders 2 VERİTABANI

2 Temel Kavramlar (Devam) Veritabanı 1

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

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

1 Temel Kavramlar. Veritabanı 1

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

MOBİL UYGULAMA GELİŞTİRME

Maltepe Üniversitesi Endüstri Mühendisliği Bölümü Veri Tabanı Yönetimi (END 210)

Mysql Veritabanı Komutları

İLİŞKİSEL VERİTABANLARI

EBE-368 Veri Tabanı Yönetim Sistemleri SQL

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

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

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.

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

VERİTABANI. SQL (Structured Query Language)

Veri Tabanı Tasarım ve Yönetimi

1. Araçların tüm bilgilerini ve bağlı oldukları kiralama noktasının adres ve telefonunu içeren tam listesi:

PostgreSQL - Yeni dönemdeki yeri

İNTERNET TABANLI PROGRAMLAMA- 12.ders

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

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

Veritabanı ve Yönetim Sistemleri

Veri Tabanı Programlamaya Giriş

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

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

MongoDB. NoSQL Database

SQL Kod ile Tablo Oluşturma

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

Veri Tabanı-I 9.Hafta

Microsoft SQL Server Sorgulama

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

Mobil Cihazlarda Gömülü Veritabanlarının Karşılaştırılması: SqLite ve CouchBase Lite

İLİŞKİSEL VERİTABANLARINDA BİRLEŞTİRME

VERİ TABANI YÖNETİM SİSTEMLERİ. Öğr. Gör. Selçuk Özkan

Ortak Zamanlılık ve Veri Hareketi (Data Transaction)

FABREKA YAZILIM ELEKTRONİK DANIŞMANLIK TİC. LTD. ŞTİ.

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

10-Veri Tabanları.

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi --

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

ACCESS PLATFORMUNDA SQL

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

MongoDB. Doğan Aydın. Eylül, 2011

Veritabanı. SQL (Structured Query Language)

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

PostgreSQL - Yeni dönemdeki yeri

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

Her bölüm için kısa bazı girişler yapılacak ve bölüm içerisinde anlatılacak olan konuların genel başlıkları belirtilecektir.

Veri Tabanı Hafta Dersi

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

Tekrar. Veritabanı 2

Veritabanı Yönetim Sistemleri (Başarım Eniyileme Performance Tuning)

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

M2m Sistemlerde Sql Veya Nosql Kullanimi. Using Sql Or Nosql In M2m Systems

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

İş Zekası için Dört-Katmanlı Veri Modellemesi Gerçekleştirimi. Harun Gökçe EG Yazılım, TOBB ETÜ

UZAKTAN EĞİTİM MERKEZİ

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

Veri Ambarları. Erdem Alparslan

Veri Tabanı Örnekleri

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BMB202. Veritabanı Yönetimi Ders 6. SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Veri Tabanı-I 1.Hafta

Veritabanı Tasarımı. Tablo Oluşturma

Birden Çok Tabloda Sorgulama (Join)

Kişiler tablosundan AD kolonu yusuf olan tüm satırları siler. ORDER BY deyimi bir tablodan SELECT ile seçilen verileri sıralamak için kullanılır.

Veritabanı Tasarımı. Kartezyen Çarpım ve Join İşlemleri

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

İnternet Programcılığı

License. Veri Tabanı Sistemleri. Konular büyük miktarda verinin etkin biçimde tutulması ve işlenmesi. Problem Kayıt Dosyaları

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Oracle da kullanılan veri tipleri:

Transaction ve Ortak Zamanlılık. Sibel SOMYÜREK

Transkript:

Veri Tabanı Nedir?

Veri tabanı en genel tanımıyla, kullanım amacına uygun olarak düzenlenmiş veriler topluluğudur. Birbirleriyle ilişkileri olan verilerin tutulduğu, mantıksal ve fiziksel olarak tanımlarının olduğu bilgi depolarıdır. Veri tabanları gerçekte var olan ve birbirleriyle ilişkisi olan nesneleri ve ilişkileri modeller

Veri tabanı yönetim sistemleri (VTYS), verilere aynı anda birden çok bağlantı sağlayabilme özelliği sağlar. Bu sistemler, veri tabanı yönetiminin bir parçası olarak, verinin nasıl depolanacağı, kullanılacağı ve erişileceğini mantıksal olarak yönlendiren bir kurallar sistemidir

Düz model veya tablo modeli: İki boyutlu veri grubundan oluşur. Sütunlarda verilerin benzer özellikleri, satırlarda ise veri grupları yer alır. Kullanıcı adlarının ve şifrelerinin tutulduğu veri tabanı buna örnek olarak verilebilir. Böyle bir veri tabanında her satırda bir kullanıcıya ait şifre bilgileri, sütunlarda ise tipleri aynı olan veriler yer alır. Düz veri modeli tek tablodan oluşan bir model olarak düşünülebilir

Hiyerarşik Veri Modeli: İlk olarak 1960 lı yıllarda ortaya çıkmış ve adını veriyi depolama yönteminden almıştır. Bu veri tabanının depoladığı yapısal verilere kayıt adı verildi. Kayıtlar ağaç mimarisi şeklinde yukarıdan aşağı sıralanmaktadır. Kök adı verilen ilk kaydın bir veya daha çok çocuk kayıtları vardır. Çocuk kayıtlarında kendi çocuk kayıtları olabilir. Kök haricinde bütün kayıtların bir ebeveyni vardır

Ağ veri modeli: Bu model 1970'li yıların başında geliştirilmiştir. Hiyerarşik veri modelinin geliştirilmiş halidir. Hızlıca kabul görmesinin nedeni bir verinin doğal olarak başka veriler ile ilişkili olmasıdır. Ağ modelinin hiyerarşik modelden en önemli farkı, uç- düğüm pozisyonundaki verinin iç-düğüme işaret edebilmesidir. Böylelikle ağ modelinde bire-çok ilişkiler yanında, çoka-çok ilişkiler de modellenebilir. Bu veri tekrarını önemli ölçüde azaltır

İlişkisel Veri Modeli: Hiyerarşik ve ağ veri modellerinin, çeşitlenen beklentileri karşılamakta yetersiz kalması, yeni bir model arayışını başlatmış ve ilişkisel veri modeli geliştirilmiştir. İlişkisel veri modelinin temel kavramı, ilişkidir. İlişkiler yardımıyla, veri içerisindeki ilişkiler modellenir. Dolayısıyla, ilişkisel bir veri tabanı, çeşitli ilişki örneklerinden oluşur. Kavramsal olarak ilişkiler, satır ve sütunlardan oluşan iki boyutlu tablolarla karakterize edilir. Genellikle veri tabanında her tablo için bir dosya bulunur. Tablonun her satırı birbiriyle ilişkili verilerin bir topluluğudur. Sütunlarda ise nitelikler bulunur

Nesne Yönelimli Veri Modeli: Daha sonraları ortaya çıkmış ve başarısını kanıtlamıştır. Nesne yönelimli programlamaya dayanan veri modelidir

Nesne İlişkisel Veri Modeli: Nesne ilişkisel veri tabanı, ilişkisel işlevselliğin üzerine nesne yönelimli özellikler içerir. İlişkisel veri tabanları içinde nesne yönelimli karakteristikler içeren ilk veri tabanı 1997 yılında piyasaya sunulan Oracle8 dir.

Çoklu Ortam Veri Modeli: Çoklu ortam veri tabanları nesne ilişkisel veri tabanları ile büyük benzerlikler gösterir. Bununla birlikte, film, müzik, metin ve video gibi büyük nesneleri işlemek ve aynı zamanda işleme sırasındaki adımları kullanıcıya göstermemek için farklı özellikler taşır. Çoklu ortam veri tabanlarının desteklemesi gereken üç temel özellik; Veri miktarı, Süreklilik ve Senkronizasyondur. Çoklu ortam veri tabanı uygulaması, imge görüntüleme, uzaktan görüntülü eğitim, üç boyutlu tıbbi görüntü kayıtları depolanması konularında özellikle tıp bilgi sistemlerinde kullanılmaktadır

Dağıtık Veri Modeli: Dağıtık veri tabanları, iki ya da daha fazla bilgisayarda depolanan ve bir ağ üzerinde dağıtılan bilgiler için kullanılan veri tabanı grubudur. Veri tabanını ağ üzerinden paralel kullanmak için parçalara ayırmak, sorguların daha hızlı işlenmesini sağlar. Böyle bir sistemde, birden fazla veri tabanına erişilmesine rağmen, kullanıcı bir tek veri tabanıyla çalışıyormuş gibi işlem yapar.

İlişkisel Olmayan(NoSQL) ve İlişkisel Veri Tabanı Sistemleri

İlişkisel Veri Tabanı (Relational Database System) Günümüzde en yaygın kullanılan veri tabanı sistemlerinden biridir. Satır ve sütunların meydana getirdiği tablolardan oluşur. Bu tablolar birbiri ile ilişkileri olan tablolardır. Dolayısıyla bir veri tabanında ilişkiden söz edebilmek için en az iki tablonun yer alması ve bu iki tablodaki verilerin birbiri ili bir şekilde ilişkilendiriliyor olması gerekir. Bu şekilde ilişkisel veri tabanları, veri tabanı denilen büyük dosyalardan oluşur. Her bir tablo, belli yapıya uygun verileri saklamak üzere tasarlanır. ACID; klasik ilişkisel veri tabanı sistemlerinde sağlanan temel özellikler aşağıda sunulmuştur : Bölünmezlik (Atomicity) Tutarlılık (Consistency) İzolasyon (Isolation) Dayanıklılık (Durability)

İlişkisel Olmayan (NoSQL) Veri tabanı (Non-Relational Database System) NOSQL yıllardır kullanılan MSSQL ve MYSQL gibi ilişkisel kullanılan veri tabanı sistemlerine (RDBMS) alternatif olarak türetilmiş bir veri tabanı sistemidir. NOSQL sistemlerinde bildiğimiz anlamda sql dili kullanılmadığı için NOSQL olarak adlandırılmıştır. Henüz teknolojik bir standart olmadığı için bazı kişiler tarafından "Not Only SQL" olarak da isimlendirilir. Bazılarına göre yeni, hızlı ve esnek olan bu sistem kimilerine göre henüz yeterli değil. Ancak bunun üzerine düşünmek yerine şöyle bir şey düşünelim, BigData... Son yıllarda duyduğumuz bu isim yıllardır biriktirdiğimiz verilerin anlamlı hale dönüştürülme çabasıdır. Bu veri o kadar büyük boyuta ulaşır ki ilişkisel veri tabanı sistemlerinde tutulamaz. Burada tutulamadığı içinde veriler anlamlandınlamaz ve bilgi çöplüğü olarak kalır. Ancak bu bilgi çöplüğü diye tabir ettiğimiz aslında çok önemli ve yararlı verileri barındırır. İşte bu durumda başvurulan sistem NOSQL çözümleridir. Q

Neden NoSQL Gerekli? NOSQL'in önemini şöyle vurgulayabiliriz. Google yıllardır indekslediği sitelerin bilgilerini RDBMS'de değil Big Table üzerinde tutuyor. Bu sayede RDBMS gibi büyük verileri pertormanslı bir şekilde işleyemeyen pahalı sistemler yerine açık kaynaklı ucuz ve performans]] sistemleri tercih ediyor. NOSQL'in Farkı Nedir? NOSQL, RDBMS gibi işlem tabanlı çalışmaz. Bunun yerine yatay büyüme yaparak, performans kazancı sağlar. Verileri bölerek kopyalarını dağınık sistemin farklı parçalarına ekler böylelikle tutarlılık sağlar ve her bir parça için harcanan yük azaltılmış olur.

RDBMS önceden tasarlanıp sütunları belirlenir ve satır satır eklenir. Ancak NOSQL de bu tip bir tanıma gerek yoktur. Bunun yerine daha esnek bir yapı bulunur. Bu kafanızda soru işareti bırakıyorsa şöyle düşünün. 2 adet kolonu olan bir tablonuzda integer veriler' tutuyorsunuz yeni satırınızda bunlar yerine varchar eklemeniz gerekiyor. Hiçbir değişikliğe gerek kalmadan yerinizi ekleyebilirsiniz. A kolonu B kolonu varken C ve D'ye gerek yok. NOSQL birincil indeks değerine ihtiyaç duyar ve bunun üzerinden erişim sağlar. RDBMS de bu zorunlu değildir. Oluşan indeks üzerinden belirli aralığa hızlıca ulaşılabilir. Aralarındaki en önemli fark bizce veri tabanı tasarımında oluşuyor. RDBMS bir sistem için kullanacağınız veriyi nasıl depolayacağım diye düşünürken, NOSQL için depoladığım veriyi nasıl kullanacağım diye düşünüyorsunuz. Bu da proje yazarken sadece projenizi yazmanızı sağlıyor.

NOSQL Sistemleri nelerdir? Döküman (Document) tabanlı: Bu tip veri tabanları JSON yapısında kayıt yapar. Bu yapılarda sınırsız alan oluşturabilirsiniz. Hatta sınırsız alanların içine sınırsız alanlar ve onların da içine şeklinde devam edebilirsiniz. MongoDB, CouchDB, Amazon Simple DB, Cassandra, HBase... Anahtar / Değer (Key / Value) tabanlı: Bu sistemlerde anahtarlara karşılık gelen tek bir bilgi bulunur. Kolon yapısı yoktur. MemcacheDB, Berkeley DB, Azure Table Storage... Grafik (Graph) tabanlı: Bu sistemler diğerlerinden farklı olarak verilerin ilişkisini saklayan Graph Theory modelindeki sistemlerdir. Neo4J, FlockDB...

SQL Sorguları SELECT, WHERE, DISTINCT, AND, OR, ORDER BY, INSERT INTO, UPDATE, DELETE, SELECT TOP, LIKE, BETWEEN, ALIASES, JOINS, INNER JOIN, SELECT INTO, CREATE, AVG, COUNT, MAX, MIN, LEN, ROUND,LIMIT,UNION

???

SQL LIMIT Kullanımı Tablodan kaç adet satırın çekileceğini belirlerken kullanırız SELECT * FROM musteriler WHERE sehir= Manisa LIMIT 1

SQL UNION Kullanımı UNION ile iki adet tablomuzdaki seçeceğimiz alanları birleştirerek tek bir tablo alanıymış gibi kullanabiliriz. Union ile iki tablodaki alanlar birleştirilirken tekrarlayan kayıtlar bir defa alınır. Eğer tekrarlayan kayıtların alınması isteniyorsa UNION ALL kullanılmalıdır.

UNION Kullanım Biçimi SELECT alan_ad(lari) FROM tablo1 UNION SELECT alan_ad(lari) FROM tablo2 UNION ALL Kullanım Biçimi SELECT alan_ad(lari) FROM tablo1 UNION ALL SELECT alan_ad(lari) FROM tablo2