İlişkisel Veritabanı
- İngilizcesi
- Relational Database
- Okunuşu
- rileyşınıl deytıbeys
Kısaca
İlişkisel veritabanı, veriyi satır ve sütunlardan oluşan tablolarda saklar, tabloları anahtarlarla bağlar ve veriyi SQL ile sorgulayıp birleştirmeyi sağlar.
İlişkisel veritabanı nedir?
İlişkisel veritabanı, veriyi tablolara düzenler; her sütunun bir adı ve veri türü vardır, her satır ise bir müşteri ya da bir sipariş gibi tek bir kaydı tutar. Her satır bir birincil anahtarla tanımlanır ve tablolar birbirlerine yabancı anahtarlarla işaret eder. Fikir, Edgar F. Codd'un 1970'te IBM'de yayımladığı ilişkisel modelden gelir ve hâlâ iş verisini saklamanın en yaygın yoludur.
Bir şema; tabloları, sütun türlerini ve NOT NULL ya da UNIQUE gibi kısıtları tanımlar ve veritabanı bu kuralları bozan veriyi reddeder. Veriyi SQL ile okur ve değiştirirsiniz; sorgu planlayıcı (query planner) adı verilen bir bileşen, örneğin bir indeks kullanıp kullanmayacağı gibi, her sorgunun nasıl çalışacağına karar verir. İlişkili veri ayrı tablolarda tutulur ve okuma zamanında birleştirmelerle bir araya getirilir; ACID garantili transaction'lar ise çok adımlı değişiklikleri güvende tutar. Bilinen ilişkisel veritabanları arasında PostgreSQL, MySQL, SQLite, SQL Server ve Oracle Database bulunur.
İlişkisel veritabanı, katı kuralları olan bağlantılı elektronik tablolar kümesi gibidir: her sayfa her sütunda yalnızca belirli türde değerlere izin verir ve siparişler sayfasındaki bir müşteri ID'si her zaman müşteriler sayfasındaki gerçek bir satırla eşleşir. Bu yapı onu, verinin net ilişkileri olduğu ve doğru kalması gereken bankacılık, e-ticaret, envanter, rezervasyon ve kullanıcı hesapları için güçlü bir varsayılan yapar.
İlişkisel veritabanları çoğu zaman SQL'in kendisiyle karıştırılır ya da doküman veritabanlarıyla fazla keskin biçimde karşılaştırılır. SQL dildir; ilişkisel veritabanı ise tabloları saklayan sistemdir. Doküman veritabanı, ilişkili veriyi tablolara bölüp sonra birleştirmek yerine tek bir iç içe dokümanda birlikte tutar. "İlişkisel" kelimesi tablolar arasındaki ilişkilere değil, Codd'un ilişki (relation) dediği tabloların kendisine atıfta bulunur.
Önemli noktalar
- Veri, türlü sütunları olan tablolarda yaşar ve kayıt başına bir satır vardır.
- Birincil anahtarlar satırları tanımlar, yabancı anahtarlar tablolar arasında satırları bağlar.
- Veriyi sorgulamak için SQL kullanılır ve birleştirmeler okuma zamanında tabloları bir araya getirir.
- Bir şema ve kısıtlar, geçersiz veriyi saklanmadan önce reddeder.
- ACID garantili transaction'lar çok adımlı değişiklikleri tutarlı tutar.
Örnek
CREATE TABLE customers (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL
);
CREATE TABLE orders (
id INTEGER PRIMARY KEY,
customer_id INTEGER NOT NULL REFERENCES customers (id),
total NUMERIC(10, 2) NOT NULL
);
-- Combine the two tables through the key that links them
SELECT c.name, o.total
FROM orders AS o
JOIN customers AS c ON c.id = o.customer_id;Sık sorulan sorular
RDBMS nedir?
RDBMS, ilişkisel veriyi saklayan ve yöneten yazılım olan ilişkisel veritabanı yönetim sisteminin (relational database management system) kısaltmasıdır. PostgreSQL, MySQL ve SQLite örneklerdir; günlük konuşmada RDBMS ve ilişkisel veritabanı birbirinin yerine kullanılır.
Neden ilişkisel veritabanı deniyor?
İlişkisel modelde tabloya ilişki (relation) denir: aynı sütunları paylaşan bir satır kümesi. Ad, tablolar arasındaki bağlantılardan değil, bu matematiksel terimden gelir.
İlişkisel veritabanı ne zaman en iyi seçim değildir?
Sabit bir biçimi olmayan veri, birçok sunucuya yayılmış çok yüksek yazma hacimleri ya da uzun ilişki zincirlerini izleyen sorgular için zayıf bir uyum olabilir. Doküman, anahtar-değer, zaman serisi ve çizge veritabanları bu durumları hedefler.
İlgili sayfalar
- SQLVeritabanları, s. 29SQL, ilişkisel veritabanlarıyla çalışmanın standart dilidir; tablo oluşturmak ve içindeki veriyi eklemek, sorgulamak, güncellemek ve silmek için kullanılır.
- Birincil AnahtarVeritabanları, s. 2Birincil anahtar, bir veritabanı tablosundaki her satırı benzersiz biçimde tanımlayan, asla boş ya da tekrarlı olamayan bir sütun veya sütun kümesidir.
- Yabancı AnahtarVeritabanları, s. 45Yabancı anahtar, bir veritabanı tablosunda başka bir tablonun birincil anahtarına başvuran sütundur; ilişkili satırları bağlar ve başvuruları geçerli tutar.
- SQL JOINVeritabanları, s. 30SQL JOIN, iki ya da daha fazla tablonun satırlarını yabancı anahtar gibi ilişkili sütunlar üzerinden eşleştirerek tek bir sonuçta birleştiren sorgu işlemidir.
- Veritabanı NormalizasyonuVeritabanları, s. 40Veritabanı normalizasyonu, her bilginin yalnızca bir kez saklanması için tabloları düzenleme sürecidir; tekrarlı veriyi azaltıp tutarsız güncellemeleri önler.
- Doküman VeritabanıVeritabanları, s. 9Doküman veritabanı, kayıtları genellikle JSON benzeri, kendi içinde bütün dokümanlar olarak saklayan, alanları kayıttan kayda değişebilen NoSQL veritabanıdır.
- PostgreSQLVeritabanları, s. 26PostgreSQL, güvenilirliği, standartlara sıkı uyumu ve eklentileriyle bilinen ücretsiz, açık kaynaklı ilişkisel veritabanıdır; web uygulamalarında yaygındır.
- MySQLVeritabanları, s. 18MySQL, SQL ile sorgulanan popüler, açık kaynaklı bir ilişkisel veritabanıdır; uzun süredir WordPress'in ve klasik LAMP yığınının veritabanı olarak bilinir.
- SQL ServerVeritabanları, s. 31Microsoft SQL Server, T-SQL lehçesiyle sorgulanan, iş uygulamalarında özellikle .NET ve Windows ile yaygın kullanılan, Microsoft'un ilişkisel veritabanıdır.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin