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