Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BTEP104 VER İ TABANI YÖNET İ M S İ STEMLER İ Web Sitesi: Ö ğ retim.

Benzer bir sunumlar


... konulu sunumlar: "BTEP104 VER İ TABANI YÖNET İ M S İ STEMLER İ Web Sitesi: Ö ğ retim."— Sunum transkripti:

1 BTEP104 VER İ TABANI YÖNET İ M S İ STEMLER İ Web Sitesi: http://courses.sct.emu.edu.tr/btep/btep104 http://courses.sct.emu.edu.tr/btep/btep104 Ö ğ retim Görevlisi: Şebnem Çoban E-Posta: sebnem.coban@emu.edu.trsebnem.coban@emu.edu.tr Ofis: CT117 Ofis Telefon: 6301677

2 TEMEL VER İ TABANI KAVRAMLARI Veri Nedir? ◦ İ şlenmemiş ham malzeme / bilgi Bilgi Nedir? ◦ Anlamlı biçimde derlenen ve birleştirilen veri Bilgi, karar verme ile ba ğ lantılıdır ve dolayısıyla veriye göre daha etkin bir kavramdır. 2

3 Veritabanı Nedir? ◦ Birbiriyle ilişkisi olan verilerin tutuldu ğ u, ◦ Kullanım amacına uygun olarak düzenlenmiş veriler toplulu ğ unun, ◦ Mantıksal ve fiziksel olarak tanımlarının bulundu ğ u ◦ Bilgi depolarıdır. Veritabanları gerçekte var olan ve birbirleriyle ilişkisi olan nesneleri ve ilişkileri modeller. 3

4 Veritabanı Nedir? ◦ Veritabanının yapısı hakkındaki verilere metadata adı verilir.  Tablo isimleri  Sütun isimleri  Tablo ve sütunların özellikleri vb. 4

5 Veritabanı Nedir?  Metadata örne ğ i: 5 Tablo no Tablo adıSütun sayısıSatır sayısı 1Müşteriler37 2Firmalar34 3Satışlar37 Sütun no Sütun adıVeri türüUzunlu ğ uTablo no 1idint41 2Musadichar501 3meslegichar501

6 Veritabanı Yönetim Sistemleri (VTYS) Nedir? ◦ Veritabanı sistemlerini tanımlamak, ◦ Yaratmak, ◦ Kullanmak, ◦ De ğ iştirmek, ◦ Bakımını yapmak için ve, ◦ Veritabanı sistemleri ile ilgili her türlü işletimsel gereksinimleri karşılamak için kullanılan geniş kapsamlı yazılım sistemidir. 6

7 Dosya Sistemleri Şirketlerin, kuruluşların veya kişilerin günlük işlerini düzenli bir şekilde sürdürebilmeleri için, kendi işleriyle ilgili olarak tuttukları verileri arşivlemek ve özellikle verileri yeniden kullanabilmek için saklamaları gerekmektedir. Bilgisayarlar kullanılmaya başlamadan önce dolaplar ve çekmeceler dosya ve klasörlerle doldurulurdu. Bilgiler bu dolap veya çekmecelerde saklanırdı. Bilgiye ulaşmak için dosyaların teker teker incelenmesi gerekirdi. Bu zaman kaybını önleyip bilgilere daha çabuk ulaşmak için indeksleme yöntemine başvurulmuştur. 7

8 Dosya Sistemleri Bilgisayarların kullanılmaya başlanmasıyla bilgiler yine yukarıda anlatılan teknikle, fakat dolap veya çekmeceler yerine elektronik ortamlarda saklanmaya başlanmıştır. Bu sistemlerde saklanacak bilgilerle, saklayacak ve işleyecek programlar birbirine ba ğ ımlı olarak çalışır. Bilgileri işlemek için kullanılacak olan programın, kullanaca ğ ı dosyaların yapıları ve erişim biçimleri hakkında bilgi sahibi olması gerekmektedir. 8

9 Dosya Sistemleri Dosya sisteminde, kullanılacak dosyanın yapısı ve dosya erişim biçimleri program tarafından oluşturulur. Dosya sistemleri bir standarda sahip de ğ ildir. Dosya sistemi kullanıcıyla Veritabanı Yönetim Sistemi arasında arabirimlik yapar. Klasik dosya sistemleri kullanıcıların ihtiyaçlarını karşılayan bir bilgisayar programı yardımı ile verilerin saklanması, aranması ve güncelleştirilmesi işlemidir. Bu tür dosya sistemlerinde her program kendi verisini belirler ve sadece o veriye erişebilir. 9

10 Dosya Sistemleri Dosya sistemleri verilerin manual (el ile) işlenerek dosyalandı ğ ı sistemlerdir. Örne ğ in, bir işletmede manual olarak tutulan bir dosya, mamül, stok, sipariş gibi kavramlara göre ayrı ayrı hazırlanır ve saklanır. Bu dosyalardaki veriye erişmek için indeksleme metodları kullanılır. Aksi takdirde bu tür ayrı dosyalara verimli bir şekilde erişmek zor olabilir. 10

11 Dosya Sistemlerinin Sorunları ◦ Tutarsız veriler ◦ Esnek olmama ◦ Kısıtlı veri paylaşımı ◦ Standartların uygulanamaması ◦ Aşırı program yaşatımı 11

12 Veritabanlarının Kısa Tarihçesi 1960lar: ◦ 1960’ların evveli: Charles Bachmann Honeywell’de ilk VTYS’i (IDS -Integrated Data Store) geliştirdi  A ğ modelinde veri ba ğ lantıları grafla ifade edilirdi. ◦ 1960’ların sonları: İ lk başarılı ticari VTYS (IMS-information management system) IBM’de geliştirildi  Hiyerarşi modelde veri ba ğ lantıları a ğ aç biçiminde ifade edilirdi  Bu gün de kullanılmaktadır (SABRE reservations; Travelocity) ◦ 1960’ların sonları: Conference On DAta SYstems Languages (CODASYL) modeli tanımlandı. Bu a ğ modeli idi, fakat daha çok standartlaşmıştı

13 Veritabanlarının Kısa Tarihçesi 1970’ler: ◦ 1970: Ted Codd IBM San Jose Laboratory (şimdi IBM Almaden) laboratuarında ilişkisel veri modelini tanımladı. ◦ İ ki önemli proje başlatıldı (1970’lerin sonlarında her ikisi gerçekleşmişti)  INGRES (University of California, Berkeley)  System R ( IBM San Jose Laboratory) ◦ 1976: Peter Chen Varlık İ lişkisel (ER) modeli tanımladı

14 Veritabanı Yönetim Sistemlerinin Sınıflandırılması Veri Modeline Göre ◦ Hiyerarşik ◦Ağ◦Ağ ◦ İ lişkisel ◦ Nesneye Yönelik Kullanıcı Sayısına Göre ◦ Tek kullanıcılı ◦ Çok kullanıcılı 14

15 İ lişkisel veritabanları 1970’lerin başında geliştirilmiştir. Bu sistemde veriler tablo şeklinde saklanır. Tablolar arasındaki ba ğ lantılar matematiksel ilişkilerle gösterilir. Günümüzdeki hemen hemen tüm veritabanı programları bu yapıdadır. 15

16 İ lişkisel veritabanları 16

17 Nesneye Yönelik veritabanları Günümüzdeki pek çok kelime işlemci ve hesap tablosu programında kullanılan nesneler artık veritabanlarında da kullanılmaktadır. Nesneye yönelik veritabanı C++ gibi nesneye yönelik bir dille oluşturulan ve yine bu tarz bir dille kulanılan veri tabanı anlamına gelir. 17

18 Neden veritabanı kullanılır? Verilerin tutulması, saklanması ve erişilmesinde geleneksel yaklaşım verilerin ayrı ayrı dosyalarda gruplanması yaklaşımını kullanmaktadır. Verilerin artması, verilere aynı anda erişme ve düzenlenme ihtiyacı ile geleneksel yaklaşım yetersiz kalmıştır. 18

19 Veritabanı Yönetim Sistemlerinin Sa ğ ladı ğ ı Yararlar (1) Gereksiz veri tekrarını (Data Redundancy) önler. ◦ Tüm uygulamaların gereksinim duydu ğ u veriler birbirleri ile bütünleşik yapıdadır. Dolayısıyla veri kayna ğ ı tek olarak tasarlanır, böylece veri tekrarı önlenmiş olur. 19

