Catatan Setyo

Sebuah catatan warna-warni kehidupan


Senin, 18 Januari 2010
by Setyo
0 Comments

DML

Pada kesempatan ini saya akan posting basis data beberapa saat yang lalu. Tugas ini tentang database serta DML.

Membuat database dengan query analyzer.

Perintah :

CREATE DATABASE New
Year1583

ON


( NAME = NewYear1583_dat, FILENAME = 'E:\KULIAH\SMT_3\SISTEM_BASIS_DATA\Tugas Praktikum\NewYear1583.mdf',


SIZE = 10,


MAXSIZE = 50,


FILEGROWTH = 5 )


LOG ON

( NAME = 'NewYear1583_log', FILENAME = 'E:\KULIAH\SMT_3\SISTEM BASIS DATA\Tugas Praktikum\NewYear1583.ldf',


SIZE = 5MB,


MAXSIZE = 25MB,


FILEGROWTH = 5MB )


GO


create table DOKTER1583(

idDokter1583 varchar(10) primary key not null,

namaDok1583 varchar(20) not null,

alamatDok1583 varchar(50) not null,

gaji1583 int not null,

tunjangan1583 int not null,

)

create table PASIEN1583(

idPasien1583 varchar(10) primary key not null,

namaPasien1583 varchar(30) not null,

alamatPasien1583 varchar(50) not null,

jenisKelamin1583 char(1) default 'L' not null,

golDarah1583 varchar(2) default 'A' not null,

)

create table PERIKSA1583(

idPeriksa1583 varchar(10) primary key not null,

idDokter1583 varchar(10) references DOKTER1583(idDokter1583),

idPasien1583 varchar(10) references PASIEN1583(idPasien1583),

tglPeriksa1583 datetime

)

go

Membuat Tabel

create table DOKTER1583(

idDokter1583 varchar(10) primary key not null,

namaDok1583 varchar(20) not null,

alamatDok1583 varchar(50) not null,

gaji1583 int not null,

tunjangan1583 int not null,

)

create table PASIEN1583(

idPasien1583 varchar(10) primary key not null,

namaPasien1583 varchar(30) not null,

alamatPasien1583 varchar(50) not null,

jenisKelamin1583 char(1) default 'L' not null,

golDarah1583 varchar(2) default 'A' not null,

)

create table PERIKSA1583(

idPeriksa1583 varchar(10) primary key not null,

idDokter1583 varchar(10) references DOKTER1583(idDokter1583),

idPasien1583 varchar(10) references PASIEN1583(idPasien1583),

tglPeriksa1583 datetime

)

go

Input Data ke Tabel DOKTER1583

insert into DOKTER1583 (idDokter1583, namaDok1583, alamatDok1583, gaji1583, tunjangan1583)
values ('DA-4','Angelina Feronica','Gondomanan Yogyakarta', 3570000, 215000)

insert into DOKTER1583 (idDokter1583, namaDok1583, alamatDok1583, gaji1583, tunjangan1583)
values ('DG-3','Rohmat Effendy','Demangan Yogyakarta', 4650000, 175000)

insert into DOKTER1583 (idDokter1583, namaDok1583, alamatDok1583, gaji1583, tunjangan1583)
values ('DK-5', 'Siti Ngaliman', 'Minomartani Sleman', 3350000, 110000)

insert into DOKTER1583 (idDokter1583, namaDok1583, alamatDok1583, gaji1583, tunjangan1583)
values ('DU-1', 'Laelatul Fauziyah', 'Caturtunggal Sleman', 4500000, 250000)

insert into DOKTER1583 (idDokter1583, namaDok1583, alamatDok1583, gaji1583, tunjangan1583)
values ('DU-2', 'Tuti Alawiyah', 'Condongcatur Sleman', 4250000, 225000)

Input Data ke Tabel PASIEN1583

insert into PASIEN1583 (idPasien1583, namaPasien1583, alamatPasien1583, jenisKelamin1583, golDarah1583)
values (7891, 'Nur Hidayah', 'Mancasanlor Condongcatur Sleman', 'P', 'A')

insert into PASIEN1583 (idPasien1583, namaPasien1583, alamatPasien1583, jenisKelamin1583, golDarah1583)
values (7892, 'Miftah David', 'Seturan Caturtunggal Sleman', 'L', 'B')

insert into PASIEN1583 (idPasien1583, namaPasien1583, alamatPasien1583, jenisKelamin1583, golDarah1583)
values (7893, 'Michael Dell', 'Jl. C. Simanjuntak Yogyakarta', 'L', 'B')

insert into PASIEN1583 (idPasien1583, namaPasien1583, alamatPasien1583, jenisKelamin1583, golDarah1583)
values (7894, 'Keith Kellberg', 'Jl. Pakistan Yogyakarta', 'P', 'O')

insert into PASIEN1583 (idPasien1583, namaPasien1583, alamatPasien1583, jenisKelamin1583, golDarah1583)
values (7895, 'Inge Susanti', 'Kasongan Bantul', 'P', 'AB')

insert into PASIEN1583 (idPasien1583, namaPasien1583, alamatPasien1583, jenisKelamin1583, golDarah1583)
values (7896, 'Rudi Suratmadji', 'Kalasan Prambanan Sleman', 'L', 'O')

insert into PASIEN1583 (idPasien1583, namaPasien1583, alamatPasien1583, jenisKelamin1583, golDarah1583)
values (7897, 'Herda Herder', 'Godean Sleman', 'L', 'A')

insert into PASIEN1583 (idPasien1583, namaPasien1583, alamatPasien1583, jenisKelamin1583, golDarah1583)
values (7898, 'Niken Kinanti', 'Jl. Magelang Km 5 Sleman', 'P', 'B')

Input Data ke Tabel PERIKSA1583

insert into PERIKSA1583 (idPeriksa1583, idDokter1583, idPasien1583, tglPeriksa1583)
values (1, 'DU-1', 7891, 2009-12-22)

insert into PERIKSA1583 (idPeriksa1583, idDokter1583, idPasien1583, tglPeriksa1583)
values (10, 'DU-1', 7897, 2010-02-16)

insert into PERIKSA1583 (idPeriksa1583, idDokter1583, idPasien1583, tglPeriksa1583)
values (2, 'DU-1', 7892, 2009-12-29)

insert into PERIKSA1583 (idPeriksa1583, idDokter1583, idPasien1583, tglPeriksa1583)
values (3, 'DU-2', 7898, 2010-01-10)

insert into PERIKSA1583 (idPeriksa1583, idDokter1583, idPasien1583, tglPeriksa1583)
values (4, 'DG-3', 7896, 2010-01-29)

insert into PERIKSA1583 (idPeriksa1583, idDokter1583, idPasien1583, tglPeriksa1583)
values (5, 'DA-4', 7895, 2010-01-30)

insert into PERIKSA1583 (idPeriksa1583, idDokter1583, idPasien1583, tglPeriksa1583)
values (6, 'DK-5', 7897, 2010-02-15)

insert into PERIKSA1583 (idPeriksa1583, idDokter1583, idPasien1583, tglPeriksa1583)
values (7, 'DG-3', 7897, 2010-02-16)

insert into PERIKSA1583 (idPeriksa1583, idDokter1583, idPasien1583, tglPeriksa1583)
values (8, 'DA-4', 7893, 2010-02-16)

insert into PERIKSA1583 (idPeriksa1583, idDokter1583, idPasien1583, tglPeriksa1583)
values (9, 'DK-5', 7894, 2010-02-16)

Menampilkan Jumlah Dokter yang Ada

select count (idDokter1583) as 'Jumlah Dokter' from DOKTER1583

Menampilkan Nama Dokter dan Gajinya yang Memiliki Gaji Tertinggi

select top 1 (gaji1583) as 'Gaji Tertinggi', namaDok1583 from DOKTER1583 order by (gaji1583) Desc

Menampilkan Semua Data Dokter yang Berasal dari Kabupaten Sleman

select * from DOKTER1583 where alamatDok1583 like '%Sleman'

Menampilkan Rata-rata Gaji Dokter

select avg(gaji1583) as 'RATA-RATA GAJI DOKTER' from DOKTER1583

Menampilkan Jumlah Periksa untuk Tiap Dokter

select idDokter1583, 'Jumlah' = count (idDokter1583) from PERIKSA1583 group by (idDokter1583)

Menampilkan Tanggal Periksa, Nama Dokter, dan Nama Pasien yang Dirawatnya

select a.namaDok1583, b.tglPeriksa1583, c.namaPasien1583
from DOKTER1583 a, PERIKSA1583 b, PASIEN1583 c
where a.idDokter1583 = b.idDokter1583 AND b.idPasien1583 = c.idPasien1583

Menampilkan Jumlah Pasien yang Bergolongan Darah Selain 'O'

select golDarah1583, 'Jumlah' = count (idPasien1583) from PASIEN1583 where golDarah1583 not like 'O' group by (golDarah1583)