Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Veri Tabanı Yönetim Sistemleri 1 Ders 9 Microsoft SQL Server 2014'e Giriş Yrd. Doç. Dr. Altan MESUT Arş. Gör. Emir ÖZTÜRK Trakya Üniversitesi Bilgisayar.

Benzer bir sunumlar


... konulu sunumlar: "Veri Tabanı Yönetim Sistemleri 1 Ders 9 Microsoft SQL Server 2014'e Giriş Yrd. Doç. Dr. Altan MESUT Arş. Gör. Emir ÖZTÜRK Trakya Üniversitesi Bilgisayar."— Sunum transkripti:

1 Veri Tabanı Yönetim Sistemleri 1 Ders 9 Microsoft SQL Server 2014'e Giriş Yrd. Doç. Dr. Altan MESUT Arş. Gör. Emir ÖZTÜRK Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü

2 MS SQL Server  İlk sürüm olan SQL Server 1.0, OS/2 işletim sistemi için 1989 yılında Sybase ve Ashton-Tate ile birlikte Microsoft tarafından piyasaya sürülmüştür. Daha sonra Sybase tarafından Microsoft’a satılmıştır.  Microsoft'un Jet veritabanı moturunu kullanan dosya-paylaşımı temelli Access'ten farklı olarak, SQL Server istemci/sunucu tabanlı bir ilişkisel veritabanı yönetim sistemidir.  Sorgu dili olarak ANSI SQL’in yanında, prosedürel programlama mantığı içeren Transact-SQL (T-SQL) de kullanmaktadır.

3 MS SQL Server Yapısı

4 Access vs. MS SQL Server: Özellikler ÖzellikAccess 2013Sql Server 2014 Tabloİlişkiselİlişkisel ve Geçici ViewVar *Var Transaction LogYokVar Windows NT Güvenliği ile EntegrasyonYokVar Kullanıcı YönetimiYokVar ReplikasyonYokVar Bölümleme (Partitioning)YokVar Prosedür & FonksiyonVar *Var TriggerVar *Var *Access 2010 ve sonrasında TABLO ARAÇLARI / TABLO Sekmesinde "Etkinliklerden Önce" ve "Etkinliklerden Sonra" gruplarında bulunan makro türü yapılar Trigger yerine kullanılabilir. Prosedür ve Fonksiyon yerine de "Adlandırılmış Makrolar" kullanılabilir. View ise Access'teki Sorgu nesnesine denk gelir.

5 ÖzellikAccess 2013SQL Server 2014 Veritabanı Büyüklüğü2 GB TB * Tablo Büyüklüğü2 GB TB Kayıt Büyüklüğü16 MB- Nümerik Değer Büyüklüğü32 bit126 bit BLOB / CLOB Büyüklüğü64 KB / 1 GB **2 GB Tablo Adı Büyüklüğü64128 Sütun Adı Büyüklüğü64128 Şifre Büyüklüğü14128 Bir Tablodaki Sütun Sayısı Bir Sorgudaki Tablo Sayısı32- Access vs. MS SQL Server: Sınırlar * dosya x 16 TB maksimum dosya büyüklüğü ** 64 KB (memo alanı), 1 GB (OLE Nesnesi alanı)

6 Access vs. MS SQL Server: Veri Türleri TürAccess 2013Sql Server 2014 MetinShort Text, Long Textchar, varchar, nchar, nvarchar, sysname, text, ntext, SayıNumber, Currency, AutoNumber smallint, int, bigint, tinyint, decimal, numeric, float, real, money, small money Tarih SaatDate/Timedate, time, datetime, datetime2, smalldatetime, Bool değer Yes/Nobit, binary, varbinary DiğerOLE Object, Hyperlink, Attachement geography, geometry, image, xml

7 Ana Sürümler  Enterprise  En üst sürümdür.  Veri merkezleri için geliştirilmiştir.  Veri merkezi için gereken bileşenleri ve kritik iş yüklerinin yönetilmesi için servisleri içerir.  Business Intelligence  Şirketler için geliştirilmiş sürümdür.  Görselleştirme araçları ve tarayıcı üzerinden veriye erişim gibi özellikler içerir.  Standard  Küçük organizasyonların kullanımına uygundur.  Basit veri yönetimi, geliştirme araçları ve bulut desteği içerir.

8 Özelleştirilmiş Sürümler  Web  Server maliyetinin minimum olduğu sürümdür.  Bu sebeple web sunucuları için uygundur.  Developer  Enterprise’ın tüm özelliklerini içerir.  Yalnızca geliştirme ve test aşamaları için lisans sağlar.  Express  Giriş seviyesi sürümdür.  Masaüstü uygulamalar ve küçük serverlar için uygundur.

9 Servisler: Replikasyon  Verilerin kopyalanması ve veritabanı nesnelerinin senkronize edilmesi için kullanılır.  Yayıncı – abone sistemi ile çalışır. Değişiklikler yayıncıdan abonelere gönderilir.  Sql server üç farklı replikasyon desteği sunar.  Transaction replication  Her transaction’da abone veritabanları da senkronize edilir.  Veritabanları neredeyse gerçek zamanlı olarak senkronize edilir.  Merge replication  Yayıncı ve abonedeki değişiklikler takip edilir ve periyodik olarak iki yönlü senkronizasyon gerçekleştirilir.  Eğer aynı veri üzerinde her iki tarafta da değişiklik yapıldıysa çakışma oluşur.  Çakışma el ile düzeltme veya önceden belirlenmiş bir kuralın uygulanması yoluyla çözülebilir.  Snapshot replication  Tüm veritabanının bir kopyası abonelere gönderilir.  Son değişiklikler takip edilmez.

10 Servisler: Analiz  Analiz servisleri SQL Server’a OLAP ve veri madenciliği özellikleri sağlar.  OLAP motoru MOLAP, ROLAP, HOLAP desteği sunar.  Küp verisine ise MDX veya LINQ sorguları ile erişilebilir.  Analiz servisleri veri madenciliği için çeşitli algoritmalar içermektedir:  Karar ağaçları  Kümeleme algoritmaları  Naive Bayes algoritması  Zaman serileri analizi  Sıra kümeleme algoritmaları  Regresyon analizi  Yapay sinir ağları

11 Servisler: Raporlama  Veritabanından elde edilen veri için rapor oluşturma araçlarıdır.  Web arayüzünden yönetilir.  Raporlar Business Intelligence Development Studio ve Visual Studio’nun birlikte kullanılması ile oluşturulabilir.  Raporlar RDL dosyaları olarak oluşturulabilir. Daha sonra bu dosyalar Excel, PDF, CSV, XML, TIFF ve HTML formatına dönüştürülebilir.

12 Servisler: Bildirim  Veriye bağlı bildirimler oluşturularak abonelere iletilir.  Bir abone herhangi bir olay veya transaction olması durumunda bildirim isteyebilir.  Bu olay gerçekleştirildiğinde bildirim servisleri üç farklı yöntemden birini kullanarak aboneye gerçekleşen olaydaki değişikliği bildirir.  SMTP  SOAP  Dosya sistemi içerisinde bir dosya oluşturmak

13 Servisler: Bütünlük  Verinin bir yerden diğerine, belirli kurallar dahilinde taşınması için kullanılır.  Grafik arayüz desteği ile  Farklı kaynaklardan veri alımı  Veri sorgulama  Veri değiştirme  Veri birleştirme  Tekrarlı verileri temizleme işlemleri gerçekleştirilebilir.  Bu işlemlerden sonra veri istenilen yere aktarılır.

14 Servisler: Full Text Search (FTS)  Herhangi bir yapı ile saklanmayan text verisi için özelleştirilmiş indeksleme ve sorgulama işlemlemleri sağlar.  Karakter tabanlı herhangi bir sütun için index oluşturulabilir.  Oluşturulan index ile text verisi içeren sütunda LIKE işleminde olduğu gibi kelime arama işlemi gerçekleştirilebilir. Fakat FTS, LIKE komutuna göre daha hızlı çalışmaktadır.  Bire bir arama dışındaki aramayı da destekler. Bunun için bulunan kelimeler için arası bir Rank değeri hesaplanır. Yüksek rank daha doğru eşleşme anlamına gelir.

15 SQL CLR  SQL CLR.Net entegrasyonu sağlamaktadır.  SQL Server,.Net Framework runtime’larını SQLOS’un içerisinde barındırır.  SQL CLR ile prosedür ve tetikleyiciler herhangi bir.Net dili ile yazılabilir.  Yazılan kod CLI assembly’ye derlenir ve veritabanında kaydedilir.  Derlenmiş bu kod herhangi bir prosedür gibi çalıştırılabilir.

