Minggu, 30 Oktober 2011

Pembuatan Database Hotel Menggunakan SQL



1. Table Kamar
   
CREATE table Kamar (
KdKamar text (5) Primary Key, NoKamar text (5), JenisKamar text (15), Tarif currency);
INSERT into Kamar
   Values (“02101”,”101”,”Standard-Room”,”300000”)
INSERT into Kamar
   Values (“02102”,”102”,”Standard-Room”,”300000”)
INSERT into Kamar
   Values (“02201”,”201”,”Suite”,”450000”)
INSERT into Kamar
   Values (“02202”,”202”,”Suite”,”450000”)
INSERT into Kamar
   Values (“02203”,”203”,”Suite”,”450000”)


2. Table Penyewa

CREATE table Penyewa (
KdPenyewa text (10) Primary Key, NmPenyewa text (20), Alamat text (30), NoTelp text (12));
INSERT into Penyewa
   Values (“10103”,”Dimas Rizki”,”Semarang”,”085642319756”)
INSERT into Penyewa
   Values (“10104”,”Budi Darmawan”,”Jakarta”,”081223954781”)
INSERT into Penyewa
   Values (“11001”,”Dewi Ayu”,”Surabaya”,”081852963743”)
INSERT into Penyewa
   Values (“11002”,”Adisetya”,”Surabaya”,”085740369258”)
INSERT into Penyewa
   Values (“11003”,”Diana S”,”Jakarta”,”085987689633”)
  

3. Table Penyewaan

CREATE table Penyewaan (
NoKamar text (5) Primary Key, NamaPenyewa text (20), TglMasuk DateTime, TglKeluar DateTime, Tarif currency);
INSERT into Penyewaan
   Values (“101”,”Dimas Rizki”, ”29/10/2011”, “30/10/2011”, ”300000”)
INSERT into Penyewaan
   Values (“102”,”Budi Darmawan”, ”29/10/2011”, “30/10/2011”, ”300000”)
INSERT into Penyewaan
   Values (“101”,”Dewi Ayu”, ”02/11/2011”, “05/11/2011”, ”900000”)
INSERT into Penyewaan
   Values (“202”,”Adisetya”, ”04/11/2011”, “06/11/2011”, ”900000”)
INSERT into Penyewaan
   Values (“203”,”Diana S”,”05/11/2011”,“06/11/2011”,”450000”)

Senin, 24 Oktober 2011

Contoh Functional Dependency

Functional Dependencies atau ketergantungan fungsional merupakan ketergantungan relasi suatu atribut dalam tabel atau set entity terhadap atribut yang lainya. Suatu attribute dikatakan functionally dependant pada yang lain jika kita menggunakan nilai atribut tersebut untuk menentukan nilai atribut yang lain.
Misalnya diberikan relasi R, Atribut A dikatakan mempengaruhi secara fungsional atribut lainya B yang juga berada di R, ditulis dengan A --> B (baca: A menentukan B atau B tergantung A), jika untuk setiap elemen/anggota dari atribut A memetakan satu elemen pada Y, dan tidak harus sebaliknya.

Contoh:
Misalkan pada Data Mahasiswa terdapat atribut: NIM, Nama, Mata Kuliah. dikarenakan Nama tergantung pada NIM dan Mata Kuliah tergantung pada NIM, maka :
NIM --> Nama dan NIM --> Mata Kuliah
 


Functional Dependency:
NRP -> Nama
Mata_Kuliah, NRP -> Nilai
Non Functional Dependency:
Mata_Kuliah -> NRP
NRP -> Nilai
Functional Dependency
Functional Dependency dari tabel nilai
Nrp -> Nama
Karena untuk setiap nilai Nrp yang sama, maka nilai Nama juga sama
{Mata_kuliah, NRP} -> Nilai
Karena attribut Nilai tergantung pada Mata_kuliah dan NRP secara bersama-sama. Dalam arti lain untuk Mata_kuliah dan NRP yang sama, maka Nilai juga sama, karena Mata_kuliah dan NRP merupakan key (bersifat unik).
Mata_kuliah -> NRP
NRP -> Nilai

Contoh Database Hierarkis, Jaringan, Relasional

1. Database Hierarkis

Pada database Hierarkis, field atau record diatur dalam kelompok-kelompok yang berhubungan, menyerupai diagram pohon, dengan record child (level lebih rendah) berada di bawah record parent (level yang lebih tinggi).

contoh database hierarkis
Database hierarkis merupakan model tertua dan paling sederhana dari kelima model database. Dalam model database ini mengakses atau mengupdate data bisa berlangsung sangat cepat karena hubungan-hubungan sudah ditentukan. Tetapi, karena struktur harus didefinisikan lebih dahulu, maka hal ini cukup riskan. Lagipula menambahkan field baru ke sebuah record database membuat semua database harus didefinisikan kembali. Karena itulah diperlukan model database yang baru untuk menunjukkan masalah pengulangan data dan hubungan data yang kompleks.




2. Database Jaringan

Konsep database jaringan mirip dengan database hierarkis tetapi setiap record child dapat memiliki lebih dari satu record parent. Selanjutnya setiap record child dapat dimiliki oleh lebih dari satu record parent.
Database jaringan pada dasarnya digunakan dengan mainframe, lebih fleksibel disbanding database hierarkis karena ada hubungan yang berbeda antarcabang data. Akan tetapi strukturnya masih harus didefinisikan lebih dahulu. Pengguna harus sudah terbiasa dengan struktur database. Lagipula jumlah hubungan antar-record juga terbatas, dan untuk menguji sebuah field seseorang harus mendapatkan kembali semua record.

contoh database jaringan




3. Database Relasional

Database Relasional bekerja dengan menghubungkan data pada file-file yang berbeda dengan menggunakan sebuah kunci atau elemen data yang umum.

contoh database relasional
Cara kerja database relasional:
Elemen-elemen data disimpan dalam tabel lain yang membentuk baris dan kolom. Dalam model database ini data diatur secara logis, yakni berdasarkan isi. Masing-masing record dalam tabel diidentifikasi oleh sebuah field – kunci primer – yang berisi sebuah nilai unik. Karena itulah data dalam database relasional dapat muncul dengan cara yang berbeda dari cara ia disimpan secara fisik pada komputer. Pengguna tidak boleh mengetahui lokasi fisik sebuah record untuk mendapatkan kembali datanya.

Sumber : http://www.scribd.com/doc/31193738/Basis-Data-Relasional

Senin, 26 September 2011

DBMS

RANCANGAN DATABASE RUMAH SAKIT

sumber : http://terminaltechno.blog.uns.ac.id/2009/11/06/rancangan-database-rumah-sakit/

2. Rancangan Basis Data Rumah Sakit

clip_image004
3. Implementasi Rancangan Basis Data Rumah Sakit dengan MySQL
Database Rumah Sakit
Untuk membuat database lewat mySQL dapat dilakukan dengan cara
· Membuat database rumah sakit:
Create database rumah_sakit;
· Membuat table pasien pada database rumah sakit:
Create table pasien (
-> No_Rekam_Medik varchar(10) not null primary key,
-> Nama_Pasien varchar(30) not null,
-> Jenis_Kelamin enum(‘L’,’P’),
-> Tanggal_Lahir Date,
-> Usia Int,
-> Alamat_Pasien varchar(30),
-> Kota_Pasien varchar(15),
-> ID_Dokter varchar(10) not null,
-> Tanggal_Masuk Date,
-> Tanggal_Keluar Date,
-> Penyakit varchar(20),
-> Kode_Bangsal varchar(10),
-> No_Kamar varchar(10));
· Mengisikan data pada table pasien:
Insert into PASIEN
-> value(‘1001’,’Nana’,’P’,’1990-07-12’,’19’,’Jl. Manukwari 12’,’Purwokerto’,’1111’,’2009-10-01’,’2009- 10-05’,’Flu Babi’,’11’,’1’);
· Menampilkan seluruh isi table pasien:
Select * from pasien;
Tabel Pasien
clip_image006
clip_image008
clip_image010
· Membuat table Dokter:
Create table Dokter (
-> ID_Dokter varchar(10) not null primary key;
-> Nama_Dokter varchar(30) not null,
-> Tanggal_Lahir Date,
-> Spesialisasi varchar(20),
-> Lokasi_Praktek varchar(30),
-> Jam_Praktek varchar(20));
· Mengisikan table dokter:
Insert into dokter
-> value(‘1111’,’Syamsul’,’1969-12-03’,’Syaraf’,’RS. Permai Lt. 3 Ruang 112’,’06.00-09.00 WIB’);
· Menampilkan seluruh isi dari table dokter:
Select * from dokter;
Tabel Dokter
clip_image012
clip_image014
· Membuat table Bangsal:
Create table bangsal (
-> Kode_Bangsal char(10)not null primary key,
-> Nama_Bangsal varchar(20),
-> Kelas_Bangsal varchar(15),
-> Daya_Tampung int,
-> Lokasi_Bangsal varchar(20));
· Mengisikan table bangsal:
Insert into bangsal
-> value(‘11’,’Mawar’,’Kelas VIP’,’3’,’RS. Permai Lt. 2’);
Tabel Bangsal
clip_image016
4. Perintah SQL
a. Menampilkan semua nama pasien yang dirawat oleh dokter tertentu.
clip_image018
Perintah di atas menampilkan nama_dokter, id_dokter, dan nama_pasien yang di rawat.
clip_image020
Perintah di atas menampilkan nama_dokter, id_dokter, dan nama_pasien yang di rawat oleh dokter dengan id_dokter 1115
b. Menghitung & menampilkan jumlah pasien yang ditangani masing-masing dokter
clip_image022
Perintah diatas menampilkan id_dokter, dan jumlah_pasien yang di rawat oleh masing2 dokter
c. Menghitung & menampilkan jumlah pasien yang menginap di masing-masing bangsal
clip_image024
Perintah diatas menampilkan kode_bangsal, dan jumlah_pasien yang dirawat di masing-masing bangsal.
d. Menghitung & menampilkan rata-rata jumlah pasien setiap harinya
clip_image026
Dari screenshot mySQL diatas tampak bahwa jumlah pasien dan jumlah hari = 10, jadi rata-rata tiap hari 1
e. Menghitung & menampilkan jumlah pasien dari masing-masing kota
clip_image028
Perintah diatas menampilkan kota_pasien dan jumlah_pasien di tiap-tiap kota
f. Menampilkan data dokter yang usianya paling muda
clip_image030
perintah diatas menampilkan seluruh data dokter termuda
Atau
clip_image032
Perintah diatas menampilkan usia dokter yang paling muda, di hitung dari tanggal sekarang di kurangi tanggal lahir dokter, kemudian di cari usia minimumnya dengan perintah min

Membuat Database Perpustakaan Menggunakan MYSQL

sumber : http://dunia-programming.blogspot.com/2009/11/membuat-database-perpustakaan.html

1. Untuk membuat sebuah database anda harus menentukannya terlebih dahulu apa yang anda akan buat , misalnya kita akan membuat database perpustakaan , kemudian table - table yang terbentuk dari database perpustakaan , yaitu
            * Table Admin
            * Table Jenis
            * Table Penerbit
            * Table Desk Buku
            * Table Buku
            * Table Anggota
            * Table Penulis

Nah itu perinciannya !!!

2. Untuk membuat database anda harus menuliskan perintah ini :

mysql > create database perpustakaan;
Query Ok , 1 rows affected (0.70 sec)

database perpustakaan telah anda buat !!
sekarang tinggal membuat table - table nya !!

o iya saya hampir lupa !!!

3.  Sebelum anda membuat table - table dari perpustakaan , anda harus memasukan perintah ini :

mysql > use perpustakaan;

