Rancangan Struktur table dan menuentukan primary key, foreign key
Tabel User
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
User_name
|
Varchar
|
20
|
no
|
-
|
Primary key
|
2
|
Password
|
Varchar
|
20
|
no
|
-
|
Tabel tarif denda
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
Jumlah_hari_maksimal
|
Number
|
10
|
no
|
-
|
Primary key
|
2
|
Jumlah_denda
|
Number
|
10
|
no
|
-
|
Tabel tarif hilang
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
Harga_maksimal
|
number
|
7
|
no
|
-
|
Primary Key
|
2
|
Jumlah_hilang
|
number
|
7
|
no
|
-
|
Tabel tarif rusak
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
Harga_maksimal
|
number
|
7
|
no
|
-
|
Primary Key
|
2
|
Jumlah_hilang
|
number
|
7
|
no
|
-
|
Tabel Anggota
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
Kode_anggota
|
varchar
|
7
|
no
|
-
|
Primary key
|
2
|
Nama_anggota
|
Varchar
|
20
|
no
|
-
|
|
3
|
Alamat
|
Varchar
|
15
|
no
|
-
|
|
4
|
Kode_kecamatan
|
varchar
|
7
|
no
|
-
|
|
5
|
No_telp
|
Varchat
|
12
|
yes
|
-
|
|
6
|
Email
|
Varchar
|
20
|
yes
|
-
|
|
7
|
Tgl_mulai_anggota
|
Date
|
no
|
-
|
||
8
|
Jenis_anggota
|
Char
|
20
|
no
|
-
|
|
9
|
Status_anggota
|
Char
|
10
|
no
|
-
|
Tabel buku
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
Kode_jenis_buku
|
varchar
|
7
|
no
|
-
|
Primary key
|
2
|
Nama_jenis_buku
|
varchar
|
20
|
no
|
-
|
|
3
|
Nama_bidang
|
char
|
20
|
no
|
-
|
|
4
|
Nama_pengarang
|
char
|
20
|
no
|
-
|
|
5
|
Nama_penerbit
|
char
|
20
|
no
|
-
|
|
6
|
Jumlah
|
Int
|
No
|
-
|
Tabel propinsi
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
Kode _propinsi
|
varchar
|
7
|
no
|
-
|
Primary key
|
2
|
Nama_propinsi
|
char
|
20
|
no
|
-
|
Tabel kabupaten
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
Kode_kabupaten
|
varchar
|
7
|
no
|
-
|
Primary key
|
2
|
Nama_kabupaten
|
char
|
20
|
no
|
-
|
|
3
|
Kode_propinsi
|
varchar
|
7
|
no
|
-
|
Tabel kecamatan
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
Kode_kecamatan
|
varchar
|
7
|
no
|
-
|
Primary key
|
2
|
Nama_kecamatan
|
char
|
20
|
no
|
-
|
|
3
|
Kode_kabupaten
|
varchar
|
7
|
no
|
-
|
Tabel pinjam
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
Kode_pinjam
|
varchar
|
7
|
no
|
-
|
Primary key
|
2
|
Kode_anggota
|
varchar
|
7
|
no
|
-
|
mul
|
3
|
Kode_jenis_buku
|
varchar
|
7
|
no
|
-
|
mul
|
4
|
Tgl_pinjam
|
date
|
no
|
-
|
mul
|
|
5
|
Tgl_kembali
|
date
|
no
|
-
|
Tabel kembali
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
Kode_kembali
|
varchar
|
7
|
no
|
-
|
Primary key
|
2
|
Kode_pinjam
|
varchar
|
7
|
no
|
-
|
mul
|
3
|
Kode_anggota
|
varchar
|
7
|
no
|
-
|
mul
|
4
|
Kode_jenis_buku
|
varchar
|
7
|
no
|
-
|
mul
|
5
|
Tgl_pinjam
|
date
|
no
|
-
|
mul
|
|
6
|
Tgl_kembali
|
date
|
no
|
-
|
mul
|
Tabel bayar denda
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
Kode_kembali
|
varchar
|
7
|
no
|
-
|
mul
|
2
|
Kode_anggota
|
varchar
|
7
|
no
|
-
|
mul
|
3
|
Kode_jenis_buku
|
varchar
|
7
|
no
|
-
|
mul
|
4
|
Kode_pinjam
|
varchar
|
7
|
no
|
-
|
mul
|
5
|
Tgl_bayar
|
date
|
no
|
-
|
||
6
|
Jumlah_denda
|
number
|
9
|
no
|
-
|
Tabel bayar hilang
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
Kode_pinjam
|
varchar
|
7
|
no
|
-
|
mul
|
2
|
Kode_anggota
|
varchar
|
7
|
no
|
-
|
mul
|
3
|
Kode_jenis_buku
|
varchar
|
7
|
no
|
-
|
mul
|
4
|
Tgl_pinjam
|
date
|
no
|
-
|
mul
|
|
5
|
Tgl_bayar
|
date
|
no
|
-
|
||
6
|
Jumlah_denda
|
number
|
9
|
no
|
-
|
Tabel bayar rusak
No
|
Nama Field
|
Tipe
|
Ukuran
|
Null
|
Default
|
Keterangan
|
1
|
Kode_pinjam
|
varchar
|
7
|
no
|
-
|
mul
|
2
|
Kode_anggota
|
varchar
|
7
|
no
|
-
|
mul
|
3
|
Kode_jenis_buku
|
varchar
|
7
|
no
|
-
|
mul
|
4
|
Tgl_pinjam
|
date
|
no
|
-
|
mul
|
|
5
|
Tgl_bayar
|
date
|
no
|
-
|
||
6
|
Jumlah_denda
|
number
|
9
|
no
|
-
|
Relasi
antar table
4.a. mysql>
create database perpustakaan;
Query OK, 1 row
affected (0.02 sec)
mysql> use
perpustakaan;
Database changed
b. mysql>
create table user (
-> user_name
varchar(20) not null unique primary key,
-> password
varchar(20) not null);
Query OK, 0 rows
affected (0.15 sec)
mysql> create table
tarif_denda (
->
jumlah_hari_maksimal tinyint(10) not null unique primary key,
-> jumlah_denda
mediumint(10) not null);
Query OK, 0 rows
affected (0.14 sec)
mysql> create table
tarif_hilang (
->
harga_maksimal mediumint (7) not null unique primary key,
-> jumlah_denda
mediumint(7) not null);
Query OK, 0 rows
affected (0.11 sec)
mysql> create table
tarif_rusak (
->
harga_maksimal mediumint (7) not null unique primary key,
-> jumlah_denda
mediumint(7) not null);
Query OK, 0 rows
affected (0.13 sec)
mysql> create table
anggota (
-> kode_anggota
varchar(7) not null unique primary key,
-> nama_anggota
varchar(20) not null,
-> alamat
varchar(15) not null,
->
kode_kecamatan varchar(7) not null,
-> telepon
varchar(12),
-> email
varchar(20),
->
tgl_mulai_anggota date not null,
-> jenis_anggota
char(20) not null,
->
status_anggota char(10) not null);
Query OK, 0 rows
affected (0.14 sec)
mysql> create table
buku (
->
kode_jenis_buku varchar(7) not null unique primary key,
->
nama_jenis_buku varchar(20) not null,
-> nama_bidang
char(20) not null,
->
nama_pengarang char(20) not null,
-> nama_penerbit
char(12),
-> jumlah int);
Query OK, 0 rows
affected (0.14 sec)
mysql> create table
propinsi (
-> kode_propinsi
varchar(7) not null unique primary key,
-> nama_propinsi
char(20) not null);
Query OK, 0 rows
affected (0.19 sec)
mysql> create table
kabupaten (
->
kode_kabupaten varchar(7) not null unique primary key,
->
nama_kabupaten char(20) not null,
-> kode_propinsi
varchar(7) not null, foreign key(kode_propinsi) references
propinsi(kode_propinsi));
Query OK, 0 rows
affected (0.16 sec)
mysql> create table
kecamatan (
->
kode_kecamatan varchar(7) not null unique primary key,
->
nama_kecamatan char(20) not null,
->
kode_kabupaten varchar(7) not null,
-> foreign
key(kode_kabupaten) references kabupaten(kode_kabupaten));
Query OK, 0 rows
affected (0.14 sec)
mysql> create table
pinjam (
-> kode_pinjam
varchar(7) not null unique primary key,
-> kode_anggota
varchar(7) not null,
->
kode_jenis_buku varchar(7) not null,
-> tgl_pinjam
date not null primary key,
-> tgl_kembali
date not null,
-> foreign
key(kode_anggota) references anggota(kode_anggota),
-> foreign
key(kode_jenis_buku) references buku(kode_jenis_buku));
Query OK, 0 rows
affected (0.17 sec)
mysql> create table
kembali (
-> kode_kembali
varchar(7) not null unique primary key,
-> kode_pinjam
varchar(7) not null,
-> kode_anggota
varchar(7) not null,
->
kode_jenis_buku varchar(7) not null,
-> tgl_pinjam
date not null primary key,
-> tgl_kembali
date not null,
-> foreign
key(kode_pinjam) references pinjam(kode_pinjam),
-> foreign
key(kode_anggota) references anggota(kode_anggota),
-> foreign
key(tgl_pinjam) references pinjam(tgl_pinjam),
-> foreign
key(kode_jenis_buku) references buku(kode_jenis_buku));
Query OK, 0 rows
affected (0.22 sec)
mysql> create table
bayar_denda (
-> kode_kembali
varchar(7) not null,
-> kode_anggota
varchar(7) not null,
->
kode_jenis_buku varchar(7) not null,
-> kode_pinjam
varchar(7) not null,
-> tgl_bayar
date not null,
-> jumlah_denda
mediumint(9),
-> foreign
key(kode_kembali) references kembali(kode_kembali),
-> foreign
key(kode_anggota) references anggota(kode_anggota),
-> foreign
key(kode_jenis_buku) references buku(kode_jenis_buku),
-> foreign
key(kode_pinjam) references pinjam(kode_pinjam));
Query OK, 0 rows
affected (0.23 sec)
mysql> create table
bayar_hilang (
-> kode_pinjam
varchar(7) not null,
-> kode_anggota
varchar(7) not null,
->
kode_jenis_buku varchar(7) not null,
-> tgl_pinjam
date not null primary key,
-> tgl_bayar
date not null,
-> jumlah_denda
mediumint(9),
-> foreign
key(kode_pinjam) references pinjam(kode_pinjam),
-> foreign
key(kode_anggota) references anggota(kode_anggota),
-> foreign
key(kode_jenis_buku) references buku(kode_jenis_buku),
-> foreign
key(tgl_pinjam) references anggota(tgl_pinjam));
Query OK, 0 rows
affected (0.21 sec)
mysql> create table
bayar_rusak (
-> kode_pinjam
varchar(7) not null,
-> kode_anggota
varchar(7) not null,
->
kode_jenis_buku varchar(7) not null,
-> tgl_pinjam
date not null primary key,
-> tgl_bayar
date not null,
-> jumlah_denda
mediumint(9),
-> foreign
key(kode_pinjam) references pinjam(kode_pinjam),
-> foreign
key(kode_anggota) references anggota(kode_anggota),
-> foreign
key(kode_jenis_buku) references buku(kode_jenis_buku),
-> foreign
key(tgl_pinjam) references anggota(tgl_pinjam));
Query OK, 0 rows
affected (0.21 sec)
c. mysql>
select sum(jumlah) as total from buku;
+-------+
| total|
+-------+
| 70 |
+-------+
1 row in set (0.00 sec)
d. mysql>
select nama_jenis_buku, nama_penerbit from buku order by
nama_jenis_buku asc;
+---------------------------+-------------------------+
| nama_jenis_buku |
nama_penerbit |
+---------------------------+-------------------------+
| C++
| airlangga |
| Pemrograman |
airbrand |
| Musik
| air-airan |
+----------------------------+------------------------+
3 rows in set (0.00
sec)
e. mysql>
select nama_anggota from
anggota left join pinjam on anggota.kode_anggota =
pinjam.kode_anggota order by tgl_pinjam asc;
+------------------------+
| nama_anggota |
+------------------------+
| asep
|
| unang
|
| uning
|
| unung
|
+------------------------+
4 rows in set (0.00
sec)
f. mysql>
select nama_anggota from anggota left join bayar_denda on
anggota.kode_anggota = bayar_denda.kode_anggota where tgl_kembali >
kode_kembali order by nama_anggota asc;
+------------------------+
| nama_anggota |
+------------------------+
| ucup
|
| uning
|
| unung
|
+------------------------+
3 rows in set (0.00
sec)
g. mysql>
select nama_anggota from anggota left join bayar_hilang on
anggota.kode_anggota = bayar_hilang.kode_anggota order by
nama_anggota asc;
+------------------------+
| nama_anggota |
+------------------------+
| ucup
|
| lani
|
| lana
|
+-----------------------+
3 rows in set (0.00
sec)
h. mysql>
select nama_anggota from anggota left join bayar_hilang on
anggota.kode_anggota = bayar_hilang.kode_anggota order by nama_angota
asc;
+-----------------------+
| nama_anggota |
+-----------------------+
| lana
|
| aji
|
+-----------------------+
2
rows in set (0.00 sec)
Tidak ada komentar:
Posting Komentar