Contoh Database Rumah Sakit dengan MySQL
Contoh Database Rumah Sakit dengan MySQL - Pada kesempatan ini saya akan membahas Contoh Database Rumah Sakit Dengan MySQL. MySQL adalah salah satu sistem manajemen basis data relasional (RDBMS) yang sering digunakan untuk mengelola data dalam berbagai bidang, termasuk rumah sakit. Database rumah sakit digunakan untuk menyimpan informasi pasien, dokter, perawat, rawat inap, jadwal dokter, rekam medis, obat, dan resep obat, sehingga manajemen data menjadi lebih efektif dan efisien.
Struktur Database Rumah Sakit
- Pasien: Menyimpan informasi pasien.
- Dokter: Menyimpan data dokter dan spesialisasinya.
- Perawat: Menyimpan informasi perawat.
- RawatInap: Menyimpan data pasien yang menjalani rawat inap.
- JadwalDokter: Menyimpan jadwal praktik dokter.
- RekamMedis: Menyimpan riwayat medis pasien.
- Obat: Menyimpan daftar obat yang tersedia.
- ResepObat: Menyimpan resep obat untuk pasien.
Baca Juga: Contoh Database Sederhana Dengan MySQL
Contoh SQL Database Rumah Sakit
Berikut ini adalah panduan untuk membuat database rumah sakit bisa lewat CMD maupun phpMyAdmin.
Buat database baru:
CREATE DATABASE RumahSakit;USE RumahSakit;
Buat tabel pasien:
CREATE TABLE Pasien (id INT AUTO_INCREMENT PRIMARY KEY,nama VARCHAR(100),tanggal_lahir DATE,jenis_kelamin ENUM('L', 'P'),alamat TEXT,no_telepon VARCHAR(15),riwayat_penyakit TEXT);
Buat tabel dokter:
CREATE TABLE Dokter (id INT AUTO_INCREMENT PRIMARY KEY,nama VARCHAR(100),spesialis VARCHAR(50),no_telepon VARCHAR(15));
Buat tabel perawat:
CREATE TABLE Perawat (id INT AUTO_INCREMENT PRIMARY KEY,nama VARCHAR(100),no_telepon VARCHAR(15),shift ENUM('Pagi', 'Siang', 'Malam'));
Buat tabel rawat inap:
CREATE TABLE RawatInap (id INT AUTO_INCREMENT PRIMARY KEY,pasien_id INT,dokter_id INT,kamar VARCHAR(10),tanggal_masuk DATE,tanggal_keluar DATE,FOREIGN KEY (pasien_id) REFERENCES Pasien(id),FOREIGN KEY (dokter_id) REFERENCES Dokter(id));
Buat tabel jadwal dokter:
CREATE TABLE JadwalDokter (id INT AUTO_INCREMENT PRIMARY KEY,dokter_id INT,hari ENUM('Senin', 'Selasa', 'Rabu', 'Kamis', 'Jumat', 'Sabtu', 'Minggu'),jam_mulai TIME,jam_selesai TIME,FOREIGN KEY (dokter_id) REFERENCES Dokter(id));
Buat tabel rekam medis:
CREATE TABLE RekamMedis (id INT AUTO_INCREMENT PRIMARY KEY,pasien_id INT,dokter_id INT,diagnosa TEXT,tindakan TEXT,tanggal_periksa DATE,FOREIGN KEY (pasien_id) REFERENCES Pasien(id),FOREIGN KEY (dokter_id) REFERENCES Dokter(id));
Buat tabel obat:
CREATE TABLE Obat (id INT AUTO_INCREMENT PRIMARY KEY,nama VARCHAR(100),stok INT,harga DECIMAL(10,2));
Buat tabel resep obat:
CREATE TABLE ResepObat (id INT AUTO_INCREMENT PRIMARY KEY,rekam_medis_id INT,obat_id INT,dosis VARCHAR(50),jumlah INT,FOREIGN KEY (rekam_medis_id) REFERENCES RekamMedis(id),FOREIGN KEY (obat_id) REFERENCES Obat(id));
Masukkan data dummy ke semua tabel diatas:
-- Data PasienINSERT INTO Pasien (nama, tanggal_lahir, jenis_kelamin, alamat, no_telepon, riwayat_penyakit) VALUES('Ahmad Saputra', '1985-07-12', 'L', 'Jakarta', '081234567890', 'Diabetes'),('Siti Aminah', '1990-03-20', 'P', 'Surabaya', '081987654321', 'Hipertensi');-- Data DokterINSERT INTO Dokter (nama, spesialis, no_telepon) VALUES('Dr. Budi Santoso', 'Kardiologi', '081234123456'),('Dr. Rina Putri', 'Neurologi', '081432654789');-- Data PerawatINSERT INTO Perawat (nama, no_telepon, shift) VALUES('Lisa Marlina', '081234000111', 'Pagi'),('Adi Pratama', '081234000222', 'Malam');-- Data Rawat InapINSERT INTO RawatInap (pasien_id, dokter_id, kamar, tanggal_masuk, tanggal_keluar) VALUES(1, 1, 'A101', '2024-03-10', '2024-03-15'),(2, 2, 'B202', '2024-03-12', NULL); -- Masih dirawat-- Data Jadwal DokterINSERT INTO JadwalDokter (dokter_id, hari, jam_mulai, jam_selesai) VALUES(1, 'Senin', '08:00:00', '12:00:00'),(2, 'Rabu', '13:00:00', '17:00:00');-- Data Rekam MedisINSERT INTO RekamMedis (pasien_id, dokter_id, diagnosa, tindakan, tanggal_periksa) VALUES(1, 1, 'Penyakit jantung ringan', 'Pemberian obat', '2024-03-10'),(2, 2, 'Sakit kepala berat', 'CT Scan dilakukan', '2024-03-12');-- Data ObatINSERT INTO Obat (nama, stok, harga) VALUES('Aspirin', 50, 5000),('Paracetamol', 100, 2000);-- Data Resep ObatINSERT INTO ResepObat (rekam_medis_id, obat_id, dosis, jumlah) VALUES(1, 1, '2x1 sehari', 10),(2, 2, '3x1 sehari', 15);
Baca Juga: Perbedaan Antara GROUP BY dan DISTINCT dalam MySQL
Kesimpulan
Database rumah sakit ini mencakup banyak aspek penting seperti data pasien, dokter, perawat, rekam medis, obat, hingga rawat inap. Dengan struktur database yang kompleks ini, manajemen rumah sakit bisa dilakukan lebih efisien.
Jika ada yang perlu ditambahkan atau dimodifikasi, silakan beri tahu!