TUGAS SISTEM MANAJEMEN
BASIS DATA
NAMA : RAMADHANI BAGUS KURNIADI
NIM : 111052052
INSTITUT SAINS &
TEKNOLOGI AKPRIND
YOGYAKARTA
2012/2013
YOGYAKARTA
2012/2013
1.
Rancangan Struktur Tabel Databases (dalam
bentuk 3NF)
2.
Primary Key & Foreign Key
1. Tabel: user
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
user_name
|
VarChar
|
50
|
No
|
-
|
Primary Key
|
2
|
password
|
VarChar
|
15
|
No
|
-
|
-
|
3
|
level_user
|
Char
|
1
|
No
|
5
|
1 = admin; 2 =
kepala sekolah; 3 = kepala
perpustakaan 4 = anggota; 5 = pengunjung
|
2. Tabel: tanggal_libur
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
tanggal_libur
|
Date
|
no
|
-
|
Primary Key
|
|
2
|
Keterangan_libur
|
Varchar
|
50
|
no
|
-
|
-
|
3. Tabel:
tarif_terlambat
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
jumlah_hari_maksimal
|
Num
|
3
|
No
|
-
|
Primary Key
|
2
|
jumlah_denda
|
Num
|
8
|
No
|
-
|
-
|
4. Tabel:
tarif _hilang
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
harga_maksimal
|
Num
|
8
|
No
|
-
|
Primary Key
|
2
|
jumlah_denda
|
Num
|
8
|
No
|
-
|
-
|
5. Tabel:
tarif _rusak
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
harga_maksimal
|
Num
|
8
|
No
|
-
|
Primary Key
|
2
|
jumlah_denda
|
Num
|
8
|
No
|
-
|
-
|
6. Tabel: anggota
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_anggota
|
Char
|
9
|
no
|
-
|
Primary Key
|
2
|
nama_anggota
|
VarChar
|
100
|
no
|
-
|
-
|
3
|
alamat
|
VarChar
|
100
|
no
|
-
|
-
|
4
|
kode_kecamatan
|
Char
|
7
|
no
|
-
|
Foreign Key
|
5
|
telepon
|
VarChar
|
12
|
yes
|
-
|
-
|
6
|
email
|
VarChar
|
25
|
yes
|
-
|
-
|
7
|
tgl_mulai_anggota
|
Date
|
no
|
-
|
-
|
|
8
|
jenis_anggota
|
Char
|
1
|
no
|
2
|
1 = guru/ karyawan; 2 = siswa
|
9
|
status_anggota
|
Char
|
1
|
no
|
2
|
1 = aktif; 2 = tidak aktif
|
7. Tabel:
jenis_buku
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_jenis_buku
|
Char
|
5
|
No
|
-
|
Primary Key
|
2
|
nama_jenis_buku
|
VarChar
|
25
|
No
|
-
|
-
|
8. Tabel:
bidang_buku
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_bidang
|
Char
|
5
|
No
|
-
|
Primary Key
|
2
|
nama_bidang
|
VarChar
|
25
|
No
|
-
|
-
|
9. Tabel:
penerbit
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_penerbit
|
Char
|
5
|
No
|
-
|
Primary Key
|
2
|
nama_penerbit
|
VarChar
|
25
|
No
|
-
|
-
|
3
|
alamat
|
VarChar
|
100
|
no
|
-
|
-
|
4
|
kode_kecamatan
|
Char
|
7
|
no
|
-
|
Foreign Key
|
5
|
telepon
|
VarChar
|
12
|
yes
|
-
|
-
|
6
|
email
|
VarChar
|
20
|
yes
|
-
|
-
|
10. Tabel:
penulis
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_penulis
|
Char
|
4
|
No
|
-
|
Primary Key
|
2
|
nama_penulis
|
VarChar
|
100
|
No
|
-
|
-
|
3
|
alamat
|
VarChar
|
100
|
no
|
-
|
-
|
4
|
kode_kecamatan
|
Char
|
7
|
no
|
-
|
Foreign Key
|
5
|
telepon
|
VarChar
|
12
|
yes
|
-
|
-
|
6
|
email
|
VarChar
|
20
|
yes
|
-
|
-
|
11. Tabel:
propinsi
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_propinsi
|
Char
|
2
|
No
|
-
|
Primary Key
|
2
|
nama_propinsi
|
VarChar
|
50
|
No
|
-
|
-
|
12. Tabel:
kabupaten
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_kabupaten
|
Char
|
4
|
No
|
-
|
Primary Key
|
2
|
nama_kabupaten
|
VarChar
|
30
|
No
|
-
|
-
|
3
|
kode_propinsi
|
Char
|
2
|
No
|
-
|
Foreign Key
|
13. Tabel:
kecamatan
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_kecamatan
|
Char
|
6
|
No
|
-
|
Primary Key
|
2
|
nama_kecamatan
|
VarChar
|
30
|
No
|
-
|
-
|
3
|
kode_kabupaten
|
Char
|
4
|
No
|
-
|
Foreign Key
|
14. Tabel: pinjam
Catatan: kode_pinjam boleh tidak
digunakan
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_pinjam
|
Primary Key
|
||||
2
|
kode_anggota
|
Char
|
9
|
No
|
-
|
Primary Key / Foreign Key
|
3
|
kode_buku
|
Char
|
10
|
No
|
-
|
Primary Key / Foreign Key
|
4
|
tanggal_pinjam
|
Date
|
No
|
Primary Key / Foreign Key
|
||
5
|
tanggal_harus_kembali
|
Date
|
N0
|
-
|
-
|
15. Tabel:
kembali
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_pinjam
|
Primary Key / Foreign Key
|
||||
2
|
kode_kembali
|
Primary Key
|
||||
3
|
kode_anggota
|
Char
|
9
|
No
|
-
|
Primary Key / Foreign Key
|
4
|
kode_buku
|
Char
|
10
|
No
|
-
|
Primary Key / Foreign Key
|
5
|
tanggal_pinjam
|
Date
|
No
|
Primary Key / Foreign Key
|
||
6
|
tanggal_kembali
|
Date
|
No
|
-
|
-
|
16. Tabel:
bayar_Terlambat
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_kembali
|
Primary Key / Foreign Key
|
||||
2
|
kode_anggota
|
Char
|
9
|
No
|
-
|
Primary Key/ Foreign Key
|
3
|
kode_buku
|
Char
|
10
|
No
|
-
|
Primary Key/ Foreign Key
|
4
|
tanggal_pinjam
|
Date
|
No
|
Primary Key/ Foreign Key
|
||
5
|
tanggal_bayar
|
Date
|
No
|
-
|
-
|
|
6
|
jumlah_denda
|
Num
|
9
|
No
|
0
|
Dihitung
otomatis
|
17. Tabel:
bayar_hilang
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_pinjam
|
Primary Key / Foreign Key
|
||||
2
|
kode_anggota
|
Char
|
9
|
No
|
-
|
Primary Key / Foreign Key
|
3
|
kode_buku
|
Char
|
10
|
No
|
-
|
Primary Key / Foreign Key
|
4
|
tanggal_pinjam
|
Date
|
No
|
Primary Key / Foreign Key
|
||
5
|
tanggal_bayar
|
Date
|
No
|
-
|
-
|
|
6
|
jumlah_denda
|
Num
|
9
|
No
|
0
|
Dihitung
otomatis
|
18. Tabel:
bayar_rusak
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_pinjam
|
Primary Key / Foreign Key
|
||||
2
|
kode_anggota
|
Char
|
9
|
No
|
-
|
Primary Key / Foreign Key
|
3
|
kode_buku
|
Char
|
10
|
No
|
-
|
Primary Key / Foreign Key
|
4
|
tanggal_pinjam
|
Date
|
No
|
Primary Key / Foreign Key
|
||
5
|
tanggal_bayar
|
Date
|
No
|
-
|
-
|
|
6
|
jumlah_denda
|
Num
|
9
|
No
|
0
|
Dihitung
otomatis
|
19. Tabel:
buku
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_buku
|
Char
|
10
|
No
|
-
|
Primary Key
|
2
|
Judul_buku
|
VarChar
|
100
|
No
|
-
|
-
|
3
|
kode_jenis
|
Char
|
4
|
No
|
-
|
Foreign Key
|
4
|
kode_bidang
|
Char
|
4
|
No
|
-
|
Foreign Key
|
5
|
kode_penulis_utama
|
Char
|
4
|
No
|
-
|
Foreign Key
|
6
|
kode_penerbit
|
Char
|
5
|
No
|
-
|
Foreign Key
|
7
|
jumlah
|
Num
|
1
|
No
|
-
|
-
|
8
|
bahasa
|
Char
|
1
|
No
|
1
|
1 = Indonesia;
2 = Asing
|
9
|
isbn
|
Char
|
12
|
No
|
-
|
-
|
10
|
tahun
|
Char
|
4
|
No
|
-
|
-
|
11
|
jumlah_halaman
|
Num
|
1
|
No
|
-
|
-
|
12
|
edisi
|
Char
|
1
|
No
|
1
|
-
|
13
|
cetakan_ke
|
Char
|
1
|
No
|
1
|
-
|
14
|
status
|
Char
|
1
|
No
|
1
|
1 = Baik; 2 =
Rusak
|
3.
Diagram Kerelasian antar table database
4.
Membuat Perintah SQL
a) Membuat Databases Perpustakaan;
create database perpustakaan;
b)
Membuat
Tabel Data Master dan Transaksi :
Data Master
Ø Tabel User
create
table user (user_namevarchar(50) not nullunique primary key,password varchar(15) 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’));
Ø Tabel Anggota
create
table anggota (kode_anggota char(9) not null unique primary key,nama_anggota
varchar(100) not null,
alamat
varchar(100) not null,kode_kecamatan char(7) not null, telepon varchar(12),
email
varchar(25), 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;
Ø Tabel Buku
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(5) 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;
Ø Tabel Jenis_Buku
create
table jenis_buku ( kode_jenis_buku char(5) not null unique primary key, nama_jenis_buku varchar(25) not null;
Ø Tabel Bidang Buku
create
table bidang (kode_bidang char(5) not null unique primary key,nama_bidang
varchar(25) not null;
Ø Tabel Penerbit
create table penerbit ( kode_penerbit char(5) not null unique primary
key,nama_penerbit varchar(25) not null, alamat
varchar(100) not null, kode_kecamatan char(7)
not null,
telepon varchar(12), email
varchar(20),
foreign key(kode_kecamatan) references kecamatan on
update cascade on delete cascade;
Ø Tabel Penulis
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(7) not null, telepon varchar(12), email
varchar(20),
foreign key(kode_kecamatan) references kecamatan on
update cascade on delete cascade;
Ø Tabel Propinsi
create table propinsi (kode_propinsi char(2) not null
unique primary key,nama_propinsi varchar(50) not null;
Ø Tabel Kabupaten
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;
Ø Tabel Kecamatan
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;
Ø Tabel Tarif Terlambat
create table tarif_terlambat (jumlah_hari_maksimal tinyint(3) not null unique primary
key,jumlah_denda mediumint(8) not null);
Ø Tabel Tarif Hilang
create
table tarif_hilang (harga_maksimal mediumint (8) not null unique primary key, jumlah_denda mediumint(8) not null);
Ø Tabel Tarif Rusak
create
table tarif_rusak (harga_maksimal mediumint (8) not null unique primary key, jumlah_denda mediumint(8) not null);
Data Transaksi
Ø Tabel Pinjam
create
table pinjam (kode_anggota char(9) 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);
Ø Tabel Kembali
create table kembali (kode_anggota char(9) 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);
Ø Tabel Bayar Terlambat
create table bayar_terlambat (kode_anggota char(9) 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);
Tabel Bayar Hilang
create table bayar_hilang (kode_anggota char(9) 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);
Tabel Bayar Rusak
create table bayar_rusak (kode_anggota char(9) 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);
3.
Menghitung jumlah total semua koleksi perpustakaan
count(kode_buku)as ‘total_koleksi_buku ‘ from buku;
4.
Menampilkan daftar buku dan penerbitnya, urut ascending berdasarkan abjad judul buku
select judul_buku,nama_penerbit from buku,penerbit where
buku.kode_penerbit=penerbit.kode_penerbit order by judul_buku asc;
5.
Menampilkan daftar anggota sedang meminjam buku,urut ascending berdasarkan tanggal pinjam
Select nama_anggot as
‘DaftarAnggota_pinjambuku’ from anggota ,pinjam where anggota.kode_anggota=pinjam.kode_anggota
order by tanggal_pinjam;
6.
Menampilkan daftar seluruh anggota yang pernah membayar
terlambat
mengembalikan buku, urut ascending berdasarkan abjadnama anggota
Select nama_anggota as
‘Daftar_anggota_bayar_telat’ from anggota,bayar_denda where
anggota.kode_anggota=bayar_denda.kode_anggota order by nama_anggota desc;
7.
Menampilkan daftar seluruh anggota yang pernah membayar denda buku hilang, urut ascending berdasarkan abjad nama anggota
Select nama_anggota as ‘Daftar_anggota_bayar_bukuhilang’
from anggota,bayar_hilang where
anggota.kode_anggota=bayar_hilang.kode_anggota order by
nama_anggota desc;
8.
Menampilkan daftar seluruh anggota yang pernah membayar denda buku rusak, urut ascending berdasarkan abjad nama anggota
Select nama_anggota as ‘Daftar_anggota_bayar_bukurusak’
from anggota,bayar_rusak where anggota.kode_anggota=bayar_rusak.kode_anggota
order by nama_anggota desc;
Tidak ada komentar:
Posting Komentar