Sistem Basis Data - Staffsite STIMATA

advertisement
Sistem Basis Data
Model Data Relasional
Mahmud Yunus,S.Kom., M.Pd.
Cara Pandang (Abstraksi) Terhadap Data


Salah satu tujuan penerapan Sistem Basis Data
adalah menyediakan pengguna suatu pandangan
abstrak dari data, secara nyata dan sederhana yakni
sistem menyembunyikan rincian bagaimana data
disimpan dan dipelihara (pengguna tidak dipusingkan
dengan rumitnya sistem dalam mengelola data)
Pengguna Sistem Basis Data secara umum adalah
awam di bidang komputer, oleh karena itu
pengembang seharusnya menyembunyikan
kompleksitas sistem dari pengguna dengan
meyediakan beberapa peringkat abstaksi data 
three schema Architecture
Three Schema Architecture
USER
EXTERNAL
LEVEL
CONCEPTUAL
LEVEL
INTERNAL
LEVEL
External View
External View
Pandangan Konseptual/Logika
Pemetaan Secara Internal/ Phisik
DATABASE
External Level / Tingkat Pengguna/Pandangan
Pada peringkat ini meyederhanakan interaksi pengguna dengan
sistem berupa antarmuka pengguna grafis (GUI-Graphical User
Interface) pada perangkat lunak aplikasi sistem basis data.
Conceptual Level / Tingkat Konsep
Abstraksi yang mendiskripsikan secara menyeluruh tampilan
komunitas dari basis data meliputi entity, atribut dan bagaimana
hubungan relasi antar data/table yang terjadi.
Internal Level / Tingkat Fisik
Abstraksi yang mendiskripsikan struktur penyimpanan basis data
secara fisik pada system komputer dan organisasi file yang
digunakan dalam menyimpan dan mengakses basis data .
 Tingkat Pandangan
 Banyak pemakai yang tidak berurusan dengan
semua informasi yang disimpan dalam basis
data
 Kebanyakan pemakai hanya memerlukan
sebagian informasi yang ada dalam basis data
 Tingkat Pandangan (view) memdefinisikan suatu
bagian untuk suatu kelompok tertentu
 Sistem dapat menyediakan pandangan berbeda
pada basis data yang sama
 Tingkat Konseptual
 Tingkat Konseptual mendeskripsikan data apa
yang sesungguhya disimpan dan keterhungan
antar data (data relationships) yang ada dalam
basis data
 Seluruh basis data dinyatakan dengan sejumlah
struktur yang sederhana (mudah dipahami)
 Tingkat konseptual menyatakan
 Entitas, atribut dan terhubungannya
 Konstrain (batasan) terhadap data
 Informasi keamanan dan integritas data
 Tingkat Fisik
 Tingkat fisik mendeskripsikan cara penyimpanan
fisik data secara rinci (komplek)
 Tingkat ini mencakup implementasi fisik basis
data untuk memperoleh kinerja dan utilisasi
ruang penyimpanan yang optimal
 Tingkat fisik ini berurusan dengan
 Alokasi ruang penyimpanan
 Deskripsi rekord untuk kebutuhan penyimpanan
(ukuran simpanan untuk tiap item data)
 Teknik-teknik kompresi dan enkripsi data
Ketidakbergantungan Data
 Sasaran utama arsitektur 3 tingkat adalah
Ketidakbergantungan Data pada setiap levelnya
 Ketidatbergantungan Data merupakan kemampuan
memodifikasi skema di satu tingkat, dengan tidak
mempengaruhi definisi skema di tingkat lainnya.
 Ketidakbergantungan Data dapat dipandang
sebagai;
 Ketidakbergantungan secara logik (logical data
independence)  perubahan skema konsep tidak
mempengaruhi program aplikasi. Modifikasi tingkat
konsep diperlukan saat pengubahan struktur logik.
 Ketidakbergantungan secara fisik (logical data
independence)  perubahan skema fisik tidak
mempengaruhi skema konseptual. Modifikasi tingkat
fisik diperlukan untuk meningkatkan kinerja sistem
basis data dan aplikasi pada umumnya
 Perubahan pada skema konsep
(penambahan/pengurangan entitas, atribut
atau relasinya) harus dimungkinkan tanpa
mengubah skema eksternal yang telah ada.
 Perubahan pada skema internal/fisik
(perubahan struktur/organisasi file,
index/hashing, perangkat penyimpanan)
harus dimungkinkan tanpa perlu mengubah
skema konseptual
Model Data
 Model Data merupakan kumpulan konsep yang
terpadu untuk mendeskripsikan data, keterhubungan
antar data (relationship), semantik dan batasan
konsistensi data (constrain), yang berguna untuk
menyembunyikan kompleksitas/rincian penyimpanan
data pada level rendah/fisik
 Model Data dapat terdiri dari 3 komponen;
 Bagian struktur yang berisikan sekumpulan aturan
