Studi Kasus 1
Studi Kasus 1
Saat ini situs-situs jejaring sosial seperti Facebook, Friendster, MySpace, dan lain-lain
sudah semakin populer. Pada tutorial ini akan dijelaskan cara membuat sebuah database
dan table melalui command MySQL pada Implementasi Rancangan Basis Data Situs
Jejaring Sosial. Sebelumnya, berikut dirancang suatu basis data dengan menggunakan
MySQL dari salah satu situs social networking, dalam hal ini rancangan email pada
Facebook. Rancangan basis data yang diperlukan yaitu sesuai model data berikut ini :
Dengan melihat rancangan model data di atas, maka dapat disusun suatu basis data
menggunakan syntax MySQL yang merepresentasikan masing-masing model data.
Tabel yang diperlukan dalam penyusunan basis data ini yaitu tabel ME,
SOCIAL_NETWORKS, MY_EMAIL_LOGINS, MAIL_BOXES, SENT_MESSAGE,
NOTIFICATIONS, dan UPDATES. Pembuatan masing-masing tabel dapat dijelaskan
secara lebih rinci melalui penjelasan sebagai berikut :
1). Membuat Database FACEBOOK
1
2
3
4
Tampak dalam tabel di atas bahwa field my_id dijadikan sebagai PK (primary key).
Kunci primer digunakan untuk menyatakan bahwa suatu nilai tidak boleh ada yang
sama dan nilai tersebut harus diisi (NOT NULL). Suatu kolom yang didefinisikan
dengan constraint NOT NULL tidak boleh berisi nilai NULL. Oleh karena itu, kolom
yang berfungsi sebagai kunci primer (primary key) otomatis tidak boleh NULL.
Berikut deskripsi untuk masing-masing field yang diperlukan :
Field my_id berisi nama ID sebagai identitas pengguna yang digunakan untuk
melakukan login ke dalam sistem Facebook. Field my_id ini bertipe data
bilangan integer sepanjang 10 digit.
Field network_code berisi nama kode jaringan yang digunakan pengguna. Field
network_code ini bertipe data bilangan integer sepanjang 25 digit. Field
network_code merupakan primary key yang digunakan untuk tabel ini.
Field last_name berisi data nama akhir pengguna Facebook. Field last_name
bertipe data varchar (karakter) sepanjang 40 digit,
Field network_name berisi data nama jaringan yang digunakan pengguna. Field
network_name bertipe data varchar (karakter) sepanjang 30 digit,
Field other_details berisi data lain yang berfungsi sebagai keterangan mengenai
pengguna. Field other_details bertipe data varchar (karakter) sepanjang 100
digit.
Field first_name berisi data nama awal pengguna Facebook. Field first_name
bertipe data varchar (karakter) sepanjang 40 digit,
Field my_login berisi ID login email Facebook yang digunakan pengguna. Field
my_login ini bertipe data varchar sepanjang 30 digit. Field my_login
merupakan primary key yang digunakan untuk tabel ini.
Field my_id berisi nama ID sebagai identitas pengguna yang digunakan untuk
melakukan login ke dalam sistem Facebook. Field ini merupakan suatu foreign
key yang mempunyai nilai yang sama seperti field my_id (PK) pada tabel ME.
Constraint foreign key dalam hal ini dimaksudkan untuk membentuk relasi
antara tabel MY_EMAIL_LOGINS dan tabel ME. Field my_id bertipe data
integer sepanjang 10 digit.
Field network_code berisi nama kode jaringan yang digunakan pengguna. Field
network_code bertipe data integer sepanjang 20 digit. Field ini merupakan
suatu foreign key yang mempunyai nilai yang sama seperti field network_code
(PK) pada tabel ME. Constraint foreign key dalam hal ini dimaksudkan untuk
membentuk relasi antara tabel MY_EMAIL_LOGINS dan tabel
SOCIAL_NETWORKS.
Field my_login berisi ID login email Facebook yang digunakan pengguna. Field
ini merupakan suatu foreign key yang mempunyai nilai yang sama seperti field
my_login (PK) pada tabel MY_EMAIL_LOGINS. Constraint foreign key
dalam hal ini dimaksudkan untuk membentuk relasi antara tabel
MAIL_BOXES dan tabel MY_EMAIL_LOGINS. Field my_login bertipe data
varchar sepanjang 30 digit .
Field date_received berisi tanggal ketika suatu pesan (message) diterima pada
email pengguna. Field date_received bertipe data date . yang merupakan tipe
data khusus untuk data penanggalan dalam MySQL
Field from_name berisi data nama pengirim pesan. Field from_name bertipe
data varchar (karakter) sepanjang 50 digit.
Field message berisi data isi pesan yang dikirimkan pengirim kepada penerima
pesan. Field message bertipe data varchar (karakter) sepanjang 500 digit.
10| message
| varchar(500) | YES |
| NULL |
|
11 | other_details
| varchar(50) | YES |
| NULL |
|
12+------------------+--------------+------+-----+---------+-------+
137 rows in set (0.02 sec)
Field my_login berisi ID login email Facebook yang digunakan pengguna. Field
ini merupakan suatu foreign key yang mempunyai nilai yang sama seperti field
my_login (PK) pada tabel MY_EMAIL_LOGINS. Constraint foreign key
dalam hal ini dimaksudkan untuk membentuk relasi antara tabel
SENT_MESSAGES dan tabel MY_EMAIL_LOGINS. Field my_login bertipe
data varchar sepanjang 30 digit .
Field date_sent berisi tanggal ketika suatu pesan (message) dikirimkan oleh
pengguna. Field date_sent bertipe data date yang merupakan tipe data khusus
untuk data penanggalan dalam MySQL.
Field to_email_address berisi nama alamat email tujuan penerima pesan. Field
to_email_address bertipe data varchar (karakter) sepanjang 50 digit.
Field message berisi data isi pesan yang dikirimkan oleh pengirim ke penerima.
Field message bertipe data varchar (karakter) sepanjang 500 digit.
Field my_login berisi ID login email Facebook yang digunakan pengguna. Field
ini merupakan suatu foreign key yang mempunyai nilai yang sama seperti field
my_login (PK) pada tabel MY_EMAIL_LOGINS. Constraint foreign key
dalam hal ini dimaksudkan untuk membentuk relasi antara tabel
Field message berisi data isi notifikasi yang diterima oleh pengguna. Field
message bertipe data varchar (karakter) sepanjang 500 digit.
3
+---------------+--------------+------+-----+---------+-------+
4
| update_id
| varchar(10) | NO | PRI | NULL |
|
5
| my_login
| varchar(30) | YES | MUL | NULL |
|
6
| date_received | date
| YES |
| NULL |
|
7
| subject
| varchar(100) | YES |
| NULL |
|
8
9
| varchar(500) | YES |
| NULL |
|
10 | message
| NULL |
|
11 | other_details | varchar(50) | YES |
+---------------+--------------+------+-----+---------+-------+
12 6 rows in set (0.00 sec)
13
Berikut deskripsi untuk masing-masing field yang diperlukan :
Field update_id berisi ID update informasi yang diterima oleh pengguna. Field
update_id ini bertipe data varchar sepanjang 10 digit. Field update_id
merupakan primary key yang digunakan untuk tabel ini.
Field my_login berisi ID login email Facebook yang digunakan pengguna. Field
ini merupakan suatu foreign key yang mempunyai nilai yang sama seperti field
my_login (PK) pada tabel MY_EMAIL_LOGINS. Constraint foreign key
dalam hal ini dimaksudkan untuk membentuk relasi antara tabel UPDATES dan
tabel MY_EMAIL_LOGINS. Field my_login bertipe data varchar sepanjang 30
digit .
Field message berisi data isi update yang diterima oleh pengguna. Field
message bertipe data varchar (karakter) sepanjang 500 digit.
Tabel UPDATES secara umum berisi data mengenai update informasi terbaru yang
masuk ke dalam email pengguna. Sesuai dengan rancangan model data di atas, pada
tabel ini diperlukan enam kolom parameter meliputi update_id, my_login,
date_received, subject, message dan other_details.
Syntax MySQL yang digunakan untuk membuat tabel data UPDATES ini yaitu sebagai
berikut :
mysql> create table UPDATES(update_id varchar(10) not null primary key,
1my_login
2 varchar(30), date_received date, subject varchar(100), message
varchar(500), ot
3her_details varchar(50), constraint my_login3_fk foreign key(my_login)
4reference
5s MY_EMAIL_LOGINS(my_login));
Query OK, 0 rows affected (0.13 sec)
Untuk melihat hasil pembuatan tabel UPDATES digunakan perintah sebagai berikut :
1 mysql> describe UPDATES;
2 +---------------+--------------+------+-----+---------+-------+
| Field
| Type
| Null | Key | Default | Extra |
7
8
9
10
11
12
13
| notifications
|
| sent_messages
|
| social_networks
|
| updates
|
+--------------------+
7 rows in set (0.05 sec)