0% menganggap dokumen ini bermanfaat (0 suara)
41 tayangan16 halaman

Jenis-Jenis Kunci dalam Database Relasional

DBMS memiliki keunggulan dalam menghindari kekacauan data dan mengelola akses data oleh banyak pengguna secara bersamaan. Namun, DBMS juga memiliki kelemahan seperti ketergantungan pada perangkat lunak dan kebutuhan sumber daya tinggi.

Diunggah oleh

Nasywa Alya
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
41 tayangan16 halaman

Jenis-Jenis Kunci dalam Database Relasional

DBMS memiliki keunggulan dalam menghindari kekacauan data dan mengelola akses data oleh banyak pengguna secara bersamaan. Namun, DBMS juga memiliki kelemahan seperti ketergantungan pada perangkat lunak dan kebutuhan sumber daya tinggi.

Diunggah oleh

Nasywa Alya
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

TUGAS SISTEM DATA

Nama : AKMAL GHIFARI


Nim : 41523110041
1
JENIS JENIS KEY

- Primary Key
Kunci primer adalah suatu atribut atau satu set minimal atribut yang tidak hanya mendefinisikan
secara unik suatu kejadian spesifik tetapi juga dapat mewakili setiap kejadian dari suatu kejadian.
Nilai field yang menjadi primary key harus: - Unik atau tidak boleh ganda - Tidak boleh Null (kosong,
tidak diketahui, tidak dapat ditentukan) - Key tersebut lebih natural untuk dijadikan acuan database
tanpa data apapun yang asing. Setiap tabel dapat memiliki satu atau lebih candidate key. Key boleh
terdiri lebih dari satu field Key yang terdiri lebih dari satu kolom seperti ini disebut Composite Key.

1. Contoh Primer Key

File Pegawai Berisi Attribute

1. No Induk
2. No Ktp
3. Nama
4. Tempat Lahir
5. Tanggal Lahir
6. Alamat
7. Kota
- Secondary Key
Secondary Key adalah kunci sekunder, atau kunci tambahan, yang dapat digunakan selain kunci
utama untuk menemukan data tertentu.
Contoh Secondary Key adalah ketika sebuah tabel basis data memiliki dua atribut bernilai sama -
sama unik, maka salah satunya bisa disebut primary key dan satunya disebut secondary key. Misalkan
sebuah tabel mahasiswa memiliki atribut NIM, Nama, Alamat, Jurusan, No KTP, dll. Setelah NIM
menjadi Primary Key maka, No KTP adalah Kunci Sekunder (Secondary Key) atau Alternative key.
Oleh karena contoh diatas, atribut kunci golongan Secondary Key ini juga disebut dengan kunci
alternatif (alternative Key).

- Candidat Key
Candidat Key adalah suatu atribut atau satu set minimal atribut yang hanya mengidentifikasikan
secara unik untuk suatu kejadian spesifik dari entitas.
Candidate key ini harus memenuhi syarat sebagai berikut :
- Unique Identifier, untuk setiap row/tuple candidate key harus secara unik dapat menjadi identifier.
Artinya, setiap non candidate key atribut secara fungsional bergantung pada candidate tersebut.
- Non Redudancy, tidak ada duplikasi candidate key untuk menjadi unique identifier, dimana tidak
dapat dilakukan penghapusan pada candidate key dimana tidak merusak sifat unique identifier.
Contoh dari candidate key adalah:
File pegawai berisi attribute

- No Induk
- No ktp
- Nama
- Tempat lahir
- Tanggal lahir
- Alamat
- Kota Kunci kandidat disini adalah:
- No induk
- No ktp
- Alternatif Key

Pengertian kunci alternatif (Alternate-key) merupakan kunci kandidat yang berisi semua nilai dari
kunci kandidat tetapi merupakan opsi pilihan di antara dua atau beberapa kandidat dan bukan kunci
primer. 

Dalam beberapa istilah kunci alternatif (Alternate-key) juga disebut dengan kunci sekunder
(secondary-key) .Kunci alternatif atau kunci sekunder digunakan sistem untuk mengidentifikasi
bahwasanya beberapa data dari metadata sebuah objek itu merupakan  pondasi-pondasi relasi unik
pada  kolom-kolom suatu tabel basis data.

Kunci Alternatif (Alternate-key) juga merupakan kunci kandidat dan  kunci primer, mengapa
demikian?... Perhatikan gambar contoh ilustrasi kunci alternatif (alternate-key). Dari Gambar  tersebut
dapat diketahui bahwa, ketika dalam sebuah kasus ditemukan lebih dari satu kunci kandidat
(candidate-key) kemudian salah satunya dijadikan kunci primer (primary-key), maka sisa daripada itu
dikatakan kunci alternatif (alternate-key).
- Composite Key
Di dalam sebuah desain database, composite key merupakan sebuah kunci yang di dalamnya terdiri
dari dua atau lebih atrbut. Atribut-atribut tersebut akan secara unik melakukan identifikasi terhadap
sebuah kejadian entitas.
Setiap atribut yang nantinya akan membentuk kunci utama merupakan kunci sederhana.

