SQL, PL-SQL ve T-SQL arasındaki fark nedir?


360

SQL, PL-SQL ve T-SQL arasındaki fark nedir?

Herkes bu üçü arasındaki farkların ne olduğunu açıklayabilir ve her birinin ilgili olarak kullanılacağı senaryolar sağlayabilir mi?


1
Microsoft SQL Server'ın kullandığı sorgu dili, ANSI standardı Yapılandırılmış Sorgu Dili, SQL'in bir çeşididir. SQL Server değişkenine Transact-SQL adı verilir.

SQL, veri kümelerini seçmek ve değiştirmek için veri odaklı bir dildir. PL / SQL uygulama oluşturmak için kullanılan yordamsal bir dildir

SQL yapılandırılmış sorgu dili PL / SQL oracle tarafından geliştirilen sql genişletilmiş bir prosedürel dildir T-SQL microsoft tarafından geliştirilmiştir

Yanıtlar:


379
  • SQL setler üzerinde çalışacak bir sorgu dilidir.

    Az çok standartlaştırılmıştır ve neredeyse tüm ilişkisel veritabanı yönetim sistemleri tarafından kullanılır: SQL Server, Oracle, MySQL, PostgreSQL, DB2, Informix, vb.

  • PL/SQL Oracle tarafından kullanılan tescilli bir prosedür dilidir

  • PL/pgSQL PostgreSQL tarafından kullanılan prosedürel bir dildir

  • TSQL SQL Server'da Microsoft tarafından kullanılan tescilli bir prosedür dilidir.

Yordamsal diller, SQL ile iyi bütünleşirken SQL'in yeteneklerini genişletmek için tasarlanmıştır. Yerel değişkenler ve dize / veri işleme gibi çeşitli özellikler eklenir. Bu özellikler Turing dilini tamamlar.

Ayrıca saklı yordamları yazmak için kullanılır: saf küme tabanlı işlemlerle yönetilmesi zor veya imkansız karmaşık iş kurallarını yönetmek için sunucuda bulunan kod parçaları.


14
TSQL ayrıca Sybase tarafından kullanılır; en azından Oracle'da, PL / SQL prosedürleri sadece "iş kurallarını" yönetmekten çok daha fazlasını yapabilir; PL / SQL prosedürleri web sitelerine erişebilir, e-posta gönderebilir vb.
Erich Kitzmueller 25:09

3
PL / SQL yalnızca veritabanında mevcut değildir; örneğin Oracle Forms, istemci tarafında PL / SQL uygulaması içerir.
Erich Kitzmueller

2
Her veritabanının kendi SQL uygulamasına sahip olduğunu unutmayın (T-SQL ve PL / SQL daha yaygın olanlardan ikisidir), ANSII standart SQL genellikle birden çok arka uç kullanıldığında kullanılır, ancak tüm veritabanları tüm ANSII SQL özelliklerini kullanmaz. Ve veritabanına özel SQl uygulaması, bu veritabanı için en iyi performansı gösteren olma eğilimindedir - sonuçta size veritabanlarını kullanmanız için bir neden vermek zorundalar, değil mi?
HLGEM

2
Düzeltme: SQL, SQL'in kendisinin tanım sağladığı tablolarda çalışacak bir dildir. SQL Standardı 'set' ve 'ilişki' kelimelerinden ve bunların türevlerinden kaçınır. SQL tabloları küme değildir.
oneday

1
Oracle ve sql sunucusu üzerinde çalışacak bir sql prosedür diline sahip olmak güzel olurdu.
RayLoveless

113

SQL

SQL bir veritabanı ile iletişim kurmak için kullanılır, ilişkisel veritabanı yönetim sistemleri için standart dildir.

Ayrıntılı olarak Yapılandırılmış Sorgu Dili , ilişkisel veritabanı yönetim sisteminde (RDBMS) tutulan verileri yönetmek veya ilişkisel veri akışı yönetim sisteminde (RDSMS) akış işleme için tasarlanmış özel amaçlı bir programlama dilidir.

Başlangıçta ilişkisel cebir ve grup ilişkisel analizi temel alan SQL, bir veri tanımlama dili ve bir veri işleme dilinden oluşur. SQL'in kapsamı veri ekleme, sorgulama, güncelleme ve silme, şema oluşturma ve değiştirme ve veri erişim kontrolünü içerir. SQL genellikle tanımlayıcı bir dil (4GL) olarak tanımlanmasına ve büyük ölçüde tanımlanmasına rağmen, yordamsal öğeleri de içerir.

PL / SQL

PL / SQL, programlama dillerinin yordamsal özellikleriyle birlikte SQL'in bir kombinasyonudur. Oracle Corporation tarafından geliştirilmiştir

PL / SQL'in Özellikleri

  • tamamen taşınabilir, yüksek performanslı işlem işleme dili.
  • dahili bir yorumlanmış ve işletim sisteminden bağımsız programlama ortamı sağlar.
  • doğrudan komut satırı SQL * Plus arabiriminden çağrılır.
  • Harici programlama dili çağrılarından veritabanına doğrudan çağrı da yapılabilir.
  • genel sözdizimi ADA ve Pascal programlama diline dayanır.
  • Oracle dışında, TimesTen bellek içi veritabanında ve IBM DB2'de mevcuttur.

T-SQL

Bildirilen değişkenler, işlem kontrolü, hata ve özel durum işleme ve SQL'e satır işleme ekleyen genişletilmiş bir SQL formu olan Transaction-SQL'in kısaltması

Yapısal Sorgu Dili veya SQL, ilişkisel veritabanlarını yönetmeye odaklanan bir programlama dilidir. SQL, Microsoft'un yazılım devini SQL'in işlevselliğini geliştirmek için kendi uzantılarıyla SQL'in üzerine inşa etmeye teşvik eden kendi sınırlamalarına sahiptir . Microsoft, SQL'e kod ekledi ve Transact-SQL veya T-SQL olarak adlandırdı. T-SQL'in tescilli olduğunu ve Microsoft'un kontrolü altında olduğunu ve IBM tarafından geliştirilmesine rağmen SQL zaten açık bir format olduğunu unutmayın.

T-SQL, SQL'de bulunmayan bir dizi özellik ekler.

Buna prosedürel programlama elemanları ve uygulamanın nasıl aktığı konusunda daha esnek bir kontrol sağlamak için yerel bir değişken dahildir. T-SQL'e daha güçlü hale getirmek için bir dizi fonksiyon da eklendi; matematiksel işlemler, string işlemleri, tarih ve saat işlemleri ve benzerleri için fonksiyonlar. Bu eklemeler, T-SQL'in bir bilgisayar dilinin evrenselliğini belirleyen bir test olan Turing tamlık testine uymasını sağlar. SQL Turing tamamlanmamıştır ve yapabilecekleri açısından çok sınırlıdır.

T-SQL ve SQL arasındaki bir diğer önemli fark, SQL'de zaten mevcut olan DELETE ve UPDATE komutlarında yapılan değişikliklerdir. T-SQL ile DELETE ve UPDATE komutlarının her ikisi de JOIN'lerin kullanımına izin veren bir FROM yan tümcesinin eklenmesine izin verir. Bu, SQL'den farklı olarak, biraz daha karmaşık olabileceği belirli ölçütlerle eşleşen girdileri kolayca seçmek için kayıtların filtrelenmesini kolaylaştırır.

T-SQL ve SQL arasında seçim yapmak tamamen kullanıcıya kalmıştır. Yine de, Microsoft SQL Server kurulumlarıyla uğraşırken T-SQL kullanmak daha iyidir. Bunun nedeni, T-SQL'in Microsoft'tan olması ve ikisinin birlikte kullanılması uyumluluğu en üst düzeye çıkarmasıdır. SQL, birden fazla arka ucu olan kişiler tarafından tercih edilir.

Kaynaklar , Wikipedea, Öğretici Puanlar: www.differencebetween.com


4
Şu anda en iyi cevap olan IMO (ancak manoj'un yanıtı ve blog yazısı da okunmaya değer).
salcoin

1
T-SQL, ilk SQL sunucu sürümünü oluşturmak için satın aldıkları veritabanı koduyla birlikte Sybase'den satın alınmadı mı? En azından T-SQL ayrıca Sybase üzerinde çalışıyor, bu yüzden bazı 'ortak kod' olduğunu
düşünürdüm

Aslında, Microsoft ve Sybase birlikte OS2 için SQL Server geliştirdi. Bu nedenle, her iki şirket birlikte T-SQL geliştirme üzerinde çalıştı. Bu nedenle, her iki veritabanı da T-SQL'i kullanabilir, ancak T-SQL'in iki varyantı arasında önemli farklılıklar vardır.
alaniane

44
  • SQLveritabanıyla konuşmak için bir dil. Veri seçmenize, veritabanı nesneleri (tablolar, görünümler vb. Gibi) değiştirmenize ve oluşturmanıza, veritabanı ayarlarını değiştirmenize olanak tanır.
  • PL-SQL yordamsal bir programlama dili (gömülü SQL ile)
  • T-SQL SQL Server tarafından kullanılan SQL (yordamsal) uzantıları

SPL (Saklı Prosedür Lang) olmalıdır, PL çok geneldir (yani C).
samis

32

1. SQL veya Yapısal Sorgu Dili IBM tarafından "Sistem R" ürünü için geliştirilmiştir.

Daha sonra ANSI , tüm Sorgu Dillerinin dayandığı bir Standart haline getirdi ve kendi DataBase Sorgu Dili takımlarını oluşturmak için bunu genişletti. İlk standart SQL-86 ve sonuncusu SQL: 2011 idi.

2. T-SQL veya Transact-SQL, Sybase tarafından geliştirildi ve daha sonra Microsoft SQL Server'a ortak oldu.

3. PL / SQL veya Yordamsal Dil / SQL, o zaman "İlişki Yazılımı" olarak bilinen Oracle Database idi .

Bunu blog yayınımda belgeledim .


2
Bu cevap, onaylanan cevaptan daha kapsamlı ve blog yayını harika bir okuma.
salcoin

7

Yapısal Sorgulama Dili - SQL: Dünyadaki hemen hemen tüm SGBD satıcıları tarafından kullanılan bir ANSI standardıdır. Temel olarak, SQL verileri tanımlamak ve işlemek için kullanılan bir dildir [DDL ve DML].

PL / SQL, Oracle universe tarafından oluşturulan bir dildir. PL / SQL programlama prosedür talimatlarını birleştirir ve doğrudan veritabanı senaryosunda çalışan programların oluşturulmasına izin verir.

T-SQL, Microsoft modellerinin bazı SQL şablonlarıyla hizalanmasıdır. Sınırlarınızı test etmekten çekinmeyin.


1

SQL bir standarttır ve Microsoft, Oracle gibi bu standardı kendi özel dillerini kullanarak uygulayan birçok veritabanı satıcısı vardır.

Microsoft, verilerle etkileşimde bulunmak için SQL standardını uygulamak için T-SQL kullanırken, oracle PL / SQL kullanır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.