Skip to content

Instantly share code, notes, and snippets.

@fahmiegerton
Last active March 12, 2019 13:32
Show Gist options
  • Save fahmiegerton/cee4cbbee8f94e1a7f6ea1950c4e6e4e to your computer and use it in GitHub Desktop.
Save fahmiegerton/cee4cbbee8f94e1a7f6ea1950c4e6e4e to your computer and use it in GitHub Desktop.
Kueri Apotek PostgreSQL
-- kueri hanya bisa dipakai di PostgreSQL (versi 10 keatas)
-- cara jalaninnya blok dulu kuerinya baru tekan f5
-- contoh: blok yg ini => select * from obat; <= lalu tekan f5
-- nb: sql itu gak case-sensitive (maksudnya huruf besar kecil gak papa).
-- tipe data 'serial' sama fungsinya seperti 'AUTO_INCREMENT' di MySQL, bedanya serial itu ada di Postgres.
-- kalau di Microsoft SQL Server, tipe datanya 'Identity'. Di Oracle mboh.
-- jadi, setiap ada kolom yang di input, kolom dengan tipe data 'serial' akan otomatis bertambah nilainya.
-- Buat tabel obat dengan IdObat sebagai Primary Key (Kunci Utama) nya
create table Obat(
IdObat serial not null Primary Key,
NamaObat varchar(120) not null,
JenisObat varchar(80) not null,
Harga integer not null,
TanggalMasuk timestamp default current_timestamp not null,
TanggalExpired Date not null,
Catatan Text null
);
-- ini maksudnya pilih semua kolom dari tabel obat untuk menampilkan data di dalamnya
select * from Obat;
-- buat tabel apoteker
create table Apoteker(
IdApoteker serial not null Primary Key,
NamaApoteker varchar(150) not null,
Alamat Text not null,
NoHp varchar(14) not null
);
-- ini maksudnya pilih semua kolom dari tabel apoteker untuk menampilkan data di dalamnya
select * from Apoteker;
-- buat tabel pelanggan
create table Pelanggan(
IdPel serial not null primary key,
NamaPel varchar(150) not null,
TglLahir Date not null,
NoHp varchar(14) not null,
Alamat text not null
);
-- ini maksudnya pilih semua kolom dari tabel pelanggan untuk menampilkan data di dalamnya
select * from pelanggan;
-- buat tabel pembelian, disini ada Foreign Key (Kunci Asing) sebagai relasinya yaitu IdObat (dari tabel Obat),
-- IdPel (dari tabel Pelanggan), dan IdApoteker (dari tabel Apoteker)
create table Pembelian(
IdPembelian serial not null primary key,
IdObat integer not null,
IdPel integer not null,
IdApoteker integer not null,
TanggalPembelian Timestamp not null default current_timestamp,
Kuantitas integer not null,
TotalHarga integer not null,
Catatan text,
CONSTRAINT FK_OrderObat FOREIGN KEY (IdObat) REFERENCES Obat(IdObat),
CONSTRAINT FK_YgBeli FOREIGN KEY (IdPel) REFERENCES Pelanggan(IdPel),
CONSTRAINT FK_YgJual FOREIGN KEY (IdApoteker) REFERENCES Apoteker(IdApoteker)
);
-- ini maksudnya pilih semua kolom dari tabel pembelian untuk menampilkan data di dalamnya
select * from pembelian;
-- memasukkan data ke dalam tabel obat. kalau tipe datanya berupa tanggal, pastikan urutannya
-- YYYY-MM-DD (tahun-bulan-tanggal).
insert into Obat(NamaObat, JenisObat, Harga, TanggalExpired, Catatan) values
('Sanmol', 'Generik', '4000', '2022-02-12', 'Buat Sakit Kepala'),
('Parasetamol', 'Generik', '2000', '2020-03-14', 'Uhhh'),
('OBH', 'Generik', '12000', '2020-04-21', 'Batuk Pak Haji??');
select * from obat;
-- memasukkan data ke dalam tabel pelanggan. kalau tipe datanya berupa tanggal, pastikan urutannya
-- YYYY-MM-DD (tahun-bulan-tanggal).
insert into Pelanggan(NamaPel, TglLahir, NoHp, Alamat) values
('Sukimin', '1997-05-12', '0812662212', 'Jl. Buntu Belok Kanan'),
('Upil', '2016-07-01', '0877123321', 'Kampung Durian Ambruk');
select * from pelanggan;
-- memasukkan data ke dalam tabel apoteker. kalau tipe datanya berupa tanggal, pastikan urutannya
-- YYYY-MM-DD (tahun-bulan-tanggal).
insert into Apoteker(NamaApoteker, Alamat, NoHp) values
('Briem', 'Jl. Menuju Tak Terbatas dan Melampainya', '08165341721'),
('Maekael', 'Jl. Jalan Ke Bukit Cinta Eaa', '08117338110');
select * from apoteker;
-- memasukkan data ke dalam tabel obat. kalau tipe datanya berupa tanggal, pastikan urutannya
-- YYYY-MM-DD (tahun-bulan-tanggal). INGAT!!! ID HARUS SAMA DENGAN KOLOM DARI TABEL ASALNYA!!!!
-- JIKA TIDAK, SQL GAGAL INPUT (BIASANYA)!!
insert into Pembelian(IdObat, IdPel, IdApoteker, Kuantitas, TotalHarga, Catatan) values
('3', '1', '1', '2', '24000', 'Pak haji lagi batuk');
select * from pembelian;
-- UDAH HABIS MAU APA LAGI WKWK --
@fahmiegerton
Copy link
Author

apotek
Nah uml nya kurang lebih kaya gitu lah.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment