1 ÜNİTE 2 – MSSQL SERVER 2008 EXPRESS’DE VERİTABANI VE TABLO İŞLEMLERİ Ele Alınan Konular MSSQL Server 2008 Express Programının Kurulumu ve Çalıştırılması Veritabanı İşlemleri Veri Tipleri Tablo Oluşturmak Tablolarla İlgili Diğer İşlemler Veritabanın Yedeğini Alma ve Yedekten Geri Yükleme Import ve Export İşlemleri Ünite Hakkında Bu ünitede, veritabanında yapılabilecek temel işlemlerden bahsedilmektedir. Veritabanı oluşturma, silme, adını değiştirme, tablo oluşturma, silme, tablonun adını ve yapısını değiştirme, tabloya veri girme, veritabanın yedeklenmesi, yedeklerin geri yüklenmesi, başka veri kaynaklardan veritabanına veri aktarılması bu ünitede bahsedilen temel işlemlerdir. Ayrıca bir tablonun alanlarını tanımlarken kullanılabilecek veri tipleri yine bu ünitede bulunmaktadır. Öğrenme Hedefleri Bu üniteyi tamamladığınızda; 1. 2. 3. 4. 5. 6. 7. 8. 9. Veritabanı oluşturabileceksiniz. Veritabanın silebilecek ve adını değiştirebileceksiniz. Veri tipleri hakkında bilgi sahip olacaksınız. Tablo oluşturabileceksiniz. Tablolara veri girebileceksiniz. Tabloları silebilecek ve adını değiştirebileceksiniz. Veritabanını yedekleyebilecek ve yedekten geri yükleyebileceksiniz. Veritabanına farklı kaynaklardan veri aktarabileceksiniz. Veritabanındaki verileri diğer kaynaklara aktarabileceksiniz. Üniteyi Çalışırken Bu üniteyi çalışırken; 1. MSSQL Server 2008 programının herhangi bir sürümünü bilgisayarınıza kurarak ünitedeki işlemleri bu programda uygulayın. 2. Veritabanın kullanılabileceği yeni konular araştırın. Bunları MSSQL Server 2008 programında uygulayın. 2 MSSQL Server 2008 Express Programının Kurulumu MSSQL Server, Microsoft firması tarafında geliştirilen bir veritabanı yönetim sistemidir. Geniş kullanım alanı olmasından dolayı ders için kullanılacak veritabanı yönetim sistemi olarak bu veritabanı yönetim sistemi seçildi. Ürünün en son sürümü MSSQL 2008’dir. Ürünün 180 günlük deneme sürümünü http://www.microsoft.com/sqlserver adresinden temin edebilir ve bilgisayarınıza yükleyebilirsiniz. Kurulum dosyası işletim sisteminizin 32 bit ya da 64 bitlik olmasına göre değişmektedir. Bu yüzden doğru sürümü yüklediğinizden emin olmalısınız. 32 bit için uyumlu sürüm X86, 64 bit için uyumlu sürüm X64’dür. Kurulum dosyası 1 GB’ın üzerinde bir boyuta sahiptir. Bu yüzden İnternet bağlantısının düşük olduğu yerlerde dosyayı bilgisayarınıza yüklemek çok zaman alabilir hatta imkânsız hale gelebilir. Temel işlemleri yapabileceğiniz daha az boyuta sahip fakat kullanımı için süre sınırlaması olmayan MSSQL 2008 Express sürümü bulunmaktadır. Dersimizde bu sürümden yararlanılacaktır. Anlatılacak olan işlemler MSSQL’in eski sürümlerinde de yapılabilmektedir. MSSQL Server 2008 Express Programını Çalıştırmak MSSQL Server 2008 Express programını bilgisayarınıza kurduğunuzda; Başlat menüsünün Programlar bölümünde Microsoft SQL Server 2008 isimli bir program grubu oluşturur. Buradaki SQL Server Management Studio kısayoluna tıklayarak MSSQL Server 2008 Express programını çalıştırabilirsiniz. Şekil 1. MSSQL Server 2008 Express programını çalıştıran kısayol Programı çalıştırdıktan sonra Şekil 2’deki bağlantı penceresi karşınıza gelecektir. 3 Şekil 2. MSSQL Server 2008 Express bağlantı penceresi Buradaki seçenekleri açıklayalım. Server Type, sunucu türünü belirtmek için kullanılır. Database Engine seçeneği ile veritabanı sunucusunun bütün özelliklerine ulaşabilirsiniz. SQL Server Compact Edition seçeneği ile yalnızca sunucudaki tek bir veritabanına bağlanabilirsiniz. Server Name, bağlanılacak veritabanı sunucusunu belirlemeye yarar. Başlangıçta kurulu olduğu bilgisayarın ismi gelir. Eğer isterseniz yerel ağınızda bulunan diğer bilgisayarlardaki MSSQL sunuculara da bağlanabilirsiniz. Authentication, veritabanı sunucusuna bağlantı yöntemini belirler. İki seçenek vardır. Windows Authentication seçeneği, sunucunun üzerinde çalıştığı bilgisayarda tanımlı olan kullanıcıların bağlanmasını sağlar. Bu seçeneği seçtiğinizde, kullanıcı adı ve şifre bilgisi girmeden veritabanı sunucusuna bağlanabilirsiniz. SQL Authentication seçeneği, sunucu bilgisayarda tutulan kullanıcı bilgileri ile sisteme bağlanılmasını sağlar. Bu durumda sunucuda tanımlı olan bir kullanıcı adı ve şifre bilgisi girmeniz gerekir. Seçenekleri belirledikten sonra Connect düğmesine basıp MSSQL Server 2008 Express’e ulaşabilirsiniz. Veritabanı sunucusuna bağlandıktan sonra karşımıza Şekil 3’deki pencere gelir. Pencerenin sol tarafında Nesne Gezgini (Object Explorer) bulunmaktadır. Bu bölümde veritabanı ile ilgili bütün nesnelere (veritabanları, tablolar, görünümler, kayıtlı yordamlar gibi) ulaşılabilirsiniz. Nesne Gezgini (Object Explorer) üzerinde Databases nesnesi üzerine çift tıklandığınızda ya da sol tarafındaki simgesine tıklandığınızda mevcut veritabanları görebilirsiniz. Diğer nesneleri görüntülemek için yine aynı yöntemi izleyebilirsiniz. 4 Şekil 3. Nesne Gezgini (Object Explorer) MSSQL’de Veritabanı Oluşturmak Veritabanı, bileşenlerinin içerisinde saklı olduğu bir klasör olarak düşünülebilir. Bir konuyla ya da olguyla ilgili düzenli bilgiler tutmaya başlamanın ilk adımı bir veritabanı oluşturmaktır. Oluşturulacak veritabanının isminin konuyla ilgili olması önemlidir. Bunun yanında veritabanın isimlendirilmesiyle ilgili İngilizce karakterlerin kullanılması, boşluk ve noktalama işaretlerinin kullanılmaması gibi bazı genel kurallar olsa da MSSQL Server 2008 Express bu konuda esnektir. Fakat diğer veritabanı yönetim sistemlerinde ya da eski sürümlerde aynı şeyden bahsetmek söz konusu olmayabilir. Bu yüzden tutarlı olması için yine de kullanılan örneklerde bu kurallara dikkat edelim. Örnek olarak bir mağazanın personeli, müşterileri ve müşterilerine ait sipariş bilgilerini tutmak için magaza isimli bir veritabanı oluşturalım. Bir veritabanı oluşturmak için; Databases nesnesi üzerinde farenin sağ tuşuna tıklanır. Çıkan seçeneklerden New Database seçeneğini seçilir. Karşımıza şekil 4’deki pencere gelecektir. Bu pencerede Database Name: bölümüne veritabanının ismini yazıp Ok düğmesine basarak veritabanı oluşturulabilir. 5 Şekil 4. Veritabanı oluşturma penceresi Veritabanı oluşturma penceresinde, fazladan bir işlem yapmadan, yalnıza veritabanın ismini girerek veritabanını oluşturabilirsiniz. Fakat bu penceredeki seçenekler sayesinden veritabanına ait bazı özellikleri belirleyebilirsiniz. Bunlardan bazıları şunlardır: General Sayfası Seçenekleri Owner: Veritabanına hangi kullanıcıların erişebileceğini belirler. Burada bir işlem yapılmayıp <default> bilgisi bırakılırsa aktif kullanıcı veritabanının sahibi olarak atanır. Database Files: Veritabanın fiziksel dosyalarının hangi klasörde saklanacağı belirlenebilir. Burada iki tip dosya vardır. Birincisi dosya veritabanının esas dosyası, ikin dosya ise veritabanı ile ilgili yapılan işlemlerin listesini tutan günlük (log) dosyasıdır. 6 Options Sayfası Seçenekleri: Collation: Veritabanının karakter setini ayarlamak için kullanılır. Karakter seti, dillere özgü karakterlerin girilebilmesini sağlar. Türkçeye ait karakterleri girebilmek için Türkçe karakter seti belirlenmelidir. Yanlış karakter seti belirlemek bazı karakterlerin girilememesine neden olabilir. Buradaki seçenek <server default> olarak bırakılırsa MSSQL Server 2008 Express programının kurulduğu bilgisayarın bölgesel ayarlarına göre karakter seti belirlenir. Eğer bilgisayar Türkçe bölgesel ayarlara göre kurulmuşsa herhangi bir değişiklik yapmaya gerek yoktur. Recover model: Veritabanının bozulması olasılığına karşı veri tabanının kurtarılma modelini belirler. Üç seçenek sunar. Kurtarma Modeli Açıklama Simple Bu kurtar modeli veritabanın en son yedeklerinin yüklenmesini sağlar. İçlerindeki en hızlı fakat kaybedilen veri miktarının en fazla olma olasılığının olduğu seçenektir. Full İşlem günlüklerinin de yedeklenmesini sağlar. Bu günlüklerden faydalanarak veri kaybının en düşük seviyede tutulmasını sağlar. Bulk-Logged Full modele benzer. Fakat günlük bilgilere detaylı olarak tutulmaz. Böylelikle günlük bilgileri az yer kaplar. Büyük ölçekli, performansın en üst seviyede olması gerektiği durumlar için idealdir. Compatibility Level: Veritabanın önceki sürümlere uyumluluğunu belirlemeye yarar. MSSQL 2008’de hazırlanan bir veritabanının MSSSQL 2000 tarafından yönetilebilmesi için uyumluluğunun bu seçenek ile belirlenmesi gerekir. MSSQL’de Veritabanlarıyla İlgili Diğer İşlemler Veritabanının İsmini Değiştirme: İsmini değiştirmek istediğiniz veritabanın üzerinde farenin sağ tuşuna tıklayıp Rename komutunu seçerek veritabanının ismini değiştirebilirsiniz. Veritabanını Silmek: Silmek istediğiniz veritabanının üzerinde farenin sağ tuşuna tıklayıp Delete komutunu seçerek ile veritabanını silebilirsiniz. Veritabanının Özelliklerini Görüntülemek ve Değiştirmek: Veritabanının oluştururken veritabanın karakter seti, kurtarma modeli, uyumluluk seviyesi gibi bazı özelliklerinin belirlenebileceğinden bahsetmiştik. Bir veritabanının özelliklerini görüntüleyip değişiklik yapmak için, o veritabanı üzerinde farenin sağ tuşuna tıklayıp Properties komutuna tıklayabilirsiniz. 7 Şekil 5. Veritabanın adının değiştirme, silme ve özelliklerini görüntüleme komutları Veri Tipleri Tablolar oluşturulurken alanların saklayacağı verilerin tiplerinin belirtilmesi gerekir. Girilecek veri, metin, tam sayı, ondalıklı sayı ya da tarih olabilir. Bu yüzden tablo oluşturmaya geçmeden önce MSSQL Server 2008 Express’de kullanılan veri tiplerinin açıklanmasında fayda vardır. MSSQL Server 2008 Express’de kullanılan veri tipleri şunlardır: Tamsayı Veri Tipleri Sayısal veri tipleri tamsayı ve ondalıklı sayı veri tipleri olmak üzere ikiye ayrılırlar. Tamsayı veri tiplerinde sayıların ondalık kısımları girilememektedir. Bit, 1 ya da 0 değerini saklamak için kullanılır. Genellikle Evet/Hayır şeklindeki mantıksal bilgileri tutmak için kullanılır. Örneğin bir öğrencinin burs alıp almadığı bilgisini tutmak için kullanılabilir. Burs alıyorsa 1, almıyorsa 0 şeklinde veritabanında tutulabilir. Veritabanında 1 byte’lık yer kaplar. Tinyint, 0 ile 255 arasındaki sayıları tutmak için kullanılır. Veritabanında 1 byte’lık yer kaplar. Smallint, -32.768 ile 32.767 arasındaki sayıları saklamak için kullanılır. Veritabanında 2 byte’lık yer kaplar. 8 Int , -2.147.483.648 ile 2.147.483.647 arasındaki sayıları saklamak için kullanılır. Veritabanında 4 byte’lık yer kaplar. Bigint, -9.223.372.036.854.775.808 ile 9.223.372.036.854.775.807 arasındaki verileri saklamak için kullanılır. Veritabanında 8 byte’lık yer kaplar. Kesin Ondalık Sayı Veri Tipleri Ondalık sayıların hem tamsayı bölümlerini hem ondalık bölümlerini tam olarak saklayan veri tipleridir. Smallmoney, -214.768,3648 ile 214.748,3647 arasındaki sayıları saklamak için kullanılır. Ondalık tarafında 4 hane saklayabilir. Aynı zamanda para birimi bilgisini de saklayabilmektedir. 10 bin farklı para birimini saklayabilmektedir. Veritabanında 4 byte’lık yer kaplar. Money, -922.337.203.685.477,5808 ile 922.337.203.685.477,5807 arasındaki sayıları saklayabilir. Ondalık tarafında 4 hane saklayabilir. Aynı zamanda para birimi bilgisini de saklayabilmektedir. 10 bin farklı para birimini saklayabilmektedir. Veritabanında 8 byte’lık yer kaplar. Numeric veri tipinde saklanacak sayınının basamak sayısı tanımlanabilmektedir. Sayıların tam ve ondalık basamak sayıları belirtilerek bu işlem gerçekleşmektedir. Numeric veri tipinin boyutu, belirtilen bu bilgilere göre değişkenlik göstermektedir. Hem negatif hem de pozitif 38 basamağa kadar sayı saklayabilir. Aşağıdaki tabloda bu bilgileri bulabilirsiniz. Toplam Basamak Kapladığı Alan Sayısı 1-9 5 byte 10-19 9 byte 20-28 13 byte 29-38 17 byte Numeric alan tanımlandığında basamak sayılarının belirtilmesi gerekir. Alan tanımlama penceresinin özellikler (properties) bölümündeki precision seçeneği sayının toplam basamak sayısını, scale seçeneği ise ondalık basamak sayısını belirlemek için kullanılır. İlk oluşturulduğunda bu değerler tüm basamaklar için 18, ondalık basamaklar için 0’dır. Decimal veri tipi numeric ile eşdeğerdir. Aynı amaçla kullanılırlar fakat isimleri farklıdır. Yaklaşık Veri Tipleri Float, 1,79E+308 ile -2,23E-308 arasındaki, 0 ve 2,23E-308 ile 1,79E+308 arasındaki sayıları saklamak için kullanılır. 4 byte’dan 8 byte kadar yer kaplayabilir. Bu girilen sayılara bağlıdır. 9 Real, 3,40E + 38 ile -1,18E – 38 arasındaki, 0 ve 1,18E – 38 ile 3,40E + 38 arasındaki sayıları saklamak için kullanılır. Veritabanında 4 byte’lık yer kaplar. ? Yaklaşık ve Kesin ondalık veri tiplerine neden bu isimler verilmiştir? Aralarındaki fark nedir? Araştırınız. Metinsel Veri Tipleri Alfabedeki harf, özel işaret ve rakamların girilmesi için kullanılan veri tipleridir. Char, ANSI karakterleri saklamak için kullanılır. Her bir karakter veritabanında 1 byte’lık yer kaplar. En fazla 8000 karaktere kadar veri saklanabilir. İsim bilgilerini, adres bilgilerini saklamak için bu tipi kullanılabilir. Char tipinde bir veri tanımlandığında verinin toplam uzunluğunun da belirtilmesi gerekir. İlk oluşturulduğunda Char(10) şeklinde bir ifadeyle karşımıza çıkar ki bu en fazla saklayabileceği karakter sayısını 10 olduğunu göstermektedir. Saklayabileceği toplam karakter sayısını, alan tanımlama penceresinin özellikler bölümündeki Length seçeneği ile belirleyebiliriz. Char veri tipinin uzunluğu ne kadar tanımlandıysa veritabanında o kadar yer kaplar. Bu alana girilen bilginin uzunluğunun bir önemi yoktur. *Örneğin isimleri tutmak için oluşturulacak alanı char(15) şeklinde belirleyelim. Bu alana ‘Ali’ ismi de girilse ‘Abdurrahman’ ismi de girilse bu alanda oluşturulan kayıtlar 15 byte’lık yer kaplar. 15 karakterin üzerinde bir isim girildiğinde fazla kısımlar saklanmaz. Varchar veri tipi de Char veri tipine benzer. Aynı şekilde girilebilecek en uzun karakter sayısı belirtilir. Aralarında önemli bir fark vardır. Varchar tipi tanımlanmış bir alanda girilen veri, veritabanında uzunluğu+2 byte kadar yer kaplar. Bu veritabanın gereksiz yere büyümesini engeller. *Örneğin Varchar(15) şeklinde tanımlanmış bir isim alanına ‘Ali’ bilgisi 3 karakter+2 = 5 byte yer kaplar. Varchar alanında girilecek karakter sayısının 8000’i aşacağı durumlarda MAX bilgisi girilebilir. Bu durumda varchar, 231-1 (2.147.483.647 = ~2GB) byte’lık depolama kapasitesine kadar çıkabilir. ? Hangi durumlarda Char ve Varchar veri tipleri birbirlerinin yerine tercih edilebilir? Araştırınız. Nchar ve Nvarchar veri tiplerinin özellikleri char ve varchar veri tiplerinin özelliklerine benzer. Fakat Unicode karakterleri sakladıkları için her karakter veri tabanında 2 byte’lık yer kaplar. 4000 karaktere kadar veri saklayabilir. Text, 8000 karakterden fazla ANSI karakteri saklamak için kullanılır. En fazla karakter saklama kapasitesi 231-1 (2.147.483.647) karakterdir. Girilen karakter dizisinin uzunluğuna göre saklama alanı daha az olabilir. Ntext, 4000 karakterden fazla Unicode karakteri saklamak için kullanılır. En fazla karakter saklama kapasitesi 230-1 (1.073.741.823) karakterdir. 10 ? ANSI ve Unicode karakterlerinin özellikleri nelerdir? Araştırınız. Tarih ve Zaman Veri Tipleri Date, tarih bilgisini tutmak için kullanılır. 01.01.0001 ile 31.12.9999 arasındaki tarihleri saklayabilir. Zaman bilgilerini tutmaz. 3 byte’lık yer kaplar. Smalldatetime, tarih ve zaman bilgisi tutmak için kullanılır. Tarih, saat ve dakika bilgilerini tutabilir. Saniye bilgilerini tutmaz. Veritabanında 4 byte’lık yer kaplar. Tutabileceği tarih aralığı 01.01.1900 tarihinden 06.06.2079 tarihine kadardır. Saat aralığı ise 00:00:00’dan 23:59:59’a kadardır. Datetime, milisaniye’ye kadar tarih ve zaman bilgisini saklamak için kullanılır. Veritabanında 8 byte'lık yer kaplar. 01.01.1753’den 31.12.9999’a kadar tarih bilgisi, 00:00:00’dan 23:59:59.997’a kadar da zaman bilgisi tutabilir. Binary (İkili) Veri Tipleri Bu veri tipleri; resim, müzik, video gibi kısacası metin ve sayı haricindeki veri türlerini de saklamak için kullanılan veri tipleridir. Binary, 8000 byte’a kadar veri saklayabilir. Bu veri tipi ile beraber uzunluk da belirtilmelidir. Alan tanımlama penceresinin özellikler bölümündeki Length seçeneği ile bu yapılabilir. Uzunluğu tanımlandığında Binary(50) şeklinde gözükür. Bu 50 byte’lık veri saklayabileceğini gösterir. Veritabanında kapladığı alan sakladığı bilginin uzunluğuna göre değişmez. Her kayıt için tanımlandığı kadar alan saklar. Varbinary, 8000 byte’a kadar veri saklar. Saklayabileceği veri miktarı Binary veri tipinde olduğu gibi tanımlanır. Ancak veritabanında kapladığı alan tuttuğu bilginin uzunluğuna göre değişir. Kapladığı alan sakladığı bilginin uzunluğu+2 byte kadardır. Varbinary(max) şeklinde de tanımlanabilir. Bu durumda kapladığı alan 231-1 (2.147.483.647) byte’a kadar çıkabilmektedir. Image veri tipi 231-1 (2.147.483.647) byte’a kadar veriyi saklayabilir. ? Burada MSSQL’de en sık kullanılabilecek veri tiplerinden bahsedilmiştir. MSSQL’de burada belirtilmeyen veri tipleri hangileridir? Özellikleri nelerdir? Araştırınız. Tablo Oluşturmak Daha önce de belirtildiği gibi tablo, bir veritabanının en önemli bileşenedir. Tablo bileşeni ile veritabanı, verileri saklar. Bu yüzden veritabanı işlemlerine genellikle tablo oluşturularak başlanır. Tabloyu oluşturmak için; Tablonun ait olacağı veritabanı üzerine için çift tıklanarak veritabanının bileşenleri görüntülenir. Table bileşeni üzerinde farenin sağ tuşuna tıklanır. Çıkan seçeneklerden New Table komutu seçilir. Karşımıza şekil 6’daki tablonun alanlarının tanımlanacağı pencere gelir. 11 Tablonun alanlarını tanımladıktan sonra File menüsünden Save ya da düğmesine basıp, tabloya bir isim verilerek tablo oluşturulur. Şekil 6. Alan tanımlama ekranı Tablonun alanları tanımlamak önemlidir. Alanların isimleriyle beraber belirlenecek başka özellikler de vardır. Karşımıza çıkan penceredeki seçenekleri tek tek ele alalım. Alan Adı (Column Name) Alan adının belirlemek için kullanılır. Alan isimlerinde MSSQL Server 2008 esnek olmasına rağmen yine de veritabanı isimlendirmede bahsedilen genel kuralların uygulanmasında fayda vardır. Veri Tipi (Data Type) Alana girilecek olan verinin tipini belirlemek için kullanılır. Boş Veri Girişine İzin Ver (Allow Null) Bu özellik, tablolara kayıt girilirken alanın boş bırakılıp boş bırakılamayacağını belirler. Allow Null seçeneği seçilirse alan boş bırakılabilir, eğer seçenek iptal edilirse belirtilen alan boş bırakılamaz. MSSQL bu durumda hata mesajı vererek kayıt girişini engeller. 12 Alan Özellikleri (Properties) Alan özellikleri, seçilen veri tipine göre değişmektedir. Önemli bir alan özelliği olan girilebilecek veri uzunluğunu belirleyen Length özelliğine buradan ulaşılabilmektedir. Bu da bazı veri tipleri için geçerlidir. Önemli bir alan özelliği de Identity Specification özelliğidir. Bu özellik sayesinde kayıtlara herhangi bir sayıdan başlayarak belirli bir sayıyla artma imkânı verilir. Identity Seed başlangıç sayısını, Identity Increment artış miktarını belirler. Başlangıçta bunların değer 1’dir. Is identity seçeneğine Yes bilgisini girerek bu özelliği aktif edebiliriz. Böylelikle sistem her bir kayda benzersiz bir sayı vermiş olacak. Bu tarz alanlara kullanıcı müdahale edemez. Yani verileri değiştiremez. Bu tarz alanlar genellikle tablolar arası ilişkilerin oluşturulması amacıyla oluşturulur ve birincil anahtar olarak belirlenir. Varsayılan Değer (Default Value) özelliği yeni kayıtlarda bir değerin o alana önceden girilmesi isteniyorsa kullanılır. Örneğin şehirlerin girileceği bir alanda eğer sıklıkla ‘Ankara’ bilgisi girilecekse bu bilgi, varsayılan değer olarak belirlenebilir. Böylelikle zamandan ve emekten tasarruf edilmiş olur. Formula (Formül) özelliği alandaki değerin hesaplama sonucu ortaya çıkacağı zaman kullanılan bir özelliktir. Örneğin alış veriş tutarlarının tutulacağı bir tabloda kdv tutarları hesaplanarak bulunabilir. Birincil Anahtar (Primary Key) özelliğinden daha önce bahsedilmişti. Tablolarda her bir alanı tekil olarak tanımlayan bir alanın olmasında fayda vardır. Bu bize iki fayda getirir. 1. Tabloların kayıtlarına tekil olarak ulaşma olanağı sağlar. Bu, kayıtların silinmesi ve güncellenmesinde işe yarar. 2. Tablolar arası ilişki tanımlanmasında kullanılır. Bir alanı birincil anahtar yapmak için, alan üzerine gelindikten araç çubuklarında bulunan düğmesine basabilirsiniz ya da alanın üzerinde farenin sağ tuşuna tıklayıp Set Primary Key komutunu seçebilirsiniz. Şekil 7. Birincil anahtarın araç çubuğundaki yeri * Örnek: Magaza veritabanında personele ait bilgilerin tutulacağı bir tablo oluşturalım. Öncelikle alanları ve özelliklerini belirleyelim. Alan Adı Personel_id Özellikleri Her personele ayrı bir sayı vermekte fayda vardır. Bu yüzden bu alan otomatik olarak artırılmalıdır. Tam sayı alanı olmalıdır. Alan veri tipi personel sayısına göre belirlenebilir. Örneğin 256’dan az personel çalışıyorsa tinyint seçilebilir. Bu alana sayıların otomatik verilmesi için 13 isidentity seçeneğinin aktif hale getirilmesi gerekir. Örneğin 1’den başlayarak her bir personele artan sırada bir numara verilir. Yine bu alanın birincil anahtar olarak tanımlanmasında fayda vardır. Adi_soyadi Bu alanı personelin adı ve soyadı bilgilerini girmek için oluşturalım. İstenirse personelin adı ve soyadı farklı alanlarda da saklanabilir. Bu alan için Varchar(40) alan tipini kullanabiliriz. 40 bilgisi en fazla 40 karakterlik bir bilgi saklanacağını belirtir. Unutulmamalıdır ki alan uzunluk tanımlamaları muhtemel en uzun bilgiye göre yapılmalıdır. Bir personelin adı ve soyadı bilgisinin boş bırakılmaması gerekir. Bu yüzden Allow Nulls seçeneğini kaldırmamamızda yarar vardır. Dogum_tarihi Personelin doğum tarihi bilgisini saklamak için oluşturulan bu alanın veri tipini date olarak belirleyelim. Adres Bu alan için de varchar veri tipi kullanılabilir. Fakat uzunluğu değişkenlik gösterebileceği için bu alanın biraz uzun tutulmasında fayda vardır. Varchar(400) olarak bu alanı belirleyelim. İlce Personelin oturdukları ilçelere göre özel bir işlem yapılacaksa bunu adres alanından farklı bir alanda saklamakta yarar vardır. Bu alanın veri tipini de Varchar(30) olarak tanımlayalım. İl Personelin oturduğu ilin bilgisini tutmak için bu alanı oluşturalım. En uzun isimli ilimiz Kahramanmaraş olduğuna göre bu alanın veri tipini Varchar(13) olarak belirleyebiliriz. Eğer personelin önemli bir bölümü Ankara’da oturuyorsa bu alanın default değerini Ankara olarak belirlemek, veri girişi açısından faydalı olacaktır. Ev_telefonu Telefon bilgisi her ne kadar sayısal bir yapıya sahip olsa da bu sayılarla herhangi bir aritmetiksel işlem yapılmadığı için karakter olarak tanımlanmasında fayda vardır. Alan kodlarıyla beraber bir telefon numarasının sahip olabileceği uzunluk bellidir. 11 hane olabilir. Bu yüzden veri tipini char(11) olarak belirleyebiliriz. Maas Personelin maaş bilgilerinin tutulacağı bu alanın tipini money olarak belirleyelim. Buradaki örnekte personele ait daha birçok bilgi saklanabilir. Şimdilik bu kadarı bizim için yeterli olacaktır. Alanlar tanımlandıktan sonraki durumu şekil 8,9 ve 10’dan takip edebilirsiniz. 14 Şekil 8. Personel tablosunun alanları tanımlanmış hali Şekil 9. Personel_id alanının artan sayı olarak tanımlanması Şekil 10. İl alanına varsayılan değer olarak ‘Ankara’ değerinin atanması Alan tanımlamaları bittikten sonra tabloyu personel adı ile saklayalım. Şekil 11’de oluşturulan tabloyu görebilirsiniz. 15 Şekil 11. Oluşturulan personel tablosu ! Burada belirtilen veri türleri, tasarlayan kişinin seçeneklerine göre değişiklik gösterebilir. Alan tanımlanırken göz önünde bulundurulması gereken en önemli 3 ölçüt şunlardır. 1. Girilecek veriye uygun olmalıdır. 2. Girilmesi muhtemel en uzun bilgiyi saklayabilmelidir. 3. Alan boyutları gereksiz yere büyük tanımlanmamalıdır. Alan boyutlarının çok büyük olması veritabanın boyutunun artmasına ve verimliliğinin azalmasına yol açabilir. Tablonun Adının Değiştirilmesi, Silinmesi ve Yapısının Değiştirilmesi Veritabanın isminin değiştirilmesi ve silinmesi ile ilgili anlatılan seçenekler tablolar için de geçerlidir. Değişiklik yapılmak istenen tablonun üzerinde farenin sağ tuşuna tıklayıp Rename komutuyla adını değiştirebilir, Delete komutuyla da tabloyu silebilirsiniz. Tablonun Yapısının Değiştirilmesi Tablo üzerinde farenin sağ tuşuna basıp çıkan seçeneklerden Design komutunu seçerek tablonun yapısının değiştirilebileceği bölüme ulaşabilirsiniz. Bu pencerede tabloya yeni alanlar ekleyebilir, mevcut alanları silebilir, alanların yerleri ve özelliklerini değiştirebilirsiniz. 16 Şekil 12. Tablonun yapısı üzerinde değişiklik yapmayı sağlayan Design komutu. * Örnek: Personel tablosuna, personelin TC kimlik numaralarını sağlayan yeni bir alan ekleyelim. Ancak eklenecek olan bu alan Personel_id ile adi_soyadi alanları arasında olsun. Tanımlı alanların bitiminden itibaren rahatlıkla yeni alanlar ekleyebilirsiniz. Fakat böyle bir durumda araya alan eklemeniz gerekir. Araya alan eklemek için şu adamları izleyebilirsiniz. Eklenecek alanın geleceği yer üzerinde farenin sağ tuşuna tıklanır. Bizim örneğimizde bu adi_soyadi alanının olduğu yerdir. Çıkan seçeneklerden Insert Column komutuna tıklanır. Şekil 13. Araya alan ekleme komutu Burada alan eklemek için boş bir bölüm oluşur. Alan adı ve özellikleri girilerek alan eklenir. ? TC kimlik no alanın veri tipi ne olmalı? Daha önce de ev telefonu alanında da belirtildiği gibi bu alan sayısal bir yapıya sahip olsa da bu sayılarla herhangi bir aritmetiksel işlem yapılmamaktadır. Dolayısıyla bu alanın karakter veri tiplerinden birisiyle tanımlanmasında fayda vardır. Char(11) olarak bu alan tanımlanabilir. Tablonun alan yapısının son hali Şekil 14’deki gibidir. 17 Şekil 14. TC kimlik numarası alanı girildikten sonra personel tablosunun yeni hali ! Tablo alanlarının yeniden yapılandırırken dikkatli olunmalıdır. Yapılacak bazı değişiklikler veri kaybına neden olabilir. ! Tablonun yapısı üzerinde yapılacak bazı değişiklikler, tablonun kaldırılıp yeniden oluşturulması gerektirir. Şekil 15’deki gibi bir uyarı mesajı karşınıza gelebilir. Şekil 15. Tablo üzerindeki değişikliğin yapılamayacağını belirten mesaj. MSSQL Server 2008 Express’de bu tarz değişiklikleri engelleyen bir seçenek, ilk kurulduğunda aktif haldedir. Bunu kaldırarak tablo üzerinde her türlü değişikliği yapabilirsiniz. 18 Bu değişikliği yapmak için; Tools menüsünü tıklanır. Options komutuna tıklanır. Bu pencerede Designers bölümünden Table and Database Designers seçeneğine tıklanır. Buradaki Prevent saving changes that require table re-creation seçeneğini iptal edilir ve Ok düğmesine tıklanır. Şekil 16. Tabloların yeniden oluşturulmasını gerektiren değişikliklerin yapılmasını engelleyen seçenek. Tablolara Kayıt Girmek ve Kayıtları Silmek MSSQL Server 2008 Express’de tablodaki alanlara veri girmek için şu adımlar izlenebilir. Veri girmek istediğiniz tablonun üzerinde farenin sağ tuşuna tıklanır. Çıkan seçeneklerden Edit Top 200 Rows komutuna tıklanır. Ekranın sağ tarafına tablo alanlarıyla birlikte gelecektir. Burada veri girişi yapabilirsiniz. Şekil 17’de personel tablosunun veri girilmiş halini görebilirsiniz. 19 Şekil 17. Personel tablosunun veri girilmiş hali Bu tabloda personel_id alanındaki veriler sistem tarafından otomatik atanmaktadır. NULL değeri görünen alanlara ise herhangi bir veri girişi yapılmamıştır. En alttaki ile işaretli kayıt ise yeni kayıt girilmesine olanak tanımaktadır. simgesi Tablodaki kayıtları silmek için; Silinecek kayıtlar seçilir. Farenin sağ tuşuna tıklanır. Çıkan seçeneklerden Delete komutuna tıklanır. Şekil 18. Kayıtların silinmesini sağlayan Delete komutu. İndeks Oluşturmak İndeksler, daha önce de belirtildiği gibi bir tablodaki verilerin, belirli bir alan ya da alanlara göre sıralanmasını sağlayan yapılardır. İndeksler veritabanın performansı artıran yapılardır. Örneğin milyonlarca kaydı bulunan tabloyu indeks olmadan da belirli bir alana göre sıralatılıp listelenebilir. Fakat bu işlem biraz yavaş olacaktır. Oluşturulan indeksler sayesinde çok sayıda kaydı bulunan tabloların verilerine daha hızlı ulaşılabilir. MSSQL Server 2008 Express’de indeks oluşturmak için; İndeksi oluşturulacak tablonun üzerine çift tıklanarak bileşenleri görüntülenir. Indexes bileşeni üzerinde farenin sağ tuşuna basılır. 20 New Index komutuna tıklanır. Karşımıza Şekil 19’daki Index oluşturma penceresi gelir. Bu penceredeki önemli seçenekler şunlardır: Index Name, İndeksin isminin belirlendiği yerdir. Unique, seçilen alandaki verilerin tekil sıralanmasını sağlar. Tekrar eden değerler varsa yalnızca bir tanesi sıralamaya katılır ve o şekilde listelenmesini sağlar. Örneğin aynı isim ve soyada sahip birden fazla kişi varsa bu alana göre yapılan indekslerde yalnızca birinci kişinin ismine ulaşılır. Index key columns, İndekslenecek alanların belirlendiği bölümdür. Add düğmesine basılarak tabloda indeksi yapılacak sütunlar seçilir. Sort order, sıralamanın artan ya da azalan olarak belirlendiği bölümdür. Ascending seçeneği artan (küçükten büyüğe doğru), descending seçeneği ise azalan (büyükten küçüğe) sıralama yapılmasını sağlar. İndeksin seçenekleri belirlendikten sonra Ok düğmesine tıklanarak indeks kaydedilir. Şekil 19. İndeks oluşturma ekranı Şekil 20’de oluşturulan indeksler gözükmektedir. Burada PK_personel indeksi dikkat çekmektedir. Anlaşılacağı üzere birincil anahtar seçilen alan için indeks oluşturulur. Şekil 20. Personel tablosunun indeksleri 21 Veritabanın Yedeklenmesi Veritabanının bozulmalara ve silinmelere karşı korumak için yedeklerini almakta fayda vardır. Böyle bir durumda yedekten yükleme yaparak verilerimizi kurtarabiliriz. Bir veritabanın yedeğin almak için; Yedeği alınacak veritabanı üzerinde farenin sağ tuşuna tıklanır. Karşımıza gelen menü seçeneklerinden Tasks seçeneğinin altındaki Back Up komutuna tıklanır. Karşımıza şekil 21’deki ekran gelir. Şekil 21. Veritabanı yedekleme ekranı Bu ekrandaki seçeneklere göz atalım. Database, yedeği alınacak veritabanını belirleneceği yerdir. Recover model, kurtarma modelini gösterir. Bu pencerede kurtarma modeli ile ilgili bir değişiklik yapılamaz. Hatırlanacağı üzere kurtarma modeli, veritabanı özellikleri belirlenirken seçilebilmektedir. Backup type, yedekleme tipinin belirlerler. Üç seçeneği vardır. Full seçilirse, veritabanının tamamının yedeği alınır. Differential seçeneği seçilirse bir önceki yedeklemeden farklı olan 22 bilgilerin yedeği olur. Fakat daha önce bir kez Full yedeklemenin yapılması gerekir. Transaction Log yapılan işlemlerin günlüğünün yedeğinin alınması sağlanır. Backup component bölümündeki database seçeneği, veritabanın yedeğini alınacağını belirtir. File or file group seçeneği ise yedekleri alınacak veritabanı dosyalarının seçilmesine olanak tanır. Name, yedeğe bir isim vermek için kullanılır. Description seçeneği ile alınan yedekleri açıklayan bilgiler girilebilir. Backup set will expire seçeneği alınan yedeğin süresinin ne zaman biteceğini gösterir. Yani belirtilen zaman diliminin üzerine çıkıldığında üzerine başka bir yedek yazılabilir. Burasının 0 bırakılması, alınan yedeklerin süresinin hiçbir zaman bitmemesi anlamına gelir. Yani bu yedeklere her zaman dönülebilir. Destination seçeneği ile yedek dosyaları ve bu dosyaların kaydedileceği klasörler belirtilebilir. MSSQL Server 2008 Express tarafından hedef bir klasör ve dosya, bu ekran ilk açıldığında belirlenir. Kullanıcı isterse yeni hedef klasör ve dosyalar ekleyebilir ya da kaldırabilir. Yedekleme seçenekleri belirlendikten sonra Ok düğmesine tıklanarak yedekleme işlemi başlatılır. Şekil 22’de magaza veritabanının yedeklendiği klasördeki yedek dosyası gözükmektedir. Şekil 22. Magaza veritabanının yedek dosyası ? İşlem günlüğü (Transaction log) ne işe yarar? Araştırınız. Veritabanının Yedekten Tekrar Yüklenmesi Bir veritabanı bozulabilir ya da silinebilir. Kısacası kullanılmaz hale gelebilir. Bu durumda yedeklerinden tekrar veritabanına ulaşılabilir. Bir veritabanı yedeğinden tekrar yüklemek için; 23 Yedeği tekrar yüklenecek veritabanı üzerinde farenin sağ tuşuna tıklanır. Karşımıza gelen menü seçeneklerinden Tasks seçeneğinin altındaki Restore seçeneğine tıklanır. Burada iki seçenek karşımıza gelir. Eğer veritabanı yedeklenmişse Databases, dosyalar yedeklenmişse Files and Files Groups seçeneği seçilmelidir. Databases seçildiğinde karşımıza şekil 23’deki ekran gelir. Şekil 23. Yedekleri tekrar yükleme ekranı. Buradaki seçenekleri ele alalım. To database seçeneği ile yedeklerin hangi veritabanına aktarılacağı belirlenir. Yedeklerle veritabanının eşleşmesi gerekir. Aksi durumda MSSQL Server 2008 Express hata mesajı verir ve işlemi yapmaz. Eğer yedekleri alınan veritabanı silinmiş ise yedekler yeni bir veritabanına aktarılabilir. Bunun için, sadece bu bölüme yeni veritabanının isminin girilmesi yeterlidir. 24 To a point in time seçeneği ile belirli bir tarihte alınan yedeklere dönme imkanı sağlanır. Buradaki Most recent possible seçeneği ile en yakın zamanda alınan yedeklerin yükleneceği işaret edilmektedir. From database seçeneği ile yedeklenmiş veritabanlarının listeden seçilmesi ve bu veritabanlarının yedeklerinin yüklenmesi sağlanır. From device seçeneği ile disk üzerinde kayıtlı olan veritabanı yedek dosyasına ulaşılıp yedeklerin yüklenmesi sağlanır. Select the database sets to restore seçeneği ile seçilen veritabanına ait farklı yedekleme setleri görülebilir ve bunlardan hangilerinin tekrar yükleneceği belirlenebilir. Örneğin; şekil 23’de, magaza veritabanına ait tam bir yedeğin ve işlem günlüğü yedeğinin olduğu gözükmektedir. Hangisinin yükleneceği belirlenebilir. Seçenekler belirlendikten sonra Ok düğmesine basılarak yedeklerin yüklenmesi işlemi tamamlanır. Şekil 24. Yedekleme (Back Up) ve yedekleri yükleme (Restore) komutları ! Restore komutunun seçeneklerine, Databases üzerinde farenin sağ tuşuna tıklandığında da ulaşılabilir. 25 Import ve Export İşlemleri Import, başka bir veri kaynağında bulanan verinin, veritabanına aktarılması işlemidir. Bu kaynaklar Microsoft Excel’de hazırlanmış bir tablo, Microsoft Access’deki bir veritabanı, ya da MSSQL Server 2008 Express’deki başka bir veritabanı olabilir. Örneğin, Excel dosyasında bulunan verilerin veritabanındaki bir tabloya aktarılması gibi. Export, veritabanındaki verilerin başka veri kaynaklarına aktarılması işlemidir. Yani Import’un tersidir. Örneğin, veritabanında bir tablodaki verilerin bir Excel dosyası haline getirilmesi gibi. * Örnek: Şekil 25’de Microsoft Excel 2007’de hazırlanmış örnek bir personel tablosu bulunmaktadır. Bu tablodaki verileri magaza veritabanındaki personel tablosuna aktaralım. Şekil 25. Veritabanına aktarılacak örnek Excel tablosu. Magaza veritabanı üzerinde farenin sağ tuşuna tıklanır. Çıkan seçeneklerden Tasks seçeneğinin altındaki Import Data komutuna tıklanır. Karşımıza Import ve Export sihirbazı gelir. Bu sihirbazın ilk adımı tanıtım amaçlıdır. İstenirse çıkması engellenebilir. Next düğmesine tıklayarak ikinci aşamaya geçilebilir. Karşımıza şekil 26’daki ekran gelir. Bu pencere aktarılacak verinin hangi kaynaktan alınacağı belirtilir. Veri kaynağının türüne göre bu penceredeki seçenekler değişebilir. Excel için gelen seçenekleri tek tek ele alalım. Data Source, aktarılacak verinin kaynağının belirtildiği yerdir. Excel file path, aktarılacak Excel dosyasının hangi klasörde olduğunun belirtildiği yerdir. Browse düğmesi ile klasörlere göz atılarak dosya bulunup getirilebilir. Excel version, aktarılacak Excel dosyasının sürümünün belirtildiği yerdir. Örnek olarak kullanılan dosya, Excel 2007’de hazırlandığı için bu bölümde dosya sürümü olarak Microsoft Excel 2007 belirtilmiştir. Seçenekler tanımlandıktan sonra Next düğmesine basılarak bir sonraki adıma geçilir. 26 Şekil 26. Aktarılacak verinin seçildiği adım. Bir sonraki adımda karşımıza Şekil 27’daki ekran gelir. Bu adım verilerin aktarılacağı hedef kaynak seçilir. Bu hedef kaynak MSSQL Server 2008 Express’deki bir veritabanı olabileceği gibi Microsoft Excel, Microsoft Access gibi bir kaynak da olabilir. Örneğimizde veritabanına aktarılacağı için magaza veritabanı Database bölümünde seçilir. Buradaki First row has column names seçeneği, tablonun ilk satırının başlık satırı olup olmadığını belirtmek için kullanılır. Örnek tablomuzun ilk satırında başlık bilgileri bulunduğu için bu seçenek işaretlenmelidir. Bir sonraki adıma Next düğmesine basılarak geçilebilir. 27 Şekil 27. Hedef veri kaynağının belirtildiği adım. Bir sonraki adım, seçilen veri kaynağındaki hangi verilerin aktarılacağını belirlendiği adımdır. Buradaki seçeneklerden Copy data from one or more table or views seçeneği verilerin tamamının aktarılacağını belirtir. Write a query to specify data to transfer seçeneği ise bir sorgu ifadesi yazılarak alınacak verileri sınırlanmasını sağlar. Tablodaki tüm verilerin alınacağını düşünerek ilk seçenek seçilir ve bir sonraki adıma geçilir. 28 Şekil 28. Alınacak verileri seçilebildiği adım. Bir sonraki adım kaynak ve hedef veri kaynaklarının eşleştirildiği adımdır. Verinin doğru bir şekilde aktarılabilmesi için bu adımdaki işlemlerin doğru yapılması gerekir. Şekil 29’da Excel dosyasının Sayfa1 çalışma sayfasında bulunan verilerin personel tablosuna aktarılacağı belirtilmiştir. MSSQL Server 2008 Express otomatik bir eşleştirme yapar. Fakat bu eşleştirmede problemler olabilir. Bu yüzden Edit Mappings düğmesine tıklanarak eşleştirmelerin düzenlenmesinde fayda vardır. Bu düğmeye basıldığında şekil 29’daki ekran karşımıza gelir. Şekil 30’da da görüleceği üzere MSSQL Server 2008 Express, Excel dosyasındaki adresi ve ev_telefonu sütunlarını personel tablosundaki bir alanla eşleştirememiştir. Bu durumda eşleştirme elle yapılabilir. Destination bölümünde bu eşleştirmeler yapılabilir. Bu işlemler yapıldıktan sonra bir sonraki adıma geçilebilir. 29 Şekil 29. Kaynak ve hedef veri kaynaklarının eşleştirilmesi Şekil 30. Sütun eşleştirme penceresi. 30 Bir sonraki adım, veri tipi eşleştirmelerinin gözden geçirildiği adımdır. Kaynak ve hedef veri tipleri uyumsuz olabilir. Bu durumda veri tipleri arasında dönüştürme işleminin yapılması gerekir. Aksi durumda MSSQL Server 2008 Express veri aktarma işlemini tamamlamaz. Şekil 31’da adresi ve ev_telefonu sütunlarına ait veri tiplerinin dönüştürülmeyeceği gözükmektedir. Import işleminin tamamlanabilmesi için bu veri tiplerinin de dönüştürülmesi gerekir. Dönüştürme işleminin yapılacağı, convert bölümündeki kutucuklar işaretlenerek yapıldıktan sonra bir sonraki adıma geçilebilir. Şekil 31. Veri tipi eşleşmelerinin gözden geçirildiği adım. Artık bütün seçenekler belirlenmiştir. Bir sonraki adımda Run immediately seçeneği işaretlenip son adıma geçilir. Bu adım bilgi amaçlıdır. Yapılacak işlemlerin özetini verir. Finish düğmesine basılarak veri aktarma işlemi tamamlanır. Aktarma işlemi yapıldıktan sonra personel tablosunun son hali şekil 32’deki gibidir. Görüleceği üzere sistem personel_id alanların değerlerini otomatik üretmiştir. 31 Şekil 32. Personel tablosunun veri aktarıldıktan sonraki hali Export işleminin adımları Import işlemi ile aynıdır. Yapılması gereken tek şey kaynak ve hedefin yerlerini değiştirmektir. Yukarıda verilen örnekte kaynak magaza veritabanı, hedef Excel seçilseydi, yapılacak işlem veritabanındaki verilerin Excel’e aktarılması olacaktı. Export işlemi, aktarılacak veritabanının üzerinde farenin sağ tuşuna bastıktan sonra Tasks seçeneğinin altındaki Export Data komutuna tıklanarak başlatılabilir. ! Aktarma işlemlerinde alanların birebir eşleşmesine gerek yoktur. Hangi alanlar arasında veri aktarılabileceği kullanıcı tarafından belirlenebilmektedir. ? Bir metin (text) dosyasından aktarma işlemi yapılabilir mi? Deneyiniz. 32 Değerlendirme Soruları 1. Aşağıdaki veri tiplerinden hangisi, MSSQL’de karakterlerin saklanabileceği bir veri tipidir? a) Char b) Nchar c) Varchar d) Nvarchar e) Hepsi 2. MSSQL’de aşağıdaki veri tiplerinden hangisi ile tabloda bir resim saklanabilir? a) Binary b) Float c) Decimal d) int e) Money 3. Bir tabloya yeni bir alan eklemek, mevcut bir alanı silmek ya da bir alanın özelliklerini değiştirmek için, o tablo üzerinde farenin sağ tuşuna tıklandıktan sonra aşağıdaki komutlardan hangisi verilmedir? a) Rename b) Delete c) Design d) Properties e) New Table 4. Bir veritabanı üzerinde farenin sağ tuşuna basıldığında ulaşılan Tasks seçeneklerinden hangisi veritabanın yedeklerinin alınmasını sağlar? a) Export Data b) Back Up c) Import Data d) Restore e) Detach 5. Bir veritabanı üzerinde farenin sağ tuşuna basıldığında ulaşılan Tasks seçeneklerinden hangisi veri tabanın yedeklerden geri yüklenmesini sağlar? a) Export Data b) Back Up c) Import Data d) Restore e) Detach 6. Bir veritabanı üzerinde farenin sağ tuşuna basıldığında ulaşılan Tasks seçeneklerinden hangisi veri tabanındaki verilerin başka kaynaklara aktarılmasını sağlar? a) Export Data b) Back Up c) Import Data d) Restore e) Detach