0
Model Relasional, Skema Database Beserta Contohnya
Posted by jujur
on
8:19 PM
1. Pendahuluan
Model relasional merupakan model data yang saat ini banyak digunakan para pengembang sistem. Model ini memudahkan programmer membuat aplikasi atau perangkat lunak, selain bentuknya yang sederhana, model ini juga mudah dipahami jika dibandingkan dengan model data lainnya seperti network model atau hirarki model.
Database relasional terdiri dari beberapa tabel dimana setiap tabel memiliki nama yang unik atau tidak sama satu sama lainnya. Baris dalam tabel merepresentasikan sebuah keterhubungan dari beberapa nilai yang ada.
Contoh model relasional:
Mahasiswa
Mata Kuliah
Nilai
Contoh
di atas merupakan model relasional akademik sederhana, dimana terdapat 3
tabel: Mahasiswa, Mata Kuliah dan Nilai. Masing-masing tabel memiliki
nilai yang berbeda. Keterhubungan antara tabel Mahasiswa dan Mata Kuliah
terdapat pada tabel Nilai dimana terdapat NPM yang berasal dari tabel
Mahasiswa dan Kode_MK yang berasal dari tabel Mata Kuliah.
2. Skema Database
Ketika berbicara tentang database, kita harus dapat membedakan antara skema database dan contoh database. Pada bagian pendahuluan bukan merupakan skema database, melainkan contoh database yang berisi snapshot atau cuplikan sebagian data pada database yang diberikan secara instan untuk menggambarkan database tersebut.
Secara umum skema database berisi list dari atribut pada domain tertentu. Sebagai contoh terdapat sebuah tabel Mahasiswa yang digambarkan pada tabel berikut.
Mahasiswa
Skema database untuk relasi Mahasiswa di atas adalah:
Untuk membedakan tiap tuple yang terdapat dalam sebuah relasi tabel tentunya kita harus memiliki sebuah kunci yang membedakan satu tuple dengan tuple yang lain. Keys tersebut harus bersifat unik. Terdapat beberapa istilah pada Keys, yaitu Superkey, Candidate Keys, Primary Key dan Foregin Key.
Superkey adalah adalah sekumpulan atribut yang secara unik mengidentifikasi sebuah tupel dalam tabel relasi. Berdasarkan contoh tabel Mahasiswa sebelumnya, superkey yang mungkin adalah (NPM), (NPM, Nama), (NPM, Alamat), (Nama, Alamat), dan (NPM, Nama, Alamat).
Candidate Keys adalah gabungan dari superkey yang jika dimungkin bergabung dapat membuat sesuatu yang unik. Berdasarkan contoh superkey sebelumnya, candidate key yang mungkin adalah (NPM) dan (Nama, Alamat). Atribut Nama dan Alamat dapat dijadikan candidate key jika kombinasi keduanya bisa menjadi pengidentifikasi yang unik untuk sebuah tabel relasi.
Primary Key adalah candidate key yang dipilih sebagai pengidentifikasi unik sebuah tabel relasi. Berdasarkan contoh candidate key sebelumnya, primary key yang dipilih adalah (NPM), karena nilai NPM sangat unik dan tidak ada 2 mahasiswa yang memiliki NPM yang sama.
Foreign Key adalah atribut yang berada pada sebuah tabel relasi yang merupakan primary key dari tabel relasi lain. Sebagai contoh pada tabel Nilai terdapat NPM atau Kode_MK. Kode_MK dapat dikatakan sebagai foreign key karena Kode_MK merupakan primary key dari tabel relasi Mata Kuliah.
4. Skema Diagram
Skema database yang memiliki relasi satu sama lain dan di dalamnya terdapat primary key dan foreign key bisa digambarkan dengan Skema Diagram. Salah satu contoh skema diagram dapat dilihat pada gambar berikut.
Contoh skema diagram di atas berisi informasi setiap tabel yang memiliki primary key dan foreign key tertentu yang kemudian saling berhubungan satu sama lain sehingga membentuk sebuah skema basis data yang lengkap.
5. Bahasa Query
Bahasa query adalah bahasa yang digunakan untuk menerjemahkan informasi yang diminta oleh user dari database. Bahasa query dapat dibedakan menjadi 2 janis: prosedural dan non-prosedural. Pada bahasa query prosedural, user menginstruksikan sistem untuk menjalankan operasi secara sekuensial untuk mendapatkan hasil yang diinginkan. Sedangkan bahasa query non-prosedural, user hanya mendeskripsikan informasi yang diinginkan tanpa memberikan prosedurnya secara spesifik untuk mendapatkan informasi tersebut.
6. Operasi Relasional
Operasi relasional adalah operasi yang digunakan untuk menampilkan data yang diinginkan oleh user. Operasi ini menggunakan bahasa query. Misalkan user ingin menampilkan mahasiswa yang beragama Islam, maka akan tampil data:
Mahasiswa
Dalam
operasi relasional juga terdapat istilah join, yaitu menggabungkan 2
tabel atau lebih ke dalam satu perintah query untuk menghasilkan
informasi tertentu. Selain itu, terdapat juga istilah natural join yang
berarti gabungan dari 2 tabel atau lebih yang memiliki kesamaan tertentu
namun antara kedua tabel tersebut semua atribut diseleksi atau
ditampilkan. Contohnya kita akan melakukan seleksi tabel mahasiswa
beserta nilainya yang mengambil mata kuliah tertentu.
Model relasional merupakan model data yang saat ini banyak digunakan para pengembang sistem. Model ini memudahkan programmer membuat aplikasi atau perangkat lunak, selain bentuknya yang sederhana, model ini juga mudah dipahami jika dibandingkan dengan model data lainnya seperti network model atau hirarki model.
Database relasional terdiri dari beberapa tabel dimana setiap tabel memiliki nama yang unik atau tidak sama satu sama lainnya. Baris dalam tabel merepresentasikan sebuah keterhubungan dari beberapa nilai yang ada.
Contoh model relasional:
Mahasiswa
NPM
|
Nama
|
Alamat
|
Agama
|
23513084 | M. Iqbal Parabi | Lampung | Islam |
23513085 | Ozvari Arsalan | Baturaja | Kristen |
23513086 | Blasius Neri | Yogyakarta | Kristen |
23513087 | Ridho | Jakarta | Budha |
23513088 | Kanda Januar | Palembang | Hindu |
23513089 | Andi | Bandung | Kristen |
23513090 | Irwan | Pontianak | Kristen |
Kode_MK
|
Mata_Kuliah
|
SKS
|
IF0354 | Manajemen Informasi |
3
|
IF0987 | Algoritma dan Pemrograman |
2
|
IF0433 | Secure SDLC |
2
|
IF0556 | Pengenalan Pola |
2
|
NPM
|
Kode_MK
|
MID
|
UAS
|
23513084 | IF0354 |
60
|
80
|
23513087 | IF0987 |
70
|
70
|
23513088 | IF0987 |
70
|
70
|
23513090 | IF0556 |
80
|
90
|
2. Skema Database
Ketika berbicara tentang database, kita harus dapat membedakan antara skema database dan contoh database. Pada bagian pendahuluan bukan merupakan skema database, melainkan contoh database yang berisi snapshot atau cuplikan sebagian data pada database yang diberikan secara instan untuk menggambarkan database tersebut.
Secara umum skema database berisi list dari atribut pada domain tertentu. Sebagai contoh terdapat sebuah tabel Mahasiswa yang digambarkan pada tabel berikut.
Mahasiswa
NPM
|
Nama
|
Alamat
|
Agama
|
23513084 | M. Iqbal Parabi | Lampung | Islam |
23513085 | Ozvari Arsalan | Baturaja | Kristen |
23513086 | Blasius Neri | Yogyakarta | Kristen |
23513087 | Ridho | Jakarta | Budha |
23513088 | Kanda Januar | Palembang | Hindu |
23513089 | Andi | Bandung | Kristen |
23513090 | Irwan | Pontianak | Kristen |
Mahasiswa (NPM, Nama, Alamat, Agama)
3. KeysUntuk membedakan tiap tuple yang terdapat dalam sebuah relasi tabel tentunya kita harus memiliki sebuah kunci yang membedakan satu tuple dengan tuple yang lain. Keys tersebut harus bersifat unik. Terdapat beberapa istilah pada Keys, yaitu Superkey, Candidate Keys, Primary Key dan Foregin Key.
Superkey adalah adalah sekumpulan atribut yang secara unik mengidentifikasi sebuah tupel dalam tabel relasi. Berdasarkan contoh tabel Mahasiswa sebelumnya, superkey yang mungkin adalah (NPM), (NPM, Nama), (NPM, Alamat), (Nama, Alamat), dan (NPM, Nama, Alamat).
Candidate Keys adalah gabungan dari superkey yang jika dimungkin bergabung dapat membuat sesuatu yang unik. Berdasarkan contoh superkey sebelumnya, candidate key yang mungkin adalah (NPM) dan (Nama, Alamat). Atribut Nama dan Alamat dapat dijadikan candidate key jika kombinasi keduanya bisa menjadi pengidentifikasi yang unik untuk sebuah tabel relasi.
Primary Key adalah candidate key yang dipilih sebagai pengidentifikasi unik sebuah tabel relasi. Berdasarkan contoh candidate key sebelumnya, primary key yang dipilih adalah (NPM), karena nilai NPM sangat unik dan tidak ada 2 mahasiswa yang memiliki NPM yang sama.
Foreign Key adalah atribut yang berada pada sebuah tabel relasi yang merupakan primary key dari tabel relasi lain. Sebagai contoh pada tabel Nilai terdapat NPM atau Kode_MK. Kode_MK dapat dikatakan sebagai foreign key karena Kode_MK merupakan primary key dari tabel relasi Mata Kuliah.
4. Skema Diagram
Skema database yang memiliki relasi satu sama lain dan di dalamnya terdapat primary key dan foreign key bisa digambarkan dengan Skema Diagram. Salah satu contoh skema diagram dapat dilihat pada gambar berikut.
Contoh skema diagram di atas berisi informasi setiap tabel yang memiliki primary key dan foreign key tertentu yang kemudian saling berhubungan satu sama lain sehingga membentuk sebuah skema basis data yang lengkap.
5. Bahasa Query
Bahasa query adalah bahasa yang digunakan untuk menerjemahkan informasi yang diminta oleh user dari database. Bahasa query dapat dibedakan menjadi 2 janis: prosedural dan non-prosedural. Pada bahasa query prosedural, user menginstruksikan sistem untuk menjalankan operasi secara sekuensial untuk mendapatkan hasil yang diinginkan. Sedangkan bahasa query non-prosedural, user hanya mendeskripsikan informasi yang diinginkan tanpa memberikan prosedurnya secara spesifik untuk mendapatkan informasi tersebut.
6. Operasi Relasional
Operasi relasional adalah operasi yang digunakan untuk menampilkan data yang diinginkan oleh user. Operasi ini menggunakan bahasa query. Misalkan user ingin menampilkan mahasiswa yang beragama Islam, maka akan tampil data:
Mahasiswa
NPM
|
Nama
|
Alamat
|
Agama
|
23513084 | M. Iqbal Parabi | Lampung | Islam |
23513085 | Ozvari Arsalan | Baturaja | Kristen |
23513087 | Ridho | Jakarta | Budha |
23513088 | Kanda Januar | Palembang | Hindu |
NPM
|
Nama
|
Alamat
|
Agama
|
Kode_MK
|
MID
|
UAS
|
23513087 | Ridho | Jakarta | Budha | IF0987 |
70
|
70
|
23513088 | Kanda Januar | Palembang | Hindu | IF0987 |
70
|
70
|