290 likes | 430 Views
Veri Tabani Programlama Egitimi. Hos Geldiniz !. Hakkimda. Iletisim Icin : Blog : www.sevdanurgenc.com E - Mail : sevdanurgenc@sevdanurgenc.com nanonungunlugu@gmail.com. Veri Nedir ? Veri (Data) bir veya birden fazla bilgiden oluşan bir kümedir .
E N D
VeriTabani ProgramlamaEgitimi HosGeldiniz !
Hakkimda IletisimIcin : Blog : www.sevdanurgenc.com E - Mail : sevdanurgenc@sevdanurgenc.com nanonungunlugu@gmail.com
VeriNedir ? • Veri (Data) birveyabirdenfazlabilgidenoluşanbirkümedir. • Bilgisayaragirilen, bilgisayartarafındansaklanabilenveişlenebilenherşeyeveridenir. • VeriNedenSaklanir ? • Verisaklamaktakianaamaç, dahaileribirtarihtesaklananverilereyenidenulaşabilmekvekullanabilmektir. • VeriSaklamaYontemleriNelerdir ? • Bilgisayarüzerinde notepad kullanarakmetintabanlıbasitbirdosyadadepolanmasıdagorunustebirverisaklamayöntemidirdiyebiliriz. • TabloyapısındaverisaklamamızısağlayanMicrosoft’unsunmusoldugucozumlerde Excel ve Access gibiarayuzuygulamalariornekgösterilebilir. VeyabunlarabenzersekildeOpenOffice’in biz kullanicilarasunmusoldugu Calc veya Base arayuzuygulamalaridaverisaklamakicinornekverileribilir. • Pekidahabuyukverilerdeneleryapmamiz, neyineredekullanmamizgerekiyor. Asilonemlisorunbu!
VeriTabaniKavrami • Veritabanı (Database) temelolarakfarklıtiplerdekiverileridüzenlibirşekildesaklamamızıvekullanmamızısağlayandepolamaortamıdır. Vebuortamlarikullanarakveriyihatasızvesağlıklıbirbiçimdeişlemek de islerimizikolaylaştiracaktir. Birveritabanısistemiüzerindeistediğimizverileridepolayabilir, depolananverileriçağırırkenbazışartlarbelirtebilir, verilerideğiştirebilirveyasilebiliriz. • Günümüzdeveritabanlarıhemenhemen her alandasıklıklakullanılmaktadır. Bu alanlaraörnekverecekolursak; • - Kişiseladresdefterleri • - Telefonrehberi • - Online sözlükler • Kütüphanesistemler • - Ödemeveborçsistemleri • - Ürünsatışvesiparişsistemleri • - E-Ticaretsiteleri • - Banka sistemleri • - Okulsistemleri • - Hastanesistemleri
VeriTabaniYonetimSistemleri • DataBase Management System - DBMS • Veritabanındatutulacakolanverilerinuyacağıstandartları, buverilerenasılerişilebileceğiniveverilerin disk üzerindenasıltutulacağınıbelirleyensistemlerdir. • İlişkiselVeriTabanıYönetimSistemi • Relational Database Management System – RDBMS • Veritabanımimarisiolanilişkiselveritabanlarındaverilertablolar, satırlarvealanlarhalindetutulmaktadır. Bu sayedeverilerarasındailişkilendirmeleryapılabilmekte, verilerinkullanımıveyönetimidahaverimli hale getirilmektedir. İlişkiselveritabanımimarisinikullanansistemlere de İlişkiselVeriTabanıYönetimSistemiadıverilmektedir. • Günümüzde en sıkkullanılanilişkiselveritabanıyönetimsistemleriarasındaMySQL, Microsoft SQL Server , Oracle , Microsoft Access , vePostgreSQLgösterebiliriz.
SQL (Structered Query Language) • YapılandırılmışSorgulamaDili • Butunilişkiselveritabanlarındastandartolarakkullanılanbirdildir. • SQL veritabanıilekullanıcıarasındakiiletişimisağlar. • Hazırladığınizsorgularıkullanarakveritabanındadepolananverilerüzerindebütünişlemleriyapabilirsiniz. • T-SQL (Transact SQL) • Transact SQL adıverilenbir SQL dilidir. • Dahaiyiperformanssağlamasıiçin SQL diliüzerineeklentilervefonksiyonelliklereklenerekoluşturulmuşbirdildir. • T-SQL İfadeTipleri • T-SQL içerisinde 3 farklıifade tipi bulunmaktadır. • Veri Tanımlama Dili (Data Definition Language - DDL) • Veri Kontrol Dili (Data Control Language - DCL) • Veri İşleme Dili (Data Manipulation Language - DML)
Veri Tanımlama Dili (Data Definition Language - DDL) • Veritabanındanesneleroluşturmakiçingerekliolanifadelerisağlamaktadır. Bu ifadeler, veritabanıveyatablogibiyenibirnesneninoluşturulması, varolannesneüzerindedeğişiklikleryapılmasıveyanesneninyokedilmesiiçinkullanılır. • Üzerindeişlemyapılannesnenin ne gibiözelliklerivealanlarıolacağıbuifadeleriçerisindebelirlenir. • T-SQL dilinde 3 adetveritanımlamaifadesibulunmaktadır. • Bunlar: • CREATE • ALTER • DROP
CREATE • Veritabanıüzerindenesneoluşturmakyadatanımlamakiçinkullanılankomuttur. Oluşturulacaknesneninözelliklerinegörefarklıparametreleralabilmektedir. • Genelkullanımışuşekildeolmaktadır: • CREATENESNETİPİNesneAdı (Nesneyeaitgereklitanımlamalar) • CREATE DATABASE Poliklinik • ON • ( • Name = Poliklinik, • FILENAME = 'C:\Poliklinik.MDF', • SIZE = 2mb, • MAXSIZE = 5mb, • FILEGROWTH = 1mb • ) • Veya • CREATE DATABASE Poliklinik
ALTER • Varolanbirnesneüzerindedeğişiklikleryapmakiçinkullanılır. CREATE komutundaolduğugibideğiştireceğinesneyegörefarklıparametreleralabilmektedir. • Genelkullanımıaşağıdakigibidir. • ALTERNESNETIPINesneAdıYapılacakDeğişiklik • ALTER TABLE Doktorlar • ADDYasChar(2) NOT NULL
DROP • Veritabanındakiherhangibirnesneyisilmekiçinkullanılır. Silinennesneileilgiliolarakiçerisindetuttuğutümbilgiler de silinmektedir. Örneğinbirtablosilindiğindeiçerisindekitümbilgiler de veritabanındansilinecektir. Kullanımındadikkatedilmesigerekenbirsorguifadesidir. • Genelkullanımıaşağıdakigibidir. • DROPNESNETIPINesneAdı • DROPDATABASEPoliklinik
Veri Kontrol Dili (Data Control Language - DCL) • T-SQL’deverikontrolifadeleriveritabanıüzerindekikullanıcılaraverollereyetkivermekiçinkullanılmaktadır. • T-SQL’de 3 adetverikontrolkomutubulunmaktadır. • Bu komutlarşunlardır: • GRANT • Kullanıcıyaveritabanınaerişebilmesiniveya T-SQL ifadeleriçalıştırabilmesinisağlayacakyetkileriverir. • DENY • Kullanıcınınbelirlibiralanaerişiminiengellemekveyabelirli T-SQL ifadeleriniçalıştıramamasınısağlamakamacıylakullanılır. • REVOKE • Dahaönceden GRANT veya DENY ileverilmişyetkiveyaengellerikaldırmakiçinkullanılır.
Veri İşleme Dili (Data Manipulation Language - DML) • Veriişlemeifadeleri, veritabanıüzerindedepolananverilerüzerindeyapılmasıgerekenişlemleriçinkullanılanifadelerdir. • Veriseçme/getirme, veriekleme, verigüncellemeveverisilmegibiişlemlerinyapılmasınısağlarlar. • Toplam 4 adetveriişlemeifadesibulunmaktadır. • INSERT • SELECT • UPDATE • DELETE
INSERT • Birtabloiçerisineyenibirverieklemekiçinkullanılır. • Genelkullanımıaşağıdakigibidir. • INSERT INTOTabloAdı (VeriEklenecekAlan1, VeriEklenecekAlan2, ...) • VALUES (EklenecekDeğer1, EklenecekDeğer2, ...) • Örnek : • Doktorlartablosuna, DoktorId’si 1 olan 37 yasindakiismiMuzazzezSevimuzmanligiolanNorolojipolikliniginiaşağıdakisqlifadesiyardımıylaekleyebiliriz. • INSERT INTODoktorlar(DoktorId, AdSoyad, Brans, Poliklinik, Yas) • VALUES (1, 'MuazzezSevim', 'Uzman', 'Noroloji', 37)
SELECT • Birtabloiçerisindekiverilerintamamınıgetirirveyabelirlişartlaragörebirkısmınıfiltreleyerekseçmeişlemlerinigerçekleştirir. • Genelkullanımşekliaşağıdakigibidir. • SELECTSeçilecekAlan1, SeçilecekAlan2 …FROMTabloAdı • Örnek : • DoktorlartablosundakitümkayıtlarınOgrenciID, AdSoyad, BransvePoliklinikbilgileriaşağıdakisqlifadesiileeldeedilebilir. • SELECTDoktorID, AdSoyad, Brans, Poliklinik • FROMDoktorlar
UPDATE • Birtabloiçerisindebulunanverilerindeğiştirilmesiiçinkullanılır. • Genelkullanımıaşağıdakigibidir • UPDATETabloAdı • SetGuncellenecekAlan1 = YeniVeri1, • GuncellenecekAlan2 = YeniVeri2 • WHEREKoşulveyakoşullar • Örnek : • DoktorlartablosundakitümkayıtlarınicerisindekiDoktorId’si 1 olandoktorunBransiniUzmanHkveYasinida 40 olarakguncelleyebilecegimiz, değiştirebilecegimizaşağıdakisqlifadesindenyararlanılabiliriz. • UPDATEDoktorlar • SETBrans = 'UzmanHk', Yas = 40 • WHEREDoktorId = 1
DELETE • Tabloiçerisindebulunanbirkaydıveyakayıtlarısilmekiçinkullanılır. • Genelkullanımşekliaşağıdakigibidir. • DELETEFROMTabloAdı • WHEREKoşulveyakoşullar • Örnek : • DoktorlartablosundakiDoktorId’si 1 olandoktorunsahipoldugukaydivebunabagliolarak o tablodakitumverilerisilebiliriz. • DELETE FROMDoktorlar • WHEREDoktorId = 1
CREATE DATABASE Poliklinik • CREATE TABLE Doktorlar • ( • DoktorId Integer Not Null, • AdSoyad Text, • Brans Char(10), • Poliklinik Char(10), • Constraint PKC_DoktorId Primary Key (DoktorId) • ) • ALTER TABLE Doktorlar ADD Yas Char(2)NOT NULL • INSERT INTO Doktorlar (DoktorId, AdSoyad, Brans, Poliklinik, Yas) • VALUES (1, 'MuazzezSevim', 'Uzman', 'Noroloji', 37) • SELECT DoktorID, AdSoyad, Brans, Poliklinik FROM Doktorlar • UPDATE Doktorlar SET Brans = 'UzmanHk', Yas = 40 • WHERE DoktorId = 1 • DELETE FROM Doktorlar WHERE DoktorId = 1
T-SQL’deKullanabilecegimizTemelVeriTipleri - I MetinselVeriTipleri
T-SQL’deKullanabilecegimizTemelVeriTipleri - II SayisalVeriTipleri
T-SQL’deKullanabilecegimizTemelVeriTipleri - III TarihselVeriTipleri
T-SQL’deKullanabilecegimizTemelVeriTipleri - IV DigerVeriTipleri
TabloOlusturmaninMantigiNedirPeki ? • Tablolarverilerinsaklanmasınısağlayan, alanlar (sütun-column) vesatırlardan (row) oluşanbirimlerdir. • Tabloiçerisinde her satırbirkaydıtemsiletmektedir. Alanlarisekayıtlaraaitözellikleritaşımaktadırlar. Satır (Row): Tablodabulunanbirkayıt. Alan (Sütun-Column): Birkaydaaitözellik.
Anahtarlar – Keys MantigiNedir ? • Birkayıtiçerisindefarklılıklarıveniteliklerigösterenbelirleyicilereanahtarlar (keys) denir. • Birtabloiçerisindebulunabilecekanahtarlarsunlardir ; • Birincilanahtar (Primary key - PK) • Tekilanahtar (Unique key - UK) • Referansanahtar (Foreign key - FK) • Birleşikanahtardır (Composite key – CK)
Birincilanahtar (Primary key): • Birtabloiçerisindekisatırlarıbirbirindenayırteder. Birincilanahtarolanbirveriaynıtabloiçerisindetekrarlanamaz. Yinebualandakiveriboşbırakılamaz, yani NULL değerialamaz. Tekbiralanbirincilanahtarolabileceğigibibazıtablolardabirdenfazlaalanınbirleşmesiylebirincilanahtaroluşabilir. • Tekilanahtar (Unique key): • Tablonuntekilanahtarolaraktanımlanmışbiralanınaaynıdeğersadecebirkezgirilebilir. Birincilanahtardanfarklıolarak, tablodabualanaaitsadecebirkayıt NULL değerialabilir. Birincilanahtaraynızamandatekanahtarolaraksayılabilirfakattekanahtarlarbirincilanahtardeğildirler. • Referansanahtar (Foreign key): • Tablodakibirveriyibaşkatablodakibirveriileilişkilendirir. İkitabloarasındayapılanbuilişkilendirmeilereferansanahtarolaraktanımlanmışalanasadeceilişkilendirdiğitablonunalanındakiverilereklenebilir. • Birleşikanahtar (Composite Key): • Birdenfazlaalanınbirleştirilmesiylebirincilanahtargöreviniüstlenecektanımlamalaryapılabilir. Bunlarbirleşikanahtarolarakadlandırılır.
Hadi ! Simdi, SorulariniziYanitlayalim…
ODEV • LutfenAsagidakiIsteklere Gore ButunSorgulariniziAdimAdimYaziniz ; • OKULismindebirveritabaniolusturunuz. • Ogrencilerismindebirtabloolusturunuz. • IcerisindeOgrenciNo, OgrenciAdi, OgrenciSoyadi, TcKimlik, Bolum, AldigiDersKodualanlariniekleyiniz. • OlusturmusoldugunuzOgrencilertablosunatutarliverilergiriniz. • Ogretmenlerismindebirtabloolusturunuz. • IcerisindeOgrSicilNo, OgrtAdi, OgrtSoyadi, TcKimlik, VerdigiDersKodualanlariniekleyiniz. • OlusturmusoldugunuzOgretmenlertablosunatutarliverilergiriniz. • Derslerismindebirtabloolusturunuz. • IcerisindeDers Id, DersAdi, DersKodualanlariniekleyiniz. • OlusturmusoldugunuzDerslerTablosunatutarliverilergiriniz. Odevteslim Mail adresi ; nanonungunlugu@gmail.com
KatiliminizIcinTesekkurler BolSorguluGunler Sevdanur GENC Soruveodevteslimlerinizicin mail adresindenulasabilirsiniz… nanonungunlugu@gmail.com