gunannya untuk apa ?? untuk menggunakan perpustakaan sebagai database !! kan kita membuat database perpustakaan gimana sih cuy !!! hehehe !!!

database perpustakaan siap digunakan !!

karena kita sudah membuat table - table nya , maka kita buat yuk tablenya !!!


4. Kita bikin table Admin dulu ya , sesuai dengan susunan yang diatas !!!
perintah yang anda masukan yaitu :




5.  Table Jenis , dengan perintah sebagai berikut :


6.  Table Penerbit , dengan perintah sebagai berikut :










7.  Table Desk Buku , dengan perintah sebagai berikut :








8.  Table Buku , dengan perintah sebagai berikut :











9.  Table Anggota , dengan perintah sebagai berikut :











 10.  Table Penulis , dengan perintah sebagai berikut :







nah sekarang anda tinggal memasukan record kedalam table !!!



Contoh Perancangan Database pada puskesmas:
sumber: http://chebii.wordpress.com/2011/05/08/contoh-perancangan-database-pada-puskesmas/

Sebuah puskesmas ingin membuat database mengenai data balita. Dari database tersebut bisa diketahui :
1. Jumlah Penduduk di wilayah puskesmas berdasarkan Jenis Kelamin, Tingkat pendidikan, pekerjaan
2. Jumlah Keluarga Miskin di wilayah puskemas, informasi ini dapat membantu pemerintah dalam perncanaan kegiatan pengentasan kemiskinan dan dalam penyaluran bantuan bagi keluarga miskin
3. Persentase Jumlah Balita yang lahir dengan berat badan waktu lahir rendah, Tingginya Balita lahir dengan berat badan rendah menggambarkan status gizi ibu sewaktu mengandung, sehingga perlu peningkatan intervensi kegiatan yang diarahkan pada ibu hamil, disamping itu informasi bayi lahir dengan berat badan rendah segera melakukan pemberian makanan tambahan agar tidak menjadi balita gizi buruk.
4. Jumlah balita gizi buruk, Gizi Kurang, dan gizi baik, informasi ini dapat digunakan untuk merencanakan penanggulangan gizi buruk.
1. Pengumpulan Data dan Analisis Permintaan
Kelompok pemakai dan analisis permintaan
- Petugas puskesmas
- Masyarakat
- Pemerintah
2. Perancangan Model Konseptual Database
a. Perancangan Skema Konseptual
1. Table Kepala Keluarga
- Id_kk
- Nama_kk
- Tempat_lahir
- Tanggal_lahir
- Jenis_kelamin
- Pekerjaan
- Alamat
- Gakin
2. Table Data Anggota Keluarga
- Id_anggota_kk
- Id_kk
- Nama
- Tempat_lahir
- Tanggal_lahir
- Jenis_kelamin
- Pekerjaan
- Hubungan
- Alamat
3. Table Data Balita
- Id_balita
- Id_anggota_kk
- Bb_waktu_lahir
- Pb_waktu_lahir
- Kms_balita
a. Entity
Puskesmas(petugas, masyarakat, pemerintah)
b. Atribut dan Primary Key
- Id_kk, Nama_kk, Tempat_lahir, Tanggal_lahir, Jenis_kelamin, Pekerjaan, Alamat, Gakin
- Id_anggota_kk, Id_kk, Nama, Tempat_lahir, Tanggal_lahir, Jenis_kelamin, Pekerjaan, Hubungan, Alamat
- Id_balita, Id_anggota_kk, Bb_waktu_lahir, Pb_waktu_lahir, Kms_balita
Form Tampilan Program
c. Perancangan Model Fisik Database
Table Kepala Keluarga
Query : Create Table K_Keluarga ( Id_kk varchar(10) Not null Primary key, Nama_kk varchar(30), Tempat_Lahir varchar(30), Tenggal_Lahir date, J_Kelamin varchar(1), Pekerjaan varchar (30), Pendidikan varchar(30), Alamat varchar(100), Gakin varchar(1));
Field type Null
Id_kk varchar(10) No
Nama_kk varchar(30) No
Tempat_lahir varchar(30) No
Tanggal_lahir date No
Jenis_kelamin varchar(1) No
Pekerjaan varchar(30) No
Pendidikan varchar(30) No
Alamat varchar(100) No
Gakin varchar(1) No
Keterangan pengisian :
1. Id_kk sebagai Primary Key
2. Nama_kk berisi Nama Kepala Kelurga
3. Tempat_lahir tempat dari Kepala Keluarga
4. Tgl_lahir :Tanggal lahir dari Kepala Keluarga
5. Sex berisi kategori laki-laki dan perempuan dari Kepala Keluarga
6. Pekerjaan adalah pekerjaan dari kepala keluarga yang berisi kategori PNS, Swasta, Petani, Pedagang, Nelayan, Buruh,Tidak bekerja
7. Pendidikan adalah Tingkat Pendidikan kepala keluarga berisi kategori PT, Akademi, SMU,SMP,SD,Tidak Sekolah
8. Alamat adalah Alamat Kepala Keluarga
9. GAKIN berisi kategori : ya dan Tidak
Table Data Anggota Keluarga
Query : Create Table A_Keluarga( Id_A_K varchar(10) not null primary key, Id_kk varchar(10), Nama varchar(30), Tempat_Lahir varchar(30), Tanggal_lahir date, J_Kelamin varchar(1), Pekerjaan varchar(10), Hubungan varchar(10), Alamat varchar(100));
Field Type Null
Id_anggota_keluarga varchar(10) No
Id_kk varchar(10) No
Nama varchar(30) No
Tempat_lahir varchar(30) No
Tanggal_lahir Date No
Jenis_kelamin varchar(1) No
Pekerjaan varchar(10) No
Hubungan varchar(10) No
Alamat varchar(100) No
Keterangan pengisian :
1. Id_Anggota_kk sebagai Primary Key dari table Anggota_kk yaitu data Integral 10 digit
2. Id_kk adalah current key dari Tabel data_kk
3. Nama : nama anggota Keluarga
4. Tempat_lahir adalah Tempat Lahir dari anggota Keluarga
5. Tgl_lahir adalah Tanggal Lahir dari anggota Keluarga
6. Jenis_kelamin adalah Jenis Kelamin dari anggota keluarg yang berisi kategori laki-laki dan perempuan
7. Hubungan adalah hubungan dari anggota keluarga dengan kepala keluarga yang berisi kategori : Isteri, Anak, Orang Tua, Saudara Kandung, dll
8. Pekerjaan adalah Pekerjaan dari anggota keluarga berisi kategori PNS, Swasta, Petani, Pedagang, Nelayan, Buruh,Tidak bekerja
9. Pendidikan adalah Pendidikan dari anggota Keluarga berisi kategori Sarjana,Diploma, SMU,SMP,SD,Tidak Sekolah
Table Data Balita
Query : Create table Balita (Id_Balita varchar(10) not null primary key, Id_A_K varchar(10), Bb_W_L varchar(10), Pb_W_L varchar(10), KMS_B varchar(1));
Field Type Null
Id_balita varchar(10) No
Id_anggota_kk varchar(10) No
Bb_waktu_lahir varchar(10) No
Pb_waktu_lahir varchar(10) No
Kms_balita varchar(1) No
Keterangan pengisian :
a. Id_Balita sebagai Primary Key
b. Id_Anggota_kk adalah current key dari Tabel Angggota_kk
c. BB_wkt_lhr : adalah berat badan Balita Waktu Lahir
d. PB_wkt_lhr : adalah Panjang badan Balita Waktu Lahir
e. KMS_Balita adalah Kepemilikan Kartu Menuju Sehat, yang berisi kategori Ya dan Tidak

 

DATABASE "PENYEWAAN HOTEL" 

sumber : http://stefymery.blogspot.com/2009/03/database-penyewaan-hotel.html


Dalam tugas ini,saya mengambil contoh database mengenai penyewaan hotel,,dimana terdiri dari tiga buah tabel,
yakni
1).tabel kamar
terdiri dari kode,kelas,nama,dan tarif
2).tabel sewa
terdiri dari nama penyewa,tgl.masuk,tgl.keluar,kode kamar dan kode penyewa.
3). tabel penyewa
terdiri dari kode penyewa,nama,alamat,kota dan no.telp
Tabel- tabel tersebut dibuat dengan tujuan untuk mempermudah dalam pengolahan data yang masuk maupun keluar dalam usaha penyewaan sebuah hotel maupun penginapan lainnya..
Diantara ketiga tabel dibuat tanda panah yang saling bolak-balik,menyatakan bahwa dalam pengolahan data,,tabel - tabel tersebut memiliki hubungan yang sangat erat dan saling berhubungan satu dengan yang lain.
Pembuatan kolom atas pembagian tabel yang ada dijadikan sebagai Data tabel,dimana data data tersebut diolah oleh database manager yaitu orang yang bertanggung jawab mengawasi pengelolaan basis data,berinteraksi dengan file,memastikan backup data dan perbaikannya serta menjaga keamanan data.
Untuk membuat suatu database digunakan "SQL" (Structured Query Language) yaitu bahasa pemograman yang digunakan untuk mengakses data dalam basis data relasional.Bahasa ini merupakan bahasa standard yang digunakan dalam manajemen basis data relasional.. Secara umum SQL terdiri dari dua bahasa yaitu,DDL dan DML
Dalam hal ini,DDL(Data Definition Language) sangat berguna dalam pembuatan struktur database untuk membuat data tabel yang ada,,DDL ini adalah bahasa pemograman pendefinisian data yang terdiri dari perintah - perintah untuk membentuk,mengubah atau menghapus tabel,beserta kolom-kolom,tabel dan tipe data penyusunnya serta menetapkan hubungan dan batasan data.
Selain itu,digunakan juga DML(Data Manipulation Language) yakni perintah untuk memanipulasi data pada basis data,misalnya perintah untuk memilih data(query),menyisipkan,mengubah dan menghapus data dalam basis data.DML ini dipakai dalam pembuatan program-program sehingga dapat diaplikasikan pada data tabel yang ada

