Veritabanı Yönetim Sistemi

Slides:



Advertisements
Benzer bir sunumlar
Veritabanına Giriş Zeliha Çetin
Advertisements

Veritabanı Nedir?
Microsoft Access Bu program Microsoft program paketinin içerisinde yer alan; çok büyük miktarlardaki verilerin depolanabileceği veritabanı oluşturmamıza.
VERİTABANI UYGULAMA ve GELİŞTİRME
VERİTABANLARI ÜZERİNDEN ÇOK KULLANICILI YAZILIMLAR İLE TİCARİ VE MÜHENDİSLİK VERİLERİNİN ANALİZLERİNİN GETİRDİĞİ FAYDALAR Dr. YILMAZ YÖRÜ Yük.Mak.Müh.
VERİ TABANI VE YÖNETİM SİSTEMLERİ
Hazırlayan : Öğr. Gör. Fahri YILMAZ
Tablo oluşturma İlk olarak tabloları oluşturmamız gerekli..
VERİ TABANI TEMEL KAVRAMLAR.
A. Betül Oktay Elif Edoğan Zeliha Çetin
MySQL Veritabanı Sunucusu ve MySQL Veritabanı Kullanımı
 Ofis dışından erişim  Kurulum gerekmez  Internet Explorer, Mozilla FireFox, Google Chrome, Safari üzerinden çalışma  Sade ve basit arayüz Web Avantajları.
Veri ve Veri Yapıları Genel olarak bilgisayarlar.
SQL (Structured Query Language)
EkoPC Bilişim Ltd. Eğitim Hizmetleri
Alt Sorgular Veritabanı 2.
İlişkisel Veri Modeli.
Veri Tabanı Yönetim Sistemleri
VERİTABANI.
Veritabanı Yönetim Sistemleri Hızlı ve Kısa Giriş
Veri Tabanı Yönetim Sistemleri
VeriTabanı Uygulama. Tabloları yaratmak için MySQL komutları.
BÖLÜM 6 SQL SERVER KOMUTLARI.
Tetikleyici. Nedir? Bir tablo üzerinde Ekleme silme ve güncellemeye bağlı olarak tetiklenip çalışan SQL kodlarıdır. Genel amacı veri bütünlüğünü korumaktır.
4 Veri Bütünlüğü ve Constraint’ler
SQL (STRUCTURED QUERY LANGUAGE)
SQL ve JavaScript Akademik Bilişim 2003 Adana, Şubat 2003 Fırat Tiryaki.
Veritabanı Temel Kavramlar ve
MYSQL 4. HAFTA. mySQL veri türleri INTTamsayı: 'den kadar değişen diziye "signed" (işaretli), 0'dan 'e kadar değişenine.
VIEW (BAKIŞ) OLUŞTURMA
ÖRNEKLER. musteri Id adi soyadi mus_satis Id barkod adet Urunlar barkod urun_adi kodu fiyati Stok_hareket tarih barkod gelen giden.
SQL Dili ve MySQL Komutları
Veri Tabanı Nedir ?.
Veritabanı Yönetim Sistemleri-I
VeriTabanı Uygulama.
Veritabanı Kavramları
SQL SERVER Giriş A. Betül Oktay Ayşe Betül Oktay 2006.
SQL Sibel SOMYÜREK.
Veri Tabanı Yönetim Sistemleri I
SQL Komutları (2) Uzm. Murat YAZICI.
VERİTABANI MİMARİSİ Talip Hakan ÖZTÜRK Bank ASYA – ORACLE DBA
LINQtoSQL Silverligth Uygulamalarında LinqtoSql. LINQ (Language Integrated Query) özellikle dil içerisinde, Sql tarzı sorgular yazabilmemizi ve bunları.
BTP102 VERİTABANI YÖNETİM SİSTEMLERİ 1
VERİTABANI.
VTYS Öğr. Gör. Engin DUTAR
Veritabanlarına ve SQL'e Giriş Devrim GÜNDÜZ Kivi Bilişim Teknolojileri -
TR.NET Teknik Destek Uzmanı
SQL’ e Giriş Uzm. Murat YAZICI.
VERİTABANI.
Bölüm 4: İleri SQL.
ENM 307 YÖNETİM BİLİŞİM SİSTEMLERİ Dersin Koordinatörü:. Prof. Dr
Veritabanı Yönetim Sistemleri - I
Veritabanı Kavramları
VERİTABANI SİSTEMLERİ
Veritabanı Yönetim Sistemleri
İnsan Kaynakları Bilgi Sistemleri
ADRESİNDEN ÖRNEK VERİ TABANLARINI İNDİRİNİZ
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Yapısal Sorgulama Dili SQL VTYS Giriş Hafta 5 Ders Notu.
Sunum Planı 2 Veri Temelleri Veri & Bilgi Dijital Veri & Sayısallaştırma Dijital Veri Saklama Veritabanı Veri Saklama VTYS SQL Veri Yönetimi Veri Ambarı.
Yapısal Sorgulama Dili SQL Hafta 7. TEKRARLI SATIRLARI ÖNLEMEK  DISTINCT komutu ile sorgu sonucunda birden fazla kayıt aynı verileri içeriyorsa tekrarlı.
Veritabanlarına ve SQL'e Giriş Devrim GÜNDÜZ Teknoloji Destek Merkezi --
Öğretim Görevlisi Alper Talha Karadeniz Veri Tabanı 2
Veri Tabanı Yönetimi Dersi 1. Laboratuvarı
VERİTABANI.
İNDEKS.
VERİ TABANI SQL (STRUCTURED QUERY LANGUAGE) SAVAŞ TUNÇER.
DML ile veri ekleme, silme ve değiştirme
SQL (STRUCTURED QUERY LANGUAGE)
Genel PHP Akademik Bilişim 2003 Adana, Şubat 2003 Hidayet Doğan
Sunum transkripti:

