Anda di halaman 1dari 7

KULIAH ONLINE SISTEM BASIS DATA 27 MARET 2020

Albi Fitransyah, S.Si, M.T

Pelaksanaan:
1) Silakan buka slide Materi 8.
2) Silakan buka Whatsapp di HP dan di Komputer.
3) Buka LMS TELKOM UNIVERSITY, jelajahi mulai dari FORUM, ASSIGNMENT, hingga QUIZ,
dan wajib download masing-masing mahasiswa melalui LMS ini.
4) Silakan buka file word yang dikirim hari ini dengan nama “Kuliah Online SBD 27032020”
5) Silakan buka RDBMS SQL untuk coding.
6) Buatlah makalah persiapan presentasi Tugas Besar Sistem Basis Data.
7) Coba tuliskan nama topik makalah setiap kelompok.
8) Kerjakan Nomor 1 hingga 4 untuk Soal berikut ini di file word dengan menggunakan file dari saya
ini dengan mengganti nama file menjadi “TUGAS_SBD_27032020_NAMALENGKAP_NIM”,
dengan waktu 45 menit. Dikumpulkan pukul 11:45 WIB.
9) Untuk pekan depan, buat Resume Bab “MATERI 9” untuk memahami soal nomor 5 hingga 8.

Essay
Perhatikanlah Diagram Relationship berikut.

Kategori Buku
Id_Kategori Id_Buku
Nama_Kategori Judul_Buku Pengarang
ID_Kategori
ID_Pengarang Id_Pengarang
ID_Penerbit Nama_Pengarang
Penerbit Harga Tgl_Lahir
Alamat
Id_Penerbit
Nama_Penerbit
Alamat

1. Tulislah DDL SQL untuk membuat table-tabel di atas dengan menerapkan integritas
referensial!
2. Tulislah DDL SQL untuk menginputkan data setiap table, minimal 5 baris untuk setiap
table!
3. Tulislah DDL SQL untuk menghapus salah satu data dari setiap table, minimal 5 perintah
setiap kasus!
4. Tulislah DDL SQL untuk mengubah salah satu data dari setiap table, minimal 5 perintah
setiap kasus!
5. Rancanglah pengaturan hak akses DCL SQL dengan scenario sebagai berikut. Terdapat
seorang Database Administrator (DBA) yang bernama Resmana dan memiliki 4 staf
bawahannya, di antaranya: Demon, Rossa, Darmawan, dan Binar.
Resmana dapat memberikan hak akses langsung kepada Demon dan Darmawan.
Demon tidak dapat member hak akses kepada Rossa.
Sedangkan Darmawan dapat member hak akses langsung kepada Binar.
6. Tulislah DML SQL untuk menampilkan data nama pengarang dan jumlah buku yang
dikarangnya, tetapi yang ditampilkan hanyalah pengarang yang jumlah buku yang
dikarangnya lebih dari 3 buku!
7. Tulislah DML SQL untuk menampilkan nama_kategori dan jumlah buku per kategori yang
dikelompokkan berdasarkan nama_kategori yang jumlahnya di atas 10 dan harganya di
bawah 10000!
8. Tulislah DML SQL untuk menampilkan data buku yang memiliki harga antara 20000
sampai dengan 50000 yang diterbitkan oleh id_penerbit ‘P001’!

----------------------------------------------Bekerja Sendiri-sendiri------------------------------------

Latihan Teknis
1) Sintaks:
mysql> create database basdat;
mysql> use basdat;
mysql> create table kategori(
-> id_kategori int(10)primary key,
-> nama_kategori varchar(20));

mysql> create table buku(


-> id_buku int(10) primary key,
-> judul_buku varchar(50),
-> id_kategori int(10) not null,
-> id_pengarang int(10),
-> id_penerbit int(10) not null,
-> harga int(30));

mysql> create table penerbit(


-> id_penerbit int(10) primary key,
-> nama_penerbit varchar (50),
-> alamat varchar(50));

mysql> create table pengarang(


-> id_pengarang int(10) primary key,
-> nama_pengarang varchar(50),
-> tgl_lahir date,
-> alamat varchar(50));

