Veritabanı geliştiricileri ve yöneticileri için İngilizce

Veritabanı İngilizcesi: 100 Temel Terim ve Anlamları

Veritabanı işleri İngilizce yürür: PostgreSQL, MySQL, SQL Server, Oracle ya da MongoDB kullanın, SQL anahtar kelimeleri, hata mesajları, yürütme planları, üretici dokümantasyonu ve izleme panelleri hep aynı terimleri kullanır. Bu terimleri bilmek, geliştiricilerin ve veritabanı yöneticilerinin dokümantasyonu ve sorgu planlarını hızla okumasını, şema değişikliklerini ve kesintileri uluslararası ekiplerle konuşabilmesini ve teknik mülakatlarda soruları rahatça yanıtlayabilmesini sağlar.

  • 100 terim
  • 10 konu
  • 47 temel terim
  • 200 örnek cümle

Veritabanı Temelleri

  • databaseisimveritabanı, veri tabanı

    Programların ve kişilerin bilgiyi hızla bulabilmesi, ekleyebilmesi, değiştirebilmesi ve silebilmesi için bilgisayarda düzenli biçimde saklanan veri topluluğu.

  • relational databaseisimilişkisel veritabanı

    Veriyi satır ve sütunlardan oluşan tablolarda tutan, tabloları anahtarlar aracılığıyla birbirine bağlayan veritabanı türü. Veri genellikle SQL ile yönetilir.

  • DBMSkısaltmaveritabanı yönetim sistemi, VTYS

    Database management system, yani veritabanı yönetim sistemi: veriyi saklayan, sorguları çalıştıran, erişimi denetleyen ve verinin güvenliğini sağlayan yazılım; PostgreSQL ya da Oracle gibi.

  • ORMkısaltmanesne-ilişkisel eşleme, ORM

    Object-relational mapping, yani nesne-ilişkisel eşleme: geliştiricilerin veritabanı satırlarıyla kendi programlama dillerindeki nesneler gibi çalışmasını sağlayan ve SQL'i onlar yerine üreten kütüphane.

  • CRUDkısaltmaoluşturma, okuma, güncelleme, silme, CRUD

    Create, Read, Update, Delete: saklanan veri üzerindeki dört temel işlem; SQL'deki INSERT, SELECT, UPDATE ve DELETE komutlarına karşılık gelir.

  • data warehouseisimveri ambarı

    Birçok sistemden geçmiş verileri toplayan, küçük güncellemelerden çok büyük okuma sorguları için tasarlanmış, raporlama ve analize yönelik merkezi veritabanı.

  • OLTPkısaltmaçevrimiçi işlem işleme, OLTP

    Online transaction processing, yani çevrimiçi işlem işleme: sipariş vermek ya da profil güncellemek gibi kullanıcılardan gelen çok sayıda küçük ve hızlı okuma-yazma işleminden oluşan veritabanı iş yükü.

Tablolar, Şemalar ve Veritabanı Nesneleri

  • tableisimtablo

    İlişkisel veritabanında tek bir tür nesneye ait veriyi satır ve sütunlar halinde tutan yapı; örneğin tüm müşteriler ya da tüm siparişler.

  • rowisimsatır, kayıt

    Bir tablonun tek bir öğeye, örneğin bir müşteriye ya da bir siparişe ait bütün değerleri tutan yatay çizgisi.

  • columnisimsütun, kolon

    Bir tablonun adı ve veri tipi olan dikey bölümü; her satır için aynı türden bir bilgiyi, örneğin e-posta ya da oluşturulma tarihini tutar.

  • schemaisimşema

    Bir veritabanının yapısı: tabloları, sütunları, veri tipleri, anahtarları ve ilişkileri. Bazı ürünlerde veritabanı içindeki tabloları gruplayan adlandırılmış bir alan anlamına da gelir.

  • recordisimkayıt

    Tek bir öğeye, örneğin bir müşteriye ya da bir faturaya ait verinin tamamı; ilişkisel bir tabloda satırla aynı şeydir.

  • data typeisimveri tipi, veri türü

    Bir sütunun tutabileceği değerin türü; tam sayı, metin, tarih ya da doğru/yanlış değeri gibi. Neyin saklanabileceğini ve ne kadar yer kaplayacağını belirler.

  • NULLisimNULL, boş değer

    Bir değerin eksik ya da bilinmediğini gösteren özel işaret. Sıfırla ya da boş metinle aynı şey değildir.

  • CREATE TABLEifadetablo oluşturma komutu, CREATE TABLE

    Yeni bir tablo oluşturan SQL komutu; tablonun adını, sütunlarını ve veri tiplerini, birincil anahtar gibi kısıtlarını tanımlar.

  • ALTER TABLEifadetablo değiştirme komutu, ALTER TABLE

    Var olan bir tablonun yapısını değiştiren SQL komutu; örneğin sütun eklemek, yeniden adlandırmak ya da silmek veya kısıt eklemek için kullanılır.

  • viewisimgörünüm, view

    Tablo gibi kullanılabilen, kaydedilmiş bir SELECT sorgusu. Genellikle kendi verisini saklamaz ve her seferinde sorgunun güncel sonucunu gösterir.

  • stored procedureisimsaklı yordam, stored procedure

    Veritabanının içinde saklanan, parametre alabilen ve tek bir çağrıyla tekrar tekrar çalıştırılabilen adlandırılmış SQL kod bloğu.

  • default valueisimvarsayılan değer

    Yeni bir satır o sütun için değer verilmeden eklendiğinde sütuna otomatik olarak atanan değer; 0, 'pending' ya da o anki zaman gibi.

  • triggerisimtetikleyici, trigger

    Bir tabloda ekleme, güncelleme ya da silme gibi belirli bir olay gerçekleştiğinde otomatik olarak çalışan, veritabanında saklanan kod parçası.

  • migrationisimmigration, şema geçişi

    Veritabanı şemasını kontrollü biçimde değiştiren sürümlü betik ya da daha geniş anlamda verileri bir veritabanından veya sistemden diğerine taşıma projesi.

SQL Komutları ve Sorgular

  • SQLkısaltmaSQL, yapılandırılmış sorgu dili

    Structured Query Language, yani yapılandırılmış sorgu dili: ilişkisel veritabanlarında tablo oluşturmak ve veri okumak, eklemek, değiştirmek ya da silmek için kullanılan standart dil.

  • queryisimsorgu

    Veri okumak ya da değiştirmek için veritabanına gönderilen, çoğunlukla SQL ile yazılmış istek. Fiil olarak 'query' veritabanından veri istemek, sorgulamak anlamına gelir.

  • SELECT statementisimSELECT sorgusu, seçme sorgusu

    Bir ya da daha fazla tablodan veri okuyup koşula uyan satırları döndüren, veritabanında hiçbir şeyi değiştirmeyen SQL komutu.

  • WHERE clauseisimWHERE koşulu, filtre koşulu

    Bir SQL komutunda koşul belirleyen bölüm; yalnızca bu koşulu sağlayan satırlar okunur, güncellenir ya da silinir.

  • joinisimbirleştirme, join

    İki ya da daha fazla tablodaki satırları, müşteri ID'si gibi ortak bir sütun üzerinden bir araya getiren SQL işlemi. Fiil olarak tabloları bu şekilde birleştirmek anlamına gelir.

  • INSERT statementisimINSERT komutu, ekleme komutu

    Bir tabloya bir ya da daha fazla yeni satır ekleyen SQL komutu; INSERT INTO ifadesinden sonra sütun adları ve değerleri yazılır.

  • UPDATE statementisimUPDATE komutu, güncelleme komutu

    Var olan satırlardaki değerleri değiştiren SQL komutu; yalnızca doğru satırların değişmesi için genellikle bir WHERE koşuluyla sınırlandırılır.

  • DELETE statementisimDELETE komutu, silme komutu

    Bir tablodan satır silen SQL komutu. WHERE koşuluyla yalnızca koşula uyan satırları siler; koşul yoksa bütün satırları siler.

  • ORDER BYifadesıralama, ORDER BY ifadesi

    Sorgu sonucundaki satırları bir ya da daha fazla sütuna göre artan (ASC) ya da azalan (DESC) sırada dizen SQL ifadesi.

  • GROUP BYifadegruplama, GROUP BY ifadesi

    Aynı değerlere sahip satırları gruplara ayıran ve her grup için toplam, sayı ya da ortalama hesaplanmasını sağlayan SQL ifadesi.

  • aggregate functionisimtoplama fonksiyonu, küme fonksiyonu

    Birçok satırı alıp bunlardan tek bir değer üreten SQL fonksiyonu; COUNT, SUM, AVG, MIN ya da MAX gibi.

  • inner joinisimiç birleştirme, inner join

    Yalnızca iki tabloda da eşleşmesi olan satırları döndüren join; diğer tarafta karşılığı olmayan satırlar sonuca girmez.

  • left joinisimsol birleştirme, left join

    Birinci (sol) tablodaki bütün satırları ve ikinci tablodaki eşleşen satırları döndüren join; eşleşme yoksa ikinci tablonun sütunları NULL gelir.

  • subqueryisimalt sorgu, iç içe sorgu

    Başka bir sorgunun içine parantez içinde yazılan ve sonucu dıştaki sorgu tarafından, örneğin filtrelenecek değerlerin listesi olarak kullanılan sorgu.

  • HAVING clauseisimHAVING koşulu, grup filtresi

    GROUP BY çalıştıktan sonra grupları filtreleyen SQL bölümü; genellikle COUNT ya da SUM gibi bir toplama fonksiyonunun sonucunu kullanır.

  • SELECT DISTINCTifadetekrarsız seçim, SELECT DISTINCT

    Sonuçtaki tekrar eden satırları çıkaran SELECT biçimi; böylece döndürülen değerlerin her birleşimi yalnızca bir kez görünür.

  • aliasisimtakma ad, alias

    Sorgu içinde bir tabloya ya da sütuna genellikle AS anahtar kelimesiyle verilen geçici kısa ad; sorguyu kısaltmak ya da çıktıyı daha anlaşılır hale getirmek için kullanılır.

  • upsertfiilvarsa güncelleyip yoksa eklemek, upsert etmek

    Bir satır henüz yoksa eklemek, zaten varsa güncellemek işlemini tek adımda yapmak. Kelime 'update' ve 'insert' sözcüklerinin birleşimidir.

  • CTEkısaltmaortak tablo ifadesi, CTE

    Common table expression, yani ortak tablo ifadesi: bir sorgunun başında WITH ile tanımlanan, ana sorgunun ardından tablo gibi kullanabildiği adlandırılmış geçici sonuç.

  • window functionisimpencere fonksiyonu, analitik fonksiyon

    Birbiriyle ilişkili bir satır kümesi üzerinden yürüyen toplam ya da sıralama gibi bir değer hesaplayan ama her satırı yine ayrı ayrı döndüren SQL fonksiyonu.

  • UNIONisimbirleşim, UNION

    İki ya da daha fazla SELECT sorgusunun sonuçlarını alt alta ekleyerek tek bir sonuçta birleştiren ve tekrar eden satırları çıkaran SQL operatörü.

  • truncatefiiltabloyu boşaltmak, truncate etmek

    TRUNCATE TABLE komutuyla bir tablodaki bütün satırları tek seferde silmek; tablo ve yapısı korunur ve satırları tek tek silmekten çok daha hızlıdır.

  • DDLkısaltmaveri tanımlama dili, DDL

    Data definition language, yani veri tanımlama dili: CREATE, ALTER ve DROP gibi veritabanı nesnelerini oluşturan, değiştiren ve kaldıran SQL komutları.

  • DMLkısaltmaveri işleme dili, DML

    Data manipulation language, yani veri işleme dili: tabloların içindeki veriyle çalışan SQL komutları; başlıcaları INSERT, UPDATE, DELETE ve çoğu zaman SELECT'tir.

Anahtarlar ve Kısıtlar

  • primary keyisimbirincil anahtar, PK

    Bir tablodaki her satırı benzersiz biçimde tanımlayan sütun ya da sütun grubu. Boş bırakılamaz ve iki satır aynı değere sahip olamaz.

  • foreign keyisimyabancı anahtar, dış anahtar

    Bir tablodaki, başka bir tablonun birincil anahtarına işaret eden sütun. İki tabloyu birbirine bağlar ve var olmayan satırlara referans kaydedilmesini engeller.

  • constraintisimkısıt, kısıtlama

    Bir tablo ya da sütun üzerinde tanımlanan, veritabanının otomatik olarak uyguladığı ve kuralı bozacak her veriyi reddettiği kural.

  • unique constraintisimbenzersizlik kısıtı, tekillik kısıtı

    Bir sütunda ya da sütun grubunda iki satırın aynı değere sahip olmasını engelleyen kural; örneğin aynı e-posta adresine sahip iki kullanıcı olmasını önler.

  • auto-incrementsıfatotomatik artan, kendiliğinden artan

    Yeni bir satır eklendiğinde değeri veritabanı tarafından sıradaki sayıyla otomatik olarak doldurulan sayısal sütunu tanımlar.

  • composite keyisimbileşik anahtar

    Bir satırı ancak birlikte kullanıldığında tanımlayan iki ya da daha fazla sütundan oluşan anahtar; sipariş kalemleri tablosundaki sipariş ID'si ile ürün ID'sinin birlikte kullanılması gibi.

  • surrogate keyisimvekil anahtar, yapay anahtar

    Yalnızca her satırı tanımlamak için oluşturulan, iş açısından hiçbir anlam taşımayan yapay anahtar; otomatik artan bir sayı ya da UUID gibi.

  • referential integrityisimreferans bütünlüğü, ilişkisel bütünlük

    Tablolar arasındaki her referansın gerçekten var olan bir satırı göstermesi gerektiği kuralı; böylece var olmayan müşterilere ait siparişler oluşmaz.

  • cascadefiilzincirleme uygulamak, kademeli olarak yansımak

    Bir silme ya da güncelleme işleminin üst satırdan, yabancı anahtarla ona bağlı bütün alt satırlara otomatik olarak yansıması.

Veri Modelleme ve Normalizasyon

  • normalizationisimnormalizasyon, normalleştirme

    Her bilginin yalnızca tek bir yerde saklanması için tabloları düzenleme süreci; tekrar eden veriyi azaltır ve güncelleme hatalarını önler.

  • ER diagramisimvarlık-ilişki diyagramı, ER diyagramı

    Bir veritabanı tasarımını gösteren çizim; varlıkları (genellikle tabloları), özelliklerini ve aralarındaki bire-çok gibi ilişkileri gösterir.

  • one-to-many relationshipisimbire-çok ilişki, bir-çok ilişkisi

    Birinci tablodaki bir satırın ikinci tablodaki birçok satırla bağlantılı olabildiği, ama bu satırların her birinin yalnızca tek bir satıra ait olduğu ilişki; müşteri ve siparişleri gibi.

  • many-to-many relationshipisimçoka-çok ilişki, çok-çok ilişkisi

    Bir tablodaki birçok satırın diğer tablodaki birçok satırla ilişkili olabildiği bağlantı; öğrenciler ve dersler gibi. Eşleşmeleri saklamak için arada üçüncü bir tablo gerekir.

  • denormalizationisimdenormalizasyon, normalizasyonu bozma

    Okumayı hızlandırmak için bazı verileri bilerek birden fazla yerde saklamak ya da tabloları birleştirmek; kopyaları doğru tutmak için daha fazla çaba gerektirmeyi göze almak.

  • normal formisimnormal form, normal biçim

    Tablo tasarımı için tanımlanmış bir dizi kuraldan biri (1NF, 2NF, 3NF ve daha üstü); her düzey belirli bir tür tekrar eden ya da yanlış yerde duran veriyi ortadan kaldırır.

  • cardinalityisimkardinalite, eleman sayısı

    Ya tablolar arasındaki ilişkinin türü (bire-bir, bire-çok, çoka-çok) ya da bir sütundaki farklı değerlerin sayısı.

