Translate

TUGAS SMBD REVIEW INDIVIDU

Posted: by Ajiex Estrada in
0


TUGAS 
REVIEW INDIVIDU
Sistem Manajemen Basis Data




OLEH  :

SUDRAJAD SETO AJI
101051065



JURUSAN TEKNIK INFORMATIKA
INSTITUT SAINS DAN TEKNOLOGI AKPRIND
YOGYAKARTA
2013

1.    RANCANGAN STRUKTUR TABEL DATABASE YG DIGUNAKAN (Dalam Bentuk 3NF)
2.    MENENTUKAN PRIMARY KEY & FOREIGN KEY





3.    DIAGRAM KERELASIAN ANTAR TABEL DATABASE


4.    PERINTAH  SQL NYA

Membuat database perpustakaan
create database dbperpustakaan;

Masuk ke database
use dbperpustakaan

create table user (user_namevarchar(5) not nullunique primary key, password varchar(20) not null, level_user char(1) default ‘5’check(level_user=‘1’ or level_user=‘2’ or level_user=‘3’ or level_user=‘4’ or level_user=‘5’));

create table tanggal_liburtanggal_liburdate not nullunique primary key,
keterangan_libur varchar(50) not null);

create table tarif_denda ( jumlah_hari_maksimal tinyint(3) not null unique primary key,
jumlah_denda mediumint(9) not null);

create table tarif_hilang ( harga_maksimal mediumint (9) not null unique primary key,
jumlah_denda mediumint(9) not null);

create table tarif_rusak ( harga_maksimal mediumint (9) not null unique primary key,
jumlah_denda mediumint(9) not null);

create table anggota ( kode_anggota char(6) not null unique primary key,
nama_anggota varchar(100) not null, alamat varchar(100) not null, kode_kecamatan char(6) not null, telepon varchar(12),
email varchar(20), tgl_mulai_anggota date not null, jenis_anggota char(1) not null default ‘2’ check(jenis_anggota=‘1’ or jenis_anggota=‘2’)status_anggota char(1) not null default ‘1’ check(status_anggota=‘1’ or status_anggota=‘2’)foreign key(kode_kecamatan) references kecamatan on update cascade on deletecascade;

create table jenis ( kode_jenis_buku char(4) not null unique primary key,
nama_jenis_buku varchar(20) not null;

create table bidang ( kode_bidang char(4) not null unique primary key,
nama_bidang varchar(20) not null;

create table penerbit ( kode_penerbit char(4) not null unique primary key,
nama_penerbit varchar(30) not null, alamat varchar(100) not null,
kode_kecamatan char(6) not null, telepon varchar(12),
email varchar(20), foreign key(kode_kecamatan) references kecamatan on update cascade on delete cascade;

create table penulis ( kode_penulis char(4) not null unique primary key,
nama_penulis_utama varchar(100) not null, alamat varchar(100) not null, kode_kecamatan char(6) not null, telepon varchar(12), email varchar(20),
foreign key(kode_kecamatan) references kecamatan on update cascade on delete cascade;

create table propinsi ( kode_propinsi char(2) not null unique primary key,
nama_propinsi varchar(30) not null;

create table kabupaten ( kode_kabupaten char(4) not null unique primary key,
nama_kabupaten varchar(30) not null, kode_propinsi char(2) not null,
foreign key(kode_propinsi) references propinsi on update cascade on delete cascade;

create table kecamatan ( kode_kecamatan char(6) not null unique primary key,
nama_kecamatan varchar(30) not null, kode_kabupaten char(4) not null,
foreign key(kode_kabupaten) references kabupaten on update cascade on delete cascade;

create table pinjam ( kode_anggota char(6) not null, kode_buku char(10) not null, tanggal_pinjam date not null, tanggal_harus_kembali date not null, foreign key(kode_anggota) references anggota on update cascade on delete cascade, foreign key(kode_buku) references buku on update cascade on delete cascade, primary key(kode_anggota, kode_buku, tanggal_pinjam);

create table kembali ( kode_anggota char(6) not null, kode_buku char(10) not null, tanggal_pinjam date not null, tanggal_ kembali date not null, foreign key(kode_anggota, kode_buku, tanggal_pinjam) references pinjam on update cascade on delete cascade primary key(kode_anggota, kode_buku, tanggal_pinjam);

create table bayar_denda ( kode_anggota char(6) not null, kode_buku char(10) not null, tanggal_pinjam date not null, tanggal_bayar date not null, jumlah_denda mediumint(9), foreign key(kode_anggota, kode_buku, tanggal_pinjam) references kembali on update cascade on delete cascade primary key(kode_anggota, kode_buku, tanggal_pinjam);

create table bayar_hilang ( kode_anggota char(6) not null, kode_buku char(10) not null, tanggal_pinjam date not null, tanggal_bayar date not null, jumlah_denda mediumint(9), foreign key(kode_anggota, kode_buku, tanggal_pinjam) references pinjam on update cascade on delete cascade primary key(kode_anggota, kode_buku, tanggal_pinjam);

create table bayar_rusak ( kode_anggota char(6) not null, kode_buku char(10) not null,
tanggal_pinjam date not null, tanggal_bayar date not null, jumlah_denda mediumint(9),
foreign key(kode_anggota, kode_buku, tanggal_pinjam) references pinjam on update cascade on delete cascade primary key(kode_anggota, kode_buku, tanggal_pinjam);

create table buku ( kode_buku char(10) not null unique primary key, judul_buku varchar(100) not null, kode_jenis char(4) not null, kode_bidang char(4) not null,
kode_penulis char(4) not null, kode_penerbit char(4) not null, jumlah tinyint(2) not null,
bahasa char(1) not null default ‘1’ check(bahasa=‘1’ or bahasa=‘2’), isbn char(12) not null, tahun char(4) nor null, jumlah_halaman mediumint(4) not null, edisi char(1) not null, cetakan_ke char(1) not null, status char(1) default ‘1’ check(status=’1’ or status=’2’), foreign key(kode_jenis) references jenis on update cascade on delete cascade, foreign key(kode_bidang) references bidang on update cascade on delete cascade, foreign key(kode_penulis) references penulis on update cascade on delete cascade, foreign key(kode_penerbit) references penerbit on update cascade on delete cascade;


a.      Menghitung jumlah total semua koleksi perpustakaan
select count(*) from buku;

b.      Menampilkan daftar buku dan penerbitnya, urut ascending berdasarkan abjad judul buku

select kode_buku, kode_penerbit, judul_buku, nama_penerbit from buku join penerbit where buku.kode_penerbit=penerbit.kode_penerbit order by judul, judul asc;

c.       Menampilkan daftar anggota sedang meminjam buku, urut ascending berdasarkan tanggal pinjam

select kode_anggota,kode_pinjam, nama_anggota,alamat, tanggal_pinjam from pinjam join anggota where pinjam.kode_anggota=anggota.kode_anggota order by tanggal_pinjam, tanggal_pinjam asc;

d.      Menampilkan daftar seluruh anggota yang pernah membayar terlambat mengembalikan buku, urut ascending berdasarkan abjad nama anggota

select kode_anggota,nama_anggota, tanggal_pinjam, tanggal_bayar, jumlah_denda from bayar_denda join anggota where bayar_denda.kode_anggota=anggota.kode_anggota order by nama_anggota, nama_anggota asc;

e.       Menampilkan daftar seluruh anggota yang pernah membayar denda buku hilang, urut ascending berdasarkan abjad nama anggota.

select kode_anggota,nama_anggota, tanggal_pinjam, tanggal_bayar, jumlah_denda from bayar_hilang join anggota where bayar_hilang.kode_anggota=anggota.kode_anggota order by nama_anggota, nama_anggota asc;

f.        Menampilkan daftar seluruh anggota yang pernah membayar denda buku rusak, urut ascending berdasarkan abjad nama anggota

select kode_anggota,nama_anggota, tanggal_pinjam, tanggal_bayar, jumlah_denda from bayar_rusak  join anggota where bayar_rusak.kode_anggota=anggota.kode_anggota order by nama_anggota, nama_anggota asc;





0 comments: