Kamis, 17 Januari 2013

Soal Review Materi SMBD-Semester Ganjil 2012-2013



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