Deskripsi
Sebuah perusahaan distributor alat-alat komputer memiliki dua buah gudang utuk menyimpan semua
bahan mentah dan produk. Sebuah bahan mentah dikirim oleh seorang pemasok dan disimpan di sebuah
gudang khusus bahan mentah. Bahan-bahan tersebut juga akan diolah menjadi produk-produk yang akan
disimpan di sebuah gudang khusus produk siap jadi dimana di gudang tersebut terdapat rak-rak yang
menyusun masing-masing produk. Di dalam setiap gudang tersebut terdapat beberapa pegawai yang
bertugas mengelola gudang tersebut. Setiap produk akan dikirim ke beberapa toko untuk dijual kepada
pembeli.
ERD
Asumsi
1. Seorang pemasok mengirim satu atau lebih bahan mentah ke perusahaan sedangkan sebuah bahan
mentah hanya dikirim oleh seorang pemasok
2. Sebuah bahan mentah hanya dapat diolah menjadi sebuah produk sedangkan sebuah produk dapat
dioleh dari satu atau lebih bahan mentah
3. Semua bahan mentah disimpan dalam sebuah gudang dan sebuah gudang menyimpan satu atau lebih
bahan mentah.
4. Sebuah gudang dikelola oleh satu atau lebih pegawai tetapi satu pegawai hanya mengelola sebuah
gudang
5. Semua produk disimpan dalam sebuah gudang dan sebuah gudang menyimpan satu atau lebih produk
6. Sebuah produk disusun di sebuah rak dan sebuah rak tersusun oleh sebuah produk
7. Sebuah produk dikirim ke satu atau lebih toko dan sebuah toko mengambil kiriman satu atau lebih
produk
8. Sebuah toko melakukan transaksi oleh satu atau lebih pembeli dan seorang pembeli melakukan
transaksi di satu atau lebih toko
9. Sebuah rak ditampung di sebuah gudang dan sebuah gudang dapat menampung banyak rak
10. Sebuah toko mendapatkan produk dari banyak gudang dan sebuah gudang mengirimkan banyak
produk ke toko
Model Relasional
)
CREATE TABLE PEMBELI
(
ID_PEMBELI Char (5),
NAMA_PEMBELI VarChar (100) NOT NULL,
ALAMAT VarChar (100) NOT NULL,
JUMLAH_BELI VARCHAR (2) NOT NULL,
CONSTRAINT PK_PEMBELI PRIMARY KEY (ID_PEMBELI)
)
CREATE TABLE PEGAWAI
(
ID_PEGAWAI VarChar (5),
NAMA_PEGAWAI VarChar (100) NOT NULL,
ALAMAT VarChar (100) NOT NULL,
NO_GUDANG Char(3) NOT NULL,
CONSTRAINT PK_PEGAWAI PRIMARY KEY (ID_PEGAWAI),
CONSTRAINT FK_PEGAWAI FOREIGN KEY (NO_GUDANG) REFERENCES GUDANG (NO_GUDANG) ON UPDATE CASCADE ON DELETE
CASCADE
)
CREATE TABLE PRODUK
(
ID_PRODUK Char (5),
NAMA_PRODUK VarChar (100) NOT NULL,
TGL_OLAH Char (10) NOT NULL,
NO_GUDANG Char(3) NOT NULL,
CONSTRAINT PK_PRODUK PRIMARY KEY (ID_PRODUK),
CONSTRAINT FK_PRODUK FOREIGN KEY (NO_GUDANG) REFERENCES GUDANG (NO_GUDANG) ON UPDATE CASCADE ON DELETE CASCADE
)
CREATE TABLE BAHAN_MENTAH
(
ID_BAHAN VarChar (5),
NAMA_BAHAN VarChar (100) NOT NULL,
TGL_KIRIM Char (10) NOT NULL,
ID_PEMASOK Char(5) NOT NULL,
NO_GUDANG Char(3) NOT NULL,
CONSTRAINT FK_TRANSAKSI_TOKO FOREIGN KEY (NAMA_TOKO) REFERENCES TOKO (NAMA_TOKO) ON UPDATE CASCADE ON DELETE
CASCADE,
CONSTRAINT FK_PEMBELI FOREIGN KEY (ID_PEMBELI) REFERENCES PEMBELI (ID_PEMBELI) ON UPDATE CASCADE ON DELETE
CASCADE
)
('A03', 'GUDANG3'),
('A04', 'GUDANG4'),
('A05', 'GUDANG5')
UPDATE GUDANG
SET NO_GUDANG = 'A06'
WHERE NAMA_GUDANG = 'GUDANG5'
UPDATE GUDANG
SET NAMA_GUDANG = 'GUDANG6'
WHERE NO_GUDANG = 'A03'
DELETE
FROM GUDANG
WHERE NO_GUDANG = 'A02'
DELETE
FROM GUDANG
WHERE NAMA_GUDANG = 'GUDANG4'
INSERT INTO TOKO
(NAMA_TOKO, ALAMAT)
VALUES
('ALAM JAYA','Jl. Sumatera No.5'),
('BUMI ASRI','Jl. Singa No.40'),
('CINTA ALAM','Jl. Waringin No.10'),
('DESA BARU','Jl. Listrik No.14'),
('ELANG MAKMUR','Jl. Sunggal No.100')
UPDATE TOKO
SET NAMA_TOKO = 'ALAM ASRI'
WHERE ALAMAT = 'JL. SUMATERA NO.5'
UPDATE TOKO
SET ALAMAT = 'JL. SUNGGAL NO. 1'
WHERE NAMA_TOKO = 'ELANG MAKMUR'
DELETE
FROM TOKO
UPDATE PEGAWAI
SET ID_PEGAWAI = 'C0006'
WHERE NAMA_PEGAWAI = 'ADI'
UPDATE PEGAWAI
SET NAMA_PEGAWAI = 'ELLA'
WHERE ALAMAT = 'Jl. Sunggal No.101'
DELETE
FROM PEGAWAI
WHERE ID_PEGAWAI = 'C0002'
DELETE
FROM PEGAWAI
WHERE NAMA_PEGAWAI = 'COKRO'
INSERT INTO PRODUK
(ID_PRODUK, NAMA_PRODUK, TGL_OLAH, NO_GUDANG)
VALUES
('D0001', 'MOUSE', '20-10-2010', 'A01'),
('D0002', 'MOTHERBOARD', '20-12-2012', 'A02'),
('D0003', 'MONITOR', '20-03-2003', 'A03'),
('D0004', 'PROSESOR', '20-02-2002', 'A04'),
('D0005', 'KEYBOARD', '20-01-2001', 'A05')
UPDATE PRODUK
SET ID_PRODUK = 'D0006'
WHERE NAMA_PRODUK = 'PROSESOR'
UPDATE PRODUK
SET TGL_OLAH = '12-12-2012'
WHERE ID_PRODUK = 'D0005'
DELETE
FROM PRODUK
WHERE TGL_OLAH = '20-10-2010'
DELETE
FROM PRODUK
WHERE NAMA_PRODUK = 'MOTHERBOARD'
INSERT INTO BAHAN_MENTAH
(ID_BAHAN, NAMA_BAHAN, TGL_KIRIM, ID_PEMASOK, NO_GUDANG, ID_PRODUK)
VALUES
('E0001', 'KABEL', '20-10-2010', 'A0001', 'A01', 'D0001'),
('E0002', 'PAPAN PBC', '20-12-2012', 'A0002', 'A02', 'D0002'),
('E0003', 'KARBON', '20-03-2003', 'A0003', 'A03', 'D0003'),
('E0004', 'CHIP', '20-02-2002', 'A0004', 'A04', 'D0004'),
('E0005', 'TUTS', '20-01-2001', 'A0005', 'A05', 'D0005')
UPDATE BAHAN_MENTAH
SET ID_BAHAN = 'E007'
WHERE NAMA_BAHAN = 'KABEL'
UPDATE BAHAN_MENTAH
SET TGL_KIRIM = '20-08-2008'
WHERE NAMA_BAHAN = 'KARBON'
DELETE
FROM BAHAN_MENTAH
WHERE NAMA_BAHAN = 'PAPAN PBC'
DELETE
FROM BAHAN_MENTAH
WHERE TGL_KIRIM = '20-01-2001'
INSERT INTO RAK
(NO_RAK, NAMA_RAK, ID_PRODUK, NO_GUDANG)
VALUES
('B01', 'RAK1', 'D0001', 'A01'),
('B02', 'RAK2', 'D0002', 'A02'),
('B03', 'RAK3', 'D0003', 'A03'),
('B04', 'RAK4', 'D0004', 'A04'),
('B05', 'RAK5', 'D0005', 'A05')
UPDATE RAK
SET NO_RAK = 'B06'
Query
SELECT ID_PEMASOK AS [KODE PEMASOK], NAMA_PEMASOK AS [NAMA PEMASOK] FROM PEMASOK
SELECT * FROM PRODUK ORDER BY NO_GUDANG DESC
SELECT * FROM PEMBELI WHERE JUMLAH_BELI >10 AND JUMLAH_BELI <16
SELECT * FROM PEMASOK WHERE NAMA_PEMASOK LIKE '%I'
SELECT * FROM TOKO WHERE NAMA_TOKO LIKE '%I' ORDER BY NAMA_TOKO DESC
Aljabar Relasional
1.
2.
3.
4.
5.
(PRODUK)
JUMLAH_BELI>10 JUMLAH_BELI <16 (PEMBELI)
NAMA_PEMASOK= %I (PEMASOK)
NAMA_TOKO= %I ORDER BY(NAMA_TOKO) descending(TOKO)
ORDER BY(NO_GUDANG) DESCENDING