yang berkaitan dengan basis data yang dibangun
 Sekumpulan aturan integritas yang menjamin
keakuratan data
 Bagian manipulasi yang mendefinisikan tipe-tipe
operasi yang diijinkan seperti pembaruan dan
pengambilan data serta pengubahan struktur basis
data
Macam- Macam Model Data
 Model data yang umum digunakan adalah




Model Entity Relationship (ER Model)
Model Relasional
Model Data Berorientasi Objek
Model lain seperti Model Data Jaringan dan
Model Data Hierarki (keduanya sudah
kadaluarsa)
 Model-model data tersebut secara umum
dikategorikan menjadi
 Model data berbasis Rekord (ER, Relasional,
Jaringan dan Hierarki)
 Model data berbasis Objek (UML)
Model Data Jaringan
Mirip dengan hirarkical model, dimana data
dan hubungan antar data direpresentasikan dengan
record dan links. Perbedaannya terletak pada
susunan record dan linknya yaitu network model
menyusun record-record dalam bentuk graph.
Beberapa ketentuan untuk model data jaringan :
Terdapat lebih dari satu edge antara pasangan node
Tidak ada konsep root node
Suatu node dapat mempunyai lebih dari parent node
Contoh model data jaringan :
model data jaringan
R1
R3
R2
R4
R5
Menu
I
Back
Model Data Hirarki
Dimana data serta hubungan antar data direpresentasikan
dengan record dan link (pointer), dimana record-record tersebut
disusun dalam bentuk tree (pohon), dan masing-masing node
pada tree tersebut merupakan record/grup data elemen.
Ketentuan-ketentuan dalam model data hirarki adalah :
 Terdiri dari kumpulan record (R1,R2,R3,...Rn) yang masingmasing mempunyai field pengenal.
 Terdapat suatu kumpulan kaitan yang berhubungkan semua
jenis record sehingga membuat diagram struktur data.
 Kaitan tersebut membentuk suatu pohon yang semua
ujungnya mengarah ke daun.
 Tidak mungkin ada elemen yang mempunyai parent lebih dari
satu.
 Setiap kaitannya membentuk hubungan tunggal jamak,
artinya jika Ri parent dari Rj, maka setiap record Rj tepat
hanya mempunyai satu record Ri yang berkaitan.
Contoh Model Hirarki :
A
C
B
E
D
F
G
H
I
DEPARTEMEN
DNAME
DNUMBER
MGRNAME
MGRSTARDATE
EMPLOYE
NAME
SSN
BDATE
PROJECT
ADRESS
DEPENDENT
DEPNAME
SEX
PNUMM
PNAME
PLOCATION
SUVERVISE
BRITHDATE
NAME
WORKER
SSN
NAME
SSN
HOURS
Model Entity-Relationship
 Entity adalah obyek pada dunia nyata yang dapat
dibedakan satu dengan lainnya, yang bermanfaat bagi
aplikasi yang sedang dikembangkan
 Relationship adalah hubungan antara beberapa entitas
 Model Entity-Relationship adalah suatu representasi
logika dari data pada suatu organisasi atau area bisnis
tertentu dengan menggunakan Entity dan Relationship.
Nim
Nama
Mahasiswa
Atribute
Entity/Entitas
Nilai
No_Mk
Matakuliah
Mengambil
Relasi
Nama_MK
Model Data Relasional
 Model Data Relasional adalah model basis data
yang menggunakan sejumlah tabel untuk
mengambarkan data serta hubungan antara data-data
tersebut
 Setiap tabel memiliki sejumlah kolom dimana setiap
kolom memiliki nama yang unik.
 Setiap kolom dalam tabel-tabel mencerminkan
atribut-atribut entitas yang bersangkutan seperti pada
model Entity Relationship
 Model Data Relasional merupakan abstraksi data
pada tingkat yang lebih rendah (detil) dari ERD(Entity
Relationship Diagram). Oleh karena itu perancang
basis data umumnya menggunakan ERD terlebih
dahulu kemudian menterjemahkan ke dalam model
relasional
Contoh Model Relasional
Tabel Mahasiswa
Tabel Matakuliah
Nim
Nama
No_Mk
Nama_MK
SKS
0001.52.2007
Paijoe
111
Basis Data
3
0002.51.2007
Bedjoe
222
Delphi
2
Tabel Nilai
NIM
No_MK
Nilai
0001.52.2007
111
A
0001.52.2007
222
B
0002.51.2007
111
A
Sasaran Model Relasional
 Model basis data disebut relasional karena basis data
dibangun berdasarkan konsep relasi di matematika.
 Relasi di matematika menyatakan bahwa elemen-elemen
dari himpunan yang berbeda dapat saling berhubungan
 Sasaran/tujuan penerapan model rasional adalah
 Memungkinkan derajat ketidakbergantungan data
