VERİ TABANI YÖNETİM SİSTEMLERİ



Benzer belgeler
VERİ TABANI YÖNETİM SİSTEMLERİ

Veritabanı ve Yönetim Sistemleri

VERİTABANI Veritabanı Yönetimi

SQL (Structured Query Language)

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veri Modelleri

Veritabanı Uygulamaları Tasarımı

SQL e Giriş. Uzm. Murat YAZICI

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

1 Temel Kavramlar. Veritabanı 1

Microsoft Access ve Veritabanı. İstanbul Üniversitesi

Coğrafi Bilgi Sistemlerine Giriş. Ünite 5 - Veri Tabanı Yönetim Sistemleri

VERİ TABANI SİSTEMLERİ

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) İş Kuralları ve Veri Modelleri

Veri Tabanı Hafta Dersi

HASTANE OTOMASYONU VERİ TABANI YÖNETİM SİSTEMLERİ TEMEL VERİTABANI KAVRAMLARI

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

Veritabanı. Ders 2 VERİTABANI

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

Tekrar. Veritabanı 2

VERİ TABANI YÖNETİM SİSTEMLERİ Melih BÖLÜKBAŞI

VERİTABANI DERS NOTLARI

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

Veri Tabanı Tasarım ve Yönetimi

UZAKTAN EĞİTİM MERKEZİ

VERİTABANI ORGANİZASYONU

2 Temel Kavramlar (Devam) Veritabanı 1

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

VERİ TABANI YÖNETİM SİSTEMLERİ-II

İnternet Programcılığı

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

BMB202. Veritabanı Yönetimi Ders 5. İlişkisel Cebir ve SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

License. Veri Tabanı Sistemleri. Konular büyük miktarda verinin etkin biçimde tutulması ve işlenmesi. Problem Kayıt Dosyaları

10-Veri Tabanları.

Bölüm 1: Veritabanı Yönetim Sistemlerine Giriş

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi

1 Temel Kavramlar. Veritabanı 1

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

2-Veritabanı Yönetim Sistemleri/ Temel Kavramlar

Bölüm 4: DDL Veri Tanımlama Dili

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

İLİŞKİSEL VERİTABANLARI

VERİ TABANI YÖNETİM SİSTEMLERİ

EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model)

VERİ KAYNAKLARI. Bilgi sisteminin öğelerinden biride veri

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Veritabanı, Veri Madenciliği, Veri Ambarı, Veri Pazarı

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

Veri Tabanı-I 1.Hafta

VERİTABANI. SQL (Structured Query Language)

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Veritabanı Tasarımı. DML İşlemleri ve Görünümler

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

Veri Tabanı Yönetim Sistemleri Bölüm - 4

İngilizce'de Relational Database Management System (RDBMS) olarak ifade edilir.

VTYS İlişkisel Veri Modeli Y R D. D O Ç. D R. M. B E T Ü L Y I L M A Z

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

Veritabanı Tasarımı. İlişkisel Veritabanı Kavramlarına Giriş

Veritabanı Yönetim Sistemleri

SORGULAR. Öğr.Gör.Volkan Altıntaş

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

Veri Tabanı Hafta Dersi

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

VERİ TABANI UYGULAMALARI

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) İlişkisel Veritabanı Modeli

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

08118 Veri Tabanı I. Database Management System. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr.Gör. Murat KEÇECĠOĞLU

Veritabanı Yönetim Sistemleri (Veritabanı Kavramı) Veritabanı Sistemleri

Veritabanı. SQL (Structured Query Language)

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Oracle Database 11g: Introduction to SQL

Çok tablolu sorgulamalar

Veri tabanı içinde bulunan tablolardakibazı sütunlarda bulunan bilgilerin, herkes tarafından görülmesi istenmeyebilir.

Veritabanı Tasarımı. Tablo Oluşturma

VERİ TABANI YÖNETİM SİSTEMLERİ. Öğr. Gör. Selçuk Özkan

Veritabanı Tasarımı. Veritabanı Hareketleri

VERİ TABANI YÖNETİMİ. Sunu 2: Veri Modelleri. Öğr. Gör. Selçuk ÖZKAN

Veri Tabanı Tasarım ve Yönetimi

VERİ TABANI ve YÖNETİMİ

Maliye Uzman Yardımcılığı Giriş Sınavı (Bilişim) -16 Mart 2014 A

Veri Tabanı Hafta Dersi

Veritabanı Tarihi. 1960s: Bilgisayarlar artan saklama kapasiteleri ile birlikte firmalar tarafından karşılanabilir hale gelmeye başladı

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

UYGULAMA KULLANIM KILAVUZU

SQL Komutları (2) Uzm. Murat YAZICI

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BİL Bilişim Teknolojileri. Access

Durhan GABRALI Veritabanı Organizasyonu Dersi (11B)

Maliye Uzman Yardımcılığı Giriş Sınavı (Bilişim)-16 Mart 2014 B

KISITLAMALAR (CONSTRAINT)

Asp.Net Veritabanı İşlemleri

Mühendislikte Veri Tabanları Dersi Uygulamaları (MS-Access)

VERİ TABANI YÖNETİM SİSTEMLERİ II. 9. FORMLAR ve ORACLE FORMS PROGRAMINDA FORM OLUŞTURMA

Transkript:

VERİ TABANI YÖNETİM SİSTEMLERİ

Veri Tabanı Nedir? Sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Bir kuruluşa ait bilgilerin düzenli bir yapı içerisinde saklandığı ortamdır. Bir bilgisayarda sistematik şekilde saklanmış, programlarca işlenebilecek veri yığınıdır.

Veri Tabanı Yönetim Sistemi VTYS, veri tabanı sistemlerini tanımlamak, yaratmak, kullanmak, değiştirmek ve veri tabanı sistemleri ile ilgili her türlü işletimsel gereksinimleri karşılamak için kullanılan geniş kapsamlı yazılım sistemidir. VTYS, birbirleri ile ilişkili bir veritabanı ve o veri tabanını yöneten programlar topluluğundan oluşmaktadır.

Neden VTYS? VTYS yaklaşımında veri girişi ve depolanması veriye erişen uygulama programlarından bağımsızdır. Klasik dosya kullanımında ise, kayıt desenleri ve dosya yapılarında ortaya çıkabilecek en ufak bir değişiklik bile uygulama programlarının değiştirilmesine neden olmaktadır.

Veri Tabanı Sistemlerinin Üstünlükleri (1) Gereksiz veri tekrarını ö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. Örneğin, Türkiye deki il kodaları ve isimleri hem personel alt sisteminde hem de pazarlama alt sisteminde ayrı ayrı tutulmaz.

Veri Tabanı Sistemlerinin Üstünlükleri (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, öğrenci bilgileri girilirken doğduğu il koduna 100 değeri girilirse, yanlış bilgi nedeniyle bu isteğin yerine getirilmemesi istenebilir.

Veri Tabanı Sistemlerinin Üstünlükleri (3) Verilerin güvenliğini 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.

Veri Tabanı Sistemlerinin Üstünlükleri (4) Aynı zamanda yapılan erişimlerde tutarsızlıkların ortaya çıkmasını önler. İki veya daha fazla kullanıcı aynı anda aynı veri üzerinde değişiklik yapmak istediğinde, yetkiye ve/veya kimin önce eriştiğine bakarak, birine önceliği verir, diğerlerini bekletir.

Veri Tabanı Sistemlerinin Üstünlükleri (5) Veriler üzerinde merkezi denetim sağlar. Kullanıcılar işletim sistemi komutları ya da genel amaçlı programlama dilleri ile yazılmış uygulama programlarını kullanarak doğrudan veri tabanındaki verilere erişemezler ve bu verileri değiştiremezler. Veri tabanı kullanımı yalnız VTYS (DBMS - Data Base Management System) olarak adlandırılan yazılım sistemi aracılığıyla mümkündür.

Veri Tabanı Sistemlerinin Üstünlükleri (6) Veri tabanının bilgisayar belleklerindeki fiziksel yapısı kullanıcılardan gizlenir. Kullanıcılara daha yalın mantıksal yapılar sunulur. VTYS, bir anlamda yüksek düzeyli programlama dili derleyicisi gibi davranarak kullanıcının, soyut terimler kullanarak veri tabanıyla ilişki kurmasını sağlar. Böylece kullanıcı, sistem tarafından kullanılan karmaşık veri gösterimleri ve algoritmaların ayrıntılarıyla uğraşmadan, neyin yapılmasını istediğini belirterek isteklerini ortaya koyabilir.

Veri Modeli Her Veri Tabanı 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. Veri tabanını tasarlayan kişi, veri modelinin yapılarını ve kavramlarını kullanarak mantısal düzeydeki düzenlemelerini oluşturur ve bunları biçimsel tanımlara dönüştürerek Veri Tabanı Yönetim Sistemine girer.

Veri Modelleme Kısaca bilginin işlenmemiş hali olarak tanımlanan verinin modellenmesi herhangi bir bilişim sistemi geliştirmede neredeyse işin yarısını oluşturur. En çok kullanılan veri modelleme yöntemi İlişkisel Model (relational model) dir ve bu modeli kullanan VTYS ler İlişkisel Veri Tabanı Yönetim Sistemleri (İVYTS, İng. RDBMS) olarak bilinir. İlişkisel modelde veriler tablolarda saklanır. Tablonun satırları (rows) kayıtların kendisini, sütunları (columns) ise bu kayıtları oluşturan bilgi parçalarının ne türden olduklarını belirtir.

İlişkisel Model Örneği HOCALAR ÖĞRENCİLER NOTLAR DERSLER

Birincil ve Dış Anahtarlar Bir tabloda birbirini tekrar etmeyen değerlerin bulunduğu alanlar anahtar alanlardır. Bu alanlardan tablo içeriğini belirlemeye en uygun olanı birincil anahtar (primary key: PK) olarak seçilir. Öğrenciler tablosunda hem Öğr_No hem de TC_No varsa, birincil anahtarı Öğr_No seçmek daha doğru olacaktır. TC_No alanı bu durumda ikincil anahtar olacaktır (aday anahtar) Bir tablodaki bir alan başka bir tablo ile ilişki kurmak için kullanılıyorsa bu alana dış anahtar (foreign key: FK) denir. Dersler tablosundaki Hoca alanı dış anahtardır.

İlişki Türleri PK ile FK arasında aşağıdaki gibi 3 farklı ilişki türü kurulabilir: 1-1 (bire bir) Bir hocanın yalnız bir asistanı olabilir (!) 1-N (bire çok) Bir hoca birçok derse girebilir Bir derse birçok hoca giremez N-M (çoğa çok) Bir öğrenci birçok derse girebilir Bir dersi birçok öğrenci seçebilir

Veri Tabanının Tasarımı Bir veri tabanı tasarlanırken aşağıdaki süreçler ele alınır: Gereksinim Analizi Kavramsal Tasarım Mantıksal Tasarım Sistemin Uyarlanması Sistemin Test Edilmesi ve Bakımı

1) Gereksinim Analizi Veri tabanı kullanılması istenilen uygulama için gereksinimler tanımlanır. Ne tür bilgiler saklanacak? (öğrenci bilgileri, ders bilgileri, hoca bilgileri, ) Bu bilgiler arasındaki ilişkiler ne şekilde olacak? (bir derse en çok kaç hoca girebilir, bir öğrenci bir dönemde en fazla kaç kredilik ders seçebilir, )

