Desain Database
M. Ainul Yaqin
Definisi Dasar
• Basis data : Sekumpulan data yang satu sama lain
saling berhubungan.
• Data : Fakta yang dapat disimpan dan
mempunyai arti yang implisit.
• Mini-world : beberapa bagian dari dunia nyata di
mana data disimpan dalam database
• DBMS : sebuah perangkat lunak / sistem untuk
memfasilitasi penciptaan dan pemeliharaan
database komputer
• Sistem database : DBMS beserta dengan data-
datanya.
Sifat-sifat Implisit Database
• Menyajikan sebagian dari dunia nyata.
• Sekumpulan data yang koheren secara
logika, dengan sejumlah arti yang inheren.
• Basis data perlu dirancang, dibuat dan
dipopulasikan dengan data untuk suatu
tujuan tertentu.
File dan Tabel
• File : Kumpulan semua kejadian dari
struktur record yang ditentukan
• Tabel : Ekivalensi database relasional dari
sebuah file
• Record : Kumpulan field yang disusun
dalam format yang telah ditetapkan
sebelumnya
Field
• Field : unit terkecil dari data yang berarti untuk
disimpan pada sebuah file atau database
• Primary key : field yang secara unik
mengidentifikasi record pada file
• Secondary key : sebuah field yang
mengidentifikasi record tunggal atau sebuah
subset dari record-record yang terkait
• Foreign key : field yang menunjuk pada record
file lain pada sebuah database
• Descriptive field : field non-key
Macam-macam File / Tabel
• Master file : tabel yang terdiri dari record yang
ditentukan
• Transaction file : tabel yang terdiri dari record-record
yang mendeskripsikan kejadian-kejadian bisnis
• Document file : tabel yang berisi data historis
• Archival file : tabel yang berisi record-record file master
dan transaksi yang telah dihapus dari penyimpanan online
• Table look-up file : tabel yang berisi data statis yang
dapat dipakai bersama
• Audit file : tabel yang berisi record-record pembaruan
untuk file-file lain.
Database
• Arsitektur data : definisi bagaimana file
dan database dikembangkan
• Operational database : database yang
mendukung operasi dan transaksi dari hari
ke hari pada sistem informasi. Disebut juga
transactional database
Arsitektur Data Modern
Data Warehouse
• Database yang menyimpan data yang
diekstraksi dari database operasional
Arsitektur DBMS
Lingkungan Database
(disederhanakan)
Fungsi DBMS
• MENDEFINISIKAN :
Melibatkan spesifikasi : type data, struktur, kendala
(constraint) dari data yang akan disimpan.
• MEMBANGUN :
Berkaitan dengan proses penyimpanan data itu sendiri
pada suatu media penyimpan yang dikontrol oleh DBMS.
• MEMANIPULASI :
Termasuk di dalamnya fungsi-fungsi sebagai “query”
terhadap basis data, misal : retrieve, update, generate
report.
Pengguna Langsung Database
• Database Administrator (DBA) : Orang yang
bertanggungjawab terhadap administrasi penggunaan
sumber daya basis data (basis data dan DBMS).
Bertugas :
– mengatur otorisasi akses terhadap basis data
– memonitor penggunaan basis data
– melayani permintaan s/w dan h/w
• Database Designer : Orang yang bertanggungjawab
dalam perancangan basis data (dalam memenuhi
permintaan user) :
– mengidentifikasi data yang akan disimpan dalam basis data
– memilih struktur yang sesuai dalam menyajikan dan menyimpan
data
End User Database
• Casual end users : mengakses basis data secara kadang-kadang
tetapi mungkin memerlukan informasi yang berbeda untuk
setiap kalinya. Menggunakan bahasa query yang rumit dalam
menspesifikasi query.
• Naive/Parametric end users : Biasanya secara berkala
melakukan query dan update basis data dengan menggunakan
jenis query dan update yang standar (transaksi yang telah
diprogram dan dites)
• Sophisticated end users : meliputi engineers, scientists dan
business analysists – yang telah mengenal dengan baik dan
menyeluruh mengenai fasilitas-fasilitas DBMS untuk
memenuhi kebutuhan-kebutuhan yang kompleks
• Stand-alone users : Mereka yang memelihara basis data
personal dengan menggunakan paket-paket program yang telah
dibuat dan menyediakan menu-menu yang mudah untuk
digunakan. Misal : user dari suatu “tax package”.
System Analyst & Application
Programmer
• System analyst bertugas mendefinisikan
kebutuhan-kebutuhan end user (khususnya
naive end user), dan mengembangkan
spesifikasi untuk transaksi-transaksi yang
memenuhi keinginannya.
• Applications programmers bertugas
mengimplementasikan spesifikasi menjadi
program (yang telah ditest secara intensif)
Orang-orang di Belakang Layar
• DBMS Designers and Implementers
Orang-orang yang merancang dan mengimplementasikan
modul-modul DBMS dan interfacenya sebagai satu paket
software.
• Tool Developers
Orang-orang yang mengembangkan paket-paket software
yang membrikan fasilitas dalam perancangan dan
penggunaan sistem basis data (misal : Paket-paket untuk
performance monitoring, GUI, prototyping, simulation,
dan lain sebagainya)
• Operators and Maintenance Personnel
Model Data
• Model data merupakan alat utama untuk
menyediakan abstraksi data.
• Model data merupakan konsep yang dapat
digunakan untuk menjelaskan struktur dari
basis data (type data, relasi dan constraint)
• Model data meliputi sejumlah operasi-
operasi dasar untuk menspesifikasikan
retrieval dan update dari basis data.
Kategori Model Data
• Model data tingkat tinggi
– menggunakan konsep seperti : entity, attribute dan
relationship
• Model data representasional /implementasi
– Paling banyak digunakan dalam DBMS komersial
– Termasuk dalam jenis ini adalah model data relasional,
jaringan dan hirarki.
– Data disajikan dengan menggunakan struktur record
(record-based data model)
• Model data fisik
– menjelaskan bagaimana data disimpan dalam komputer
(format-format : record, urutan-urutan record dan access
path)
Database Schema (Metadata)
• deskripsi dari basis data yang dibuat pada
saat perancangan dan diharapkan tidak
akan sering berubah
• model data mempunyai konvensi-konvensi
tertentu untuk menampilkan skema
(schema diagram). Diagram skema hanya
menampilkan beberapa aspek dari skema
basis data, yaitu : nama type record, item-
item data dan constraintnya.
Database Instance
• menyatakan nilai-nilai sebenarnya dari
skema basis data untuk suatu keadaan
(state) tertentu.
• “Database state” merupakan keadaan-
keadaan nilai yang ada pada setiap saat
dari database schema yang selalu harus
valid (memenuhi constraint yang telah
ditentukan).
• Internal level (internal achema)
– menjelaskan struktur penyimpanan fisik dari basis
data
– menggunakan model data fisik
• Conceptual Level (conceptual schema)
– menjelaskan struktur dari keseluruhan basis data
untuk dipakai oleh satu komunitas user.
– Model data tingkat tinggi atau model data
implementasi dapat digunakan pada level ini.
• External atau View Level (external schema atau
user view)
– menjelaskan sebagian basis data yang menjadi
“interest” dari sekelompok user tertentu
– model data tingkat tinggi (atau implementasi) dapat
digunakan pada level ini.
Data Independence
• Arsitektur Three-schema dapat digunakan
untuk menjelaskan konsep ‘kebebasan
data’ yang dapat didefinisikan sebagai :
Kemampuan untuk merubah skema pada suatu level
dari sistem basis data tanpa harus menyebabkan
perubahan dari skema pada tingkat-tingkat yang lebih
tinggi.
Jenis Data Independence
• Logical Data Independence :
– kemampuan untuk merubah skema konseptual tanpa harus
merubah skema eksternal.
– Hanya definisi dari view dan mapping yang perlu diubah
dalam DBMS
– Constraint dari basis data juga dapat diubah dalam skema
konseptual tanpa mempengaruhi skema eksternal.
• Physical Data Independence :
– kemampuan untuk merubah skema internal tanpa harus
merubah skema konseptual (atau eksternal).
– Perubahan-perubahan terhadap skema internal mungkin
diperlukan karena file-file fisik yang harus diorganisasikan
kembali. Misal : membuat struktur akses tambahan untuk
menambah kinerja dalam retrieval/updating
Bahasa Interface Database
• Digunakan untuk membuat spesifikasi skema konseptual dan
internal, dan mapping antara keduanya.
• DDL (Data Definition Language) dapat digunakan untuk
menspesifikasikan kedua skema diatas, jika dalam DBMS
tidak ada pemisahan yang ketat antara kedua level tersebut.
• DDL hanya dugunakan untuk menspesifikasi skema
konseptual, jika DBMS mempunyau pemisahan yang jelas.
• Untuk mapping antara keduanya dapat digunakan VDL (View
Definition Language) untuk menspesifikasikan user view dan
mappingnya menjadi skema konseptual.
• DML (Data Manipulation Language) digunakan untuk
melakukan manipulasi data (setelah dilakukan proses
kompilasi skema konseptual).
• SQL (Structured Query Language) merupakan contoh bahasa
yang digunakan untuk manipulasi basis data relasional, yang
mengintegrasikan DDL, VDL dan DML.

