Basis Data Pertemuan 3 Weny Mistarika R. Acara perkuliahan hari ini Review materi dan tugas minggu lalu Langkah-langkah pembuatan basis data (bagian 1) Arsitektur basis data Basis data terdiri dari 3 level abstraksi Views (External schemas) menjelaskan bagaimana pengguna melihat data contoh : Course_info(cid: string, enrollment: integer) Conceptual schema mendefinisikan data yang disimpan dalam database berupa entitas beserta relasi-relasinya. contoh: Students(sid: string, name: string, login: string, age: integer, gpa: real) Faculty(fid: sttring, fname: string, sal: real) Courses(cid: string, cname: string, credits: integer) Enrolled(sid: string, cid: string, grade: string) Physical schema menjelaskan detil penyimpanan data (bagaimana skema konseptual disimpan dalam disk dan tape) contoh: Relations disimpan dalam bentuk “unordered files”. Buat index pada kolom pertama dari tabel Students. View View View 1 2 3 Conceptual Schema Physical Schema Bahasa dalam DBMS Komponen dalam bahasa basis data Data Definition Language (DDL) Data Manipulation Language (DML) Contoh dari DDL dan DML ???? Model data Evaluasi tugas !!! Model data Merupakan konsep model data untuk menjelaskan struktur basis data. Ada beberapa macam model data yang digunakan dalam basis data. Contoh beberapa model data: Hierarchy data model Network data model Relational data model Hierarchy data model Disebut juga model pohon, karena serupa pohon terbalik. Menggunakan pola hubungan orangtua (parent) dan anak (child). Setiap orang tua dapat memiliki satu atau lebih anak. Setiap anak hanya memiliki tepat satu parent. Hierarchy data model dept Memungkinkan banyak terjadi pengulangan data karena setiap simpul hanya dapat memiliki satu parent. employee child office Network data model Pada network model data, terdapat sekumpulan pemilik dan anggota. Orang tua pada hierarchy model, berperan sebagai pemilik pada network model. Sedangkan anak pada hierarchy model berperan sebagai anggota pada network model. Setiap pemilik dapat memiliki satu atau lebih anggota. Setiap anggota memungkinkan memiliki banyak pemilik. Network data model Jurusan TI MK Basis Data Alice Bob MK B.Inggris Charlie MK Kalkulus Dart Komplex dalam proses queri maupun manipulasi data Evin Relation data model Relational data model berbentuk kumpulan tabel 2 dimensi, dengan kolom merupakan field, dan baris merupakan record. Pertemuan antara baris dan kolom disebut item atau value. Tabel-tabel yang terbentuk saling berhubungan. Hubungan antar tabel : satu ke satu ( one to one), satu ke banyak (one to many),banyak ke satu ( many to one), banyak ke banyak ( many to many). Data model ini paling banyak digunakan. Langkah pembuatan basis data 1. 2. 3. 4. 5. 6. Analisis kebutuhan (Requirements Analysis) Desain basis data konseptual (Conceptual Database Design) Desain basis data logikal (Logical Database Design) Penghalusan skema (Schema Refinement) Desain basis data fisik (Physical Database Design) Desain aplikasi & sekuritas (Application and Security Design) 1. Analisis kebutuhan Merupakan langkah awal untuk mendesain database. Pada tahap ini, semua kebutuhan user terhadap database harus didapatkan secara detail seperti : Laporan atau informasi apa yang diinginkan Data apa yang akan disimpan dalam database Aplikasi apa yang dibangun Operasi apa saja yang akan sering dilakukan Batasan-batasan apa yang diperlukan dll Analisa kebutuhan dapat dilakukan dengan diskusi atau wawancara kepada pengguna. 2. Desain basis data konseptual Membuat ER model berdasarkan hasil analisis kebutuhan. ER model merupakan salah satu contoh desain model data. Tujuannya untuk membuat deskripsi yang lebih simple terhadap data sesuai dengan pemahaman user dan developer. 3. Desain basis data logikal Mengonversi hasil desain basis data konseptual ke dalam skema basis data pada DBMS. Atau mengubah skema ER kedalam skema database relasional. 4. Penghalusan skema Bertujuan untuk menganalisis skema basis data relasional dan mengidentifikasi masalahmasalah yang mungkin muncul serta memperbaikinya. Penghalusan skema dilakukan dengan cara normalisasi. 5. Desain basis data fisik Meliputi pembuatan index dan tuning basis data yang bertujuan memercepat performansi basis data. 6. Desain sekuritas dan aplikasi Pada tahap ini mendeskripsikan role masingmaing pengguna. Apa saja yang dapat dilakukan oleh masingmasing role, dan apa saja yang tidak dapat dilakukan. Look closer… 1. Analisis kebutuhan Contoh dari hasil analisis kebutuhan: Berdasarkan hasil rapat dengan pemilik sebuah perusahaan, perusahaan tersebut menginginkan basis data untuk mencatat pegawai, departemen dan proyek yang dikerjakan. Dari data pegawai, yang dicatat adalah no pegawai, nama pegawai, dan alamat pegawai. Pegawai bekerja pada departemen. Departemen memiliki id departemen dan nama departemen. Setiap departemen dapat menjalankan satu atau lebih project. 2. Desain basis data konseptual Dari hasil analisis kebutuhan, digambarkan sebuah model konseptual data dalam bentuk Entity Relationship Diagram (ERD) atau Conceptual Data Model (CDM). ERD atau Conceptual Schema / conceptual data model (CDM) digenerated menjadi Physical Schema / Physical Data Model (PDM) ERD/CDM PDM DATABASE ER DIAGRAM Teknik pemodelan data yang menggambarkan entitas dan hubungan antar entitas dalam sebuah sistem informasi. ERD memiliki dua komponen utama: Entity / entitas Relationship / hubungan Simbol ER-Diagram Nama Simbol Entitas Nama Entitas Atribut Nama Atribut Primary Key Entitas Lemah Hubungan / relationship s Atribut PK Nama Entitas Lemah Nama hubung an Nama Atribut Turunan Atribut multivalue Primary Key Entitas Lemah Hubungan dengan Entitas Lemah Simbol Nama Atribut Nama Atribut Atribut PK Nama hubungan Entitas / entity Entity merupakan object di dunia nyata yang dapat dibedakan dari object lain. Entity memiliki atribut. Setiap entity memiliki sebuah key. Entity yang sama (memiliki atribut yang sama) membentuk sebuah set entity. Entitas / entity Contoh : entity pegawai -> memiliki atribut id, nama, alamat. ID Nama Pegawai Alamat Relationship Merupakan hubungan antar entitas. Relationship dapat memiliki atribut deskriptif yang mencatat informasi tentang hubungan. Contoh : pegawai bernama Beggy bekerja pada departemen Informasi. ID Nama Pegawai Alama t sejak Bekerj a_pad a IDD dnam e Departem en Key constraint Seorang pegawai dapat bekerja pada banyak departemen, dan satu departemen dapat seja memiliki banyak pegawai. Nam Alam dnam ID IDD a Pegawai at k Bekerj a_pad a e Departeme n Contoh key constraint apabila seorang pegawai dapat mengepalai beberapa departemen, sementaraNam setiap Alam departemen seja hanya dapat dnam ID IDD k a at e dikepalai oleh satu pegawai Pegawai Meng epalai Departeme n Key constraint 1-to-1 1-to Many Many-to-1 Many-to-Many 1/1/91 Peg1 Peg2 Peg3 Peg4 2/2/92 3/3/93 4/4/94 51 75 89 5/5/95 pegawai Bekerja_pada departemen Participation constraint Merupakan bentuk pertisipasi suatu entitas atau relasi terhadap entitas atau relasi lainnya. Terdapat 2 jenis partisipasi: Total participation/ partisipasi total Partial parciation / partisipasi parsialcontoh Contoh: pada hubungan mengepalai, setiap departemen pasti memiliki seorang kepala, sehingga hubungan antara departemen dan mengepalai adalah partisipasi total. Sedangkan tidak semua karyawan mengepalai departemen, sehingga hubungan antara karyawan dan mengepalai adalah partisipasi parsial. Participation constraint ID Nam a Pegawai Alam at seja k IDD Bekerj a_pad a dnam e Departeme n Meng epalai seja k Partisipasi total ditandai dengan garis tebal untuk menggambarkan hubungan Selamat Belajar