keyspace buku {
columnfamily buku {
key id: text
column judul: text
column penulis: text
column penerbit: text
column tahun_terbit: int
column genre: text
}
}
Struktur ini terdiri dari satu keyspace bernama "buku". Keyspace ini berisi satu
columnfamily bernama "buku". Columnfamily ini memiliki enam kolom:
id: Kolom ini menyimpan ID unik untuk setiap buku.
judul: Kolom ini menyimpan judul buku.
penulis: Kolom ini menyimpan nama penulis buku.
penerbit: Kolom ini menyimpan nama penerbit buku.
tahun_terbit: Kolom ini menyimpan tahun terbit buku.
genre: Kolom ini menyimpan genre buku.
Berikut adalah contoh data yang dapat disimpan dalam struktur ini:
buku.insert(
key = "1234567890",
judul = "Harry Potter dan Batu Bertuah",
penulis = "J.K. Rowling",
penerbit = "Bentang Pustaka",
tahun_terbit = 1997,
genre = "fantasi"
)
Query berikut akan mengembalikan semua buku dengan judul "Harry Potter dan
Batu Bertuah":
SELECT * FROM buku WHERE judul = 'Harry Potter dan Batu Bertuah'
Struktur database Cassandra dapat disesuaikan untuk memenuhi kebutuhan aplikasi
Anda. Misalnya, Anda dapat menambahkan kolom baru untuk menyimpan informasi
tambahan tentang buku, seperti rating, jumlah halaman, atau jumlah eksemplar.
Anda juga dapat membuat beberapa columnfamilies untuk menyimpan jenis data
yang berbeda.
Berikut adalah beberapa contoh struktur database Cassandra lainnya:
Untuk aplikasi yang menyimpan data pengguna, Anda dapat menggunakan
struktur berikut:
keyspace pengguna {
columnfamily pengguna {
key id: text
column nama: text
column email: text
column alamat: text
column telepon: text
}
}
Untuk aplikasi yang menyimpan data transaksi, Anda dapat menggunakan
struktur berikut:
keyspace transaksi {
columnfamily transaksi {
key id: text
column tanggal: date
column waktu: time
column produk: text
column jumlah: int
column harga: int
}
}
Untuk aplikasi yang menyimpan data log, Anda dapat menggunakan struktur
berikut:
keyspace log {
columnfamily log {
key id: text
column tanggal: date
column waktu: time
column event: text
column data: text
}
}
CouchDB adalah database dokumen NoSQL yang tidak memiliki skema, yang
berarti dokumen dapat ditambahkan ke database tanpa perlu menentukan
strukturnya terlebih dahulu. Hal ini memberikan fleksibilitas yang lebih besar kepada
pengembang, tetapi juga dapat membuat desain database menjadi lebih sulit.
Berikut adalah beberapa contoh struktur database CouchDB:
Struktur sederhana
Struktur sederhana adalah struktur yang paling dasar, di mana setiap dokumen
memiliki struktur yang sama. Misalnya, sebuah database yang menyimpan informasi
tentang produk dapat memiliki struktur sebagai berikut:
{
"id": "1234567890",
"nama": "Produk A",
"harga": 100000,
"deskripsi": "Produk A adalah produk yang bagus."
}
Struktur ini dapat digunakan untuk menyimpan informasi tentang produk apa saja,
tanpa perlu menentukan struktur khusus untuk setiap produk.
Struktur hierarkis
Struktur hierarkis adalah struktur yang memungkinkan dokumen dikelompokkan ke
dalam hierarki. Misalnya, sebuah database yang menyimpan informasi tentang
organisasi dapat memiliki struktur sebagai berikut:
{
"id": "1",
"nama": "PT. XYZ",
"alamat": "Jl. Jendral Sudirman No. 100, Jakarta",
"departemen": [
{
"id": "101",
"nama": "Departemen IT",
"karyawan": [
{
"id": "10101",
"nama": "John Doe",
"jabatan": "Manager"
},
{
"id": "10102",
"nama": "Jane Doe",
"jabatan": "Developer"
}
]
},
{
"id": "102",
"nama": "Departemen Marketing",
"karyawan": [
{
"id": "10201",
"nama": "Peter Smith",
"jabatan": "Marketing Manager"
},
{
"id": "10202",
"nama": "Susan Jones",
"jabatan": "Marketing Executive"
}
]
}
]
}
Struktur ini dapat digunakan untuk menyimpan informasi tentang organisasi yang
kompleks, dengan banyak tingkatan hierarki.
Struktur gabungan
Struktur gabungan adalah struktur yang menggabungkan dua atau lebih struktur
dasar. Misalnya, sebuah database yang menyimpan informasi tentang produk dan
kategori produk dapat memiliki struktur sebagai berikut:
{
"id": "1234567890",
"nama": "Produk A",
"harga": 100000,
"deskripsi": "Produk A adalah produk yang bagus.",
"kategori": "elektronik"
}
Struktur ini dapat digunakan untuk menyimpan informasi tentang produk yang
memiliki kategori tertentu.
Dalam memilih struktur database CouchDB, perlu dipertimbangkan beberapa faktor,
seperti:
Tipe data yang akan disimpan
Relasi antara data-data tersebut
Kemudahan dalam melakukan query
Dengan mempertimbangkan faktor-faktor tersebut, pengembang dapat mendesain
struktur database CouchDB yang sesuai dengan kebutuhannya.
- Oracle Database: Mendukung konfigurasi terdistribusi
dengan fitur-fitur canggih untuk manajemen transaksi dan
konsistensi data.
Contoh:
Contoh Struktur Database Oracle Database (Versi Bahasa Indonesia)
Berikut adalah contoh struktur database Oracle Database dalam versi bahasa
Indonesia:
SQL
-- Database
CREATE DATABASE toko_online;
-- Schema
CREATE SCHEMA toko_online;
-- Table
CREATE TABLE pelanggan (
id_pelanggan NUMBER NOT NULL,
nama VARCHAR2(255) NOT NULL,
alamat VARCHAR2(255) NOT NULL,
nomor_telepon VARCHAR2(255) NOT NULL
);
-- Index
CREATE INDEX pelanggan_nama_index ON pelanggan (nama);
-- Sequence
CREATE SEQUENCE pelanggan_seq START WITH 1 INCREMENT BY 1;
Penjelasan:
Baris pertama menciptakan database bernama toko_online.
Baris kedua menciptakan skema bernama toko_online.
Baris ketiga menciptakan tabel bernama pelanggan dengan empat kolom:
o id_pelanggan: kolom kunci utama (primary key) dengan tipe data
NUMBER.
o nama: kolom dengan tipe data VARCHAR2.
o alamat: kolom dengan tipe data VARCHAR2.
o nomor_telepon: kolom dengan tipe data VARCHAR2.
Baris keempat menciptakan indeks bernama pelanggan_nama_index pada
kolom nama dari tabel pelanggan.
Baris kelima menciptakan urutan (sequence) bernama pelanggan_seq yang
dimulai dari angka 1 dan bertambah 1 setiap kali digunakan.
Struktur database ini dapat digunakan untuk menyimpan data tentang pelanggan.
Kolom id_pelanggan adalah kunci utama yang unik untuk setiap baris dalam tabel.
Kolom nama menyimpan nama pelanggan, kolom alamat menyimpan alamat
pelanggan, dan kolom nomor_telepon menyimpan nomor telepon pelanggan. Indeks
pelanggan_nama_index mempercepat pencarian data pelanggan berdasarkan
nama. Urutan pelanggan_seq digunakan untuk menghasilkan nilai unik untuk kolom
id_pelanggan saat menambahkan baris baru ke tabel.
Berikut adalah contoh lain dari struktur database Oracle Database dalam versi
bahasa Indonesia:
SQL
-- Database
CREATE DATABASE toko_online;
-- Schema
CREATE SCHEMA toko_online;
-- Table
CREATE TABLE produk (
id_produk NUMBER NOT NULL,
nama VARCHAR2(255) NOT NULL,
deskripsi VARCHAR2(255) NOT NULL,
harga NUMBER NOT NULL
);
-- Index
CREATE INDEX produk_nama_index ON produk (nama);
-- View
CREATE VIEW produk_view AS
SELECT id_produk, nama, deskripsi, harga
FROM produk;
-- Package
CREATE PACKAGE toko_online_package
AS
PROCEDURE tambah_produk(nama_produk VARCHAR2, deskripsi_produk
VARCHAR2, harga_produk NUMBER);
END toko_online_package;
-- Type
CREATE TYPE produk_type AS OBJECT (
id_produk NUMBER NOT NULL,
nama VARCHAR2(255) NOT NULL,
deskripsi VARCHAR2(255) NOT NULL,
harga NUMBER NOT NULL
);
Penjelasan:
Struktur database ini menyimpan data tentang produk.
Kolom id_produk adalah kunci utama yang unik untuk setiap baris dalam
tabel.
Kolom nama menyimpan nama produk, kolom deskripsi menyimpan
deskripsi produk, dan kolom harga menyimpan harga produk.
Indeks produk_nama_index mempercepat pencarian data produk
berdasarkan nama.
Tampilan produk_view menampilkan data dari tabel produk.
Paket toko_online_package berisi prosedur tambah_produk() yang
digunakan untuk menambahkan produk baru ke tabel produk.
Tipe produk_type digunakan untuk mendefinisikan struktur data produk.
Struktur database Oracle Database dapat disesuaikan dengan kebutuhan aplikasi
yang akan dikembangkan.
Berikut adalah penjelasan singkat tentang masing-masing objek database yang
digunakan dalam contoh-contoh di atas:
Database adalah kumpulan tabel, view, dan objek database lainnya.
Schema adalah kumpulan objek database yang dimiliki oleh pengguna
tertentu.
Table adalah kumpulan data yang diorganisasikan dalam baris dan kolom.
Index adalah struktur data yang digunakan untuk mempercepat pencarian
data dalam tabel.
Sequence adalah objek yang menghasilkan urutan angka secara otomatis.
View adalah tampilan virtual dari data dalam tabel.
2. Objek Database
- Tabel: Struktur dasar yang menyimpan data dalam format
baris dan kolom. Setiap tabel memiliki satu atau lebih kolom
dan setiap kolom memiliki tipe data tertentu.
- View: Representasi virtual dari satu atau lebih tabel. Ini
adalah kumpulan query yang disimpan yang dapat digunakan
seperti tabel.
- Stored Procedure: Kumpulan pernyataan SQL yang disimpan
yang dapat dieksekusi sebagai unit tunggal.
- Fungsi: Mirip dengan stored procedure tetapi dapat
mengembalikan nilai dan digunakan dalam query.
- Trigger: Skrip yang otomatis dijalankan oleh SQL Server
sebagai respons terhadap peristiwa tertentu dalam database
(seperti perubahan data).
3. Schema
- Schema: Kumpulan objek-objek yang terkait dan dikelola
sebagai satu kesatuan. Schema membantu dalam
mengorganisasi database dan mengelola hak akses.
4. Index
- Index: Struktur yang digunakan untuk meningkatkan
kecepatan pencarian dan pengambilan data dari database.
Index memungkinkan SQL Server menemukan data tanpa
harus memindai seluruh tabel.
5. Constraint
- Primary Key: Mengidentifikasi setiap baris secara unik dalam
tabel.
- Foreign Key: Menghubungkan baris di satu tabel dengan
baris di tabel lain.
- Check Constraint: Memastikan bahwa nilai data dalam
kolom memenuhi kondisi tertentu.
- Unique Constraint: Menjamin bahwa setiap nilai dalam
kolom atau kombinasi kolom bersifat unik dalam konteks
tabel tersebut.
Struktur Database
1. Tabel Karyawan (`tblKaryawan`)
- IDKaryawan (int, Primary Key): Kode unik untuk
mengidentifikasi karyawan.
- Nama (varchar): Nama lengkap karyawan.
- Jabatan (varchar): Posisi atau jabatan karyawan.
- IDDepartemen (int, Foreign Key): Kode departemen tempat
karyawan bekerja.
Sejarah Pengembangan
Konsep basis data terdistribusi berkembang sejak akhir tahun
1970-an dan awal 1980-an, sebagai respons terhadap
kebutuhan akan sistem yang dapat menangani data dalam
volume yang besar dan tersebar.