İndeksler ve Sorgu Performansı

  • indexisimindeks, dizin

    Bir ya da daha fazla sütun üzerine kurulan, veritabanının bütün tabloyu okumadan satırları hızla bulmasını sağlayan ek veri yapısı; kitabın sonundaki dizine benzer.

  • execution planisimyürütme planı, sorgu planı

    Veritabanının bir sorguyu çalıştırmak için seçtiği adım adım strateji; hangi indeksleri kullandığını, tabloları nasıl birleştirdiğini ve kaç satır beklediğini gösterir.

  • query optimizerisimsorgu iyileştirici, sorgu optimize edici

    Bir sorguya ve tablo istatistiklerine bakarak onu çalıştırmanın en ucuz yolunu seçen ve yürütme planını üreten veritabanı motoru bileşeni.

  • clustered indexisimkümelenmiş indeks, clustered index

    Bir tablonun satırlarının fiziksel olarak hangi sırayla saklanacağını belirleyen indeks; bu yüzden bir tabloda yalnızca bir tane olabilir, diğer indeksler kümelenmemiş (non-clustered) indekslerdir.

  • full table scanisimtam tablo taraması

    Bir sorgunun ihtiyaç duyduğu satırları indeks aracılığıyla doğrudan bulmak yerine tablodaki bütün satırları okumak.

  • slow queryisimyavaş sorgu

    Tamamlanması belirlenen bir süre sınırından uzun süren, uygulamayı yavaşlatan ve veritabanı kaynaklarını tüketen sorgu.

  • connection poolisimbağlantı havuzu

    Uygulamanın her istek için yeni ve yavaş bir bağlantı açmak yerine hazır tuttuğu ve yeniden kullandığı açık veritabanı bağlantıları kümesi.

  • partitioningisimbölümleme, partitioning

    Büyük bir tabloyu tarih aralığı ya da bölge gibi bir kurala göre partition denen daha küçük parçalara bölmek; sorgular açısından tablo yine tek bir tablo gibi görünür.

  • cacheisimönbellek, cache

    Sık kullanılan verilerin ya da sorgu sonuçlarının kopyalarını tutan ve bunların veritabanına yeniden sorulmadan döndürülmesini sağlayan hızlı depolama katmanı.

  • query tuningisimsorgu iyileştirme, sorgu optimizasyonu

    Yavaş sorguların yürütme planlarını inceleyip ardından indeks ekleyerek, SQL'i yeniden yazarak ya da veritabanı ayarlarını değiştirerek onları hızlandırma çalışması.