20 Veritabanı Yönetim Sistemlerinin Sa ğ ladı ğ ı Yararlar (2) Veri bütünlü ğ ünü (Data Integrity) sa ğ lar. ◦ Veri bütünlü ğ ü, verinin do ğ rulu ğ unu ve tutarlılı ğ ını anlatmaktadır. ◦ Veri bütünlü ğ ü için bazı kısıtlamalar tanımlanabilir. ◦ Örne ğ in, bir tablodan bir ö ğ renci kaydı silinirse, ö ğ renci varoldu ğ u di ğ er tüm tablolardan silinmelidir. 20

21 Veritabanı Yönetim Sistemlerinin Sa ğ ladı ğ ı Yararlar (3) Verilerin güvenli ğ ini (Data Security) sa ğ lar. ◦ Tüm verilere her kullanıcının kolayca erişebilmesi ço ğ u zaman istenmeyen bir durumdur. ◦ Her kullanıcıya çeşitli yetkiler atanarak, bu kullanıcının erişebilece ğ i, de ğ iştirebilece ğ i ve silebilece ğ i veriler ayrı ayrı tanımlanabilir. ◦ Örne ğ in, pazarlama bölümünde çalışan bir kullanıcının di ğ er personelin özlük bilgilerine ulaşması engellenebilir. 21

22 Veritabanı Yönetim Sistemlerinin Sa ğ ladı ğ ı Yararlar (4) Veri paylaşımı / Eşzamanlılık (Concurrency) ◦ Veritabanı yönetim sistemi (VTYS) kullanılmadı ğ ı durumlarda veriye sıralı erişim yapılır. Yani birden çok kullanıcı aynı anda aynı veriye erişemez. ◦ VTYS kullanıldı ğ ında ise aynı anda birden fazla kullanıcı aynı veriye erişebilir. ◦ VTYS, aynı anda birden fazla kullanıcı aynı veri üzerinde de ğ işiklik yapmak istedi ğ inde, önceli ğ i yetki üstünlü ğ üne göre veya ba ğ lantı önceli ğ ine göre belirler di ğ erini bekletir. 22

23 Veritabanı Yönetim Sistemlerinin Sa ğ ladı ğ ı Yararlar (5) Veri tutarlılı ğ ı (Data Consistency) ◦ Aynı veri farklı tablolarda bulundu ğ unda, bir yerdeki veri güncellenirse di ğ er tablodaki verinin de güncellenmesi gerekir. Bu işlem gerçekleşmezse veritabanı içerisinde veri tutarsızlı ğ ı oluşacaktır. ◦ Örne ğ ini, bir yerde güncellenen bir adres bilgisi başka yerde güncellenmeden kalırsa bu durum veri tutarsızlı ğ ına (Data Inconsistency) yol açar. 23

24 Veritabanı Yönetim Sistemlerinin Sa ğ ladı ğ ı Yararlar (6) Veritabanının bilgisayar belleklerindeki fiziksel yapısı kullanıcılardan gizlenir. (Data Independence) ◦ Veritabanının fiziksel yapısı kullanıcılardan gizlenir. ◦ VTYS, yüksek düzey programlama dilleri gibi davranarak veritabanının yapısını kullanıcıya göstermeden çeşitli terimlerle veritabanı üzerinde işlem yapılmasını sa ğ lar. ◦ Böylece kullanıcı, karmaşık veri gösterimleri ve algoritmalarla ilgilenmeden isteklerini kolayca gerçekleştirebilir. 24

25 Veritabanı Yaklaşımının Avantajları Ortak verilerin tekrarının önIenmesi; Verilerin merkezi denetiminin ve tutarlılı ğ ının sa ğ lanması Veri payIaşımının sa ğ lanması Fiziksel yapı ve erişim yöntemi Her kullanıcıya yalnız ilgilendi ğ i verilerin, alışık oldu ğ u kolay, anlaşılır yapılarda sunulması mimarilerle kullanıcıdan gizlenmesi 25

26 Veritabanı Yaklaşımının Avantajları Sunulan çözümleme, tasarım ve geliştirme araçları ile uygulama yazılımı geliştirmenin kolaylaşması. Veri bütünlü ğ ünün gerekli olanakların sa ğ lanması, mekanizmaların kurulması, Güvenlik ve gizlili ğ in istenilen düzeyde sa ğ lanması Yedekleme, yeniden başlatma, onarma gibi işletim sorunlarına çözüm getirilmesi 26