Contoh Data base Rumah Sakit

sumber: http://putroweb.blogspot.com/2009/03/contoh-basis-data-rumah-sakit.html
 
Pengertian

Rumah sakit adalah tempat yang digunakan untuk memeriksa maupun merawat orang- orang yang sedang sakit. Dalam rumah sakit ini pasti terdapat banyak sekali orang yang memeriksakan kesehatannya setiap hari. Tentunya rumah sakit ini butuh sebuah pengelolaan untuk semua data- data tersebut. Data data tersebut antara lain data pasien, data dokter , data petugas jaga, data ruang, data pembayaran maupun data pasien yang menjalani rawat inap.

Maka, dibuatlah sistem informasi rumah sakit. Sistem informasi rumah sakit digunakan untuk mempermudah dalam pengelolaan data pada rumah sakit. Sistem ini tentunya sudah menggunakan metode komputerisasi. Karena dengan penggunakan metode komputerisasi, proses penginputkan data, proses pengambilan data maupun proses pengupdate data sangat mudah, cepat dan akurat.


Objek yang dipakai

1. Petugas
2. Pasien
3. Dokter
4. Ruang


Penentuan entitas

1. Petugas         : Menyimpan informasi identitas dari petugas jaga
2. Pasien           : Menyimpan informasi identitas dari pasien
3. Dokter          : Menyimpan informasi identitas dari dokter
4. Ruang           : Menyimpan informasi identitas dari ruang
5. Rawat inap    : Menyimpan informasi apabila terdapat pasien yang perlu rawat inap
6. Pembayaran  : Menyimpan informasi dari administrasi pembayaran pasien

Penentuan atribut

1. Petugas : kd_petugas char(10) primary key, nama_petugas varchar(30), alamat_petugas varchar(50),
    jam_jaga char(15)

2. Pasien : kd_pasien char(10) primary key, kd_dokte char(10) foreign key, nama_pasien varchar(30),
    alamat_pasien varchar(50), tanggal_datang char(15), keluhan varchar(50)

3. Dokter : kd_dokter char(10) primary key, nama_dokter varchar (30),alamat_dokter varchar(50),
    spesialisasi_dokter varchar(20)

4. Ruang : kd_ruang char(10) primary key, nama_ruang varchar(30), nama_gedung varchar(30)

5. Rawat inap : kd_rawat_inap char(10) primary key , nama_pasien varchar(30) foreign key, kd_ruang
    varchar(30) foreign key

6. Pembayaran : kode_pembayaran char(10) primary key, kd_pasien char(10), kd_petugas char(10),
    jumlah_harga varchar(30)




Hubungan atau Relasi

Petugas melayani pembayaran pasien
Tabel utama: petugas
Tabel kedua: pembayaran
Relationship: One-to-many (1:M)
Attribute penghubung: kd_petugas (FK kd_petugas di pembayaran )

Pasien membayar pada tabel pembayaran
Tabel utama: pasien
Tabel kedua: pembayaran
Relationship: One-to-one (1:1)
Attribute penghubung: kd_pasien (FK kd_pasien di pembayaran )

Dokter digunakan untuk pasien
Tabel utama: dokter
Tabel kedua: pasien
Relationship: One-to-many (1:M)
Attribute penghubung: kd_dokter (FK nama_dokter di pasien )

Pasien melakukan rawat inap
Tabel utama: pasien
Tabel kedua: rawat_inap
Relationship: One-to-one (1:1)
Attribute penghubung: kd_pasien (FK kd_pasien di rawat_inap )

Ruang digunakan untuk rawat_inap
Tabel utama: ruang
Tabel kedua: rawat_inap
Relationship: One-to-one (1:1)
Attribute penghubung: kd_ruang (FK kd_ruang di rawat_inap)





Berikut adalah kode progrem untuk masing- masing tabel
 

create database rumahsakit

create table petugas
(
kd_petugas char(10)constraint
pk_petugas_kd_petugas primary key not null,
nama_petugas varchar(30),
alamat_petugas varchar(50),
jam_jaga varchar(30)
);

create table dokter
(
kd_dokter char(10)constraint
pk_dokter_kd_dokter primary key not null,
nama_dokter varchar(30),
alamat_dokter varchar(50),
spesialisasi_dokter varchar(30),
);

create table pasien
(
kd_pasien char(10)constraint
pk_pasien_kd_pasien primary key not null,
kd_dokter char(10) constraint
fk_pasien_kd_dokter foreign key
references dokter(kd_dokter) on delete cascade on update cascade,
nama_pasien varchar(30) not null,
alamat_pasien varchar(50),
tgl_datang varchar(30) not null,
keluhan varchar(50)
);

create table ruang
(
kd_ruang char(10)constraint
pk_ruang_kd_ruang primary key not null,
nama_ruang varchar(30),
nama_gedung varchar(50),
);

create table pembayaran
(
kd_pembayaran char(10)constraint
      pk_pembayaran_kd_pembayaran primary key not null,
kd_petugas char(10) constraint
      fk_pembayaran_kd_petugas foreign key
      references petugas(kd_petugas) on delete cascade on update cascade,
kd_pasien char(10) constraint
      fk_pembayaran_kd_pasien foreign key
      references pasien(kd_pasien)on delete cascade on update cascade,
jumlah_harga varchar(30)
);

create table rawat_inap
(
kd_rawatinap char(10)constraint
      pk_rawat_inap_kd_rawatinap primary key not null,
kd_ruang char(10) constraint
      fk_rawat_inap_kd_ruang foreign key
      references ruang(kd_ruang) on delete cascade on update cascade,
kd_pasien char(10) constraint
      fk_rawat_inap_kd_pasien foreign key
      references pasien(kd_pasien)on delete cascade on update cascade
);