yang tinggi. Program aplikasi tidak dipengaruhi oleh
modifikasi representasi internal (perubahan
organisasi file & urutan rekord)
 Memberikan landasan semantik, konsistensi dan
ketiadaan redudansi data dengan proses Normalisasi
Relasi (proses penghindaran terhadap kelompok data
berulang/RG dan redudansi)
 Memungkinkan perluasan bahasa manipulasi data
menjadi berorientasi himpunan (Set Oriented Data
Manipulation Language)
Keunggulan Model Relasional
 Merupakan alat komunikasi yang bagus (mudah
dipahami) antara pemakai dan perancang basis data
 Memenuhi kriteria kebutuhan dasar dalam
perancangan basis data (adanya mekanisme
konsistensi data dan penghilangan redudansi data)
 Adanya kemandirian antara Data degan Program
Aplikasi
 Struktur data yang dipresentasikan dengan model
relasi dapat dikonversi ke RDBMS dan
diimplementasikan ke komputer secara langsung
 Model data relasional yang telah dikonversi &
diimplementasikan dengan RDBMS dapat digunakan
secara bersama (data sharing)
Istilah-Istilah Pada Model Relasional

Relasi



Atribut

Nama kolom pada relasi
Seluruh Atribut dalam Relasi saling berhubungan untuk
merepresentasikan sebuah Tupel yang lengkap
Derajat (Degree) Relasi adalah jumlah Atribut dalam sebuah Relasi



Himpunan nilai yang diijinkan dalam suatu Atribut
Setiap Atribut didefinisikan pada suatu Domain
Domain mendefinisikan nilai-nilai yang mungkin dimiliki oleh Atribut


Baris yang berisi kumpulan Atribut dalam sebuah Relasi
Tupel juga dikenal sebagai Rekord

Jumlah Tupel yang dikandung sebuah Relasi pada suatu saat





Tabel yang terdiri dari baris dan kolom
Himpunan dari Tupel, yang secara matematis urutan Tupel tidak
PENTING
Domain
Tupel
Kardinalitas Relasi
Operasi Dasar Basis Data
 Pembuatan Basis Data (Create Database)
 Penghapusan Basis Data (Drop Database)
 Pembuatan File/Table baru ke suatu basis data
(Create Table)
 Penghapusan File/Table dari suatu basis data
(Drop Table)
 Penambahan data baru ke suatu file/table di
sebuah basis data (insert)
 Pengambilan data dari sebuah file/table
(Retrieve/Search)
 Pengubahan data dari sebuah file/table (Update)
 Penghapusan data dari sebuah file/table (Delete)
Bahasa Basis Data
 Terdiri dari sejumlah perintah
(statement) yang diformulasikan dan
dapat diberikan oleh pengguna dan
dikenali/diproses oleh DBMS untuk
melakukan suatu aksi/pekerjaan
tertentu.
 Komponen Bahasa Basis Data
 Data Definition Language (DDL)
 Data Manipulation Language (DML)
Data Definition Language
 Digunakan untuk mespesifikasikan
struktur/skema basis data yang
menggambarkan desain basis data secara
keseluruhan.
 Hasil kompilasi perintah DDL adalah kamus
data File yang berisi metadata (data yang
mendeskripsikan data sesungguhnya)
 Struktur penyimpan dan metode akses yang
digunakan oleh sistem basis data disebut
dengan data storage and definition language
Data Manipulation Language (DML)
 Digunakan untuk memanipulasi basis data
 Bentuk manipulasi




Pencarian kembali data lama
Penyisipan data baru
Penghapusan data
Pengubahan data
 Jenis DML
 Prosedural
 Non Prosedural
Manajer Basis Data
 Modul program yang menyediakan
antarmuka (interface) antar penyimpanan
data low level dalam basis data dengan
program aplikasi dan query yang diterima
oleh sistem.
 Tugasnya:





Berinteraksi dengan manajer file
Pelaksanaan integrity
Pelaksanaan Keamanan
Backup dan recovery
Kontrol konkurensi
Administrator Basis Data
 Orang yang mempunyai wewenang
untuk mengendalikan sistem basis
data.
 Tugasnya:
 Mendefinisikan Skema
 Mendefinisikan Struktur penyimpanan dan
metode akses
 Memodifikasi skema dan organisasi fisik
 Menjamin otorisasi untuk mengakses data
 Menspesifikasikan integrity constraint
(Pembatas)
Struktur Sistem Manajemen Basis Data
 File Manager
 Mengatur alokasi penyimpanan
 Database Manager
 Menetapkan antarmuka
 Query Processor
 Menerjemahkan perintah query menjadi instruksi
yang dimengerti oleh database manager
 DML Precompiler
 Mengubah perintah DML menjadi bentuk perintah
normal
 DDL Compiler
 Mengubah perintah DDL menjadi tabel yang berisi
metadata
Download