Anda di halaman 1dari 8

SISTEM BASIS DATA

MAKALAH ARSITEKTUR BASIS DATA


Ahmad Zaqi Al Kahfi A11.2009.05021 A11.4513 UNIVERSITAS DIAN NUSWANTORO SEMARANG

ARSITEKTUR BASIS DATA Data model, Schema and Instance DBMS (Data Base Management System) Architecture and Data Independence Database Language, Interface and System Environment Data mode lis a collection of tools for describing Data, data relationship, data semantics, data constraints Data model: Object-based logical model:: Entity-relationship model Object-oriented model Semantic model Fungsional model: Record-based logical model: Relationship model Network model Hierarchical model Data Model (1) (Sumber: Silberschatz, Korth and Sudarahan 1997) Data mode ladalah sekumpulan konsep yang digunakan untuk menjelaskan struktur dari basis data (database structure) dan memberikan gambaran tingkat-tingkat abstraksi data (data abstraction). Data modeljuga mencakup sekumpulan operasi(basic & user-defined)yang dapat dilakukan terhadap data yang dihimpun dalam basis data. Operasi dasar (basic) disediakan oleh sistem basis data: insert, delete, update, dan retrieve. User-defined operationdibuat oleh perancang, contoh: operasi menghitung IPK mahasiswa Data Model (2) (Sumber: Elmasri)5 Data abstractionadalah deskripsi mengenai struktur basis data yang mudah dimengerti oleh user, atau bisa juga mencakup detil daripenyimpanan data yang biasanya perlu diketahui oleh perancang basis datajadi ada tingkatan abstraksi. Database structuremencakupdata type (type of name is string),relationship (customer has relationship with account),danconstraint (ada batasan bahwa tidak bisa menjamin bahwa - peserta MIK harus sudah mengambil KP1). Data Model (3) View of Data (Sumber: Silberschatz, Korth and Sudarahan 1997 Physical levelmenggambarkan bagaimana suatu record disimpan secara fisik. Logical levelmenggambarkan bagaimana suatu record disimpan dalam basis data dan menggambarkan hubungan(relationship)antar data. View levelsuatuapplication program,tidak akan memperlihatkan data type juga dapat menyembunyikan informasi (misal: gaji) yang mempunyai tingkatsecurity tertentu yang terkait dengan otoritas user.

Tingkatan abstraksi High-level or Conceptual data modelkonsep yang mudah dimengerti oleh end-user. Menggunakan konsep entities, attributes, dan relationships. Entityrepresentasi obyek dalam dunia nyata (misal: maha-siswa) atau obyek dalam konsep (misal: mahluk ruang angkasa). Attribute: representasi property yang dimiliki oleh suatu entitas, misal: alamat atau gaji seorang karyawan. Relationship: hubungan antara beberapa entitas, misal: hubungan antara entitas pegawai dengan entitas proyek adalah pelaksana proyek. Kategori Model Data (1) Conceptual Data Model Contoh Entity-Relationship Model (Sumber: Silberschatz, Korth and Sudarahan 1997) Entity Attribute Relationship Representational or Implementation data modelkonsep yang dapat dimengerti oleh end user, menggambarkan organisasi data dalam komputer, tanpa detil penyimpanan dalam komputer. Disebut juga sebagairecord-based data model, karena merepresentasi data dalam bentukrecord structure. Konsep ini digunakan untuk menjelaskan skematraditional commercial databasesepertirelational database, network dan hierarchical databases. Record structure: typecustomer =record name: string; street: string; city: integer; end; Low-level or Physical data modelmerupakan konsumsi computer specialist yang mencakup detil penyimpanan data di komputer. Pada konsep ini data direpresentasi dalam bentukrecord format, record ordering, dan access path. Access path: adalah suatu struktur pencarian, pencarian record dalam database diharapkan bisa efisien. Kategori Model Data (3) Physical Data Model The description of the database(suatu bentuk konsep): adalahdatabase schema,diperlukan dalam merancang basis data, tidak terlalu sering diubah. Skema basis data digambarkan oleh data model dalam bentuk diagram (database schema diagram). The database itself(suatu bentuk riil):merupakan himpunan data yang diorganisasikan sedemikian rupa sehingga dapat digunakan dan dipelihara (dimana datanya dapat ditambah, dihapus, dan sering diubah). Database (bentuk konsep dan riil) Similar to types and variables in programming languages Schema the logical structure of the database (e.g., set of customers and accounts and the relationship between them) Instance the actual content of the database at a particular point in time State the data status in the database at a particular moment in time. Database Schema, Instance, and State (Modifikasi dari Silberschatz, Korth and Sudarahan 1997)

Key issue: kaitan antara schema, metadata, state, empty state, initial state, instance dan valid state Database schema diagram:bisa hanya menggam- barkan beberapa aspek dari suatu skema basis data. Perhatikan pada slide berikut bahwa suatu diagram skema hanya menggambarkan struktur record object, tetapi (dalam contoh) tidak ada data type setiap data item, tidak ada relationship antar files, tidak ada penggambaran hubungan yang kompleks (constraint), juga tidak ada instan isi data yang aktual dari record (database instance). A schema construct: merupakan sebutan bagi object yang ada pada skema basis data, misal:STUDENTdan COURSE. Database Schema Diagram Contoh Basis Data STUDENT Name StudentNumber Class Major Smith 17 1 CS Brown 8 2 CS COURSE CourseName CourseNumber CreditHours Department Data Structures CS3320 4 CS Discrete Math. MATH2410 3 MATH SECTION SectionID CourseNumber Semester Year Instructor 85 MATH2410 Fall 98 King 112 CS3320 Fall 98 Anderson GRADE_REPORT StudentNumber SectionIdentifier Grade 17 112 B 8 85 A PREREQUISITE CourseNumber Prereq_Number CS3380 CS3320 CS3320 CS1310 Contoh Database Schema Diagram STUDENT Nama StudentNumber Class Major COURSE CourseName CourseNumber CreditHours PREREQUISITE CourseNumber Prereq_Number SECTION SectionID CourseNumber Semester GRADE_REPORT StudentNumber SectionID Grade

Department

Year

Instructor

Key issue: kaitan antara data model, schema, dan database schema diagram Untuk Disimak Kembali! (Perhatikan juga ada term high-level / conceptual, representational / implementation, dan low-level / physial pada data model; serta term external view, conceptual / logical, dan internal / physical pada database schema dan architecture) Adanya program-data dan program-operation independence (berbeda dengan traditional programming and files)insulated data searching. Mendukung multiple user views (a single repository of data yang digunakan oleh banyak user) defined once for all. Deskripsi structure dan constraint basis data (database schema) disimpan dalam katalogself- describing nature. Ketiga karakteristik ini akan dijelaskan dengan three-schema DBMS architecture berikut Karakteristik Basis Data Three-schema Architecture (Modifikasi dari: Silberschatz, Korth and Sudarahan 1997) EXTERNAL LEVEL End User Conceptual Schema Internal Schema CONCEPTUAL/LOGICAL LEVEL INTERNAL/PHYSICAL LEVEL External-Conceptual Mapping Conceptual-Internal Mapping STORED DATABASE Internal / Physical Schema: deskripsi secara detil dan lengkap tentang struktur penyimpanan data secara fisik dan access paths ke databasemenggunakan low-level model Conceptual / Logical Schema: deskripsi struktur basis data yang terdiri dari entities, data types, relationship, user operations, and constraints untuk setiap kategori user dapat digunakan high-level or implementation model External View Schema: terdiri dari beberapa skema external user dengan masing-masing bagian database yang akan digunakan (lihat bahan kuliah lalu different views of the same database structure)dapat digunakan high-level or implementation model Separation of the user application and the physical database Mapping is the process of transforming requests and results between levels. E.g., A request for a database retrievalthe DBMS will transform the request to the conceptual and physical levels, and extract the data from the stored database and reformatted the data to match the user/s external view. DBMS jarang menggunakan three-schema, karena overhead pada interface cukup tinggi. The term: Mapping - Interface Ability / Kemampuan untuk memodifikasi definisi skema pada suatu level tanpa berakibat pada definisi skema pada level yang lebih tinggi Interface antar level dan komponen harus didefinisikan dengan baik, sehingga perubahan pada suatu bagian tidak akan berakibat pada bagian yang lain Dua tipe data independence: Logical data independence Physical data independence

Data Independence (Sumber: Silberschatz, Korth and Sudarahan 1997) Conceptual / logical schema dapat diubah tanpa perubahan external schema dan application programs. Perubahan hanya terjadi pada interface, yaitu view definition dan mapping pada DBMS. Contoh perubahan: penambahan atau pengurangan data item atau perubahan constraints. Logical Data Independence Perubahan logical schema tidak mengubah external schema / application programs STUDENT Name StudentNumber Class Major Smith 17 1 CS Brown 8 2 CS COURSE CourseName CourseNumber CreditHours Department Data Structures CS3320 4 CS Discrete Math. MATH2410 3 MATH SECTION SectionID CourseNumber Semester Year Instructor 85 MATH2410 Fall 98 King 112 CS3320 Fall 98 Anderson GRADE_REPORT StudentNumber StudentName SectionID CourseNumber Grade 17 Smith 112 CS3320 B 8 Brown 85 MATH2410 A PREREQUISITE CourseNumber Prereq_Number CS3380 CS3320 CS3320 CS1310 Ada penambahan data item pada record Grade_Report dengan tanda ada data redundancy Reminder: apakah yang dimaksud dengan data consistency, dan apakah perbedaan antara controlled & uncontrolled redundancy. Internal / Physical schema dapat diubah tanpa perubahan pada conceptual / logical schema. Physical files selalu perlu di-reorganized,bisa karena disk space sudah penuh atau perlu penambahan / perubahanaccess structureuntuk tujuan meningkatkan kinerja pencarian/perbaikan data. Contoh: query untuk membuat daftar kuliah menurut semester dan tahun tidak perlu berubah, sekalipun pada physical schema proses ini akan dilaksanakan dengandirect access pathmenurut key semester dan tahun.

Physical Data Independence Key issues: mekanisme apakah yang digunakan untuk memungkinkan adanya data independence DBMS harus menyediakan language dan interface untuk setiap kategori pemakai. Dikenal ada beberapa language: VDL (View Definition Language) DDL (Data Definition Language) SDL (Storage Definition Language) DML (Data Manipulation Language) Data Sub Language Host Language DBMS Language & Interface Bila tidak ada pemisahan antara skema conceptual dan internal, maka database administrator (DBA) dan database designer akan menggunakan bahasa DDL untuk mendefinisikan kedua skema. Diperlukan DDL compiler yang fungsinya menjelaskan setiap schema constructs (object) dan menyimpan deskripsi tersebut di dalam DBMS catalog. DDL (Data Definition Language) Bila digunakan 2 skema (conceptual dan internal), maka DDL hanya menspesifikasikan skema conceptual dan diperlukan bahasa SDL untuk menspesifikasikan internal skema. Mapping antar kedua skema dapat dilakukan oleh salah satu dari kedua bahasa. SDL (Storage Definition Language) Bila digunakan 3 skema (view, conceptual dan internal), maka diperlukan bahasa,ketiga (VDL) untuk enspesifikasikan user views dan memetakan (mapping) ke skema conceptual. Pada umumnya DBMS menggunakan DDL untuk mendefinisikan external dan conceptual skema. VDL (View Definition Language) DML merupakan bahasa yang digunakan untuk manipulasi data: retrieval, insertion, deletion, dan modification. DBMS yang baru biasanya menggunakan integrated language (untuk external, conceptual, dan data manipulation). Hanya SDL yang terpisah yang biasanya digunakan oleh DBA. DML (Data Manipulation Language) SQL merupakan kombinasi dari VDL, DDL, dan DML. 2 type DML: High-level / non-procedural DML Low-level / procedural DML SQL Relational Database Language Disebut juga Data Sub Language bisa dimasukkan melalui terminal atau dijadikan satu dengan general purpose language (Host Language)

Dapat mengambil banyak record dengan spesifikasi tertentu dalam satu DML statement (set-at-a-time DML) Bisa merupakan query language dimana data retrieval dan update dapat dilakukan secara interactive pada stand-alone system. High-Level / Non-Procedural DML Statement dimasukkan atau dijadikan satu dengan general purpose language (Host Language) Hanya dapat mengambil satu record dan memprosesnya (record-at-a-time), karena itu memerlukan host language agar bisa dibuat suatu loop untuk ambil record dan proses. Low-Level / Procedural DML Perlu user-friendly interface Menu-based interface for browsing Forms-based Interface Graphical user interface Natural language interface Interface for parametric user Interface for the DBA DBMS Environment Fungsi setiap modul komponen DBMS Loading:sequential file to database, data transfer dari satu DBMS ke DBMS lain Backup:copy ke disk lain atau ke tape File reorganization:reorganize database ke file organization lain Performance monitoring:database usage, number of record access failure, etc.