Contoh Composite key :


suatu entitas yang mewakili masing-masing modul siswa hadir di Universitas. entitas ini memiliki nim
dan kode_matakuliah sebagai kunci utama. Setiap atribut yang membentuk kunci utama adalah kunci
sederhana karena masing-masing merupakan referensi unik ketika mengidentifikasi siswa dalam satu
kasus dan modul yang lain.
Sebaliknya, dengan menggunakan contoh yang sama, bayangkan kita mengidentifikasi seorang
mahasiswa oleh NamaBelakang + NamaDepan mereka. Di tabel siswa tersebut pada modul kunci
utama yaitu NamaDepan + NamaBelakang + kode_matakuliah. Karena NamaBelakang + NamaDepan
merupakan referensi unik untuk mahasiswa, itu bukanlah sebuah kunci sederhana, itu adalah
kombinasi dari atribut yang digunakan untuk secara unik mengidentifikasi seorang mahasiswa. Oleh
karena itu kunci utama untuk entitas ini adalah kunci komposit.
- Foreign Key

Foreign key adalah suatu grup atau kolom pada tabel yang dapat menghubungkan 2 atau lebih
database yang berbeda.

Dalam relational database, foreign key digunakan untuk merujuk pada primary key atau yang biasa
disebut sebagai table master.

Pada gambar diatas, nim pada table mhs adalah primary key. Sedangkan primary key pada table
matkul adalah id mata kuliah. Lalu id_matkul menempel pada table mhs yang kita sebut sebagai
foreign key.

Biasanya disebut table yang berisi foreign key sebagai table anak karena table tersebut mengait pada
table lain. Sedangkan table yang terkait saya sebut sebagai table induk. Pada contoh table di atas, mhs
sebagai table anak sedangkan matkul sebagai table induk.
2
PERBEDAAN RELATIONAL DATA BASE
DAN
NON RELATIONAL DATA BASE

Apa Itu Database Relasional?

Didefinisikan oleh EF Codd pada tahun 1970, database relasional adalah database digital yang
didasarkan pada model data relasional. Data disimpan dalam tabel yang berisi baris (yang mewakili
entri) dan kolom (yang menyimpan dan mengurutkan jenis informasi tertentu). Singkatnya, database
relasional digunakan untuk menyimpan data yang terstruktur ke dalam tabel. Beberapa tabel juga
dapat berisi kolom yang sama. Pikirkan database relasional seperti spreadsheet. Mereka juga dikenal
sebagai database SQL karena mereka menggunakan SQL (Structured Query Language) atau versi
sejenisnya. SQL digunakan untuk membuat kueri, memperbarui, mengedit, atau menghapus data, atau
menarik hasil dari kueri ke database. Kelebihan Dan Kekurang.
KELEBIHAN DAN KEKURANGAN DATABASE RELASIONAL

Kelebihan:

Dapat menangani banyak kueri kompleks, transaksi database, dan analisis data rutin. ACID (Atomity,
Consistency, Isolation, Durability): Kumpulan properti yang memastikan transaksi database yang
andal.

Kekurangan:

Tidak dapat menyimpan gambar, angka, desain, dan produk multimedia yang kompleks atau sangat
besar Bisa menjadi sangat mahal dengan pemeliharaan dan server baru.

Contoh Database Relasional

- MySQL

- PostgreSQL

- SQLite3

- Server MSSQL

- MariaDB
Apa Itu Database Non-Relasional?

Database non-relasional ada pada akhir 1960-an, tetapi istilah itu tidak digunakan sampai 1998 oleh
Carlo Strozzi yang memimpin pengembangan NoSQL. Database non-relasional lebih seperti dokumen
Word. Daripada menggunakan tata letak terstruktur berbasis tabel untuk datanya, database non-
relasional menyimpan data dalam koleksi tergantung pada jenis datanya. Mereka juga dikenal sebagai
database NoSQL, atau ‘tidak hanya SQL’, karena mereka dapat menggunakan bahasa kueri lain
bergantung pada tata letaknya. Sedangkan tabel dalam database relasional perlu disimpan dalam tata
letak kolom / baris, database non-relasional menyimpan data dengan cara yang berbeda, dalam format
non-standar.

Kelebihan Dan Kekurangan Database Non-Relasional

Kelebihan: Data terstruktur, semi-terstruktur, dan tidak terstruktur dalam jumlah besarPemrograman
berorientasi objek yang mudah digunakan dan fleksibelArsitektur berskala besar yang efisien, bukan
arsitektur monolitik yang mahal.
Kekurangan: Lebih sedikit dukungan karena database NoSQL biasanya open-sourceDalam segi
administrasi database NoSQL membutuhkan keterampilan teknis untuk menginstal dan
memelihara.Database NoSQL masih berkembang dan banyak fitur masih diterapkan.
CONTOH DATABASE NON RELASIONAL

- Redis
- Cassandra
- MongoDB

Perbedaan Database Relasional Dan Non Relasional


Perbedaan utama antara keduanya adalah database relasional menggunakan SQL, yaitu Structured
Query Language sebagai bahasa pemrograman standar untuk mengelola database relasional serta
untuk melakukan berbagai operasi pada data di dalamnya.
Sedangkan, database non-relasional biasanya tidak menggunakan hubungan tabular untuk
penyimpanan dan pengambilan data yang umum dalam database relasional. Sebaliknya mereka
berbasis dokumen yang menyimpan pasangan nilai kunci, database grafik atau kolom. Database non-
relasional difokuskan terutama pada pengumpulan dokumen. Hal ini karena jenis database ini ideal
digunakan untuk menyimpan set data besar yang biasanya disimpan dalam dokumen JSON.
3
KEUNGGULAN DAN KELEMAHAN DBMS

DBMS (Database Management System)


adalah suatu sistem atau software yang dirancang khusus untuk mengelola suatu database dan
menjalankan operasi terhadap data yang diminta oleh banyak pengguna.
Tujuan utama penggunaan DBMS dalam jaringan komputer yaitu untuk menghindari kekacauan
dalam mengolah data yang jumlah besar. DBMS merupakan perantara antara pengguna dan database
dan agar bisa berinteraksi dengan DBMS maka pengguna harus memakai bahasa database yang sudah
ditentukan. Ada 2 bahasa bahasa komputer yang dapat digunakan dalam berinteraksi dengan DBMS,
yaitu:
Data Definition Language (DDL); yaitu bahasa komputer yang digunakan untuk menggambarkan
desain dari basis data secara keseluruhan, mulai dari membuat tabel baru, memuat indeks, maupun
mengubah tabel. Data Manipulation Language (DML); yaitu bahasa komputer yang digunakan untuk
memanipulasi dan mengambil data dari database, menghapus data dari database, dan mengubah data
pada suatu database.
Kelebihan dan Kekurangan DBMS

Kelebihan DBMS, diantaranya yaitu:

- Dapat mengendalikan pengulangan data.


- Memberikan data yang konsisten.
- Kemampuan mendapatkan informasi yang lebih banyak dan jumlah data yang sama.
- Pengguna dapat menggunakan data secara bersama-sama.
- Memperbaiki integritas data.
- Menjaga keamanan.
- Membantu penetapan standarisasi.
- Perbandingan skala ekonomi.
- Dapat menyeimbangkan konflik kebutuhan.
- Mempercepat akses dan respon data.
- Mempercepat produktifitas.
- Meningkatkan pemeliharaan data melalui data independen.
- Meningkatkan konkurensi.
- Meningkatkan layanan backup dan recovery.

Kekurangan DBMS, diantaranya yaitu:

- Penggunaannya cukup kompleks.


- Kompleksitas DBMS mengakibatkan ukurannya yang besar.
- Biaya DBMS tidak sama tergantung pada lingkungan dan fungsi yang disediakan.
- Ada tambahan biaya untuk hardware.
- Dibutuhkan biaya konversi untuk penggunaan DBMS baru.
- Umumnya performa kinerja menurun seiring waktu.
- Performa yang menurun mengakibatkan kegagalan yang lebih besar.
CONTOH DBMS

MySQL
MySQL adalah sistem manajemen database relasional berbasis SQL dan arsitektur client-server.  
Ini adalah salah satu DBMS yang paling banyak digunakan, karena kompatibel dengan banyak
platform komputasi seperti distribusi Linux, Windows, dan macOS. MySQL juga mendukung C,
C++, Java, Perl, PHP, Python, dan Ruby. Karena merupakan salah satu RDBMS, MySQL
menggunakan format tabel untuk mengatur data dan menjaga relasi antar-elemen.

MySQL bersifat open-source sehingga siapa pun bisa mengubah, mendistribusikan, dan
memublikasikannya sesuai dengan ketentuan General Public License (GNU). Tapi, Anda perlu
membeli versi berlisensi untuk mengintegrasikan atau menyertakan kode MySQL dalam aplikasi
komersial. Kalau menggunakan MySQL, Anda mungkin perlu mencoba phpMyAdmin. Ini
adalah aplikasi web gratis yang memfasilitasi pengelolaan MySQL dengan antarmuka yang
intuitif.

PostgreSQL
PostgreSQL adalah sistem manajemen database open-source tingkat perusahaan. DBMS ini
mendukung SQL untuk kueri relasional, dan JSON untuk kueri non-relasional. User utamanya
meliputi developer dan administrator database. Mereka menggunakannya untuk mengembangkan
aplikasi, melindungi integritas data, dan membangun  environment fault-tolerant. Kode
PostgreSQL tersedia secara gratis di bawah lisensi open-source.
Dengan PostgreSQL, Anda bisa menentukan jenis data, membuat fungsi kustom, dan menulis
kode dalam berbagai bahasa pemrograman tanpa mengompilasi ulang database. Sistem akan
mengompilasi data dalam format katalog, memanfaatkan tabel dan kolom serta menambahkan
informasi metode akses dan fungsi.
PostgreSQL bisa digunakan di semua sistem operasi utama, termasuk sebagian besar distribusi
Unix & Linux, Windows, dan macOS. Sistem ini juga mendukung berbagai bahasa
pemrograman, seperti Python, Ruby, Java, C, C++, dan Perl. Kalau Anda ingin menginstalnya di
VPS Linux, lihat panduan kami untuk setup PostgreSQL di Ubuntu dan PostgreSQL di CentOS.
MongoDB
MongoDB adalah sistem database dokumen not only SQL (NoSQL) yang mengompilasi
informasi dalam kumpulan dan dokumen. Beberapa fitur terbaik MongoDB adalah penyimpanan
data tidak terstruktur, dukungan pengindeksan penuh, dan replikasi menggunakan API.
Kemudian, MongoDB mendukung database tanpa skema yang bisa terdiri dari satu kumpulan
berisi banyak dokumen. Data dalam database tidak harus memiliki relasi yang ditentukan.
Karenanya, MongoDB sangat sesuai untuk proyek besar yang berisi jutaan dokumen.
MongoDB adalah software gratis di bawah Server Side Public License (SSPL). Software ini bisa
digunakan dengan berbagai bahasa pemrograman, seperti Node.js, PHP, Motor, Scala, Swift, dan
C#. MongoDB bisa berjalan di semua sistem operasi utama, termasuk Linux, Windows, dan
macOS.

Cassandra Database
Cassandra adalah DBMS lainnya yang juga termasuk NoSQL. Sistem ini dikenal berkat
skalabilitasnya yang memungkinkan user menambahkan lebih banyak node dan machine untuk
meningkatkan daya komputasinya. Jadi, Cassandra sangat cocok untuk pekerjaan dengan banyak
data. Selain itu, Cassandra mendistribusikan database dengan mereplikasi datanya di beberapa
pusat data di cloud. Sistem ini menerapkan penyimpanan terdistribusi bergaya Dinamo milik
Amazon dan teknik model data Big Table dari Google. Oleh karena itulah, Cassandra menjadi
sistem dengan high availability dan tanpa satu pun kegagalan. Banyak perusahaan besar seperti
Instagram, Spotify dan Twitter menggunakan Cassandra untuk mengelola database.
Sistem ini kompatibel dengan format data terstruktur, semi-terstruktur, dan tidak terstruktur
yang bisa diubah kapan saja. Terlebih lagi, sistem database ini bersifat open-source dan bisa
digunakan di Linux, Windows, dan macOS.

Oracle Database
Menurut peringkat DB-Engine, Oracle adalah DBMS paling populer. Oracle merupakan RDBMS
dengan arsitektur yang terbagi antara struktur logis dan fisik. Salah satu fitur terbaik database
Oracle adalah komputasi grid perusahaan yang menggunakan penyimpanan fisik modular dan
server yang ukurannya bisa disesuaikan oleh pengguna. Oracle dibuat di arsitektur caching
memori yang memastikan performa maksimum untuk database yang sangat besar. Ini termasuk
tool Recovery Manager (RMAN) yang mengamankan integritas data dengan melakukan backup
dan recovery database versi hot, cold, dan incremental. 
Oracle berkomitmen pada teknologi terbuka, sehingga Anda bebas menggunakan, meng-embed,
dan mendistribusikan kodenya. Sistem ini bisa digunakan di semua sistem operasi populer,
seperti Linux, Unix, Windows, dan macOS. Selain itu, Oracle mendukung bahasa C, C++, Java,
COBOL, PL/SQL, dan Visual Basic untuk pengembangan aplikasi database.

Anda mungkin juga menyukai