Veri Tabanı-I 1.Hafta 2015-2016 Bahar Dönemi Mehmet Akif Ersoy Üniversitesi Teknik Bilimler Meslek Yüksekokulu Burdur 2015 Yrd.Doç.Dr. M. İLKUÇAR <imuammer@yahoo.com> 1Muhammer İLKUÇAR, MAKÜ-2011 BURDUR
Kapsam Bilgisayar ortamında kullanılan farklı tiplerdeki ( yazı, farklı sayılar, resim, vb.) verileri; Bütünlük içerisinde (birbiri ile ilişkili), Düzenli (tablolar), Güvenli (yetkisi kadar bilgiye ulaşabilme), Hızlı, Kaynakları daha iyi kullanan(gereksiz tekrarlardan arınmış), gibi özellikleri dikkate alarak veri tabanı, tablo vb. işlemlerin yapılması. 2Muhammer İLKUÇAR, MAKÜ-2011 BURDUR
Veri ve Veri Tabanı Nedir? Veri (Data) Tanımları: Bir anlamı olan ve kaydedilebilen gerçekler. (Bir kişinin ismi, adresi, telefon numarası vs.) Olguların, kavramların veya talimatların, insan tarafından veya otomatik yolla, iletişim, yorumlama ve işleme amacına uygun bir biçimde ifadesidir (ANSI Tanımı) Bilgisayarda işlenebilen her türlü bilgi (information) 3Muhammer İLKUÇAR, MAKÜ-2011 BURDUR
Veri ve Veri Tabanı Nedir? Veritabanı Sistematik erişim imkanı olan, yönetilebilir, güncellenebilir, taşınabilir, birbiri arasında tanımlı ilişkiler bulunabilen veriler kümesi. Veri tabanı (Database) temel olarak farklı tiplerdeki verileri düzenli bir şekilde saklamamızı ve kullanmamızı sağlayan depolama ortamıdır. Bu ortam içerisinde verileri saklayabilir, onlara kolay bir şekilde ulaşabilir ve gerektiğinde bu verilerin üzerinde değişiklikler yapabiliriz. Veri tabanı, veriler arasında bütünlük ve düzen sağlarken, veriye hızlı erişim ve bakım kolaylığı da sunar. Bu sistemin kullanılması sonucu veriyi hatasız ve sağlıklı bir biçimde işlemek de kolaylaşır (MS-AA). VeriTabanı Yönetim Sistemi(VTYS) Bilgisayarda saklanacak bir veri tabanının yaratılmasını ve bakımını sağlayacak yazılım paketi 4Muhammer İLKUÇAR, MAKÜ-2011 BURDUR
Veri Tabanı Uygulama Programlama Veritabanı (Database) Web Programlama Sistem Yönetici Mobil Yazılımlar 5Muhammer İLKUÇAR, MAKÜ-2011 BURDUR
Veri (Data, Information) ve Hiyerarşik Yapısı Bit ( 1/0) Byte ( 8 bit) Word ( 16 bit 2 Byte) Karakter ( ASCII- UNICODE vb.) Kelime ( 1 veya birden çok karakter) Kayıt ( Kelime topluluğu) Database ( Kayıtlar Topluluğu ) Veri Ambarı (wherehose) ( Database topluluğu) 01000001 A Ali 1 Ali Can 2 Mehmet Arda 3 Fadime Kara 6Muhammer İLKUÇAR, MAKÜ-2011 BURDUR
Veri tabanı Türleri ve Uygulamaları Sayısal ve Metinsel Veri tabanları Multimedya Veri tabanları Coğrafik Bilgi Sistemleri Gerçek-zamanlı ve Aktif Veri tabanları Örnek veri tabanı uygulama alanları Okul sistemleri E-Ticaret siteleri Telefon rehberi Online sözlükler Kütüphane sistemleri Ürün satış ve sipariş sistemleri Banka sistemleri Hastane sistemleri vb. gibi sayabiliriz 7Muhammer İLKUÇAR, MAKÜ-2011 BURDUR
Veri Tabanı Sistem Araçları Veri tabanı yönetim sistemleri, aşağıdaki işlemleri yapabilmek için belli araçlar sunarlar Dosyalarda saklanan bilgilerin veri tabanına yüklenmesi (Veri dönüştürme araçlarını da içerirler) Veri tabanının periyodik olarak yedeğinin alınması Veri tabanı dosya yapılarının yeniden organize edilmesi Rapor üretimi Performans izleme Veri tabanı verilerinin sıralanması Kullanıcıların izlenmesi Verilerin sıkıştırılması 8Muhammer İLKUÇAR, MAKÜ-2011 BURDUR
Piyasada Kullanılan Bazı Veri Tabanları İlişkisel Veri Tabanı Sistemleri 1. MSSQL 2. MySQL 3. Oracle DB 4. IBM DB2 5. Sybase 6. PostgreSQL 7. Berkeley 8. Firebird 9. Informix 10. Interbase 11. Progress --------------------- 1. MS Access 2. FoxPro 3. FileMaker Pro 4. Paradox 5. XML 6. NoSQL(Not Only SQL) Veri Tabanı Dilleri SQL (Structured Query Language) PL/SQL (Procedural Language/SQL- Oracle tarafından kullanılan) T-SQL (MS SQLServer ve Sybase tarafından geliştirilen) OQL (OQL is a version of the Structured Query Language (SQL) ) 9Muhammer İLKUÇAR, MAKÜ-2011 BURDUR
Veri Tabanı Sorgulama Dili SQL SQL : İngilizce "Structured Query Language" kelimelerinin baş harfleri ile oluşturulmuş, Türkçesiyle Yapısal Sorgulama Dilinin kısa adıdır. SQL herhangi bir veri tabanı ortamında kullanılan bir alt dildir. SQL ile yalnızca veri tabanı üzerinde işlem yapılabilir. SQL e özgü cümleler kullanarak veri tabanına kayıt eklenebilir, olan kayıtlar değiştirilebilir, silinebilir ve bu kayıtlardan listeler oluşturulabilir. PL/SQL : (Procedural Language/Structured Query Language Oracle tarafından geliştirilmiştir) T-SQL (Transact-SQL): Microsoft ve Sybase tarafından geliştirilmiştir SQL dir OQL (Object Query Language): Object Orianted database için bir query language standardıdır. 10
Client-Server(İstemci-Sunucu) Sunucular (server) : Belirli bir hizmeti birden çok istemciye servis yapabilen yapılardır. WEB FTP MAIL DATABASE(dosya) İstemciler(client) Sunucu kaynaklarına erişmek ve kullanmak için uygun arayüzler içerirler. Diskli veya disksiz bilgisayarlar olabilir. Diskli bilgisayarlarda sadece istemci yazılımı yüklüdür. Sunucuya bir ağ yardımıyla (yerel ağ, kablosuz ağ, internet vs.) bağlanırlar İstemcinin sunucuya bağlanması için gerekliliker: Sunucu Bilgisi : Bilgisayar adı(sunucu adi), local(host), «.», IP Numarası, alan adı Kullanıcı Bilgisi : sa, root, Admin, user Şifre Bilgisi :. TCP/IP Port Bilgisi : 80(http), 21 (ftp), 25(e-mail), 1433(MS SQL), 3306(MySQL) 11
Client-Server Mimarileri (İstemci-Sunucu) 2 Katmanlı İstemci-Sunucu Mimarisi İstemci Veritabanı Sunucusu 3 Katmanlı İstemci-Sunucu Mimarisi İstemci Web (Uygulama) Sunucusu Veritabanı Sunucusu 12
Kapsam Farklı veri tiplerine ait verilerin aynı ortamda tanımlanması. TCNO Pozitif tamsayı Numeric Adı soyadı Alfabetik String Boyu Küçük tamsayı Tinyint Doğum tarihi Tarih DateTime Mesai saati Kesirli Sayı Real Maaşı Para Money Resmi Binary image Bir öğrenci node bilgisi TCNO Adı Soyadı Boyu Doğum tarihi Mesai saati Maaşı Resmi / 13
Bağlı Dizi (Linked Link) Gösterim ogrenci Node-N N. Kayıt Node-2 2. Kayıt Node-1 1. Kayıt Numara Ad Soyad Vize Numara Ad Soyad Vize Numara Ad Soyad Vize / Tablo ( ogrenci ) Numara Ad Soyad Vize 1 Ali Can 80 2 Ayşe Kara 76 N Arda Tatlı 89 ogrenci 2.Kayıt ı silmek için aşağıdaki gibi Node-2 yi gösterene link değiştirilir. Node-N N. Kayıt Node-2 2. Kayıt Node-1 1. Kayıt Numara Ad Soyad Vize Numara Ad Soyad Vize Numara Ad Soyad Vize / 14
Sunucu.Database.Tablo.Alan/Kayıt İlişkisi Tablo ( ogrenci ) SQL Sunucu (L112_SERVER) Database ( MYO) Numara Adi Soyadı Vize 1 Ali Can 80 2 Ayşe kara 76 Alan Adı (vize) Kayıt 3 Arda Kaya 89 L112_SERVER. MYO. ogrenci. vize 15
Sunucu.Database.Tablo.Alan İlişkisi SQL Sunucu (L112_SERVER) Database ( MYO) Tablo ( ogrenci S ) Numara Adi Soyadı Vize 1 Ali Can 80 2 Ayşe kara 76 Alan Adı (vize) Kayıt 3 Arda Kaya 89 16 L112_SERVER. MYO. ogrenci. vize
Tablo ve Yapısı Tablo, verileri düzgün kayıtlar şeklinde belirli bir düzene göre kalıcı ortamlarda bir veri tabanında bir isim altında saklayan, veriler üzerinde SQL yardımıyla ekleme, silme, güncelleme ve listeleme yapılabilen bir veri tabanı nesnesidir. Tablo Alan Adları (Columns-Fields) Bir Kayıt (record) Numara Adi Soyadı Vize 1 Ali Can 80 2 Ayşe Kara 76 3 Arda Reci 89 4 Fadime Taşkın 57 Kayıtlar (rows) 17
Örnek Tablo Numara Ad Soyad Adres Ders Vize Final Harf Not Yıl Dönem 101 Ali Can Burdur Matematik 80 60 CB 2012 2 101 Ali Can Burdur Fizik 30 45 DC 2011 1 101 Ali Can Burdur Fizik 70 75 CC 2012 1 111 Fatma Kara Muğla Fizik 28 36 FD 2011 1 111 Fatma Kara Muğla Kimya 60 90 BA 2012 2 18
Veri Tabanı Yönetimi Arayüz Programları 19
Veri Tabanı Yönetim (Database Management ) Veri Tabanı Yönetimi Programları Örnekleri Microsoft SQL Server Management Studio O Sql ( MS SQL konsol ) TOAD for ( MS SQL-Server, Oracle, MySQL, DB2) Navicat (MS SQL, MySQL Manager) MySQL Front aspmyadmin (internet Tabanlı MS SQL) phpmyadmin (internet Tabanlı MySQL) 20
Microsoft Managmanet Studio 21
Client-Server(İstemci-Sunucu) Managmanet Studio programı ile MS SQL Server Bağlantı Sunucu Bilgisi : IP, numarası, sunucu adı Kullanıcı Bilgisi : sa, Windows Authentication Şifre Bilgisi :. 22
NaviCat SQL Management Tools 23 http://www.navicat.com/products/navicat_sqlserver/sqlserver_overview.html
TOAD SQL Management Tools 24 http://toadworld.com/sqlserver/tabid/760/default.aspx
Client-Server(İstemci-Sunucu) 25
Soru ve Önerileriniz? 26