Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

VERİ YÖNETİMİ ve DOSYA YAPILARI (DATA MANAGEMENT and FILE STRUCTURES )

Benzer bir sunumlar


... konulu sunumlar: "VERİ YÖNETİMİ ve DOSYA YAPILARI (DATA MANAGEMENT and FILE STRUCTURES )"— Sunum transkripti:

1 VERİ YÖNETİMİ ve DOSYA YAPILARI (DATA MANAGEMENT and FILE STRUCTURES )

2 ÜNİTELER 1. Database ve Database Kullanıcıları (Database and Database Users) 2. Database Sistemi Kavramı ve Yapısı (Database System Concepts and Architecture) 3. Varlık-İlişki Modeli ile Veri Modelleme (Data Modeling Using the Entity-Relationship (ER) Model) 4. İlişkisel Veri Modeli ve İlişkisel Veritabanı Kısıtları (The Relational Data Model and Relational Database Constraints) 5. Basit SQL (Basic SQL) 6. Karmaşık SQL (Complex SQL) 7. İlişkisel Cebir (The Relational Algebra)

3 Kaynakça R. Elmasri and S.B. Navathe, ”Fundamentals of Database Systems”, Addison- Wesley Pub Co, 2002, ISBN: Sınavlar Slayttan sorular içerecek, yazılan her terimin ingilizce karşılığı sorulabilir veya soru içinde geçebilir.

4 Database ve Database Kullanıcıları (Database and Database Users)
1.1. Giriş (Introduction) 1.2. Örnek Database (An Example Database) 1.3. Database Yaklaşımının Karakteri (Characteristics of the Database Approach) Database Sisteminin Kendinden Tanımlı Yapısı (Self-Describing Nature of a Database System) 1.3.2.Program-Veri Bağımsızlığı ve Veri Soyutlama (Insulation between Programs and Data, and Data Abstraction) Verilerin Çoklu Gösteriminin Desteklenmesi (Support of Multiple Views of the Data) Veri Paylaşımı ve Çok Kullanıcılı İşlem (Sharing of Data and Multiuser Transaction Processing) 1.4. Sahnedeki Aktörler (Actors on the Scene) Database Yöneticileri (Database Administrators) Database Tasarımcıları (Database Designers) Son Kullanıcı (End Users) Sistem Analistleri ve Uygulama Geliştiriciler (System Analysts and Application Programmers(Software Engineers)) 1.5. Sahne arkasındakiler (Workers behind the Scene)

5 1.6. DBMS Yaklaşımı Kullanmanın Avantajları (Advantages of Using the DBMS Approach )
Tekrarların Kontrol Edilmesi (Controlling Redundancy ) 1.6.2.Yetkilendirilmemiş Erişimi Engellemek (Restricting Unauthorized Access) 1.6.3.Program Objeleri için Kalıcı Depolamanın Sağlanması (Providing Persistent Storage for Program Objects) 1.6.4.Sorgu İşlemi için Depolama Yapısı ve Arama Tekniğinin Sağlanması (Providing Storage Structures and Search Techniques for Efficient Query Processing) 1.6.5.Yedekleme ve Kurtarma’nin sağlanması (Providing Backup and Recovery) 1.6.6.Çok Kullanıcılı Arayüzlerin Sağlanması (Providing Multiple User Interfaces) 1.6.7.Data Üzerinde Karmaşık İlişkilerin Kullanılmasına Olanak Sağlaması (Representing Complex Relationships among Data) 1.6.8.Bazı Sınırlamalara Zorlaması (Enforcing Integrity Constraints)

6 Database ve Database Kullanıcıları (Database and Database Users)
Veritabanları ve veritabanı sistemleri, modern toplumda yaşamın temel bileşenini oluştururlar. Çoğumuz her gün bir veritabanı ile bazı etkileşim gerektiren çeşitli aktiviteler ile karşılaşırız. -Bankalar(müşteri no, hesap no,), üniversiteler (öğrenci no), e-devlet (TCno), online alışveriş Geleneksel database uygulamaları, text veya sayı şeklinde depolama yaparken yeni teknolojilerle artık fotoğraf, video veya ses klipleri de depolanabiliyor. Bu Multimedia Database olarak isimlendiriliyor. Coğrafi bilgi sistemleri (GIS) harita, hava durumu verileri ve uydu görüntülerini depolamaktadırlar. Datawarehouses (Veri ambarı) and online analytical processing (OLAP) sistemleri, büyük şirketler tarafından karar verme süreçlerinde büyük veri yığınlarının (Big Data) analizi ve raporlaması için kullanırlar. Real-Time (Gerçek zamanlı) ve active database technology sistemleri ise endüstriyel üretim yapan şirketlerde kullanılır. Arama (Search) databaseleri World Wide Web’de uygulanır. 1.1. Introduction Database, ilişkili verilerin toplamından oluşur. Buradaki veri; kaydedilebilen ve kesin bilgi içeren yapıdır. Veri, değer ve bilgi arasındaki fark; veri işlenmemiş bilgiyi işaret ederken, bilgi işlenmiş veridir, değer ise bir veriyi veya bilgiyi işaret eden nümerik veya string kısımdır. Örnek olarak; isim, telefon ve adres içeren indekslenmiş adres defteri. Bu kaydedilmiş, kesin anlamlı ve ilişkili veri topluluğudur.

7 Database şu özelliklere sahiptir;
Gerçek dünyanın görünümüdür. Küçük dünya (Mini world) veya söylem evreni (Universe of discourse) olarak adlandırılır. Mini World’teki her değişiklik database’e yansır. Database, mantıksal olarak tutarlı ve doğal anlamlı bilgi toplamıdır. Random sınıflandırılan veri, database olarak adlandırılmaz. Özel amaçlar için tasarlanmış ve inşaa edilmiştir. Database farklı boyutlarda ve karmaşıklıkta olabilir. Örneğin, adres defteri 100 kayıtlı, basit yapıda bir databasedir. Fakat geniş bir kütüphane yarım milyon kayıt vardır. Bunlar birçok kategoridedir. (Yazar/konu/yayıncı vb.) Daha geniş ve karmaşık database vergi dairesi; 100 milyon mükellef , her mükellef için 5 form, her form 200 byte’lik bilgi,10 farklı vergi için =1 terabyte  !!!!!! Amazon.com; 200 milyon kitap,CD,DVD, oyun, elektronik vb. 2 terabyte, 200 farklı bilgisayar (server) Her gün 15 milyon müşteri, 100 kişi yalnızca database yönetimi  !!!!!

8 DBMS; Database Management System
Database’in tanımlanması (defining), inşa edilmesi/saklanması (constructing), işlem yapılması (manipulating) ve çeşitli kullanıcılar ve uygulamalar arasında veritabanlarını paylaşmak (sharing) süreçlerini kolaylaştıran bir genel amaçlı yazılım sistemidir. Defining; database’de tutulacak veri türlerinin, yapılarının ve kısıtlamalarının belirlenmesini içerir. Veritabanının tanımı veya açıklayıcı bilgiler de bir veritabanı gibi katalog veya sözlük şeklinde DBMS tarafından saklanır; Bu meta-data olarak adlandırılır. Constructing; veri saklama alanında (storage) verilerin saklanması sürecidir. Manipulating; bazı verilere ulaşmak için yapılan sorgulamalar, mini world’de meydana gelen değişikliklerin güncelleme (update) işlemi ile database’e yansıtılması ve verilerden raporlamalar oluşturulması işlemlerinin tamamını içeren süreçtir. Sharing; eş zamanlı olarak çoklu (multiple) kullanıcı ve uygulamanın verilere erişimini sağlama sürecidir.

9 Program uygulamaları, DBMS’e sorgu (query) göndererek ve cevaplayarak database’e erişir.
Query, bazı dataların sorgulanmasına, elde edilmesine olanak sağlar. Transaction ise database’den verilerin okunmasına ve database’e verilerin yazılmasına olanak sağlar. (T-SQL) DBMS tarafından sağlanan bir başka önemli fonksiyon ise database’in korunması (protecting) ve uzun süre sürdürülebilir olması (maintaining). Protection; donanım veya yazılım arızası (veya çökmesine (crash)) karşı sistem koruması (system protection) ve yetkisiz veya kötü niyetli erişime karşı güvenlik korumasını (security protection) içerir. Maintain; DBMS, gereksinimleri zamanla değiştirmek gibi gelişmelere izin vererek, veritabanı sistemini koruması gerekir, böylece büyük bir veritabanı, uzun yıllar bir sağlıklı yaşam döngüsüne sahip olabilir.