Veritabanı Yönetim Sistemi Doç. Dr. Yılmaz Gökşen Hakan Aşan Yönetim Bilişim Sistemleri

Veritabanın Tanımı Veritabanı, sistem süreçlerinde oluşan verilerin daha sonra ulaşılmak amacıyla elektronik ortamlarda, belli kurallar ve birbirleriyle olan ilişkilerini koruyacak şekilde saklanmasıyla oluşan kayıtlar topluluğudur. Veritabanı, birbirleriyle ilişkili verilerin hızlı ve verimli bir şekilde ulaşılmasına olanak verecek biçimde saklanmasıyla oluşan kayıtlar topluluğudur.

Veritabanı Nedir? www.m-w.com : “a usually large collection of data organized especially for rapid search and retrieval (as by a computer.”

Veritabanı Nedir? Belirli bir tarzda organize edilmiş bilgi “koleksiyon”udur. En az bir tablodan oluşmak zorundadır. Veritabanı programını oluşturan tablolar ise veri alanlarından oluşur (data field).

Veritabanı Nedir? Kitaplıklar, uygulamalar ve yardımcı programların birleşmesinden oluşur. Verilerin saklanması ve yönetilmesi ile ilgili konulardaki ayrıntılardan veritabanı yöneticilerini kurtarır. Kayıtların güncellenmesi ve kayıtlar üzerinde araştırma yapılması da mümkündür.

Veritabanı Tipleri Hiyerarşik Veritabanı İlişkisel Veritabanı (Relational Type) Nesnesel Veritabanı

Hiyerarşik Veritabanı VTP Tablo 1 Tablo 2 Adı Soyadı Malzeme Tutar

İlişkisel Veritabanı 1970: “A Relational Model of Data for Large Shared Data Banks” E. F. Codd Relation mantığı Tablolar -> Gerçek dünyadaki nesneler

İlişkisel Veritabanı Birden fazla tablodan oluşabilir. Birbirlerinin yerine kullanılabilir. Tablolar satır ve sütundan oluşur.

İlişkisel Veritabanı Kullanıcının programı kullanırken ona sık sık soracağı soruların neler olacağı tespit edilir. “Gerçekleştirilecek olan veritabanı programından beklenilen neler ve bu veritabanında hangi bilgilerin olması gerekli?” sorusunun yanıtı bulunur.

İlişkisel Veritabanı Tablolardaki kayıtlar matematiksel açıdan tuple olarak tanımlanırlar. Bir tuple, tanımlanmış bir veri tipi olan bileşenlerden oluşan sıralı grup olarak tanımlanır. Tüm tuplelar aynı sayıda ve tipte bileşenlerden oluşur. {“10”, “Veritabanlarına Giriş”, “2002-06-12”} {“11”, “Progress Veritabanı Sunucusu”, “2002-06-26”}

Ankara’daki 2002 yılındaki kaçıncı seminer olduğu (integer) İlişkisel Veritabanı Örnekteki her bir tuple da 3 bileşen bulunmaktadır: Ankara’daki 2002 yılındaki kaçıncı seminer olduğu (integer) Seminerin konusu (char) Seminerin tarihi (timestamp) İlişkisel veritabanlarında bu “kümeye” ya da tabloya eklenen tüm kayıtlar aynı yapıda olmalıdırlar.

İlişkisel Veritabanı { “Veritabanlarına Giriş”, “2002-06-12”} eksik bileşen {“10”, “Veritabanlarına Giriş”, “2002-06-12” , “Devrim GÜNDÜZ”} fazla bileşen {“2002-06-12”, “Veritabanlarına Giriş”, “10”} yanlış bileşen tipleri (yanlış sırada)

İlişkisel Veritabanı tuple lardan oluşan bir tabloda aynı veriler bulunmaz.(No duplicate record). İlişkisel veritabanlarındaki herhangi bir tabloda birbiriyle tamamen aynı iki kayıt (row or record) bulunamaz. Gereksiz sınırlama? Sorun : İki kez aynı ürünün siparişi Çözüm : Tabloya eklenecek bir fazla bileşen

İlişkisel Veritabanı Bir kayıttaki her bir bileşen “atomik”, yani bir veri olmalıdır Başka bir kayıt ya da diğer bileşenlerin listesi olamaz. Tablodaki bileşenlerin veri tipleri de üsttekilerle ve dolayısıyla tablo tanımlarındakilerle aynı olmalıdır. Veritabanı tarafından desteklenen veri tiplerinden biri olmalıdır.

İlişkisel Veritabanı - Anahtarlar key: Birbiriyle eş kayıtları ayırmak için kullanılan bileşenlerdir. primary key :Tablodaki bir kaydı diğer tüm kayıtlardan ayırmak için kullanılan bileşendir. “unique” yapar. Tüm ilişkisel veritabanlarında her bir tablo ya da relationda mutlaka primary key olmalıdır.

Tablolar Aynı konu ile ilgili olan bilgiler belirlenmelidir. Index olarak kullanılacak alanlar, zaman icinde değiştirilebilecek şekilde belirlenir. Olası olan en yüksek seviyede yapısal bir şekilde tabloların oluşturulması sağlanmalıdır.

Veri alanları Aynı konu ile ilgili alanların kendi tablolarında toplanması sağlanmalı Veri tekrarı olmamalı Gereksiz alanlar kullanılmamalı Alanlar basite indirgenmelidir.

Veritabanından beklenenler Her düzeyde rapor alınabilme özelliği Doğru ve hızlı sonuç verebilme özelliği Sorulabilecek bütün sorulara yanıt verebilecek sorgulama dili Bilgilerin ve sonuçların tutarlılığı

SQL Nedir? SQL: Structured Query Language Veritabanı dilidir. Veri eklerken, silerken, güncellerken veya sorgularken kullanılır. ANSI ve ISO standardıdır. Select, Delete, Update, Insert

Neden Veritabanı? Gerçekten veritabanına gereksinmeniz var mı? Veritabanları, verilerin saklanması ve yönetilmesi için kullanılmalıdır. Küçük bilgiler için metin dosyaları yeterli olabilir. Amacınızın iyi belirlenmesi gerekir.

Neden Veritabanı? Veri sadece bir konuyu içeren bir listenin içinde mi? Sorun karmaşık mı? İstatiksel bir analiz mi yapmak istiyorsunuz?

Neden Veritabanı? Bir yönetim mi yapacaksınız? Metinsel veritabanları Kullanım kolaylığı

Neden Veritabanı? Bilimsel formüllere gereksinmeniz olacak mı? Veriyi paylaşma gereksinmeniz olacak mı? Veriyi webde sunacak mısınız?

Sitenizi günde kaç kişi ziyaret edecek? Veritabanı Çeşitleri Öncelikle ne yapılacağına karar verilmelidir: Bu veritabanı ile neler yapacaksınız? Küçük bir şirket çalışanlarının özel bilgileri mi tutulacak, yoksa büyük bir şirketin binlerce müşterilerinin bilgileri mi? Sitenizi günde kaç kişi ziyaret edecek?

Veritabanı Çeşitleri Aynı anda kaç işlem yapılacak? Güvenlik ne ölçüde olacak? Verilerinizin güvenliği ne ölçüde olacak?

Linux! Veritabanı Çeşitleri Yanlış bir kanı : “Paralı ürünler iyidir, ücretsiz ürünler iyi değildir!” Linux! Bir veritabanının ücretsiz olup olmamasından çok işinizi görüp görmeyeceği önemlidir.

Veritabanı Çeşitleri Microsoft Access MySQL IBM DB2 Interbase Informix Progress Microsoft SQL Server PostgreSQL Oracle

Veritabanı Yönetim Sistemleri MySQL PostgreSQL Oracle Sybase MsSQL Berkeley Firebird Ms access

MS Access Microsoft Office ürünüdür. Küçük ölçekli uygulamalar içindir. Tablo başına 2 GB a kadar veri depolayabilir. Aynı anda 255 bağlantıya izin verebilir. MS Windows dışındaki sistemlerde kullanılamaz. “Transaction logging” özelliğine sahiptir, ancak “trigger” ve “stored procedure” özelliklerine sahip değildir.

MySQL MySQL Inc. Windows, Linux, OS/2,Solaris, AIX vb. “trigger” ve “stored procedure” özelliklerine sahiptir, ancak “Transaction logging” özelliği bulunmamaktadır. Tablo başına 4 TB veri depolayabilir.

IBM DB2 IBM Access ve MySQL e göre daha performanslı, ancak küçük işletmelere göre daha yüksek maliyete sahiptir. *nix ve Windows üzerinde çalışabilir. Transaction logging”, “trigger” ve “stored procedure” özelliklerine sahiptir.

Informix Illustra Ücretli ve güçlü bir veritabanıdır. Orta ölçekli işletmelerin yükünü kaldırabilecek kapasitededir. 1994’deki Postgres kodundan geliştirilmeye başlanmıştır.

MS SQL Server Microsoft Dezavantajları: Sadece Windows üzerinde çalışabilir. Yüksek maliyet Kullanım kolaylığı, güvenilirliği,işlem gücü Tablo başına 4 TB veri. “Transaction logging”, “trigger” ve “stored procedure” özelliklerine sahiptir.

PostgreSQL PostgreSQL Global Development Group Linux, Unix, BSD, Windows, AIX vb. Ücretsiz, akademik bir veritabanı Çok güçlü işlem yapısı Veri güvenliği ön planda Tablo başına 64 TB veri tutabilme özelliği “Transaction”, “Inheritance” “trigger” ve “stored procedure” özelliklerine sahiptir.

Oracle Oracle, Inc. Dünyanın en güçlü ve güvenilir veritabanı olarak gösterilmektedir. Çok yüksek maliyet Windows, Unix, Linux, ... Oracle, sınırsız sayıda tabloları desteklemektedir.

Hangi veritabanını seçmeli? Küçük yoğunlukta trafik: Access Web uygulamaları için: MySQL Daha büyük ve orta ölçekli uygulamalar içinse, Progress, MS SQL ya da Linux üzerinde PostgreSQL . Oracle ise çok yüksek güvenilirlik ve işlem gücü gerektirdiğinde tercih edilen bir veritabanı sunucusudur.

Veritabanı Kavramları Tablolar Sütunlar Satırlar Değerler Anahtarlar Şemalar İlişkiler

Tablolar Veritabanlarının temelini oluşturur. Tc_Kimlik Ad Soyad E_Posta Telefon 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 02324208994 23421124534 Hakan Aşan hakan.asan@hotmail.com 02324208923 23474367832 Talip Arsu talip.arsu@gmail.com 05555308998 98324534244 Melih Durmuş melih@boyamak.com.tr 05332274392 Veritabanlarının temelini oluşturur. Satır ve sütunlardan oluşur.

Sütunlar Tabloların her bir özelliğini tutar. Tc_Kimlik Ad Soyad E_Posta Telefon 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 02324208994 23421124534 Hakan Aşan hakan.asan@hotmail.com 02324208923 23474367832 Talip Arsu talip.arsu@gmail.com 05555308998 98324534244 Melih Durmuş melih@boyamak.com.tr 05332274392 Tabloların her bir özelliğini tutar. Her sütunun belli bir tipi vardır.( Metin, Tarih,…)

Satırlar Her satır bir kaydı temsil eder. Tc_Kimlik Ad Soyad E_Posta Telefon 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 02324208994 23421124534 Hakan Aşan hakan.asan@hotmail.com 02324208923 23474367832 Talip Arsu talip.arsu@gmail.com 05555308998 98324534244 Melih Durmuş melih@boyamak.com.tr 05332274392 Her satır bir kaydı temsil eder.

Değerler Girilen her bir veri değere karşılık gelir. Tc_Kimlik Ad Soyad E_Posta Telefon 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 02324208994 23421124534 Hakan Aşan hakan.asan@hotmail.com 02324208923 23474367832 Talip Arsu talip.arsu@gmail.com 05555308998 98324534244 Melih Durmuş melih@boyamak.com.tr 05332274392 Girilen her bir veri değere karşılık gelir.

Anahtarlar Tc_Kimlik Ad Soyad E_Posta Telefon 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 02324208994 23421124534 Hakan Aşan hakan.asan@hotmail.com 02324208923 23474367832 Talip Arsu talip.arsu@gmail.com 05555308998 98324534244 Melih Durmuş melih@boyamak.com.tr 05332274392 Anahtarlar satırları (kayıtları) tanımlayan özel sütunlardır (alanlardır).

Şemalar Veritabanında tablonun tasarımına şema adı verilir. Şema veri içermez; veritabanının taslağı olarak kullanılabilir. Şema; tabloları, sütunları ve her tablonun birincil anahtarları ile birlikte varsa yabancı anahtarları da gösterir.

İlişkiler Tc_Kimlik Ad Soyad E_Posta Telefon 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 02324208994 23421124534 Hakan Aşan hakan.asan@hotmail.com 02324208923 23474367832 Talip Arsu talip.arsu@gmail.com 05555308998 98324534244 Melih Durmuş melih@boyamak.com.tr 05332274392 Sinav_No Tc_Kimlik Sinav_Notu 1 12342378891 80 2 23421124534 90 3 23474367832 85 4 75

İlişki Tipleri Üç temel ilişki tipi vardır: Bire – bir: İlişki içinde her şeyden bir tane olduğunu gösterir. Birden – çoğa: Bir tablodaki bir satır başka bir tablodaki birden fazla satırla bağlantılıdır. Çoktan – çoğa: Bir tablodaki birden fazla satır başka bir tablodaki birden fazla satırla bağlantılıdır.

Sql Veritabanı Dili SELECT KOMUTU Select * from tablo_adi UPDATE KOMUTU Update tablo_adi set tablo_sütun=değer INSERT KOMUTU Insert into tablo_adi value (değer) DELETE KOMUTU Delete from tablo_adi

Sql Veritabanı Dili ( Örnek) SELECT KOMUTU Select * from calisanlar Tc_Kimlik Ad Soyad E_Posta Calistigi_Saat 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 40 23421124534 Hakan Aşan hakan.asan@hotmail.com 35 23474367832 Talip Arsu talip.arsu@gmail.com 24 98324534244 Melih Durmuş melih@boyamak.com.tr 60 Select * from calisanlar where ad=‘hakan’ Tc_Kimlik Ad Soyad E_Posta Calistigi_Saat 23421124534 Hakan Aşan hakan.asan@hotmail.com 35

Sql Veritabanı Dili ( Örnek_2) SELECT KOMUTU Select * from calisanlar where Calistigi_Saat >=40 Tc_Kimlik Ad Soyad E_Posta Calistigi_Saat 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 40 98324534244 Melih Durmuş melih@boyamak.com.tr 60 Select * from calisanlar where Calistigi_Saat >24 and Calistigi_Saat <40 Tc_Kimlik Ad Soyad E_Posta Calistigi_Saat 23421124534 Hakan Aşan hakan.asan@hotmail.com 35 23474367832 Talip Arsu talip.arsu@gmail.com 24

Sql Veritabanı Dili ( Örnek_3) SELECT KOMUTU Select * from calisanlar where ad=‘hakan’ or Calistigi_Saat >40 Tc_Kimlik Ad Soyad E_Posta Calistigi_Saat 23421124534 Hakan Aşan hakan.asan@hotmail.com 35 98324534244 Melih Durmuş melih@boyamak.com.tr 60 Select * from calisanlar where soyad=‘Aşan’ and Calistigi_Saat >40 Tc_Kimlik Ad Soyad E_Posta Calistigi_Saat

Sql Veritabanı Dili ( Örnek_4) UPDATE KOMUTU Update calisanlar set ad=‘Mehmet’ Tc_Kimlik Ad Soyad E_Posta Calistigi_Saat 12342378891 Mehmet Ayçin ejder.aycin@deu.edu.tr 40 23421124534 Aşan hakan.asan@hotmail.com 35 23474367832 Arsu talip.arsu@gmail.com 24 98324534244 Durmuş melih@boyamak.com.tr 60 Update calisanlar set ad=‘Mehmet’ where Tc_Kimlik=12342378891 Tc_Kimlik Ad Soyad E_Posta Calistigi_Saat 12342378891 Mehmet Ayçin ejder.aycin@deu.edu.tr 40 23421124534 Hakan Aşan hakan.asan@hotmail.com 35 23474367832 Talip Arsu talip.arsu@gmail.com 24 98324534244 Melih Durmuş melih@boyamak.com.tr 60

Sql Veritabanı Dili ( Örnek_4) INSERT KOMUTU Insert into calisanlar values(12863403423,’Begüm’,’Demirer’,’b@hotmail.com’,67) Tc_Kimlik Ad Soyad E_Posta Calistigi_Saat 12342378891 Ejder Ayçin ejder.aycin@deu.edu.tr 40 23421124534 Hakan Aşan hakan.asan@hotmail.com 35 23474367832 Talip Arsu talip.arsu@gmail.com 24 98324534244 Melih Durmuş melih@boyamak.com.tr 60 12863403423 Begüm Demirer b@hotmail.com 67

Sql Veritabanı Dili ( Örnek_4) DELETE KOMUTU Delete from calisanlar Tc_Kimlik Ad Soyad E_Posta Calistigi_Saat Delete from calisanlar where Calistigi_Saat>35 Tc_Kimlik Ad Soyad E_Posta Calistigi_Saat 23421124534 Hakan Aşan hakan.asan@hotmail.com 35 23474367832 Talip Arsu talip.arsu@gmail.com 24

Teşekkürler…