27 Veritabanı Yönetim Sistemleri Oracle database IBM DB/2 Adaptive Server Enterprise Informix Microsoft Access Microsoft SQL Server Microsoft Visual FoxPro MySQL PostgreSQL Progress SQLite Teradata CSQL OpenLink Virtuoso 27

28 VTYS’nin Temel Bileşenleri 28 Veri Tabanı Yöneticisi Veri Tanımlama Dili (DDL) Derleyicisi Sorgu İ şleyicisi (SQL) Tablo yaratma Form yaratma Sorgu yaratma Rapor yaratma Kayıt ekleme Kayıt silme Kayıt güncelleme Veri Tabanı Genişletilmiş Programlama Dili (DML + taşıyıcı dil) Derleyicisi Uygulama Programı VT Sorgusu VT Tanımları Derlenmiş Uygulama Programı Derlenmiş VT Tanımları Kullanıcı verileri Metadata Dizinler Uygulama Metadatası Veri Tabanını Oluşturma Veri Tabanını Kullanma

29 Veritabanı Yöneticisi Veritabanı Yöneticisinin birçok bileşeni vardır. Bunlardan en önemli iki tanesi şunlardır: Bellek Yöneticisi (Storage Manager) ◦ Kütük Yöneticisi (File Manager) ◦ Tampon Yöneticisi (Buffer Manager) Hareket Yöneticisi (Transaction Manager) 29

30 Bellek Yöneticisi Veritabanı Yöneticisinin, verilerin ikincil belleklerde saklanması ile ilgili işlevlerini yöneten kesimdir. Bir VTYS'nin Bellek Yöneticisi olarak, VTYS'nin altında çalıştı ğ ı işletim sisteminin kütük sistemi (file system) kullanılabilir. Ancak büyük boyutlu veritabanlarını kurmak ve işletmek için kullanılan VTYS'ler için verimlilik çok önemlidir ve gerek ana bellek, gerekse ikincil bellek yönetiminin VTYS tarafından gerçekleştirilmesinde yarar vardır. 30

31 Bellek Yöneticisi Bellek Yöneticisi aşa ğ ıdaki iki bileşenden oluşur: Kütük Yöneticisi (File Manager) ◦ Verinin ikincil bellek kütüklerinde saklanmasını sa ğ layan ve ana bellek ile ikincil bellek arasında verinin bloklar halinde aktarılmasını sa ğ layan yazılımlardır. Tampon Yöneticisi (Buffer Manager) ◦ Kütük yöneticisi aracı ğ ıyla ikincil bellekten getirilen veri bloklarını ana bellek sayfalarında saklayan, ana bellek sayfalarını yöneten ve gerekti ğ inde ana bellek sayfalarındaki veri bloklarının, kütük yöneticisi aracılı ğ ıyla ikincil belleklere yazılmasını sa ğ layan yazılımdır. 31

32 Hareket Yöneticisi Veritabanı Yöneticisinin, veri tabanı yaklaşımının üstünlüklerinden faydalanmasını sa ğ layan kesimidir. Veritabanı yaklaşımının üstünlükleri arasında: ◦ Çok kullanıcılı ortamda çok çeşitli kullanıcı isteklerinin eşzamanlı gerçekleştirilmesi ve bu arada veri tabanı ve uygulama tutarlılıklarının korunması, ◦ Veri tabanı üzerinde yapılan işlemlerin yazılım, donanım ya da güç kayna ğ ı ile ilgili bozukluklar nedeniyle yitirilmemesi gibi özellikler bulunmaktadır. 32

33 Hareket Yöneticisi Hareket Yöneticisinde belirtilen hareket, bir bütün oluşturan ve tutarlılık açısından veritabanı üzerinde birlikte gerçekleştirilmesi gereken işlemler bütünüdür. Tutarlılık açısından, bir hareketi oluşturan işlemlerin ya tümünün gerçekleştirilmesi, ya da hiçbirinin gerçekleştirilmemesi gerekir. Bu Özelli ğ e hareketin ACID (Atomicity, Consitency, Isolation, Durability) özelli ğ i adı verilir. 33