10 1.2. Örnek Database (An Example Database)
Örnek olarak UNIVERSITY database’ini inceleyeceğiz. Bu database’in amacı öğrenci, ders ve mezuniyet gibi unsurların (süreçlerin) yürütülebilmesidir. Şekil 1.2 de bu database’in küçük bir kısmını göreceğiz. 5 tablo ve bu tablolardaki data recordlar. Satır; data record Sütun; data element Tablodaki bazı isimler; Major;bölüm CS: Bilgisayar bilimi MATH: Matematik Section; sömestr Instructor: dersi veren öğretmen Grade report: transkript Prerequisite: bağlı dersler Class; 1,2,3,4, 5; 5 mezun öğrenciler için Bazı data type örneklerini de görebiliriz; Name of STUDENT; string Student_number of STUDENT; integer Grade of GRADE_REPORT; single character (A,B,C,D,E,F)

11 Bu recodların bazıları bazı bağlantılara sahip olabilir.
Örneğin; Smith student tablosundaki, Grade_report tablosundaki 2 satırla ilişkilidir. Prerequisite tablosundaki her bir record course tablosu ile ilişkilidir. Manipulation; quering ve updating’i içerir. Guery için örnek; Smith’in transkriptini görüntülemek(tüm dersler ve notları) 2008 in fall döneminde Database dersini alan öğrencilerin isimleri ve notları Database dersi ile bağlı olan dersler listesi Update için örnek; Smith’in sınıfını 2 olarak değiştir Bu dönem için bir Database dersi section’i yarat Geçen dönem Database dersi için Smith’ e A notu yaz. Information Technology (IT) departmanı, çeşitli bilgisayar, depolama sistemleri, yazılım ve databaselerden oluşan bilgi sistemlerini dizayn eder ve sürdürülebilir olmasını sağlar. Var olan bir database kullanılarak yeni bir uygulamanın dizayn edilmesi veya yeni bir database oluşturulması süreçleri requirements specification and analysis (gereksinim belirleme ve analiz) olarak adlandırılabilir.Bu gereksinimler detaylı olarak dökümanlaştırılır ve conceptual design (kavramsal dizayn)’a dönüştürülür. Bunlar için bazı uygulamar/tool’lar mevcuttur. Daha sonra bu yapı logical design’e dönüştürülür. En son physical design’e dönüştürülerek süreç tamamlanır.

12 1.3.Database Yaklaşımının Karakteri (Characteristics of the Database Approach)
Geleneksel file processing (dosya yapılandırma)’da her bir user kendi ihtiyaç duyduğu veriyi bazı uygulamalar veya manuel olarak tanımlar ve depolardı. Örneğin mezuniyet Office’i sadece transkriptleri ve öğrencinin gerektiği kadar bilgisini elinde tutar ve bunun üzerinden işlem yapar veya muhasebe birimi sadece öğrencinin belli bir bilgisine ek olarak ödeme bilgilerini elinde bulundurur. Bu hem depolama bakımından hem de bilgilerin güncel tutulması açısından fazla maliyet demektir. Aynı zamanda fazladan iş gücüdür. Database yaklaşımında ise bir kere tanımlanan database tüm kullanıcıların ulaşımına açılır. File sistemde her bir kullanıcı data elementlerini kendisi tanımlarken, database yaklaşımında bir kere tanımlanan tüm bilgiler tekrarlanabilir query, transaction ve application ile tüm kullanıcıların kullanıma sunulur. Database Yaklaşımının temel özellikleri; Database Sisteminin Kendinden Tanımlı Yapısı Program-Veri Bağımsızlığı ve Veri Soyutlama Verilerin Çoklu Gösteriminin Desteklenmesi Veri Paylaşımı ve Çok Kullanıcılı İşlem

13 1.3.1. Database Sisteminin Kendinden Tanımlı Yapısı (Self-Describing Nature of a Database System)
Database yaklaşımının temel prensibi, database sisteminin sadece databaseden değil database’in tüm tanımlanmış yapısından ve kısıtlarından da oluşuyor olmasıdır. Bu tanımlar, her bir tablonun yapısı , type’ı , dosyalama formatı ve çeşitli kısıtlamaları ‘DBMS Catalog’ ta tutulur. Bu kataloğun adı meta-data dır. Geleneksel file processing’de data tanımlamaları uygulamanın bir bölümünde yapılır. Çünkü sadece spesific database’e erişim sağlar. DBMS ise çeşitli databaseler ile bağlantı kurar, katalogtan gerekli tanımları kullanarak işlem yapar.

14 Örneğin STUDENT tablosunun Name record’unu sorgu ettiğimizde, DBMS katalogtan STUDENT tablosu ile ilgili bilgilere atıfta bulunur. Depolama alanındaki yerini ve Name alanının boyutunu belirtir. Geleneksel file processing’te ise bu bilgiler her program için ayrı ayrı code içinde belirtilir. Program-Veri Bağımsızlığı ve Veri Soyutlama (Insulation between Programs and Data, and Data Abstraction) Geleneksel file processing’te tablo yapılarının programın code alanına gömüldüğünü belirtmiştik. Bu durumda yapılmak istenen her değişiklik için programın içerisinde değişikliğe gitmek gerekiyor. Fakat DBMS bu değişiklikleri programa dokunmaksızın yapar. Tablo yapıları DBMS içinde kataloglarda tutulduğundan programdan tamamen ayrı yapıdadır. Buna program-data independence (program-veri bağımsızlığı) denir. Örneğin, STUDENT tablosuna dogum_tarihi isimli bir alan eklemek istediğimizde programın tanımlama kısmındaki kodunu değiştirmeliyiz. DBMS’de ise katalogtaki STUDENT tablosunun tanımını değiştirmemiz yeterlidir.

15 1.3.3. Verilerin Çoklu Gösteriminin Desteklenmesi (Support of Multiple Views of the Data)
Çoklu kullanıcının kullanıma imkan sağlayan viewlerdir. Database’in birebir aynısı fakat küçük bir kısmını içerir. Örneğin çok yapılan bir sorgu sonucu için view oluşturulur. Genellikle birden fazla tablonun bağlantısından oluşur. Fiziksel olarak sakladığı söylenemez. Yani bir tablo gibi database’de tutulmaz. Böylece bir çok kullanıcıya aynı anda cevap vermeye çalışan DBMS’in performansını yükseltir. Figure 1.5.(a) Transkript view’ine Figure 1.5.(b) bağlı dersler viw’ine örnektir.

16 1.4. Sahnedeki Aktörler (Actors on the Scene)
Veri Paylaşımı ve Çok Kullanıcılı İşlem (Sharing of Data and Multiuser Transaction Processing) Viewlerin dışında çoklu kullanımı kolaylaştıracak bir etmen de concurrency control (eş zamanlı kontrol) farklı kullanıcılar aynı anda bir veriyi update etmek isteyebilir. Kimin önce işlemini yapacağına concurrency control eder. Örnek olarak uçak bileti alımını gösterebiliriz. Bu uygulamalara genellikle online transection processing OLTP (anında işlem dönüştürme) denir. 1.4. Sahnedeki Aktörler (Actors on the Scene) Database Yöneticileri (Database Administrators) Database sisteminden en üst düzeyde sorumlu kişidir. Kısaca DBA denir. DBA sadece database ile değil, DBMS ve ilişkili diğer uygulama ve databaseleri de yönetmek ile yükümlüdür. Ayrıca database’e erişeceklere yetki vermek, database’i koordine etmek ve izlemek, software ve hardware gereksinimlerini belirlemek, güvenlik önlemlerini almak, işlemlerin cevap hızını kontrol etmek ve iyileştirilmesini sağlamak görevlerindendir. Database Tasarımcıları (Database Designers) Tüm yapı, tanımlama, depolamanın nasıl yapılacağı ve diğer tüm detay işler designerin görevidir.Bunları kullanıcılarla görüşerek optimum ihtiyacı ve çözümü belirler.Genellikle viewları yaratılar.