İşlemler ve Eşzamanlılık

  • transactionisimişlem, transaction

    Tek bir bütün olarak ele alınan veritabanı işlemleri grubu: ya hepsi birlikte başarılı olur ya da hiçbiri uygulanmaz.

  • commitfiilonaylamak, kalıcı hale getirmek

    Bir transaction'ı bitirip yaptığı bütün değişiklikleri kalıcı hale getirmek; böylece değişiklikleri diğer oturumlar görebilir ve bir çökme sonrasında da korunur.

  • rollbackisimgeri alma, rollback

    Bir transaction'ı iptal ederek yaptığı bütün değişiklikleri geri almak ve veriyi transaction başlamadan önceki haline döndürmek.

  • ACIDkısaltmaACID özellikleri

    Atomicity (bölünmezlik), Consistency (tutarlılık), Isolation (yalıtım), Durability (kalıcılık): hatalara, çökmelere ve aynı anda çok sayıda kullanıcıya rağmen transaction'ları güvenilir kılan dört güvence.

  • isolation levelisimyalıtım düzeyi, izolasyon seviyesi

    Bir transaction'ın diğer transaction'ların değişikliklerinden ne kadarını görebileceğini belirleyen ayar; veri güvenliği ile hız ve eşzamanlılık arasında bir denge kurar.

  • lockisimkilit

    Veritabanının bir satıra, sayfaya ya da tabloya koyduğu, mevcut transaction bitene kadar diğer transaction'ların orayı değiştirmesini, bazen de okumasını engelleyen işaret.

  • deadlockisimkilitlenme, ölümcül kilitlenme

    İki ya da daha fazla transaction'ın her birinin diğerinin tuttuğu kilidi beklediği, veritabanı birini iptal edene kadar hiçbirinin ilerleyemediği durum.

NoSQL Veritabanları

  • NoSQLisimNoSQL, ilişkisel olmayan veritabanı

    Klasik tablo ve SQL modelini kullanmayan, veriyi bunun yerine doküman, anahtar-değer çifti, geniş sütun ya da graf olarak saklayan geniş veritabanı ailesi.

  • document databaseisimdoküman veritabanı, belge tabanlı veritabanı

    Her öğeyi genellikle JSON benzeri biçimde, kendi içinde bütün bir doküman olarak saklayan NoSQL veritabanı; ilişkili veriler sabit tablolar olmadan bir arada tutulabilir.

  • key-value storeisimanahtar-değer deposu, anahtar-değer veritabanı

    Her değeri benzersiz bir anahtar altında saklayan ve o anahtarla çok hızlı biçimde geri bulan, en basit NoSQL veritabanı türü.

  • eventual consistencyisimnihai tutarlılık, zamanla tutarlılık

    Yeni bir değişiklik yapılmazsa verinin bütün kopyalarının kısa bir süre sonra aynı hale geleceği güvencesi; ancak okumalar kısa bir süre eski değerleri döndürebilir.

  • CAP theoremisimCAP teoremi

    Bir ağ arızası dağıtık bir veritabanını ikiye böldüğünde sistemin tutarlılık (her yerde aynı veri) ile erişilebilirlik (her zaman yanıt verme) arasında seçim yapmak zorunda olduğu fikri.

  • graph databaseisimgraf veritabanı, çizge veritabanı

    Veriyi ilişkilerle birbirine bağlanan düğümler olarak saklayan NoSQL veritabanı; 'arkadaşlarımın arkadaşları' gibi bağlantıları hızla izlemeyi sağlar.

  • collectionisimkoleksiyon

    MongoDB gibi doküman veritabanlarında birlikte saklanan doküman grubu; ilişkisel veritabanındaki tabloya benzer.

  • in-memory databaseisimbellek içi veritabanı, in-memory veritabanı

    Verisini disk yerine ağırlıklı olarak RAM'de tutan ve bu sayede okuma ve yazma işlemlerini son derece hızlı yapan veritabanı.

