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_denda
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
jumlah_hari_maksimal
|
Num
|
3
|
No
|
-
|
Primary Key
|
2
|
jumlah_denda
|
Num
|
7
|
No
|
-
|
-
|
4. Tabel: tarif _hilang
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
harga_maksimal
|
Num
|
7
|
No
|
-
|
Primary Key
|
2
|
jumlah_denda
|
Num
|
7
|
No
|
-
|
-
|
5. Tabel: tarif _rusak
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
harga_maksimal
|
Num
|
7
|
No
|
-
|
Primary Key
|
2
|
jumlah_denda
|
Num
|
7
|
No
|
-
|
-
|
6. Tabel: anggota
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_anggota
|
Char
|
6
|
no
|
-
|
Primary Key
|
2
|
nama_anggota
|
VarChar
|
100
|
no
|
-
|
-
|
3
|
alamat
|
VarChar
|
100
|
no
|
-
|
-
|
4
|
kode_kecamatan
|
Char
|
6
|
no
|
-
|
Foreign Key
|
5
|
telepon
|
VarChar
|
12
|
yes
|
-
|
-
|
6
|
email
|
VarChar
|
20
|
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
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_jenis_buku
|
Char
|
4
|
No
|
-
|
Primary Key
|
2
|
nama_jenis_buku
|
VarChar
|
20
|
No
|
-
|
-
|
8. Tabel: bidang
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_bidang
|
Char
|
4
|
No
|
-
|
Primary Key
|
2
|
nama_bidang
|
VarChar
|
20
|
No
|
-
|
-
|
9. Tabel: penerbit
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_penerbit
|
Char
|
4
|
No
|
-
|
Primary Key
|
2
|
nama_penerbit
|
VarChar
|
30
|
No
|
-
|
-
|
3
|
alamat
|
VarChar
|
100
|
no
|
-
|
-
|
4
|
kode_kecamatan
|
Char
|
6
|
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
|
6
|
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
|
30
|
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
|
||||||
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
kode_pinjam
|
Primary Key
|
||||
2
|
kode_anggota
|
Char
|
6
|
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
|
6
|
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
|
-
|
-
|
No 3
Diagram Kerelasian Antar Tabel Databese
No: 4 PERINTAH SQL nya
· SCHEMA DATABASE
DENGAN DDL
o
DEFINISI DATABASE
create database dbperpustakaan;
o
DEFINISI TABEL DALAM DATABASE
use dbperpustakaan
Tabel user
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’));
Tabel tanggal_libur
create table tanggal_libur (
tanggal_libur date not null unique primary key,
keterangan_libur varchar(50) not null);
Tabel tarif_denda
create table tarif_denda (
jumlah_hari_maksimal tinyint(3) not null unique primary key,
jumlah_denda mediumint(9) not null);
Tabel tarif_hilang
create table tarif_hilang (
create table tarif_hilang (
harga_maksimal mediumint (9) not null unique primary key,
jumlah_denda mediumint(9) not null);
Tabel tarif_rusak
create table tarif_rusak (
create table tarif_rusak (
harga_maksimal mediumint (9) not null unique primary key,
jumlah_denda mediumint(9) not null);
Tabel anggota
create table anggota (
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(kode_kecamatan) on update cascade on deletecascade);
Tabel jenis
create table jenis (
create table jenis (
kode_jenis_buku char(4) not null unique primary key,
nama_jenis_buku varchar(20) not null);
Tabel bidang
create table bidang (
create table bidang (
kode_bidang char(4) not null unique primary key,
nama_bidang varchar(20) not null);
Tabel penerbit
create table penerbit (
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(kode_kecamatan) on update cascade on delete cascade);
Tabel Penulis
create table 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(6) not null,
telepon varchar(12),
email varchar(20),
foreign key(kode_kecamatan) references kecamatan(kode_kecamatan) on
update cascade on delete cascade);
Tabel propinsi
create table propinsi (
create table propinsi (
kode_propinsi char(2) not null unique primary key,
nama_propinsi varchar(30) not null;
Tabel kabupaten
create table 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(kode_propinsi) on update cascade on delete cascade);
Tabel kecamatan
create table 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(kode_kabupaten) on update cascade on delete cascade);
Tabel pinjam
create table pinjam (
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(kode_anggota) on update cascade on delete cascade,
foreign key(kode_buku) references buku(kode_buku) on update cascade on delete cascade,
primary key(kode_anggota, kode_buku, tanggal_pinjam));
Tabel kembali
create table kembali (
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(kode_anggota, kode_buku, tanggal_pinjam)
on update cascade on delete cascade,
primary key(kode_anggota, kode_buku, tanggal_pinjam));
Tabel bayar_denda
create table bayar_denda (
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 (kode_anggota, kode_buku, tanggal_pinjam)
on update cascade on delete cascade,
primary key(kode_anggota, kode_buku, tanggal_pinjam));
Tabel bayar_hilang
create table bayar_hilang (
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(kode_anggota, kode_buku, tanggal_pinjam) on update cascade on delete
cascade,
primary key(kode_anggota, kode_buku, tanggal_pinjam));
Tabel bayar_rusak
create table bayar_rusak (
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(kode_anggota, kode_buku, tanggal_pinjam) on update cascade on delete
cascade,
primary key(kode_anggota, kode_buku, tanggal_pinjam));
Tabel buku
create table buku (
create table buku (
kode_buku char(10) not null unique primary key,
judul_buku varchar(100) not null,
kode_jenis_buku 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_buku) references jenis(kode_jenis_buku) on update cascade on delete
cascade,
foreign key(kode_bidang) references bidang(kode_bidang) on update cascade on delete cascade,
foreign key(kode_penulis) references penulis(kode_penulis) on update cascade on delete cascade,
foreign key(kode_penerbit) references penerbit(kode_penerbit) on update cascade on delete cascade);
Menghitung jumlah total semua koleksi
perpustakaan
|
Menampilkan daftar buku dan penerbitnya, urut ascending berdasarkan abjad judul buku
|
Menampilkan daftar anggota sedang meminjam
buku, urutascending berdasarkan tanggal
pinjam
|
Menampilkan daftar seluruh anggota yang pernah
membayar terlambat mengembalikan buku, urut ascending berdasarkan abjad nama
anggota
|
Menampilkan daftar seluruh anggota yang pernah
membayar denda buku hilang, urut ascending berdasarkan abjad nama
anggota
|
Menampilkan daftar
seluruh anggota yang pernah membayar denda buku rusak, urut ascending berdasarkan abjad nama anggota
|
Tidak ada komentar:
Posting Komentar