17 1.5. Sahne arkasındakiler (Workers behind the Scene)
Son Kullanıcı (End Users) Sorgu, update yapan, rapor üreten kullanıcılardır. Casual end users (Geçici son kullanıcı); Üst yöneticiler genellikle özel ve seyrek kullanırlar. Sorgu ile erişim sağlarlar. Parametric end users; kaydedilmiş standart bazı sorguları yapıp, veriler üzerinde güncelleme yaparlar. Standaone end users; Esas son kullanıcıdır. Program üzerinden kullanır. Sistem Analistleri ve Uygulama Geliştiriciler (System Analysts and Application Programmers(Software Engineers)) Son kullanıcının ihtiyaçlarını belirleme ve bu ihtiyaca yönelik uygun programın analizini yapar, dökümante eder, kolayca bu analiz üzerinden kod yazılabilecek hale getirip ve analizi programer’a sunar. Programer programı koda döktükten sonra programın çalışan halini yine analiste sunar. Analiz test işlemini yapar ve oluşan debugları yazılımcı ile beraber çözerler. Debuglar da çözüldükten sonra program son halini alır ve canlıya taşıma işlemi gerçekleştirilir.Bu arada ki program-database uyumundan sistem analisti sorumludur. 1.5. Sahne arkasındakiler (Workers behind the Scene) DBMS sistem designer and uygulamacısı DBMS sisteminin tasarımı, geliştirilmesi ve uygulanması ile ilgilenir. Database’in içindeki ki verilerle ilgilenmez. DBMS için modül ve arayüz üretirler.

18 !!!! Tüm bu anlatılanlara ek olarak günümüzde son kullanıcının database’e doğrudan bağlanması söz konusu değildir. Ancak uygulama üzerinden bağlanabilirler, rapor çeken de update eden de program arayüzü ile yapar; ki burada database’e bağlandıklarını fark etmezler.Bu nedenlerle arayüz önemlidir. Böylece database’e bağlanan son kullanıcılar ikiye düşer; Analistler ve yazılımcılar. 1.6. DBMS Yaklaşımı Kullanmanın Avantajları (Advantages of Using the DBMS Approach) Tekrarların Kontrol Edilmesi (Controlling Redundancy ) Database approach’ı geleneksel file processingten ayıran en önemli özelliğin her kullanıcı birimi için aynı verinin tekrar tekrar önlemek olduğunu öğrenmiştik. Fakat bu yaklaşım da tekrara minimize etmekte yeterli olmayabilir. Tekrarı önlemenin bir adımı da normalizasyondur. Tabloların tekrar verilerini gözeterek yeni tablolalarda bunların tutulmasını böylece karmaşıklığı ve yer kaybını önlemektir.Toplam bilgi satırlarının viewlerde tutulduğunu öğrenmiştik. Primary key ve foreign key dışındaki çoğu alanı kaldırmayı hedefler.

19 1.6.8.Bazı Sınırlamalara Zorlaması (Enforcing Integrity Constraints)
1.6.2.Yetkilendirilmemiş Erişimi Engellemek (Restricting Unauthorized Access) Muhasebe bölümünün öğrenci numarasını değiştirmesini engellemek , öğrenci işleri bölümünün öğrenci harcının değiştirmesini engellemek gibi düşünülebilir. Bu yüzden kullanıcı profilleri ve şifreleri önem taşır. Muhasebe bölümündeki 2 kişi Muhasebe profilinden yetkilendirilir ve bu profilden kaldırılan yetkiler o 2 kişiyi etkiler. 1.6.3.Program Objeleri için Kalıcı Depolamanın Sağlanması (Providing Persistent Storage for Program Objects) 1.6.4.Sorgu İşlemi için Depolama Yapısı ve Arama Tekniğinin Sağlanması (Providing Storage Structures and Search Techniques for Efficient Query Processing) Arama tekniğinin belirlenmesi ve indeksleme önemli yer tutar. 1.6.5.Backup ve Recovery’nin sağlanması (Providing Backup and Recovery) 1.6.6.Çok Kullanıcılı Arayüzlerin Sağlanması (Providing Multiple User Interfaces) 1.6.7.Data Üzerinde Karmaşık İlişkilerin Kullanılmasına Olanak Sağlaması (Representing Complex Relationships among Data) 1.6.8.Bazı Sınırlamalara Zorlaması (Enforcing Integrity Constraints) Uniqueness, key yapısı


"VERİ YÖNETİMİ ve DOSYA YAPILARI (DATA MANAGEMENT and FILE STRUCTURES )" indir ppt

Benzer bir sunumlar


Google Reklamları