16 T-SQL  T-SQL, SQL Server üzerinde sorgu oluşturmak için kullanılır.  SQL’den farklı olarak prosedürel programlamayı, yerel değişkenleri, string, tarih ve matematik fonksiyonlarını içermektedir.  T-SQL ile;  Veritabanı şemaları oluşturulabilir veya düzenlenebilir.  Şemalar üzerinde veri girişi veya düzenlemesi yapılabilir  Veritabanı izlenebilir veya yönetilebilir.

17 Araçlar  SQLCMD  Komut satırı uygulamasıdır.  Uygulama içerisinden SQL sorguları ve.sql uzantılı script dosyaları oluşturulup çalıştırılabilir.  Visual Studio  SQL CLR ile çalıştırılacak kodların yazılması ve debug edilmesi için kullanılabilir.  Veritabanı şemaları oluşturmak, düzenlemek ve görüntülemek için grafik arayüz de sunmaktadır.

18 Araçlar  SQL Server Management Studio  MS SQL Server’ın tüm bileşenlerini yönetmek için kullanılan grafik arayüzdür.  Veritabanı nesneleri ile çalışmak için script editörleri ve grafik araçlar içerir.  Business Intelligence Development Studio  Veri analizi geliştirmek amacıyla kullanılan tümleşik geliştirme ortamıdır.  Visual Studio tabanlıdır.  SQL Server’a özgü proje tipleri, araçlar, raporlar, küpler ve veri madenciliği yapıları içerir.

19 SQLCMD ve SQL Server Management Studio

20 Yenilikler 2014: In-Memory OLTP  Daha önceki sürümlerde tabloların ana bellekte saklanması desteklenmektedir. Fakat bu tabloların diskte olması durumunda gerekli belleği ayırma, veriyi diskten okuma, RAM’de bulunan bu veriyi kilitleme gibi görevler gerçekleştirilmektedir. In-Memory ile birlikte bu yük ortadan kalkmaktadır.  In-Memory ile birlikte ana belleğe sığabilen tablolar tamamıyla ana belleğe çıkartılır. Ayrıca stored procedure’ler de belleğe çıkartılabilmektedir.  RAM’deki verinin kaybolmama garantisini verebilmek için diskte transaction log’lar tutulmaktadır.  Geography, hierarchyid, image, text, ntext, varchar(max) ve xml veri tiplerini içeren tablolar in-memory ile birlikte kullanılamamaktadır.  Ayrıca triggerlar, kümelenmiş indexler, id sütunları, FOREIGN KEY, CHECK ve UNIQUE kısıtlamaları da in-memory tarafından desteklenmemektedir.

21 Yenilikler 2014: SSD Buffer Pool Extension  Disk tabanlı uygulamalarda RAM ile disk arasındaki performansı cache ile arttırmak için kullanılır.  Server’da okuma sebebiyle oluşan iş yükü nedeniyle sistemin bellek kullanım oranı artar.  SSD sürücülerdeki NVRAM’leri standart Buffer Pool ile birleştirme yoluyla server’ın bellek kapasitesi arttırılabilir.

22 Geliştirmeler 2014: AlwaysOn Availabilty Groups  SQL Server 2012 ile kullanıma sunulmuştur.  Database mirroring alternatifi sunar ve afet kurtarma (disaster recovery) için kullanılır.  Birincil ve ikincil kopya veritabanları oluşturularak herhangi bir problemde veritabanının ayakta tutulması sağlanır.  Birincil kopya okuma ve yazmaya izin verirken ikincil kopyalar salt-okunurdur.  İkincil kopyalar okuma veya yedek oluşturma işlemine destek verir.

23 Geliştirmeler 2014: AlwaysOn Availabilty Groups  AlwaysOn Availability Groups’a (AAG) ek ikincil kopya ve Azure desteği sağlanmıştır.  SQL Server 2012 ile birlikte AAG 4 adet ikincil kopyaya izin verirken, SQL Server 2014’te bu sayı 8’e çıkarılmıştır.  İkincil kopyalar, afet kurtarma için asenkron olarak Azure üzerine de alınabilmektedir.

24 Geliştirmeler 2014: Yedekleme  Yedekleme işlemlerinde veritabanı şifreleme desteği getirilmiştir.  Şifreleme için bir sertifika veya asimetrik anahtar gerekmektedir.  Desteklenen şifreleme algoritmaları : AES128, AES192, AES256, Triple DES  Azure entegrasyonu ile veritabanı yedekleri Azure platformu üzerine bir URL yardımıyla alınabilir.

25 Microsoft SQL Server 2014 Kurulum

26

27

28

29

30

31

32

33

34 İstenirse bu seçenek ile instance ismi belirlenebilir

35 Automatic olan hizmetler, bilgisayar açılırken başlatılacaktır. Bu da bilgisayarın açılışını yavaşlatır. Gerek duymadıklarınızı Manual durumuna getirip, ihtiyacınız olduğunda başlatın.

36 Veri tabanı motoru ve analiz servisi için dil ayarları bu kısımdan yapılabilir. Türkçe ayarların kalması uygundur.

37 Mixed Mode seçilirse hem Windows kullanıcıları hem de SQL Server kullanıcıları veritabanına erişim için kullanılabilir. Kullanıcı adı "sa" olan SQL Server sistem yöneticisinin şifresi belirlendikten sonra, Windows kullanıcılarından hangisinin yönetici yetkisinde olacağı "Add" ile berlilenebilir. "Add Current User" ile kurulumu yapan kullanıcı yönetici olarak atanabilir. Verilerin saklanacağı dizinler belirlenebilir

38

39

40

41

42

43

44

45 Microsoft SQL Server 2014 Management Studio

46 SQL Server Authentication ile veritabanına bağlanma  Server Type ile veritabanı dışında, analiz, raporlama ve entegrasyon servislerine de bağlanabilirsiniz.  Başka bir bilgisayardaki veritabanı motoruna veya servislere bağlanmak için Server Name seçeneği kullanılır.

47 SQL Server Management Studio, Visual Studio ile benzer bir arayüz sunmaktadır. Sol taraftaki Nesne Gezgini penceresi ile veritabanı nesnelerine erişilebilir ve değişiklik yapılabilir. "Databases" altında "System Databases" ve onun altında ise 4 tane sistem veritabanı yer alır. Bu veritabanları üzerinde de tablo yaratılabilse de genellikle bu tercih edilmez. Kendi tablolarımızı saklamak üzere yeni bir veritabanı oluşturmak için "Databases" üzerine sağ tıklanıp açılan menüden "New Database" seçilir. NOT: Bu menüdeki "Attach" daha önce yaratılmış olan bir SQL Server veritabanına bağlanmak için, "Restore Database" ise yedeği (backup) alınmış veritabanını geri getirmek için kullanılır.

48 Veritabanı ismi girildikten sonra bu veritabanı için bir sahip belirlenmek istenirse "owner" kısmına yazılabilir. 2 tane veritabanı dosyası bu listeye varsayılan olarak eklenir: 5 MB büyüklüğünde ve "ROWS Data" türünde olan ilk dosya tabloları, 1 MB büyüklüğünde ve "LOG" türünde olan ikincisi ise günlük bilgilerini saklayacaktır. İstenirse aşağıdaki "Add" düğmesi ile yeni dosyalar eklenebilir. Dosyaların başlangıç boyutu ise liste üzerinden değiştirilebilir. Veritabanının Genel Özellikleri

49 Seçenekler (Options) altında veritabanının dil ayarlarını, önceki sürümler ile uyumluluğunu, otomatik olarak yapılması gereken işlemleri, vs. ayarlayabileceğiniz seçenekler yer alır. Son kullanıcı da çıkınca otomatik kapansın mı? Veritabanından büyük miktarda veri silindiğinde dosya boyutu küçülsün mü? (başlangıç boyutunun altına inemez) Ayrıntılı bilgi için: Seçenekler

50 Bir tablo yaratmak için seçilen veritabanı altında "Tables" üzerine sağ tıklanarak açılan menüden "New" + "Table" seçilirse tablo tasarımı (table design) görünümüne geçilir (bak. sonraki slayt)

51 Tablo Tasarımı Görünümü ve Birincil Anahtar Belirleme  Tablonun alan isimleri ve veri tiplerinin belirlendiği tasarım görünümünde birincil anahtar oluşturmak için, ilgili alan veya alanlar seçilip üzerlerine sağ tıklanarak, çıkan menüden (bu menü tasarım görünümüne geçildiğinde beliren Table Designer menüsünün aynısıdır) "Set Primary Key" seçilebilir.  Kaydetme ikonu tıklanıp (veya Ctrl+S) açılan pencereye tablonun ismi (Öğrenciler) yazılarak kaydedilir.

52  Tabloyu kaydettikten sonra bir değişiklik yapmak istediğinizde aşağıdaki uyarı mesajı ile karşılaşabilirsiniz:  Tools / Options menüsü, Designers altında yer alan aşağıdaki seçeneğin kaldırılması ile bu durum düzeltilebilir:

