7. Gün: Veri Bilimi İçin Gelişmiş SQL
Şimdiye kadar bu, sql'yi ilerletmek için temel bilgiler yolculuğundaki 7. blog. sql'i sıfırdan öğrenmek için önceki bloglara başvurabilirsiniz. Bu blog, görünümler, işlevler ve saklı yordamlar hakkında iyi bilgiler içerir.
GÖRÜNTÜLEME
Görünüm aslında SQL deyimi için bir sonuç kümesi olarak sanal tablo tabanlı bir yaklaşımdır. Birden fazla tablo olabilir, yani tek bir sorguda birleştirilebilecek maksimum tablo kaynağı sayısı 256'dır .
Görünüm, tıpkı veritabanındaki bir tablo gibi satırlar ve sütunlar içerir, görünümdeki alanlar bir veya daha fazla tablodaki alanlardır.
Neden görüşlere ihtiyacımız var?
Görünümler , tablonun adını kapsülledikleri için güvenlik amacıyla kullanılır . Veriler sanal tablodadır, kalıcı olarak saklanmaz. Görünümler, ne olursa olsun yalnızca seçilen verileri görüntüler ve ancak, verilerinizin olması gerekir.
Görünümlerde Joins/function/sql yan tümcesini kullanabiliriz.
Bir görünüm oluşturmak için sözdizimi:
GÖRÜNÜM_adı OLUŞTUR sütun1 , sütun2 , … OLARAK tablo_adı WHERE koşulunu
SEÇİN ;
Create View Salesman_info
As
select s.salesmanid,s.city, count(customerid) no_of_sales from salesman s
left join customer c on c.salesmanid = s.salesmanid
group by 1;
Bir görünümü güncellemek için sözdizimi:
GÖRÜNÜM_adı sütun1 , sütun2 , … FROM tablo_adı WHERE koşulu olarak
OLUŞTURUN VEYA DEĞİŞTİRİN ;
Bir görünümü bırakmanın sözdizimi:
DROP GÖRÜNÜM görünüm_adı ;
Bir görünüm birkaç fayda sağlar.
- Görünümler karmaşıklığı gizleyebilir.
- Görünümler bir güvenlik mekanizması olarak kullanılabilir.
- Görünümler, eski kodu desteklemeyi basitleştirebilir.
Yerleşik İşlevler : Verilerimize gerektiği gibi erişebileceğimiz veya değiştirebileceğimiz birçok yerleşik işlev vardır. İşlevlerden bazıları String işlevleri, Math/Numeric işlevleri, Date işlevleri, Advance işlevleri veya Aggregate işlevleridir.
Kullanıcı Tanımlı İşlev : SQL, kullanıcıların tam gereksinimlerine göre özel işlevler oluşturmasına olanak tanır.
Üç tür kullanıcı tanımlı işlev vardır:
- Skaler fonksiyonlar yani tek bir değer döndürür.
- Tablo değeri işlevleri, yani bir tablo seti döndürür.
- Çok tablolu değer fonksiyonları, yani bir tablo seti döndürür.
Burada MYSQL'de doğum tarihini kullanarak yaşı hesaplamak için bir fonksiyon yarattım.
DELIMITER $$
CREATE FUNCTION Calculate_Age
(
DOB date
)
RETURNS INT DETERMINISTIC
BEGIN
RETURN YEAR(CURRENT_DATE()) - YEAR(DOB);
END$$
DELIMITER ;
Query :::: SELECT Calculate_Age(‘1988–02–29’) as DOB;
Saklı Yordamlar : Saklı yordam, kaydedebileceğiniz hazırlanmış bir SQL kodudur, böylece kod tekrar tekrar kullanılabilir. Bu nedenle, tekrar tekrar yazdığınız bir SQL sorgunuz varsa, bunu bir saklı yordam olarak kaydedin ve ardından onu çalıştırmak için çağırın.
Saklı yordam sözdizimi:
PROSEDÜR OLUŞTUR prosedür_adı
AS
sql_deyimi
GO;
Saklı Prosedür Yürütme
YÜRÜTME prosedür_adı ;
Neden işlev yerine saklı yordam kullanıyoruz?
- Saklı yordam sıfır, tek ve birden çok değer döndürebilir.
- Saklı yordam, birden çok SQL sorgusu kullanılarak gerektiğinde tabloların veri kümesini de döndürebilir.
- Saklı yordamdaki işlevi çağırabiliriz.
- Saklı yordamın giriş/çıkış değerleri ve parametreleri olabilir.
- Select/where/have deyimini SP'lerle kullanamayız.
- Saklı yordamda ekleme/güncelleme/silme ve seçme işlemlerini kullanabiliriz.
- SQL saklı yordam, dinamik SQL yürütebilir.
DELIMITER $$
CREATE PROCEDURE Proc_Saleman_Info_Data()
BEGIN
## Type 1
select s.salesmanid,s.city, count(customerid) no_of_sales from salesman s
left join customer c on c.salesmanid = s.salesmanid
group by 1;
## Type 2
insert into salesman
values(5008,'Shikha rawat','India',12);
END$$
DELIMITER ;
call Proc_Saleman_Info_Data();
Görünümler/İşlevler/Saklı Yordam için Popüler Mülakat Soruları.
Soru1: Görünümler nedir?
Ques2: Görünümlerde kaç tane tablo kullanabiliriz?
Ques3: İşlev ve saklı yordam arasındaki fark?
Okuduğunuz için teşekkürler ve beğendiyseniz alkışlamayı unutmayın!
İyi günler!.
=============================SON=================== =======
GitHub: 7. Gün Oturumu
Lütfen Git Hub'da bir yıldız verin!!
Referans :
- https://www.w3schools.com/sql/default.asp
- https://www.geeksforgeeks.org/
Veri Bilimi ile ilgili daha fazla gönderi için beni takip edin !
LinkedIn'de bağlanalım !

![Bağlantılı Liste Nedir? [Bölüm 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