Desain database

  • 1.
  • 2.
    Definisi Dasar • Basisdata : Sekumpulan data yang satu sama lain saling berhubungan. • Data : Fakta yang dapat disimpan dan mempunyai arti yang implisit. • Mini-world : beberapa bagian dari dunia nyata di mana data disimpan dalam database • DBMS : sebuah perangkat lunak / sistem untuk memfasilitasi penciptaan dan pemeliharaan database komputer • Sistem database : DBMS beserta dengan data- datanya.
  • 3.
    Sifat-sifat Implisit Database •Menyajikan sebagian dari dunia nyata. • Sekumpulan data yang koheren secara logika, dengan sejumlah arti yang inheren. • Basis data perlu dirancang, dibuat dan dipopulasikan dengan data untuk suatu tujuan tertentu.
  • 4.
    File dan Tabel •File : Kumpulan semua kejadian dari struktur record yang ditentukan • Tabel : Ekivalensi database relasional dari sebuah file • Record : Kumpulan field yang disusun dalam format yang telah ditetapkan sebelumnya
  • 5.
    Field • Field :unit terkecil dari data yang berarti untuk disimpan pada sebuah file atau database • Primary key : field yang secara unik mengidentifikasi record pada file • Secondary key : sebuah field yang mengidentifikasi record tunggal atau sebuah subset dari record-record yang terkait • Foreign key : field yang menunjuk pada record file lain pada sebuah database • Descriptive field : field non-key
  • 6.
    Macam-macam File /Tabel • Master file : tabel yang terdiri dari record yang ditentukan • Transaction file : tabel yang terdiri dari record-record yang mendeskripsikan kejadian-kejadian bisnis • Document file : tabel yang berisi data historis • Archival file : tabel yang berisi record-record file master dan transaksi yang telah dihapus dari penyimpanan online • Table look-up file : tabel yang berisi data statis yang dapat dipakai bersama • Audit file : tabel yang berisi record-record pembaruan untuk file-file lain.
  • 7.
    Database • Arsitektur data: definisi bagaimana file dan database dikembangkan • Operational database : database yang mendukung operasi dan transaksi dari hari ke hari pada sistem informasi. Disebut juga transactional database
  • 8.
  • 9.
    Data Warehouse • Databaseyang menyimpan data yang diekstraksi dari database operasional
  • 10.
  • 11.
  • 12.
    Fungsi DBMS • MENDEFINISIKAN: Melibatkan spesifikasi : type data, struktur, kendala (constraint) dari data yang akan disimpan. • MEMBANGUN : Berkaitan dengan proses penyimpanan data itu sendiri pada suatu media penyimpan yang dikontrol oleh DBMS. • MEMANIPULASI : Termasuk di dalamnya fungsi-fungsi sebagai “query” terhadap basis data, misal : retrieve, update, generate report.
  • 13.
    Pengguna Langsung Database •Database Administrator (DBA) : Orang yang bertanggungjawab terhadap administrasi penggunaan sumber daya basis data (basis data dan DBMS). Bertugas : – mengatur otorisasi akses terhadap basis data – memonitor penggunaan basis data – melayani permintaan s/w dan h/w • Database Designer : Orang yang bertanggungjawab dalam perancangan basis data (dalam memenuhi permintaan user) : – mengidentifikasi data yang akan disimpan dalam basis data – memilih struktur yang sesuai dalam menyajikan dan menyimpan data
  • 14.
    End User Database •Casual end users : mengakses basis data secara kadang-kadang tetapi mungkin memerlukan informasi yang berbeda untuk setiap kalinya. Menggunakan bahasa query yang rumit dalam menspesifikasi query. • Naive/Parametric end users : Biasanya secara berkala melakukan query dan update basis data dengan menggunakan jenis query dan update yang standar (transaksi yang telah diprogram dan dites) • Sophisticated end users : meliputi engineers, scientists dan business analysists – yang telah mengenal dengan baik dan menyeluruh mengenai fasilitas-fasilitas DBMS untuk memenuhi kebutuhan-kebutuhan yang kompleks • Stand-alone users : Mereka yang memelihara basis data personal dengan menggunakan paket-paket program yang telah dibuat dan menyediakan menu-menu yang mudah untuk digunakan. Misal : user dari suatu “tax package”.
  • 15.
    System Analyst &Application Programmer • System analyst bertugas mendefinisikan kebutuhan-kebutuhan end user (khususnya naive end user), dan mengembangkan spesifikasi untuk transaksi-transaksi yang memenuhi keinginannya. • Applications programmers bertugas mengimplementasikan spesifikasi menjadi program (yang telah ditest secara intensif)
  • 16.
    Orang-orang di BelakangLayar • DBMS Designers and Implementers Orang-orang yang merancang dan mengimplementasikan modul-modul DBMS dan interfacenya sebagai satu paket software. • Tool Developers Orang-orang yang mengembangkan paket-paket software yang membrikan fasilitas dalam perancangan dan penggunaan sistem basis data (misal : Paket-paket untuk performance monitoring, GUI, prototyping, simulation, dan lain sebagainya) • Operators and Maintenance Personnel
  • 17.
    Model Data • Modeldata merupakan alat utama untuk menyediakan abstraksi data. • Model data merupakan konsep yang dapat digunakan untuk menjelaskan struktur dari basis data (type data, relasi dan constraint) • Model data meliputi sejumlah operasi- operasi dasar untuk menspesifikasikan retrieval dan update dari basis data.
  • 18.
    Kategori Model Data •Model data tingkat tinggi – menggunakan konsep seperti : entity, attribute dan relationship • Model data representasional /implementasi – Paling banyak digunakan dalam DBMS komersial – Termasuk dalam jenis ini adalah model data relasional, jaringan dan hirarki. – Data disajikan dengan menggunakan struktur record (record-based data model) • Model data fisik – menjelaskan bagaimana data disimpan dalam komputer (format-format : record, urutan-urutan record dan access path)
  • 19.
    Database Schema (Metadata) •deskripsi dari basis data yang dibuat pada saat perancangan dan diharapkan tidak akan sering berubah • model data mempunyai konvensi-konvensi tertentu untuk menampilkan skema (schema diagram). Diagram skema hanya menampilkan beberapa aspek dari skema basis data, yaitu : nama type record, item- item data dan constraintnya.
  • 20.
    Database Instance • menyatakannilai-nilai sebenarnya dari skema basis data untuk suatu keadaan (state) tertentu. • “Database state” merupakan keadaan- keadaan nilai yang ada pada setiap saat dari database schema yang selalu harus valid (memenuhi constraint yang telah ditentukan).
  • 22.
    • Internal level(internal achema) – menjelaskan struktur penyimpanan fisik dari basis data – menggunakan model data fisik • Conceptual Level (conceptual schema) – menjelaskan struktur dari keseluruhan basis data untuk dipakai oleh satu komunitas user. – Model data tingkat tinggi atau model data implementasi dapat digunakan pada level ini. • External atau View Level (external schema atau user view) – menjelaskan sebagian basis data yang menjadi “interest” dari sekelompok user tertentu – model data tingkat tinggi (atau implementasi) dapat digunakan pada level ini.
  • 23.
    Data Independence • ArsitekturThree-schema dapat digunakan untuk menjelaskan konsep ‘kebebasan data’ yang dapat didefinisikan sebagai : Kemampuan untuk merubah skema pada suatu level dari sistem basis data tanpa harus menyebabkan perubahan dari skema pada tingkat-tingkat yang lebih tinggi.
  • 24.
    Jenis Data Independence •Logical Data Independence : – kemampuan untuk merubah skema konseptual tanpa harus merubah skema eksternal. – Hanya definisi dari view dan mapping yang perlu diubah dalam DBMS – Constraint dari basis data juga dapat diubah dalam skema konseptual tanpa mempengaruhi skema eksternal. • Physical Data Independence : – kemampuan untuk merubah skema internal tanpa harus merubah skema konseptual (atau eksternal). – Perubahan-perubahan terhadap skema internal mungkin diperlukan karena file-file fisik yang harus diorganisasikan kembali. Misal : membuat struktur akses tambahan untuk menambah kinerja dalam retrieval/updating
  • 25.
    Bahasa Interface Database •Digunakan untuk membuat spesifikasi skema konseptual dan internal, dan mapping antara keduanya. • DDL (Data Definition Language) dapat digunakan untuk menspesifikasikan kedua skema diatas, jika dalam DBMS tidak ada pemisahan yang ketat antara kedua level tersebut. • DDL hanya dugunakan untuk menspesifikasi skema konseptual, jika DBMS mempunyau pemisahan yang jelas. • Untuk mapping antara keduanya dapat digunakan VDL (View Definition Language) untuk menspesifikasikan user view dan mappingnya menjadi skema konseptual. • DML (Data Manipulation Language) digunakan untuk melakukan manipulasi data (setelah dilakukan proses kompilasi skema konseptual). • SQL (Structured Query Language) merupakan contoh bahasa yang digunakan untuk manipulasi basis data relasional, yang mengintegrasikan DDL, VDL dan DML.