53 Dış anahtar belirleme  Dış anahtar belirlemek için "Table Designer" altındaki "Relationships" menüsü kullanılabilir. Add tıklanarak dış anahtar ilişkisi oluşturulur ve bağlanacağı tabloyu belirlemek için" Tables And Columns Sepecification" kullanılır. Notlar ve Dersler tabloları da oluşturulduktan sonra, Notlar tablosunun tasarım görünümünde iken "Relationships" tıklanırsa aşağıdaki pencere gelir:

54 Dış anahtar belirleme (devam)  İlişkinin PK tarafı için ilgili tablo (Dersler) ve o tablodaki ilgili sütun (DersKodu) seçimleri yapılarak, FK tarafı için de Notlar tablosundan bağlantılı olacak sütun (Ders) seçilir: Daha önce FK_Notlar_Notlar olan ilişki ismi Dersler tablosu seçilince FK_Notlar_Dersler olarak değişir (Öğrenciler seçilirse FK_Notlar_Öğrenciler olur)

55 Bilgi tutarlılığını sağlamak için:  Access'teki Bilgi Tutarlılığına Zorla altında yer alan İlişkili Alanları Art Arda Sil/Güncelleştir seçeneklerini kullanarak yaptığımız işlemin benzeri INSERT And UPDATE Specification seçeneğinin Delete Rule ve Update Rule alanları Cascade seçilerek yapılabilir. PK tarafında silinen bir kaydın FK tarafındaki ilişkili olduğu kayıtlar silinmeyip, "Set Null" ile ilgili alan boş bırakılabilir veya "Set Default" ile varsayılan değer ile doldurulabilir.

56 Nesne Gezginini Kullanma Nesne gezgini üzerinde her tablonun altında Columns, Keys, Constraints, Triggers, Indexes ve Statistics adında düğümler bulunur. Bir tablonun üzerine sağ tıklayıp açılan menüden "Design" seçilirse (veya herhangi bir sütun isminin üzerine sağ tıklayıp "New Column" veya "Modify" seçilirse) tasarım görünümüne geçilir. Keys düğümüne sağ tıklayıp açılan menüden "New Foreign Key" seçilirse önce tasarım görünümü açılır, sonra önceki slaytlarda gördüğümüz "Foreign Key Realationships" penceresi gelir. Constraints sağ tıklanıp "New Constraint" seçilirse "Check Constraints" adında bir pencere gelir (bak sonraki slayt) Triggers, Indexes ve Statistics hakkında sonraki derslerde bilgi verilecektir.

57 Check Constraint  Check constraints penceresinin Expression alanına gireceğimiz koşul ile bir alana girilecek veriye sınırlama (constraint) getirebiliriz. NOT: Aslında PK, FK ve Not Null da sınırlamadır. Haftaya değineceğiz.

58 Sorgu Penceresi  Araç çubuğundaki "New Query" simgesi (veya bir veritabanı sağ tıklanıp menüden "New Query") ile sorgu penceresi açılabilir. Eğer DML ifadeleri yazıldı ise Execute tıklandıktan sonra her ifade için etkilenen satır sayısı "Messages" sekmesinde belirtilir. Eğer bir sorgu yazıldı ise Execute tıklandıktan sonra "Results" sekmesinde sorgunun sonucu gösterilir.

59 Select Top 1000 Rows Edit Top 200 Rows  Bir tablonun üzerine sağ tıklayıp "Select Top 1000 Rows" seçilirse, yanda görüldüğü gibi bir sorgu otomatik olarak yazılıp çalıştırılır.  Bir tablonun üzerine sağ tıklayıp "Edit Top 200 Rows" seçilirse, aşağıda görüldüğü gibi veri girişi için Access'teki Veri Sayfası Görünümü'ne benzeyen, ekleme, silme ve değiştirme yapılabilen bir tablo gelir.

60 Diagram  Diagram nesneleri Access'teki İlişkiler görünümü gibi tablolar arası ilişkilerin gösterildiği bir çizelgedir.  Dış anahtar ilişkileri Access'te olduğu gibi buradaki tablolar arasında sürükle bırak yöntemi ile yapılabilir.


"Veri Tabanı Yönetim Sistemleri 1 Ders 9 Microsoft SQL Server 2014'e Giriş Yrd. Doç. Dr. Altan MESUT Arş. Gör. Emir ÖZTÜRK Trakya Üniversitesi Bilgisayar." indir ppt

Benzer bir sunumlar


Google Reklamları