Yedekleme, Replikasyon ve Ölçekleme

  • backupisimyedek, yedekleme

    Bir arıza, hata ya da saldırıdan sonra veriyi geri getirebilmek için veritabanının belirli bir andaki kopyası.

  • replicationisimreplikasyon, çoğaltma

    Bir sunucudaki her değişikliği diğerlerine göndererek aynı veritabanının kopyalarını birden fazla sunucuda tutmak; güvenlik ve yük paylaşımı için yapılır.

  • restorefiilgeri yüklemek, yedekten dönmek

    Bir veritabanını yedekten geri getirmek; ya veri kaybını gidermek ya da başka bir sunucuda kopyasını oluşturmak için yapılır.

  • point-in-time recoveryisimbelirli bir ana geri dönme, zamana dayalı kurtarma

    Bir yedeğin üzerine kaydedilmiş değişiklik loglarını yeniden uygulayarak veritabanını seçilen bir andaki, örneğin hatalı bir DELETE'ten bir dakika önceki haline döndürmek.

  • read replicaisimokuma replikası, salt okunur kopya

    Ana sunucudan değişiklikleri alan ve yalnızca okuma sorguları için kullanılan veritabanı kopyası; birincil sunucunun yükünü hafifletir.

  • failoverisimyük devretme, devralma

    Arızalanan birincil veritabanı sunucusunun işini, uygulamanın çalışmaya devam edebilmesi için bekleme sunucusuna ya da replikaya aktarmak.

  • shardingisimsharding, yatay parçalama

    Büyük bir veri kümesini, her biri satırların farklı bir bölümünü tutan birden fazla veritabanı sunucusuna dağıtmak; böylece sistem tek bir makinenin sınırlarını aşabilir.

  • high availabilityisimyüksek erişilebilirlik, yüksek kullanılabilirlik

    Bir veritabanı sisteminin bir sunucu, disk ya da veri merkezi arızalansa bile çok az kesintiyle çalışmaya devam edecek şekilde tasarlanması.

  • dumpisimdöküm, dump

    Bir veritabanının yapısını ve verisini SQL komutları ya da özel bir dışa aktarım biçimi olarak içeren ve başka bir veritabanına yüklenebilen dosya.

Yönetim ve Güvenlik

  • DBAkısaltmaveritabanı yöneticisi, DBA

    Database administrator, yani veritabanı yöneticisi: bir şirketin veritabanlarını kurmak, güvenliğini sağlamak, yedeklemek, performansını ayarlamak ve ayakta tutmaktan sorumlu kişi.

  • privilegeisimyetki, ayrıcalık

    Bir veritabanı kullanıcısının ya da rolünün bir tabloyu okumak, satır eklemek veya yeni nesne oluşturmak gibi belirli bir işlemi yapmasına izin veren izin.

  • SQL injectionisimSQL enjeksiyonu, SQL injection

    Birinin bir giriş alanına SQL kodu yerleştirerek uygulamanın bu kodu çalıştırmasını sağladığı ve böylece veriyi okuyup değiştirebildiği ya da silebildiği saldırı.

  • grantfiilyetki vermek, izin tanımak

    SQL'deki GRANT komutuyla bir veritabanı kullanıcısına ya da rolüne bir işlemi yapma izni vermek; REVOKE ise bu izni geri alır.

  • roleisimrol

    Birçok kullanıcıya aynı anda verilebilen, read_only ya da app_writer gibi adlandırılmış veritabanı yetkileri kümesi; yetki yönetimini kolaylaştırır.

Mini test: bu terimleri biliyor musun?

Bu sözlükten 10 soru. Her terimin doğru Türkçe karşılığını seç, puanını gör.

Veritabanı İngilizcesi nasıl öğrenilir?

  • Her hafta alandan gerçek metinler okuyun: PostgreSQL, MySQL ya da SQL Server'ın resmi dokümantasyonu, sürüm notları, Stack Overflow'daki çok oy almış cevaplar ve veritabanı kesintileri ile taşıma projeleri üzerine yazılmış mühendislik blog yazıları.
  • SQL'i İngilizce bir cümle gibi sesli okuyun. "SELECT name FROM customers WHERE city = 'Izmir' ORDER BY name" neredeyse düz bir cümledir; sesli söylemek hem anahtar kelimeleri hem de etrafındaki dil bilgisini akılda tutmayı kolaylaştırır.
  • Her ismi birlikte kullanıldığı fiillerle öğrenin: 'run a query', 'create/drop an index', 'take a backup', 'restore a database', 'commit/roll back a transaction', 'grant a privilege to a user'.
  • Telaffuza erkenden çalışın: SQL ya harf harf 'es-kyu-el' ya da 'sikuıl' diye okunur; schema 'SKİ-ma', cache 'keş', query 'KUİ-ri' diye söylenir; NULL ise 'nal' gibi okunur.
  • Kolayca karıştırılan çiftlerin listesini tutun: DELETE, TRUNCATE ve DROP; WHERE ve HAVING; UNION ve UNION ALL; yedek (backup) ve replika; primary key ve unique key.

Sıkça sorulan sorular

Veritabanı ve SQL İngilizcesini nasıl öğrenebilirim?

Alandan gerçek metinler okuyun ve kelimelerin birlikte nasıl kullanıldığına dikkat edin: resmi veritabanı dokümantasyonu, hata mesajları, yürütme planları, Stack Overflow cevapları ve veritabanı mühendislerinin blog yazıları. Her terimi alışılmış fiilleriyle birlikte öğrenin, sonra hemen kendi işinizde kullanın: tablo ve sütunlara anlaşılır İngilizce adlar verin; migration açıklamalarını, ticket yorumlarını ve kod inceleme notlarını İngilizce yazın.

Önce hangi veritabanı terimlerini öğrenmeliyim?

İlk gün karşılaşacağınız kelimelerle başlayın: database, table, row, column, query, primary key, foreign key, index, schema, transaction, NULL ve temel SQL komutları SELECT, INSERT, UPDATE, DELETE. Ardından join'lere, gruplamaya, normalizasyona, yürütme planlarına, yedeklemeye ve replikasyona, daha sonra da NoSQL ve güvenlik terimlerine geçin. Bu sözlük de aynı sırayı izler.

"Es-kyu-el" mi denir, "sikuıl" mi?

İkisi de doğrudur ve ikisi de yaygındır. Dil 1970'lerde IBM'de ilk olarak SEQUEL adıyla geliştirildiği için birçok kişi hala 'sikuıl' der. Bazı ürünlerin tercih ettiği bir okunuş vardır: MySQL resmi olarak 'may-es-kyu-el' diye okunur, Microsoft SQL Server için ise çoğu kişi 'sikuıl server' der. Birini seçip tutarlı biçimde kullanın; hangisini seçerseniz seçin kimse sizi düzeltmez.

İş yerinde Türkçe terimi mi, İngilizcesini mi kullanmalıyım?

Türk veritabanı ekipleri ikisini karıştırarak kullanır. 'Tablo', 'sorgu', 'indeks', 'yedek' ve 'şema' gibi kelimeler tamamen Türkçeleşmiştir; bazıları ise genellikle Türkçe eklerle İngilizce kalır: 'join'lemek', 'commit etmek', 'transaction açmak', 'deadlock'a düşmek'. Üniversite dersleri ve resmi belgeler 'birincil anahtar', 'yabancı anahtar', 'saklı yordam' gibi terimleri tercih eder. İki biçimi de bilmek hem ders kitabını hem de ekip toplantısını aynı rahatlıkla takip etmenizi sağlar.

MySQL, PostgreSQL, SQL Server ve Oracle aynı terimleri mi kullanır?

Temel terimler SQL standardından gelir; bu yüzden tablo, anahtar, indeks, join ve transaction her yerde aynı anlama gelir. Ayrıntılar farklıdır: otomatik numaralanan bir sütun MySQL'de AUTO_INCREMENT, SQL Server'da IDENTITY, PostgreSQL'de SERIAL ya da identity sütunu olarak geçer; her ürünün de kendi SQL lehçesi vardır, örneğin SQL Server için T-SQL, Oracle için PL/SQL. Önce genel terimi, sonra kullandığınız ürünün verdiği adı öğrenin.

Seviyene uygun okumayla pekiştir

Yeni kelimelerin kalıcı olmasının en hızlı yolu seviyene uygun metin okumaktır. Seviyene göre ücretsiz İngilizce kitaplar: