SQL Serveri İnceleyelim

Jaime Lannister

Deneyimli Moderatör
1 Ara 2020
2,941
230
Casterly Rock
Merhaba TurkHackTeam üyeleri bugün SQL Serveri inceleyeceğiz.

qludCv.png

YHOrwJ.gif

qludCv.png


36pz5mm.


SQL Server, Microsoft tarafından geliştirilen ve pazarlanan bir ilişkisel veritabanı yönetim sistemi veya RDBMS'dir. Diğer RDBMS yazılımlarına benzer şekilde (IBM DB2, Oracle, MySQ gibi), SQL Server, ilişkisel verilerle etkileşim kurmak için standart bir programlama dili olan SQL'in üzerine kurulmuştur. SQL server, Microsoft'un bir dizi tescilli programlama yapısı ekleyen SQL uygulaması olan Transact-SQL'e veya T-SQL'e bağlıdır.

SQL Server, 20 yıldan fazla bir süredir yalnızca Windows ortamında çalışır. 2016'da Microsoft SQL Server'i Linux'ta kullanılabilir hale getirdi. SQL Server 2017, hem Windows hem de Linux üzerinde çalışan Ekim 2016'da genel kullanıma sunuldu.

SQL Server iki ana bileşenden oluşur:

- Database Engine
- SQLOS

2mz463b.


SQL Engine
SQL engine, ilişkisel bir veritabanına erişmek ve verileri sorgulamak için SQL komutlarını tanıyan ve yorumlayan bir yazılım olarak tanımlanır. SQL engine aynı zamanda bir SQL veritabanı motoru (database engine) veya bir SQL sorgu motoru (query engine) olarak da adlandırılır.

onxa87f.


Database Engine (Veritabanı Motoru)
Tipik bir SQL sunucusu veritabanı motoru yapılandırması, bir depolama motoru ve sorgu işlemcisi içerir. Farklı SQL motoru türleri, farklı SQL sunucusu veritabanı motoru mimarilerini destekler, ancak genel olarak SQL motoru, bir veritabanından veri oluşturmak, okumak, güncellemek ve silmek (CRUD) için kullanılan sistemin bir bileşenidir.

Kuruluşlar, çevrimiçi işlem işleme (
OLTP) ve çevrimiçi analitik işleme (OLAP) için ilişkisel veritabanları oluşturmak için SQL sunucu veritabanı motorlarını kullanır. Çoğu SQL motoru standart SQL'i destekler ve birçok veritabanı yönetim sistemi (DBMS) de sunar gerçek veritabanı kullanıcı arayüzünün ötesinde veritabanı araçlarına erişmek için uygulama programlama arayüzleri (API'ler) kullanır.

Örneğin,
OmniSci, büyük verilerden görsel analitiği işlemek için OmniSci Immerse platformunun bir parçası olarak OpenGL adlı bir görselleştirme API'sini destekler. SQL motorları, genellikle bir ilişkisel veritabanı sistemi içinde veri depolamak ve sorgulamak için benzersiz yetenekler sunan tescilli mimari tasarımlardır. Her veritabanı örneği, çeşitli API'leri, programlama dillerini, bölümleme yöntemlerini, yetenekleri ve daha fazlasını destekler.

ae9ak01.


SQLOS
SQLOS, işletim sistemi kaynaklarını yönetmek için kullanılan sunucu uygulamasıdır. Tampon yönetimi, zamanlama, kilitlenme algılama, istisna işleme, genişletilmiş olaylar vb. yönetilir. İşletim sistemi çağrılır ve zamanlama işlevleri motor kaynaklarını verimli bir şekilde programlar. İşletim kaynaklarının gerektirdiği durumlarda farklı katmanlara bir API sağlar. API, kullanıcının makine mimarisinden bağımsız olarak kod yazmasına yardımcı olur.

SQLOS'un işlevleri:
  • İstisna işleme: Hem sistem hem de kullanıcı tanımlı hataları işler.
  • Kilitlenme: Kilitlenmeleri algılar ve kaynakları ve kilitleri tutan görevleri kontrol eder.
  • Senkronizasyon: Okuyucu/yazıcı kilitlerini içerir.
  • Bellek aracıları: Bellek, SQL Server'daki bileşenler arasında dağıtılır.
  • Eşzamansız G/Ç: Sunucu, G/Ç'yi başlatmak için pencereleri ister. Sunucu oturumu, G/Ç bekleme kuyruğuna yerleştirilir. Kaynak kullanılabilirliği hakkında bir sinyal aldığında, kuyruktan devam ettirilir.
  • CLR barındırma: SQLOS içindeki CLR, yönetilen kodun SQL Server'da kullanılmasına yardımcı olur.
ceti2ix.


Veritabanı Tabloları (Database Tables)

Tablo: sales.stores
sales.stores tablosu, bir mağazanın bilgilerini içerir. Her mağazanın bir mağaza adı, telefon ve e-posta gibi iletişim bilgileri ve cadde, şehir, eyalet ve posta kodunu içeren bir adresi vardır. Bu tablo bu bilgileri barındırır.

nPfRXm.png


Tablo: sales.staffs
Sales.staffs tablosu, ad, soyad gibi personelin temel bilgilerini saklar. Ayrıca e-posta ve telefon gibi iletişim bilgilerini de içerir.
store_id sütunundaki değerle belirtilen bir mağazada bir personel çalışmaktadır. Bir mağazanın bir veya daha fazla personeli olabilir.
Bir personel,
manager_id sütunundaki değer tarafından belirtilen mağaza yöneticisine rapor verir.
manager_id içindeki değer null ise, o zaman personel üst yöneticidir. Bir personel artık herhangi bir mağaza için çalışmıyorsa, etkin sütundaki değer sıfıra ayarlanır.

nPfRXm.png


Tablo: production.products
production.products tablosu, ürüne ait ad, marka, kategori, model yılı ve liste fiyatı gibi bilgileri saklar.
Her ürün,
brand_id sütununda belirtilen bir markaya aittir. Bu nedenle, bir markanın sıfır veya birçok ürünü olabilir.
Her ürün ayrıca
category_id sütununda belirtilen bir kategoriye aittir. Ayrıca her kategoride sıfır veya çok sayıda ürün olabilir.

nPfRXm.png


Tablo: sales.order_items
sales.order_items tablosu, bir satış siparişinin satır öğelerini depolar. Her satır öğesi, order_id sütununda belirtilen bir satış siparişine aittir. Bir satış siparişi satır öğesi, ürün, sipariş miktarı, liste fiyatı ve indirimi içerir.

nPfRXm.png


Tablo: sales.customers
sales.customers tablosu, ad, soyad, telefon, e-posta, sokak, şehir, eyalet ve posta kodu dahil olmak üzere müşterinin bilgilerini depolar.

nPfRXm.png


Tablo: sales.orders
sales.orders tablosu, müşteri, sipariş durumu, sipariş tarihi, gerekli tarih, sevk tarihi dahil olmak üzere satış siparişinin başlık bilgilerini depolar.
Ayrıca satış işleminin nerede oluşturulduğunu (mağaza) ve onu kimin oluşturduğu hakkındaki bilgileri de saklar (personel).
Her satış siparişinin
sales.orders tablosunda bir satırı vardır. Bir satış siparişinde, sales.order_items tablosunda depolanan bir veya daha fazla satır öğesi vardır.

nPfRXm.png


Tablo: production.stocks
production.stocks tablosu, envanter bilgilerini, yani belirli bir mağazadaki belirli bir ürünün miktarını depolar.

qzj6rm9.


8BfzfS111434df5fdd155e.md.png

zcIPpR.gif
 

'The Wolf

Kıdemli Üye
22 Nis 2021
2,896
1,744
Gökyüzü
Merhaba TurkHackTeam üyeleri bugün SQL Serveri inceleyeceğiz.

qludCv.png

YHOrwJ.gif

qludCv.png


36pz5mm.


SQL Server, Microsoft tarafından geliştirilen ve pazarlanan bir ilişkisel veritabanı yönetim sistemi veya RDBMS'dir. Diğer RDBMS yazılımlarına benzer şekilde (IBM DB2, Oracle, MySQ gibi), SQL Server, ilişkisel verilerle etkileşim kurmak için standart bir programlama dili olan SQL'in üzerine kurulmuştur. SQL server, Microsoft'un bir dizi tescilli programlama yapısı ekleyen SQL uygulaması olan Transact-SQL'e veya T-SQL'e bağlıdır.

SQL Server, 20 yıldan fazla bir süredir yalnızca Windows ortamında çalışır. 2016'da Microsoft SQL Server'i Linux'ta kullanılabilir hale getirdi. SQL Server 2017, hem Windows hem de Linux üzerinde çalışan Ekim 2016'da genel kullanıma sunuldu.

SQL Server iki ana bileşenden oluşur:

- Database Engine
- SQLOS

2mz463b.


SQL Engine
SQL engine, ilişkisel bir veritabanına erişmek ve verileri sorgulamak için SQL komutlarını tanıyan ve yorumlayan bir yazılım olarak tanımlanır. SQL engine aynı zamanda bir SQL veritabanı motoru (database engine) veya bir SQL sorgu motoru (query engine) olarak da adlandırılır.

onxa87f.


Database Engine (Veritabanı Motoru)
Tipik bir SQL sunucusu veritabanı motoru yapılandırması, bir depolama motoru ve sorgu işlemcisi içerir. Farklı SQL motoru türleri, farklı SQL sunucusu veritabanı motoru mimarilerini destekler, ancak genel olarak SQL motoru, bir veritabanından veri oluşturmak, okumak, güncellemek ve silmek (CRUD) için kullanılan sistemin bir bileşenidir.

Kuruluşlar, çevrimiçi işlem işleme (
OLTP) ve çevrimiçi analitik işleme (OLAP) için ilişkisel veritabanları oluşturmak için SQL sunucu veritabanı motorlarını kullanır. Çoğu SQL motoru standart SQL'i destekler ve birçok veritabanı yönetim sistemi (DBMS) de sunar gerçek veritabanı kullanıcı arayüzünün ötesinde veritabanı araçlarına erişmek için uygulama programlama arayüzleri (API'ler) kullanır.

Örneğin,
OmniSci, büyük verilerden görsel analitiği işlemek için OmniSci Immerse platformunun bir parçası olarak OpenGL adlı bir görselleştirme API'sini destekler. SQL motorları, genellikle bir ilişkisel veritabanı sistemi içinde veri depolamak ve sorgulamak için benzersiz yetenekler sunan tescilli mimari tasarımlardır. Her veritabanı örneği, çeşitli API'leri, programlama dillerini, bölümleme yöntemlerini, yetenekleri ve daha fazlasını destekler.

ae9ak01.


SQLOS
SQLOS, işletim sistemi kaynaklarını yönetmek için kullanılan sunucu uygulamasıdır. Tampon yönetimi, zamanlama, kilitlenme algılama, istisna işleme, genişletilmiş olaylar vb. yönetilir. İşletim sistemi çağrılır ve zamanlama işlevleri motor kaynaklarını verimli bir şekilde programlar. İşletim kaynaklarının gerektirdiği durumlarda farklı katmanlara bir API sağlar. API, kullanıcının makine mimarisinden bağımsız olarak kod yazmasına yardımcı olur.

SQLOS'un işlevleri:
  • İstisna işleme: Hem sistem hem de kullanıcı tanımlı hataları işler.
  • Kilitlenme: Kilitlenmeleri algılar ve kaynakları ve kilitleri tutan görevleri kontrol eder.
  • Senkronizasyon: Okuyucu/yazıcı kilitlerini içerir.
  • Bellek aracıları: Bellek, SQL Server'daki bileşenler arasında dağıtılır.
  • Eşzamansız G/Ç: Sunucu, G/Ç'yi başlatmak için pencereleri ister. Sunucu oturumu, G/Ç bekleme kuyruğuna yerleştirilir. Kaynak kullanılabilirliği hakkında bir sinyal aldığında, kuyruktan devam ettirilir.
  • CLR barındırma: SQLOS içindeki CLR, yönetilen kodun SQL Server'da kullanılmasına yardımcı olur.
ceti2ix.


Veritabanı Tabloları (Database Tables)

Tablo: sales.stores
sales.stores tablosu, bir mağazanın bilgilerini içerir. Her mağazanın bir mağaza adı, telefon ve e-posta gibi iletişim bilgileri ve cadde, şehir, eyalet ve posta kodunu içeren bir adresi vardır. Bu tablo bu bilgileri barındırır.

nPfRXm.png


Tablo: sales.staffs
Sales.staffs tablosu, ad, soyad gibi personelin temel bilgilerini saklar. Ayrıca e-posta ve telefon gibi iletişim bilgilerini de içerir.
store_id sütunundaki değerle belirtilen bir mağazada bir personel çalışmaktadır. Bir mağazanın bir veya daha fazla personeli olabilir.
Bir personel,
manager_id sütunundaki değer tarafından belirtilen mağaza yöneticisine rapor verir.
manager_id içindeki değer null ise, o zaman personel üst yöneticidir. Bir personel artık herhangi bir mağaza için çalışmıyorsa, etkin sütundaki değer sıfıra ayarlanır.

nPfRXm.png


Tablo: production.products
production.products tablosu, ürüne ait ad, marka, kategori, model yılı ve liste fiyatı gibi bilgileri saklar.
Her ürün,
brand_id sütununda belirtilen bir markaya aittir. Bu nedenle, bir markanın sıfır veya birçok ürünü olabilir.
Her ürün ayrıca
category_id sütununda belirtilen bir kategoriye aittir. Ayrıca her kategoride sıfır veya çok sayıda ürün olabilir.

nPfRXm.png


Tablo: sales.order_items
sales.order_items tablosu, bir satış siparişinin satır öğelerini depolar. Her satır öğesi, order_id sütununda belirtilen bir satış siparişine aittir. Bir satış siparişi satır öğesi, ürün, sipariş miktarı, liste fiyatı ve indirimi içerir.

nPfRXm.png


Tablo: sales.customers
sales.customers tablosu, ad, soyad, telefon, e-posta, sokak, şehir, eyalet ve posta kodu dahil olmak üzere müşterinin bilgilerini depolar.

nPfRXm.png


Tablo: sales.orders
sales.orders tablosu, müşteri, sipariş durumu, sipariş tarihi, gerekli tarih, sevk tarihi dahil olmak üzere satış siparişinin başlık bilgilerini depolar.
Ayrıca satış işleminin nerede oluşturulduğunu (mağaza) ve onu kimin oluşturduğu hakkındaki bilgileri de saklar (personel).
Her satış siparişinin
sales.orders tablosunda bir satırı vardır. Bir satış siparişinde, sales.order_items tablosunda depolanan bir veya daha fazla satır öğesi vardır.

nPfRXm.png


Tablo: production.stocks
production.stocks tablosu, envanter bilgilerini, yani belirli bir mağazadaki belirli bir ürünün miktarını depolar.

qzj6rm9.


8BfzfS111434df5fdd155e.md.png

zcIPpR.gif
Elinize Sağlık hocam
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.