|
MSSQL 2000 Genel
|
|
03-12-2010, 03:03 PM
Mesaj: #1
|
|||
|
|||
|
MSSQL 2000 Genel
Kaynak:
Guests cannot see links in the messages. Please register to forum by clicking href="member.php?action=register">here to see links. Bu bölüm FIRAT ÜNİVERSİTESİ T.E.F ELEKTRONİK VE BİLGİSAYAR BÖLÜMÜ ders notlarından alınarak düzenlenmiştir. SQL(Yapısal Sorgulama Dili)'e GİRİŞ İlişkisel (relational) database modeli 1970'li yıllarda Dr. Edgar F. Codd tarafından geliştirilmiştir. IBM ve Dr. Codd'un çalışmaları sonucunda SQL (Structured Query Language-Yapısal Sorgulama Dili) ortaya çıkmıştır. SQL bugün ilişkisel database sistemlerinde bir standart haline gelmiştir. Bugün database (veritabanı) ismini duyduğunuz hemen hemen her yerde kullanılan SQL birçok programlama dilinin içinde de bütünleşik olarak gelmektedir. Örneğin Dbase,Visual Basic, Delphi, Developer 2000 gibi. Birçok programlama dili de alt tabanda SQL'i kullanmaktadır. DB2, Sysbase, Oracle, Informix, Microsoft SQL Server,Interbase,Progress gibi Veritabanı Yönetim Sistemleri SQL tabanlıdır. Bugün İnternet ortamında program geliştirmek için kullanacağınız ASP,JSP ve Java gibi dillerle veritabanı işlemleri yapacak olursanız SQL kullanmalısınız. SQL veriye erişmenin, veri işlemenin ve sorgulamanın en hızlı yoludur. SQL geliştirildiği 1970'li yıllardan günümüze gelene kadar birçok değişikliğe uğramıştır. SQL dilinde bir standardizasyona gidilmesi için ISO (International standard Organization) çalışma başlatmış ve en son SQL-92 ,ANSI SQL veya SQL 2 diye adlandırılan standart kabul edilmiştir. ANSI SQL, C, Basic, Pascal gibi dillerde gördüğünüz döngü ifadelerine ve şart yapılarına sahip değildir. Bu yüzden SQL'e bir programlama dili diyemeyiz. Fakat bazı firmalar ANSI SQL'e bağlı kalarak bir kısım eklemeler yapmış ve SQL'i kendilerine göre değiştirmişlerdir. Örneğin Microsoft SQL Server'in Transaction SQL dili döngü yapılarına ve şart ifadelerine de sahiptir. Biz ilk önce ANSI sql komutlarını öğrenecek daha sonra da SQL Server ile uygulamalar geliştireceğiz. SQL KOMUTLARI SQL veritabanından sorgulama yapmak için SELECT, ekleme yapmak için INSERT güncelleme yapmak için UPDATE, yeniden veritabanı oluşturmak için CREATE DATABASE, yeni tablo oluşturmak için CREATE TABLE, silme işlemi için DELETE gibi komutlara sahiptir. Bu temel komutların ayrıntılarını şimdi görelim. SQL'i en bastinden kendi bilgisayarınızda Microsoft Access içinde deneyerek bu deneye hazırlanabilirsiniz. SELECT Komutu Genel formatı: SELECT tablo_alanları FROM tablo_adı WHERE koşullar şeklindedir. Örneğin aşağıdaki gibi bir Öğrenci tablomuz olsun, Okul_no Ad Soyad D_tarihi NOT Bolumu 95530005 Hakan Saray 15.02.1976 30 Bilgisayar 95530006 Sinan Alagöz 17.03.1975 70 Elektronik 95530008 Erhan Atılgan 19.04.1976 50 Bilgisayar 95530009 Yeşim Ceylan 21.05.1976 65 Elektronik 96530010 Atilla Saray 23.06.1977 45 İşletme yukarıdaki tablodaki tüm alanları seçmek için; SELECT * FROM Ogrenci; dememiz yeterlidir. Buradaki * işareti tüm alanların seçileceği anlamındadır. Aynı sonuca; SELECT okul_no,Ad,Soyad,D_tarihi,Not,Bolumu FROM Ogrenci ; yazarak da ulaşabiliriz. Sadece ad,soyad listesini görmek için; SELECT Ad,Soyad FROM Ogrenci ; Koşula bağlı olarak listeleme yapmak istiyorsak o zaman WHERE kalıbını kullanmalıyız.. Örneğin, Notu 50'den büyük ve eşit olanları görmek için ise, SELECT * FROM Ogrenci WHERE Not>=50 ; Okul_no Ad Soyad D_tarihi NOT Bolumu 95530006 Sinan Alagöz 17.03.1975 70 Elektronik 95530008 Erhan Atılgan 19.04.1976 50 Bilgisayar 95530009 Yeşim Ceylan 21.05.1976 65 Elektronik Soyadı "Saray" olanları listelemek için ise; SELECT * from Ogrenci WHERE Soyad="Saray"; LIKE sözcüğü tablo içinde belli bir alana göre arama yapmak için kullanılır. % işareti wildchar karakter olarak kullanılır. DOS'tan alıştığınız * karakteri gibidir. 96'kayıtlı öğrencileri listelemek için; SELECT * from Ogrenci WHERE Okul_no LIKE '96%'; Okul_no Ad Soyad D_tarihi NOT Bolumu 96530010 Atilla Saray 23.06.1977 45 İşletme Bölümü "Bilgisayar" olanları listelemek için; SELECT * from Ogrenci WHERE Bolumu="Bilgisayar"; Doğum tarihi 01.01.1976'dan büyük olanları listelemek için; SELECT * from Ogrenci WHERE D_tarihi>={01.01.1976}; Okul_no Ad Soyad D_tarihi NOT Bolumu 95530005 Hakan Saray 15.02.1976 30 Bilgisayar 95530008 Erhan Atılgan 19.04.1976 50 Bilgisayar 95530009 Yeşim Ceylan 21.05.1976 65 Elektronik 96530010 Atilla Saray 23.06.1977 45 İşletme Yukarıda görüldüğü gibi tarih bilgileri süslü parentezler arasında yazılmalıdır. Eğer listelemeyi sıralı olarak yapmak istiyorsak Order By deyimini kullanmalıyız. Örneğin yukarıdaki tabloyu ada ve soyada göre sıralayacaksak; SELECT * from Ogrenci WHERE D_tarihi>={01.01.1976} ORDER BY Ad,Soyad ASC Buradaki ASC sözcüğü Ascend yani artan şekilde harf için A'dan Z'ye doğru, rakam için küçükten büyüğe doğru sıralama anlamındadır. DESC sözcüğü ise bunun tersi işlemi yapar. Eğer notu 60 ila 70 arasındaki kayıtları listelemek istersek o zaman, BETWEEN sözcüğünü kullanabiliriz. SELECT * FROM Ogrenci WHERE NOT BETWEEN 60 AND 70 ; yazarız. Eğer bir dersten sınıf ortalamasını bulmak istersek AVG fonksiyonundan yararlanırız. SELECT AVG(NOT) FROM Ogrenci; AVG gibi MAX,MIN,SUM,COUNT fonksiyonları da aritmetiksel işlemler yapmak için kullanılabilir. Peki tablomuzda kaç kayıt var? Öğrenci tablosunda anahtar alan (Primary veya Unique alan) Öğrenci numarası olduğu için eğer bir tablodaki öğrenci sayısını bulmak istersek bu alanı referans göstererek sayma işlemini yapabiliriz. SELECT COUNT (Okul_no) FROM Ogrenci; SELECT COUNT(*) FROM Ogrenci; Örneğin notu 50'den fazla olan Öğrenci sayısını bulmak için; SELECT COUNT (*) from Ogrenci WHERE Not>50; Gruplandırma Örneğin her bölümünde okuyan öğrencilerden en yüksek notu listelemek istersek o zaman gruplandırma dediğimiz işlemi yapmak zorundayız. GROUP BY ve HAVING sözcükleri bu işlem için kullanılır. HAVING sözcüğü WHERE kalıbı gibidir. Gruplandırılan kayıtlardaki şart ifadelerini belirtmek için kullanılır. Yani HAVING ile GROUP BY kullanılmalıdır. Şimdi yukarıdaki sorumuzu cevaplayalım, SELECT AD,SOYAD,MAX(Not) FROM Ogrenci GROUP BY Bolumu; VERİ TABANI OLUŞTURMA Veritabanı oluşturmak için CREATE DATABASE deyimi kullanılır. CREATE DATABASE Okul; ile okul veritabanı oluşturulmuş olur. TABLO OLUŞTURMA Tablo oluşturmak için CREATE TABLE deyimi kullanılır. CREATE TABLE Ogrencı ( Okul_no CHAR( NOT NULL, AD CHAR(30) NOT NULL, SOYAD CHAR(30) NOT NULL, D_Tarihi DATE, NOT INTEGER, Bolumu CHAR(30)); SQL'de tablo tanımlamak için SMALLINT, VARCHAR, DECIMAL(x,y), FLOAT(x;y), DATE, LOGICAL, TIME, TIMESTAMP, GRAPHIC(n) gibi alanlar da vardır. Daha geniş bilgi için kullandığınız Veritabanı Yönetim Sisteminin ya da Programlama dilinin referans kaynaklarına başvurunuz. Örneğin VARCHAR'ı Paradox tabloları desteklemez fakat Interbase tabloları destekler. Tabloya Veri Eklemek Tabloya veri girişi için INSERT INTO/VALUES deyimi kullanılır. Yukarıda oluşturduğumuz tabloya veri girmemiz için; INSERT INTO Ogrenci VALUES ('95530007', 'UMIT', 'SASMAZLAR', {15.02.1977}, 80, 'Bilgisayar'); Tablodaki Verileri Güncellemek Tablodaki verileri güncellemek için UPDATE deyimi kullanılır. UPDATE komutunu da daha önceki örneklerde gördüğümüz gibi WHERE kalıbı gibi koşullu kullanabiliriz. Örneğin bir kaydı düzeltmek istersek ; UPDATE Ogrenci SET Okul_no='95530005', Ad = 'Yavuzhan' , Soyad='TAŞKENT', D_Tarihi={15.03.1980}, Not=85, Bolumu='İnşaat' WHERE okul_no='95530005'; Böylece INSERT INTO kalıbıyla girdiğimiz yukarıdaki 955530005 numaralı kaydı değiştirmiş olduk. Örneğin tüm öğrencilerin notunu %10 artırmak istediğimizde; UPDATE Ogrenci SET Not=Not*1.1; deyimini kullanırız. Elektronik bölümündeki öğrencilerin notlarını %20 düşürmek istediğimizde ise; UPDATE Ogrenci SET Not=Not*0.8 WHERE Bolumu='Elektronik'; Tablodan Veri Silmek Bir tablodaki verileri silmek için DELETE komutu kullanılır. Örneğin Öğrenci tablosundaki tüm verileri silmek için; DELETE * from Ogrenci ; Notu 50'den küçük olan Bilgisayar bölümündeki öğrencileri silmek için; DELETE * FROM Ogrenci WHERE Bolumu='Bilgisayar' AND Not<50; Tabloya Sonradan bir KOLON Eklemek Bir tablo oluşturduğumuzu ve daha sonra bu tabloya yüzlerce kayıt girdiğimizi düşünelim. Tabloyu İlişkisel bir yapı oluşturabilmek için veya unuttuğumuz bir alanı ekleyebilmek için SQL'in ALTER TABLE komutundan yararlanabiliriz. ALTER TABLE Ogrenci ADD dogum_yeri CHAR(30); ALTER TABLE Ogrenci ADD Kredisi SMALINT NOT NULL; Tablodan Sonradan bir KOLON Silmek Bir kolonu silmek için ALTER TABLE kalıbını kullanarak DROP komutunu kullanmamız gerekir. Öğrenci tablosundan doğum tarihlerini kaydettiğimiz alanı silmek için; ALTER TABLE Ogrenci DROP D_Tarihi; Not ve Bölümü bilgilerini aynı anda silmek için; ALTER TABLE Ogrenci DROP Bolumu,Not; Tablonun Kolonunu değiştirmek Önceden oluşturduğumuz bir tablonun alan uzunluğunu değiştirmek gibi bir ihtiyacımız olduğunda bu işlemi ALTER TABLE deyimi içinde MODIFY komutu ile yapabiliriz. Yukarıdaki tabloda Ad alanını 30 olarak belirtmiştik. Daha sonra adı 30 karakteri geçen birini kaydetmek için aşağıdaki değişikliği yaparak "Ad " alanını 40 karakter alabilecek duruma getirebiliriz. ALTER TABLE Ogrenci MODIFY Ad CHAR(40); MICROSOFT SQL SERVER Microsot SQL Server, bir Veritabanı Yönetim Sistemidir. Windows NT Server üzerine kurulan Microsoft SQL Server ile veritabanı ve tablolar, viewler, Stored procedurler, Transactionlar oluşturabilir, veritabanı güvenliğinin kullanıcılara verdiğiniz haklarla saklayabilir, uzaktan veritabanı yönetimi işlemlerini ve yedekleme-geri yükleme gibi işlemleri yapabilirsiniz. Tüm bu işlemleri SQL Server'ın genişletilmiş dili olan Transact SQL ile yapabilirsiniz. Microsoft SQL Server'ı hem görsel hem de konsol ortamında kullanabilirsiniz. Standart SQL; döngü ifadeleri, şart yapıları gibi programlama dili özelliklerine sahip değildir. Microsoft SQL Server’in Transact SQL’i ise, standart SQL komutlarına bağlı kalarak geliştirilmiş tam bir programlama dilidir. Gerekli Rule'lar(Kurallar) ve Kısıtlamalar bu dil üzerinde çok kolay oluşturulabilmektedir. Transact SQL deyimlerini uygulamak için SQL Enterprise Manager, Query Analyzer, OSQL, ya da ISQL/w gibi SQL Server ile gelen yardımcı programları kullanabilirsiniz. Ana makinaya (Windows NT Server kurulu) SQL Server, diğer istemci makinalara ise Windows NT Workstation, Windows NT Server, Windows 2000, Windows 98 veya Windows 95 işletim sistemlerini kurarak bir domain(bölge) oluşturabilirsiniz. İstemci makinalara, ana makinadan haklar vererek bir şirket içinde ortak veritabanı oluşturup yönetebilirsiniz. SQL Server'de bir veritabanının ne kadar ve hangi oranda büyüyebileceğini önceden ayarlayabilirsiniz. Örneğin 4 GB. sabit diskiniz olsun. Benim Öğrenci tablom maksimum 2 GB yer kaplasın ve tablo bu boyuta ulaşınca Sistem yöneticisine bir mesaj (mail) göndersin diyebilirsiniz. Büyüme oranını mesela %20 vererek belli sınıra ulaştığında tablo kapasitesinin %20'si kadar artmasını sağlayabilirsiniz. Tablonun büyüme oranını veya boyutunu belirtmediğiniz zaman sabit diskin kapasitesi kadar büyür. SQL SERVER Kurulumunda Oluşturulan Veritabanları master :Veritabanı hakkındaki bilgileri saklar, veritabanı işlemlerini, sistem ayarlarını kontrol eder.SQL Server ilk başladığında bu database’i kontrol eder. model :Yeni kullanıcı veritabanları için kalıp oluşturur. msdb :Database’e ait Alert (mesaj) ve işler (job) için çizelgeler burada tutulur.SQL Server Agent tarafından kullanılır. tempdb :Geçici tabloları tutar ve bellek gereksinimlerini karşılamak için geçici çalışma alanları oluşturur. SQL Server her başladığında yeniden oluşturulur distribution :Veritabanı kopyalanması sırasında gerekli bilgileri saklar pubs :Örnek database. northwind :Örnek database. Şimdi biraz veritabanı kavramlarına değinelim. TRANSACTIONLAR (İŞLEMLER) Transaction'ın sözlük anlamı bir birim iş'tir. Veri işleme deyimlerinde transaction blokları manuel olarak oluşturulurlar. BEGIN TRANSACTION transaction_adı Deyimler ............... COMMIT TRANSACTION transaction_adı Bir transaction işlem başlatıldıktan sonra eğer transaction tamamlanmazsa yapılan işlem veritabanı tarafından geri alınır. Böylece veritabanı bütünlüğü (database integrity) sağlanmış olur. Yapılan işlemi geri ROLLBACK deyimiyle geri alabilirsiniz. COMMIT deyimiyle onaylayabilirsiniz. (Bu deneyi yapmadan evvel kişisel bilgisayarınızda Delphi'de bir ufak bir transaction programı yazarak uygulayınız.) Örneğin elektrik kesilmesi durumunda transaction tamamlanmadığı için yapılan işlem veritabanı tarafından geri alınır. Transaction deyimlerinin toplandığı bloklar bir batch olarak adlandırılırlar. Bunu DOS'taki BAT (Toplu İşlem Dosyaları)'na benzetebilirsiniz. BAT dosyalarının içinde Dos komutlarını, Batch dosyalarını içinde ise Transaction SQL komutlarını kullanırsınız. Batch dosyalarının ayıracı GO deyimidir.Örneğin; USE Okul GO SELECT AVG(NOTU), SUM(NOTU) FROM OGRDERS GO STORED PROCEDURLAR (Transact SQL Dili ile Yüklenmiş Prosedürler) Veritabanında saklanılabilen ön derlemesi yapılmış Transact SQL deyimleridir. Stored Procedurlar daha önce derlendiği için hızlı çalışırlar. Uygulamalar tarafından stored procedurlara erişerek kullanabilirsiniz. Örneğin bir Stored Procedure oluşturup, Java ile bu Stored Procedure erişip kullanabilirsiniz. Java ile yazılan çok kullanıcı veritabanı programları örneğin E-ticaret programları böyle çalışırlar. Java ile JDBC kullanarak SQL Server sürücülerine erişip SQL Server veritabanını da kullanabilirsiniz. Aşağıda Ogrenci_Listesi isimli bir Stored Procedure oluşturulmaktadır. USE OKUL CREATE PROCEDURE Ogrenci_Listesi @soyad varchar(30) @ad varchar(25) AS SELECT ogrencino,ad,soyad,dtarihi,dyeri FROM Ogrenci WHERE Ogrenci.ad = @ad AND Ogrenci.soyad=@soyad GO Bu procedure'un çalıştırılması için; EXECUTE Ogrenci_Listesi 'Sarı','ERHAN' veya EXECUTE Ogrenci_listesi @soyad='Sarı', @ad='ERHAN' diyebiliriz. yukarıda stored procedure öğrenci adı ve soyadı parametre olarak geçirilmiş ve öğrencinin bilgileri listelenmiştir. VIEW (GÖRÜNÜŞ) OLUŞTURMAK Viewlerde tablolardaki bilgilere erişmenin bir yoludur. Viewler sayesinde çok kolonlu bir tablonun sadece belli kolonlarını listeletebilir ve kolonlar üzerinde hesaplamalar yaptırabilirsiniz. Örneğin tablonuzda diğer iki kolonun çarpımı olan yeni bir kolonu view ile rahatlıkla oluşturabilirsiniz. Gerçek tabloyla hiç ilişkisi olmayan tablolar oluşturup kullanıcıların bu tablo üzerinde işlem yapmasını sağlayabilirsiniz. Birden fazla tabloyu bir view ile birleştirebilirsiniz. Bu özellikle ilişkisel (relational) bir yapı kurduğunuzda oldukça yararlı olmaktadır. Şimdi notu 50'den büyük olan öğrencilerin listesini veren bir view oluşturalım. CREATE VIEW Gecenler_View AS SELECT Ad,Soyad,Ders_Adı,Ders_Notu FROM Ogrenci WHERE Ders_Notu>=50 Yukarıda Gecenler_View isminde Ogrenci tablosundan notu 50'den büyük ve eşit olan öğrencilerin listesini veren bir görünüm oluşturduk. Viewlerin oluşturulmasında Select deyimini kullandık. Ancak viewlerin bazı kısıtlamaları vardır. · ORDER BY,COMPUTE BY veya COMPUTE sözcükleri kullanılmaz. · INTO kullanılmaz. CREATE VIEW deyiminin CHECK ve WITH ENCRYPTION adında iki parametresi daha vardır. CHECK ile veri değişiklilerini kontrol edebilir, WITH ENCRYTION ile oluşturulan görünüm metnini şifrelenmesi(encryption) işlemini yapabilirsiniz. CREATE personel_zam_view WITH ENCRYTION AS SELECT Personel_Adı, Kademesi,Gorevi, Maası*1.2 FROM Personel WHERE Kademesi=2 Yukarıda Personel tablosunda yer alan ve Kademesi 2 olan memurların maaşlarına %20 zam yaptık ve bu metni SQL Server'in syscomment tablosuna şifrelenmiş olarak kaydetmiş olduk. Viewlerle güvenlik işlemini daha kolay sağlayabilirsiniz. Kullanıcılara view üzerinde izinler verdiğiniz zaman; onlara gerçek tablo üzerinde izin vermiş olmuyorsunuz. Diyelim ki sadece Öğrenci Adı ve Soyadı bilgilerini içeren bir view oluşturup, Öğrencilerin özel bilgilerini içermeyen bu tabloyu kullanıcılara açabilirsiniz TETİKLEMELER (TRIGGERS) Trigger'da bir stored procedure'dür. Fakat bir farkı trigger'lar otomatik olarak çalışırlar. Ancak UPDATE,INSERT ve DELETE deyimlerini kullanarak bir trigger'i otomatik olarak başlatabilirsiniz. Örneğin stok'tan çıkan bir malın, fatura tablosundan da düşülmesi işlemini bir tetikleme oluşturarak yapabilirsiniz. Tablodan bir stok kartı silinecekse ve bu stok kartının stok hareketleri de varsa DELETE işlemi ile ilgili bir trigger oluşturarak hareket gören stoğun silinmesini önleyebilirsiniz. CREATE TRIGGER TETIK01 ON dbo.STOK FOR DELETE AS declare @STOKKOD varchar(15), @STOKSAYI int select @STOKKOD=HRK.STOKKOD, @STOKSAYI=HRK.STOKSAYI from deleted HRK update FATURA set miktar = miktar + @STOKSAYI where skod= @STOKKOD GO CURSORS İlişkisel tablolar oluşturup bu tabloların sonucunda oluşan satırlar üzerinde hareket etme işlemleri için Cursorler kullanılır. Cursorlar, oluşturulan sonuç tablolarındaki üzerindeki satırlar üzerinde ileri, geri, en son, en ilk kayıtlara ilerleyebilmenizi sağlar. Cursorlar ile şu işlemler yapılır; · Arama işlemi yapmak. Sonuç tablosu üzerinde belli bir satıra gitmek. · Sonuç tablosu üzerinden hareket etmek. Örneğin belli bir şarta göre yapılan armaya uyan birden fazla satırın olması durumunda şarta uyan satırlar arasında dolaşmak. · Belli bir satırdaki bilgileri değiştirmek. · Stored Procedure'ler, Trigger ve script içindeki Transact SQL deyimleri üzerinde veri değişikliği yapılmasını sağlamak. Microsoft SQL Server Cursor kullanımında iki ayrı yöntemi de destekler. Bu yöntemler; 1- Transact SQL. 2- API Cursor fonksiyonu ile desteklenen Cursorler. Microsoft'un Database API'lerini kullanarak Visual C++, Visual Basic, Visual Fox Pro gibi programlarla erişebilirsiniz. Bu API'ler; · ADO (ActiveX Data Object) · OLE DB · ODBC (Open Database Connectivity) · DB-Library' dir Transact SQL Cursorleri DECLARE CURSOR deyimi ile tanımlanır. API Server Cursorleri ise OLE DB, ODBC, Db-Library içinde tanımlanan cursorlerdir. Client Cursorleri ise SQL Server ODBC sürücüsü ve DB-Library içinde gerçekleştirilir. Server Cursorleri kullanmak Client Cursor kullanmaya göre daha avantajlıdır. DECLARE Ogrenci_Cursor CURSOR FOR SELECT * FROM Ogrenci OPEN Ogrenci_Cursor FETCH NEXT FROM Ogrenci_Cursor Yukarıda Ogrenci_Cursor isminde bir Cursor tanımlanmış ve Ogrenci tablosunun tüm satırları bu sonuç setinde toplanmıştır. FETCH kelime anlamı olarak "gidip getirmek" anlamına gelmektedir. Burada da yapılan işlem ile verilerin alınması FETCH NEXT ile yapılmaktadır. Diğer bir yöntemde SCROLL seçenekleridir. Detaylı bilgi için SQL Server Online Books'a göz atabilirsiniz. DİYAGRAMLAR (DIAGRAMS) Diagramlar görsel ortamda tablolar arasında ilişkisel kullanmayı sağlar. Daha Microsoft Access ile tablolar arasında ilişkiler tanımladıysanız bu nesneyi rahatlıkla kullanabilirsiniz. Sonradan tablo alanları üzerinde yaptığınız değişiklikler otomatikman diyagramlara yansıtılır. Görsel Ortamda Veritabanı Nesneleri Oluşturmak Veritabanı nesneleri deyince Viewler, Stored Procedure'ler, Tablolar, Trigger'lar, Rule'lar, Diagramlar aklınıza gelmelidir. 1- Başlat-Programlar- SQL Server 7.0 menüsünden Enterprise Manager'i çalıştırınız. 2- Databases yanındaki + işaretine tıklayarak burayı genişletiniz. Databases üzerine çift tıkladığınızda da sağ tarafta grafiksel olarak veritabanları listelenir. 3- Hangi veritabanın içinde nesne oluşturacaksanız onun üzerine sağ tıklayınız. Gelen menüden New View, New Stored Procedure, New Trigger, New Diagrams vb. seçeneklerini görebilirsiniz. Örneğin yeni bir görünüş oluşturmak için; a) New View seçeneğini seçiniz. b) Ekrana gelen pencerede oluşturacağınız view'de kullanacağınız tabloları seçiniz. Add Table düğmesi ile bu işi yapabilirsiniz. c) Şimdi hangi kolonlar üzerinde işlem yapacaksanız o kolonları seçin. d) View'i kaydediniz ve Run düğmesine basarak çalıştırınız. Wizard (sihirbaz) ile veritabanı nesnelerini oluşturmak 1- Enterprise Manager'i yine çalıştrınız. 2- Gelen pencereden Tools(Araçlar) menüsünden Wizards seçeneğini seçiniz. 3- Database(veritabanı) olarak sizin oluşturduğunuz bir veritabanını veya örnek olarak verilen Nortwind Database'ini seçiniz. 4- Ardından veritabanı içinde kullanacağınız tabloları seçiniz. Nortwind database'ini seçtiyseniz Products (Ürünler), Orders (Siparişler) vb tablolarını seçebilirsiniz. 5- Üzerinde işlem yapacağınız bu tablolardaki kolonları (alanları) seçiniz. 6- Bir koşul şart vb. ifadeler kullanacaksanız deyim listesine ekleyiniz. 7- Ardından view oluşturulup Database listesinden veritabanı listesine eklenir. 8- Bir view'i açmak için üzerine sağ tıklayıp Open view ve buradan da Return al Rows seçeneğini seçiniz. Query Analyzer Query Analyzer, Transact SQL deyimlerini yazarak sonuçlarını hemen göreceğiniz bir ortamdır. SQL Server'ın program menüsünden seçeceğiniz bu yardımcı programa giriş sırasında varsayılan kullanıcı ad "sa" dır. Eğer kurulum sırasında şifre vermediyseniz. Password kısmını boş geçiniz. Gördüğünüz gibi pencerenin üst tarafında DB seçim kutusundan OKUL veritabanı seçilmiştir. Üst pencerede Transact SQL komutunu yazdıktan sonra yeşil ok tuşuna basarak sorgu sonucunu alt tarafta görebilirsiniz. NORMALİZASYON: Az kolonlu çok sayıda tablo kullanmaktır. Normalizasyon , hızlı sıralamayı, INSERT-UPDATE-DELETE deyimlerinde daha iyi performansı, daha az NULL bilgi ile database içindeki tutarsızlığı önlemeyi sağlar. Özdemir Şarman aka (Charmant-zavanetratan) |
|||
'MSSQL 2000 Genel' Konusunu PaylaÅŸ |
| Benzeyen Konular | |||||
| Konu: | Yazar | Cevaplar: | Gösterim: | Son Mesaj | |
| SQL Server 2000 Tanıtımı | ozsarman | 0 | 377 |
03-12-2010 03:04 PM Son Mesaj: ozsarman |
|
| MSSQL 2000 70-228 Sinavi Notlari | ozsarman | 0 | 340 |
03-12-2010 02:57 PM Son Mesaj: ozsarman |
|
| Mssql 2000 'de bir veritabanindaki tüm table'lerin içindeki kayıtları görmek için | ozsarman | 0 | 365 |
03-12-2010 02:56 PM Son Mesaj: ozsarman |
|
| MSSQL 2000 üzerine Notlar | ozsarman | 0 | 353 |
03-12-2010 02:56 PM Son Mesaj: ozsarman |
|

Arama
Üye Listesi
Takvim
Yardım