34 Hareket Yöneticisi Di ğ er taraftan, veriler üzerinde de ğ işikli ğ e neden olan (veri ekleyen, silen ya da verileri güncelleyen) hareketler birlikte işletildi ğ inde, henüz tamamlanmamış (ve belki de tamamlanmayarak geriye alınacak) bir hareket tarafından gerçekleştirilen de ğ işiklik işlemleriyle oluşturulan veri de ğ erlerinin di ğ er hareketler tarafından görülmemesi gerekir. 34

35 Hareket Yöneticisi Hareket yöneticisi, hem hareketlerin ACID özelli ğ inin bozulmamasını hem de birlikte (eşzamanlı) işletilmelerini sa ğ lar. Bunu gerçekleştirmek için de kilitleme (locking), günlük tutma (logging) ve hareket tamamlama (transaction commitment) gibi teknikleri kullanır (daha sonra açıklanacaktır). 35

36 Veri Tabanı Yöneticisi Veri Tabanı Yöneticisi (Database Manager), kullanıcı isteklerini veri tabanı üzerinde gerçekleştiren ve çok kullanıcılı ortamdaki işletimsel sorunları çözümleyen yazılımlar bütünüdür. VTYS’nin gerçekleştirdi ğ i işlemlerin önemli bir bölümü bu katman tarafından gerçekleştirilmektedir. 36

37 Veri İ şleme Dili (DML) Veritabanı üzerinde, veriyi de ğ iştirme, silme ve güncelleme gibi sorgularla ifade edilemeyecek ya da sorgularla ifade edilmesi uygun olmayan işlemler de gerçekleştirilir. Bu işlemler için Veri İ şleme Dili (DML: Data Manipulation Language) olarak adlandırılan bir dil kullanılır. 37

38 Veri Modeli Her Veritabanı Yönetim Sistemi bir Veri Modeli (Data Model) kullanır. Veri modeli, verileri mantıksal düzeyde düzenlemek için kullanılan yapılar, kavramlar ve işlemler toplulu ğ u olarak tanımlanır. Veritabanını tasarlayan kullanıcı, veri modelinin yapılarını ve kavramlarını kullanarak mantısal düzeydeki düzenlemelerini oluşturur, veritabanı tasarım belirtimlerini hazırlar. Hazırlanan tasarım belirtimleri biçimsel tanımlara dönüştürülerek Veri Tabanı Yönetim Sistemine girilir. 38

39 Veri Tanımlama Dili (VTD) Veritabanı tanımlarını VTYS'ye iletmek için kullanılan biçimsel dile Veri Tanımlama Dili (DDL: Data Definition Language) adı verilir. Veri Tanımlama Dili kullanılarak oluşturulan veri tabanı tanımları, VTYS'nin Veri Tanımlama Dili Derleyicisi olarak adlandırılabilecek bir bileşeni tarafından çözümlenir, varsa eksik ve yanlışları bulunarak kullanıcıya iletilir. Yanlışlardan arınmış veri tabanı tanımları VTYS tarafından uygun yapılara dönüştürülerek saklanır. 39

40 Veri Tanımlama Dili (VTD) Veritabanı tanımlarının VTYS tarafından derlenerek saklanması veri tabanı yaklaşımının temel özelliklerinden biridir. Bu süreç sayesinde, veri tabanı tanımlarının yetkili kişiler tarafından bir kez yapılması, tanımların kalıcılı ğ ının sa ğ lanması ve kullanıcıların bu tanımları kullanmaları ve bu tanımlara uygun işlem yapmaları sa ğ lanmış olur. Programlama dili kullanılarak gerçekleştirilen dosya tabanlı uygulamalarda, bilgisayar belleklerinde yalnız veri saklanır. Uygulama programlarında, veri üzerinde yapılacak işlemler yanında verinin tanımı da yer alır. 40

41 Veri Tanımlama Dili (VTD) Veritabanı yaklaşımında ise veri tanımlama ile veriler üzerindeki uygulama işlemleri birbirinden tamamen ayrılmıştır. Veri tanımlama ve daha önce yapılmış tanımları de ğ iştirme yetkisi yalnız Veri Tabanı Sorumlusu (Data Base Administrator) olarak adlandırılan ve veri tabanının tümünden sorumlu olan kişi ya da kişilere aittir. Veritabanı üzerinde işlem yapan, uygulamaları gerçekleştiren kullanıcıların ise veri tanımlama ya da mevcut tanımları de ğ iştirme yetkisi yoktur. 41

42 Veri Tanımlama Dili (VTD) VTD ile yapılan tanımlarda veri tabanı tanımları içinde yer alan en önemli tanımlar şunlardır: 1.Mantıksal düzeyde yapılan düzenlemeler oluşturulan yapılar ve her yapıda hangi verilerin yer aldı ğ ı. 2.Her verinin türü, uzunlu ğ u, varsa varsayılan de ğ eri ve di ğ er özellikleri. 3.Veriler arası ilişkiler ve her türlü kısıtlamalar. 4.Fiziksel veri yapıları ile ilgili tercihler ve parametreler. 5.Kullanıcı tanımları ve kullanıcıların hangi veriler üzerinde hangi işlemleri yapmaya yetkili olduklarına ilişkin tanımlar. 42

43 Veri Tanımlama Dili (VTD) Veritabanı tanımları veri sözlü ğ ü (data dictionary) olarak da adlandırılır. VTYS’nin fiziksel ortamında aşa ğ ıda belirtilen çeşitli veriler saklanır: 1.veri kütükleri (dosyalar) 2.veritabanı tanımlarının yer aldı ğ ı veri sözlü ğ ü 3.veri kütüklerine ya da veri sözlü ğ üne erişim için kullanılan dizinler (indices) 4.veri de ğ erlerine ve uygulamalara ilişkin istatistiksel veriler ve günlük kütükleri (logfiles) 43

44 Sorgu Dili ve Sorgu İ şleyicisi Veritabanı uygulamaları için kullanılan en yaygın araç sorgu dilidir. Kullanıcı, sorgu dili ile, gerçekleştirmek istedi ğ i işlemi yalın bir biçimde ifade eder. Kullanıcının oluşturdu ğ u sorguda, neyin yapılmasının istendi ğ i yer alır; bunun nasıl yapılaca ğ ı ise yer almaz. 44

45 Yapısal Sorgu Dili (SQL) Structured Query Language yani Yapılandırılmış sorgu dili anlamındadır. İ lişkisel Veritabanlarına girmek için kullanılan standart yazılım. Bir veritabanından bilgi çekmeye yarayan program dilidir. IBM tarafından 1975 yılında yaratılmıştır. İ lk adı SEQUEL (Structured English Query Language ) dı fakat sonra SQL adını almıştır. 45

46 ORACLE SQL dili ile veritabanına ekleme, silme ve düzenleme yapılabilir. SQL dilini kullanan ve en çok bilinen veri tabanları, ORACLE, MICROSOFT SQL SERVER, ACCESS, INGRES Oracle ilk ticari ilişkisel veritabanı yönetim sistemidir ve SQL’i bu sistemde sorgu dili olarak kullanmışlardır. 46

47 SQL Örne ğ i İ ngilizce diline çok benzeyen SQL sorgu dilinde oluşturulmuş bir sorgu aşa ğ ıda yer almaktadır. SELECT ADI, SOYADI, ADRESİ FROM PERSONEL WHERE BÖLÜMNO = 17 AND GÖREVİ = 'Sekreter’; Yukarıdaki sorgu ile “17 numaralı bölümde çalışan sekreterlerin ad, soyad ve adreslerinin” bulunmak istendi ğ i kolayca anlaşılmaktadır. 47

48 Sorgu İ şleyicisi VTYS'nin, sorguların işlenmesi ile ilgili görevleri gerçekleştiren bileşenine Sorgu İ şleyici (Query Processor) adı verilir. Sorgu işleyicinin görevleri: ◦ Sorgunun sözdizimsel ve anlamsal özümlemesini yapmak. ◦ Kullanıcının verilen işlemi yapmaya yetkili olup olmadı ğ ını denetlemek. ◦ Sorguyu işletmek için kullanılabilecek algoritmaları (işletim senaryolarını) belirlemek ve “Query Optimizer” alt bileşeni yardımıyla en iyisini seçmek. ◦ Sorgunun işletimini gerçekleştirdikten sonra yanıtını oluşturup kullanıcıya iletmek. 48


"BTEP104 VER İ TABANI YÖNET İ M S İ STEMLER İ Web Sitesi: Ö ğ retim." indir ppt

Benzer bir sunumlar


Google Reklamları