2) Kavramsal Tasarım Gereksinim analizinin sonuçları göz önünde bulundurularak, saklanması istenilen verileri saklayacak veri tabanının kavramsal modeli geliştirilir. Kavramsal model genellikle Varlık-İlişki çizelgeleri (Entity-Relationship Diagrams) ile gösterilir. Bu çizelgelerin faklı gösterim biçimleri vardır Bak: Kitap, Sayfa 222, Şekil 11.1 Bak: Sonraki slayt

Varlık-İlişki (E-R) Çizelgesi Öğrenci No D. Tarihi Ders Adı Ders Kodu Öğrenci n Aldığı m Ders Adı Soyadı Kredisi İçeriği

3) Mantıksal Tasarım Kavramsal Tasarımdan yararlanılarak VTYS nin kullandığı veri modeline geçiş işlemi gerçekleştirilir. Bu veri modeli ilişkisel model olacaksa E-R çizelgesindeki varlıklar ve ilişkiler tablo haline getirilir. Her varlık için bir tablo oluşturulur 1-N ilişkinin 1 tarafının PK alanı N tarafındaki varlık için oluşturulan tabloya eklenir (Dersler tablosundaki Hoca alanı gibi). N-M ilişkiler için ayrı bir ara-tablo oluşturulur. Bu ara-tabloda anahtar alan iki tablonun anahtar alanlarının birleşimidir (ör: Notlar tablosundaki Öğrenci ve Ders alanları).

4) Sistemin Uyarlanması Mantıksal Tasarım sonucunda elde edilen tablolar veri tabanı üzerinde yaratılır. Tablolar görsel bir arayüz üzerinden yaratılabileceği gibi, Veri Tanımlama Dili (Data Definition Language: DDL) komutlarından olan CREATE TABLE komutu ile de yaratılabilir (Kitap Sayfa 226-227).

Veri Tanımlama Dili (VTD) VTD ile yapılan tanımlamalar ş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. 22

5) Sistemin Test Edilmesi ve Bakımı Veri tabanı kurulduktan sonra bazı testlerden geçirilerek doğru ve geçerli işlemler yapıp yapmadığına bakılır. Hatalı noktalar düzeltilir. Veri tabanı kullanıma açıldıktan sonra sürekli olarak başarımı kontrol edilir. Beklenenden yavaş çalışması yada doğru çalışmaması durumlarında düzeltme işlemleri gerçekleştirilir. Veri tabanının sık sık yedeği alınır (backup), disk arızası gibi durumlarda yedekten geri yüklenir (recovery).

Sorgu Dili Veri tabanı uygulamalarında en yaygın kullanılan araç sorgu dilidir. Kullanıcı (yada programcı), sorgu dili ile, gerçekleştirmek istediği işlemi yalın bir biçimde ifade eder. Oluşturulan sorguda, neyin yapılması istendiği yer alır; bunun nasıl yapılacağı ise yer almaz. 24

Yapısal Sorgu Dili (SQL) IBM, deneysel bir ilişkisel veritabanı yönetim sistemi geliştirmek amacıyla System/R adlı bir proje başlattı. Bu sistem için SEQUEL (Structured English Query Language) adında bir sorgu dili geliştirilmeye başlanmıştı. 1979 da tamamlanan bu proje sırasında geliştirilen dilin adı SQL (Structured Query Language) olarak değiştirildi. 25

ORACLE System/R projesini izleyen bir grup mühendis, ilişkisel veritabanındaki potansiyeli görmüş ve Relational Software, Inc. adında bir şirket kurmuşlardır (1979) Oracle adını verdikleri ilk ticari ilişkisel veri tabanı yönetim sistemini geliştirmişler ve SQL i bu sistemde sorgu dili olarak kullanmışlardır. 26

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. 27

Veri İşleme Dili (DML) Veri tabanı üzerinde, veri ekleme, veriyi silme ve değiştirme gibi işlemleri gerçekleştiren Insert, Delete ve Update komutlarına DML (Data Manipulation Language - Veri İşleme Dili) komutları denir. Sorgu komutu olan SELECT komutu veri üzerinde değişiklik yapmazken, DML komutları tablo içeriğini değiştirir. DDL komutları ise tablonun yapısını değiştirir (alan ekler, çıkarır ) 28

Kullanıcı Türleri Kullanıcıları kullandıkları veri tabanı hakkında bilgi ve yetki düzeylerine göre sınıflandırabiliriz: 1. Veri Tabanı Yöneticisi 2. Uygulama Programcıları 3. Sorgu Dili Kullanıcıları 4. Uygulama Programı Kullanıcıları

1) Veri Tabanı Yöneticisi Veri tabanının tasarımı (önceki slaytlarda anlatılan 5 adımdaki tüm işlemler) ve işletiminden sorumlu olan kişiler veri tabanı yöneticisi (DBA: Database Administrator) olarak adlandırılırlar. VTD (DDL) dilini kullanma yetkisi genellikle sadece DBA türü kullanıcılara verilen bir yetkidir.

2) Uygulama Programcıları Veri tabanı yöneticisi gibi, uygulama programcıları da veri tabanının gerçek anlamda kullanıcıları değildirler. Uygulama programcıları, veri tabanı üzerindeki rutin uygulamalar (güncelleme, rapor üretme, önceden belirlenmiş standart sorgular,.. vb) için gerekli uygulama programlarını hazırlayan ve gerçek kullanıcıların kullanımına sunan kişilerdir. Uygulama programcılarının kullandığı başlıca olanaklar veri işleme dili (DML) ve diğer yazılım geliştirme araçlarıdır (JBuilder, ASP.NET, Visual Basic, C#, Delphi,.. vb).

3) Sorgu Dili Kullanıcıları Bu dili kullanacak kişinin, veri tabanının ilgili alt şemasının içeriğini (tabloların isimlerini, her tablodaki alanların isimlerini ve veri tiplerini,... vb.) ve sorgu dilinin yapısını bilmesi gerekir. Dolayısıyla sorgu dilini kullanacak kişinin bir bilişim uzmanı olmasına gerek yoktur, ancak veritabanının içeriği ile sorgu dilinin yapısını bilen, bu konularda eğitilmiş, bilinçli bir kişi olması gerekir.

4) Uygulama Programı Kullanıcıları Uygulama programlarını kullanarak, veri tabanı üzerinde işletimsel düzeydeki rutin işlemleri gerçekleştiren kişilerdir. Ambar giriş-çıkışlarını işleyen stok kontrol görevlisi Faturaları işleyen muhasebe görevlisi Personel sicil bilgilerini işleyen personel dairesi çalışanı ATM üzerinden para çeken banka müşterisi ÖSS sonucunu öğrenmek isteyen adaylar...