Sunday, April 29, 2018

query view dan store procedure

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 ...
Share This :