query view dan store procedure
Sunday, April 29, 2018
View dan Store Procedure
Manajemen Informatika Politeknik Negeri Lampung - postingan kali ini tentang tugas mata kuliah pemograman SQL dengan judul "query view dan store procedure" .disini saya akan mencoba untuk menjelaskan dan memberi contoh tentang penggunaan view dan store prosedure dan juga contoh dari kombinasi antara store prosedure dengan view. mudah mudahan bermanfaat dan dapat membantu kalian semua.
1.
Master Data
Tabel mahasiswa
·
Select
* from mahasiswa
Tabel dosen
·
Select
* from dosen
Tabel Prodi
·
Select
* from prodi
Tabel Pendidikan
·
Select
* from pendidikan
Tabel Statusakademik
·
Select
* from statusakademik
2.
View
NO
|
Nama
view
|
Query
sql
|
Keterangan
|
1
|
Mahasiswaprodi
|
create view
mahasiswaprodi as
SELECT mahasiswa.nama, mahasiswa.npm, mahasiswa.tempatlahir,mahasiswa.idprodi, prodi.nmprodi,mahasiswa.tahunmasuk
FROM mahasiswa INNER JOIN prodi ON mahasiswa.idprodi
= prodi.idprodi
|
Menampilkan mahasiswa berdasarkan program studi
|
2
|
jumlahdosen
|
create view jumlahdosen as
SELECT count(*) AS 'Jumlah Dosen',
(SELECT nmstatuska FROM pendidikan AS
b
WHERE b.idstatuska = a.idpendidikan)
AS 'Pendidikan',
(SELECT nmprodi FROM
prodi AS b
WHERE b.idprodi = a.idpendidikan)
AS 'Prodi'
FROM dosen AS a GROUP BY
idpendidikan, idprodi;
|
Menampilkan
jumlah data dosenberdasarkan prodi dan pendidikan
|
3
|
jumlahmahasiswatahun
|
create view jumlahmahasiswatahun as
SELECT count(*) AS 'Jumlah Mahasiswa',
tahunmasuk
FROM mahasiswa GROUP BY tahunmasuk;
|
Menampilkan
jumlah mahasiswa setiap tahunnya
|
4
|
jumlahmahasiswaagribisnis
|
create view
jumlahmahasiswaagribisnis as
SELECT count(mahasiswa.nama)as jumlah
FROM mahasiswa INNER
JOIN prodi ON
mahasiswa.idprodi =
prodi.idprodi
where prodi.nmprodi
= 'agribisnis'
|
Menampilkan jumlah seluruh mahasiswa program
studi agribisnis
|
5
|
jumlahmahasiswacutiangkatan1998
|
create view
jumlahmahasiswacutiangkatan1998 as
SELECT count(mahasiswa.nama)as jumlah
FROM mahasiswa INNER JOIN statusakademik ON
mahasiswa.idstatuska =
statusakademik.idstatuska INNER JOIN prodi ON mahasiswa.idprodi
= prodi.idprodi
where statusakademik.nmstatuska='cuti' and mahasiswa.tahunmasuk='1998'
|
Menampilkan
jumlah seluruh mahasiswa yang
statusnya cuti pada angkatan 1998
|
6
|
dosenprodidangelar
|
create view dosenprodidangelar as
SELECT dosen.nmdosen,
pendidikan.nmstatuska,
prodi.nmprodi,
dosen.sex FROM
dosen INNER JOIN
pendidikan ON dosen.idpendidikan
= pendidikan.idstatuska
INNER JOIN
prodi ON dosen.idprodi = prodi.idprodi
|
Menampilkan
nama dosen, jenis kelamin, nama prodi serta penidikan terakhir dosen
|
7
|
mahasiswaagricuti
|
create view mahasiswaagricuti as
SELECT mahasiswa.nama, mahasiswa.npm,
statusakademik.nmstatuska, prodi.nmprodi, prodi.akreditasi
FROM mahasiswa INNER JOIN
prodi ON mahasiswa.idprodi
= prodi.idprodi
INNER JOIN
statusakademik
ON mahasiswa.idstatuska
= statusakademik.idstatuska
where prodi.nmprodi='agribisnis'and statusakademik.nmstatuska='cuti'
|
Menampilkan
data mahasiswa program studi agribisnis dan
sedang melakukan cuti
|
8
|
jumlahmhspdant
|
create view jumlahmhspdant as
SELECT count(*) AS 'Jumlah Mahasiswa',
(SELECT nmprodi FROM
prodi AS b WHERE
b.idprodi = a.idprodi) AS 'Prodi',
tahunmasuk
FROM mahasiswa AS a GROUP BY tahunmasuk, idprodi;
|
Menampilkan
jumlah data mahasiswa berdasarkan prodi dan tahun masuk
|
9
|
mahasiswakeluar
|
create view mahasiswakeluar as
SELECT mahasiswa.nama, prodi.nmprodi, statusakademik.nmstatuska
FROM mahasiswa INNER JOIN statusakademik ON
mahasiswa.idstatuska =
statusakademik.idstatuska INNER JOIN
prodi ON
mahasiswa.idprodi =
prodi.idprodi
where statusakademik.idstatuska = '4'
|
Menampilkan
nama dan prodi data mahasiswa yang statusnya keluar
|
10
|
jumlahmahasiswakeluar
|
create view jumlahmahasiswakeluar
as
SELECT count(nama)as 'jumlah' ,
(SELECT nmstatuska FROM statusakademik AS
b
WHERE b.idstatuska = a.idstatuska )as 'status' ,
(SELECT nmprodi FROM
prodi AS c
WHERE c.idprodi = a.idprodi)as'prodi'
FROM mahasiswa AS a where idstatuska = '4' GROUP BY idstatuska,idprodi
;
|
Menampilkan
jumah mahasiswa yang keluar berdasarkan prodi
|
3.
Store procedure
No
|
Nama
store
|
Query
sql
|
menampilkan
|
keterangan
|
1
|
inputdatadosen
|
create procedure
inputdatadosen
@nmdosen nvarchar(50),@gelar nvarchar(30),@tempatlahir nvarchar(30),@tanggallahir date
,@sex nvarchar,@idprodi integer,@idpendidikan integer
as
begin
insert into dosen(nmdosen,gelar,tempatlahir,tanggallahir,sex,idprodi,idpendidikan ) values
(@nmdosen,@gelar,@tempatlahir,@tanggallahir,@sex,@idprodi,@idpendidikan )
end
go
|
exec inputdatadosen[eko win],[s2],[lamsel],[1998-11-11],[l],[2],[2]
|
Menginput
data dosen menggunakan store prosedure
|
2
|
updatemhs
|
create procedure updatemhs @idmhs nvarchar
,@npm nvarchar (8),
@nama nvarchar(50) ,@tempatlahir nvarchar(30),@tanggallahir date
,
@sex nvarchar,@tahunmasuk
nvarchar(4),@idprodi integer,@idstatuska integer
as
Begin
UPDATE mahasiswa
SET npm= @npm,nama= @nama,tempatlahir=@tempatlahir,tanggallahir=@tanggallahir,
sex=@sex,tahunmasuk=@tahunmasuk,idprodi=@idprodi,idstatuska=@idstatuska
WHERE idmhs=@idmhs;
end
go
|
exec updatemhs [4],[16753011],[dedy],[tulangbawang],[1997-12-11],[l],[1998],[1],[2]
exec mahasiswaupdate [5],[dedy]
|
Mengupdate
data mahasiswa menggunakan store prosedure
|
3
|
deletedatamhs
|
create procedure deletedatamhs
@idmhs nvarchar as
begin
DELETE FROM mahasiswa
WHERE idmhs=@idmhs;
end
go
|
exec deletedatamhs [5]
|
Menghapus
data mahasiswa mnguakan store procedure berdasarkan id prodi
|
4
|
mahasiswaviewprodi
|
create procedure
mahasiswaviewprodi @nmprodi nvarchar(50) as
begin
SELECT *
FROM mahasiswaprodi
where nmprodi=@nmprodi
end
go
|
exec mahasiswaviewprodi[manajemen informatika]
|
Menampilkan
data mahasiswa dengan prodi manajemen informatika yang di ambil dari tabel
view mahasiswaprodi
|
5
|
jumlahmahasiswaagrinpm
|
create procedure
jumlahmahasiswaagrinpm @npm nvarchar(8) as
begin
SELECT count(nama)as jumlahmahasiswa
FROM mahasiswaagricuti
where npm=@npm
end
go
|
exec jumlahmahasiswaagrinpm [16753013]
|
Menampilkan
jumlah data mahasiswa agribisnis yang sedang cuti dengan npm yang di tentukan
, tabel jumlahmahasiswaagrinpm di ambil dari view
|
6
|
mhsbdsnpmatausex
|
create procedure mhsbdsnpmatausex
@npm nvarchar(8),@sex nvarchar as
begin
select npm,nama,sex from mahasiswa
where npm=@npm or sex=@sex
end
go
|
exec mhsbdsnpmatausex [16753011],[p]
|
Menampilkan
data mahasiswa berdasarkan npm atau sex, jika salah satu benar maka data akan
di tampilkan
|
7
|
mahasiswaviewjjumlaah
|
create procedure
mahasiswaviewjjumlaah @prodi nvarchar(50) as
begin
SELECT *
FROM jumlahmhspdant
where prodi=@prodi
end
go
|
exec mahasiswaviewjjumlaah [manajemen informatika]
|
Menampilkan
data jumlah mahasiswa sesuai parameter
yang di inputkan yang di ambil dari tabel view jumlahmhspdant
|
8
|
mahasiswaviewjumlahmhskeluar
|
create procedure
mahasiswaviewjumlahmhskeluar @prodi nvarchar(50) as
begin
SELECT *
FROM
jumlahmahasiswakeluar
where nmprodi=@prodi
end
go
|
exec mahasiswaviewjumlahmhskeluar [manajemen informatika]
|
Menampilkan
data jumlah mahasiswa yang keluar berdasarkan ketentuan parameter prodi yang
di tentikan, tabel jumlahmahasiswakeluar diambil
dari view.
|
Sekian terima kasih ...