mysql> alter table buku


-> add constraint fk_id_kategori
-> foreign key (id_kategori)
-> references kategori(id_kategori);
mysql> alter table buku
-> add constraint fk_id_pengarang
-> foreign key (id_pengarang)
-> references pengarang(id_pengarang);

mysql> alter table buku


-> add constraint fk_id_penerbit
-> foreign key (id_penerbit)
-> references penerbit(id_penerbit);

Hasil Running:

2) Sintaks:

mysql> insert into pengarang(id_pengarang,nama_pengarang,tgl_lahir,alamat)


-> values(1,"AlifhaArkhan",'2018/08/28',"Makassar"),
-> (2,"Taufiq",'2018/08/27',"Makassar"),
-> (3,"Fakhrul",'2018/08/26',"Surabaya"),
-> (4,"ryo",'2018/08/25',"Bandung"),
-> (5,"Hafiz",'2018/08/24',"Bandung");
Query OK, 5 rows affected (0.01 sec)
Records: 5 Duplicates: 0 Warnings: 0

mysql>
mysql> INSERT into kategori (id_kategori, nama_kategori) values
-> (1, "Action"),
-> (2, "Drama"),
-> (3, "Crime"),
-> (4, "Horror"),
-> (5, "Comedy");
Query OK, 5 rows affected (0.00 sec)
Records: 5 Duplicates: 0 Warnings: 0

mysql>
mysql> INSERT into penerbit (id_penerbit, nama_penerbit,alamat) values
-> (1, "Fira", "Bintaro"),
-> (2, "Julpa", "Surabaya"),
-> (3, "Lina"," Padang"),
-> (4, "Rindu","Padang"),
-> (5, "Nafta","Jakarta");
Query OK, 5 rows affected (0.00 sec)
Records: 5 Duplicates: 0 Warnings: 0

mysql>
mysql> insert into
Buku(Id_Buku,Judul_Buku,ID_Kategori,Id_Pengarang,Id_Penerbit,Harga)
-> values (1,"Futsal",1,1,1,10000),
-> (2,"Badmindton",2,2,2,20000),
-> (3,"BasketBall",3,3,3,30000),
-> (4,"Volley",4,4,4,40000),
-> (5,"Catur",5,5,5,50000);
Query OK, 5 rows affected (0.00 sec)
Records: 5 Duplicates: 0 Warnings: 0

Hasil Running:
3) Sintaks:
mysql> delete from buku where judul_buku = "Badminton";
Query OK, 0 rows affected (0.00 sec)

mysql> delete from penerbit where nama_penerbit = "Julpa";


ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key
constraint fails (`db_sql`.`buku`, CONSTRAINT `fk_id_penerbit` FOREIGN
KEY (`Id_Penerbit`) REFERENCES `penerbit` (`Id_Penerbit`))
mysql> delete from kategori where nama_kategori = "Drama";
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key
constraint fails (`db_sql`.`buku`, CONSTRAINT `fk_id_kategori` FOREIGN
KEY (`Id_Kategori`) REFERENCES `kategori` (`Id_Kategori`))
mysql> delete from pengarang where nama_pengarang = "Taufiq";
ERROR 1451 (23000): Cannot delete or update a parent row: a foreign key
constraint fails (`db_sql`.`buku`, CONSTRAINT `fk_id_pengarang` FOREIGN
KEY (`Id_Pengarang`) REFERENCES `pengarang` (`Id_Pengarang`))
mysql> delete from buku where id_buku = 5;
Query OK, 1 row affected (0.01 sec)
Hasil Running:
4) Sintaks :
mysql> update buku set id_buku = 7 where judul_buku = "BasketBall";
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> update buku set harga = 80000 where Judul_buku = "Volley";


Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> update pengarang set tgl_lahir = '2019/02/25' where


nama_pengarang = "Fakhrul";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> update penerbit set alamat = "BojongSoang" where


nama_penerbit = "Nafta";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> update pengarang set tgl_lahir = '2018/08/23' where


nama_pengarang = "Ryo";
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

Hasil running :

Anda mungkin juga menyukai