Basis Data II. Pertemuan Ke-8 (Views & Users Authorisation) Noor Ifada S1 Teknik Informatika - Unijoyo 1

dokumen-dokumen yang mirip
Basis Data II. Pertemuan Ke-6 (Function) Noor Ifada

Basis Data II. Pertemuan Ke-11 (System Catalog) Noor Ifada S1 Teknik Informatika - Unijoyo 1

VIEW : Tabel Virtual VIEW 5/29/2017

Basis Data II. Pertemuan Ke-9 dan ke-10 (Stored Procedure dan Trigger) Noor Ifada S1 T. Informatika - UTM (2012) 1

Basis Data I. Pertemuan Ke-11 (SQL Part 2) Noor Ifada.

Basis Data I. Pertemuan Ke-10 (SQL Part 1) Noor Ifada.

TUGAS I VIEWS BASIS DATA II

Basis Data II. Pertemuan Ke-7 (Union dan Join) Noor Ifada S1 T. Informatika - UTM (2012) 1

Basis Data II. Pertemuan Ke-2 (Review Data Manipulation Language [DML]) Noor Ifada

Manajemen Data dengan Database MySQL Supriyono, M.Kom

Tutorial Database Oracle Chapter2 Pembuatan User dan Kontrol Hak Akses

ADMINISTRASI USER. I. Konfigurasi User Root mysql> Show Databases; mysql> Use Mysql; mysql> Show Tables; mysql> Select user,host,password from user;

PERTEMUAN 14 MENGONTROL AKSES USER

SISTEM KEAMANAN PADA MYSQL

Konsep Sistem Informasi B. BAB 2 - SQL Overview

BAB II PEMBUATAN DAN MANAJEMEN TABLE

Oracle Academic Initiative

Manajemen User Pada MySQL

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

Pertemuan 10. Bahasa Query Terapan

Basis Data I. Pertemuan Ke-4 & ke-5 (Model Relasional Part 1) Noor Ifada.

STRUCTURE QUERY LANGUAGE (SQL)

Perangkat Lunak Pengembangan Web

Modul 2 Manajemen Database (User, Group, Database)

DATA CONTROL LANGUAGE : GRANT DAN REVOKE

Konsep Dasar. Relatsional dan RDBMS User dan Schema Database Membuat Tabel dan Mendefinisikan Constraint Input Data ke dalam Tabel

Statement DDL Create database drop database Create table drop table alter table

By Imana M alia Malia Kondou 1

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

MODUL 3. View PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Obyek pada Oracle. Manajemen Obyek Basis Data dan Dictionary View. Obyek pada Oracle adalah segala hal yang bisa dibuat di Oracle, seperti:

PERTEMUAN 14 PENGELOLAAN KEAMANAN

Modul 4. Mengoperasikan Bahasa Pemrograman Data Description (SQL) Memahami penggunaan username dan password pada MySQL

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Kontrak Kuliah. Management User dan Akses Kontrol. Edi Sugiarto, S.Kom, M.Kom

INSTALASI ORACLE XE & ADMINISTRASI USER

Modul 3 : Query Penggabungan Tabel

Pemrograman Basis Data Berbasis Web

@Tessy Badriyah, SKom. MT. PERTEMUAN 12 VIEW

CONSTRAINT clients_client_num_pk PRIMARY KEY (client_number));

Membuat Function, Stored Procedur dan View pada MySQL

S Q L STRUCTURED QUERY LANGUAGE DEFINITION MANIPULATION C O N T R O L D M L SELECT INSERT UPDATE DELETE

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

STRUCTURE QUERY LANGUAGE

PERINTAH DASAR MySQL

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.

MODUL 1. Pembuatan tabel, pendefinisian constraint, export dan import PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

Mahasiswa mengetahui & memahami mengenai DML, DCL di SQL. (Isi_Field_1, Isi_Field_2,, Isi_Field_N) ;

PRAKTIKUM SISTEM BASISDATA. Disusun Oleh : Anggi Nurcahyo ( )

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

TUGAS PRAKTIKUM SISTEM BASIS DATA

Komponen-Komponen SQL a. Data Definition Language (DDL) : Digunakan untuk mendefinisikan data dengan menggunakan perintah : create, drop, alter.

Hendra Setiawan ( )

PERTEMUAN 10 PEMBUATAN TABEL

BAHASA QUERY KOMERSIAL

BAB 11 SECURITY (KEAMANAN)

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

PRAKTIKUM SISTEM BASISDATA

TUGAS PRAKTIKUM SISTEM BASIS DATA

Macam - Macam Perintah Pada SQL

Modul 3. Oleh : Mohammad Sholikin. 1

MySQL AL AZHAR COMPUTER CLUB

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela

Contoh SQL Constraint

Praktikum Basis Data 2017 TE UM MODUL 8 TRIGGER A. TUJUAN

Praktikum USER, PRIVILEGE DAN ROLE. Tujuan :

STRUCTURE QUERY LANGUAGE ( S Q L ) Pengelompokan Statement SQL 1. Data Definition Language ( DDL )

Data Manipulation Language (DML)

Database Management System. Program yang memungkinkan item-item dalam suatu database disusun, diolah dan diperbaharui

Schema Objects. MI2154 SQL LANJUT Dedy Rahman Wijaya, S.T., M.T., OCA

Rencana Pelaksanaan Pembelajaran

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

MODUL PRAKTIKUM 04. Database Implementation dengan Perintah SQL

Karena VIEW dibentuk tanpa mencantumkan nama kolom baru, maka v1 mewarisi kolom yang yang dipilih pada tabel mahasiswa_xxx.

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

RENCANA PEMBELAJARAN SEMESTER (RPS) DAN RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

Database Systems: Lab. Actvity 1: Database Design. Merancang Database. Merancang Database. Tipe Tabel MySQL.

SQL. Lecturer: Mahendra Data, S.Kom

Sistem Basis Data 1. Pertemuan 5 dan 6 Aljabar Relasional dan SQL Rogayah, ST.,MMSI Untuk 3DB01 dan 3DB04

BAHASA QUERY KOMERSIAL

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

MODUL PRAKTIKUM BASIS DATA TEKNIK INFORMATIKA UIN SUNAN KALIJAGA YOGYAKARTA 2011 PENGENALAN DATABASE MYSQL

MODUL 2 PENGENALAN DATA DEFINITION LANGUAGE (DDL) & DATA MANIPULATION LANGUAGE (DML)

BAHASA QUERY KOMERSIAL

STRUCTURE QUERY LANGUAGE ( S Q L ) Jenis SQL 1. Interactive langsung dapat dioperasikan 2. Embedded disisipkan ke dalam sebuah program

LAPORAN TUGAS BASIS DATA I

STRUCTURE QUERY LANGUAGE ( S Q L )

Constraint dan Manajemen Data dalam Timezone Berbeda

Basis Data Terapan. Yoannita, S.Kom

Pertemuan I KONSEP DASAR STORED ROUTINES

Pemrograman Web Lanjut 2017

BAHASA QUERY KOMERSIAL

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

BAHASA QUERY KOMERSIAL

BAHASA QUERY KOMPLEKS

Manajemen Transaksi. Praktikum Sistem Basis Data. Gentisya Tri Mardiani, S.Kom., M.Kom

STRUCTURE QUERY LANGUAGE DDL & DML

Transkripsi:

Basis Data II Pertemuan Ke-8 (Views & Users Authorisation) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika - Unijoyo 1

Sub Pokok Bahasan Views: Create Update Delete Users Authorisation: Menambah dan Menghapus Users Mengubah Nama dan Password Users Hak Akses: Tabel dan Kolom Hak Akses: Basisdata meneruskan Hak Akses: WITH GRANT OPTION Membatalkan Hak Akses S1 Teknik Informatika - Unijoyo 2

VIEWS CREATE VIEW view_name (column_name) AS [SELECT BLOCK] [WITH CHECK OPTION] merupakan 'derived tables' harus didefinisikan dalam bentuk query pada tabel atau view yang lain merupakan 'virtual tables' tidak akan dievaluasi, kecuali jika mereka digunakan dalam query lain reusable dapat digunakan untuk membuat query yang sulit (atau bahkan tidak mungkin) untuk dilakukan dalam suatu kondisi tertentu perintah INSERT, UPDATE, atau DELETE dapat dilakukan terhadap data yang ada di dalam tabel basis melalui view tabel basis tersebut S1 Teknik Informatika - Unijoyo 3

Create VIEWS Contoh 1: Buatlah view untuk membuat daftar seluruh nama kota yang ada dalam tabel PLAYERS! CREATE VIEW TOWNS (TOWN) AS SELECT DISTINCT TOWN FROM PLAYERS Sintaks Alternatif: CREATE SELECT FROM VIEW TOWNS AS DISTINCT TOWN PLAYERS Query SELECT: SELECT * FROM TOWNS S1 Teknik Informatika - Unijoyo 4

Create VIEWS (contd-2) Contoh 2: Buatlah view untuk membuat daftar nomor pemain dan nomor liga dari seluruh pemain yang memiliki nomor liga! CREATE VIEW CPLAYERS AS SELECT PLAYERNO, LEAGUENO FROM PLAYERS WHERE LEAGUENO IS NOT NULL Query SELECT: SELECT * FROM CPLAYERS Contoh 3: Dapatkan seluruh informasi mengenai pemain yang memiliki nomor liga yang nomor pemainnya adalah antara 6 dan 44! SELECT * FROM CPLAYERS WHERE PLAYERNO BETWEEN 6 AND 44 S1 Teknik Informatika - Unijoyo 5

Create VIEWS (contd-3) Contoh 4: Hapuslah pemain dengan nomor liga 7060! DELETE FROM CPLAYERS WHERE LEAGUENO = '7060' Ketika query dieksekusi, maka data pemain dengan nomor liga = 7060 yang ada pada tabel basis (tabel PLAYERS) akan dihapus Contoh 5: Buatlah view untuk membuat daftar seluruh pemain yang memiliki nomor liga dengan nomor pemain antara 6 dan 27! CREATE VIEW SEVERAL AS SELECT * FROM CPLAYERS WHERE PLAYERNO BETWEEN 6 AND 27 S1 Teknik Informatika - Unijoyo 6

Create VIEWS (contd-4) Contoh 6: Tentukan (nilai) rata-rata dari keseluruhan penalti yang pernah dilakukan oleh pemain! Solusi berikut tidak mungkin dapat dilakukan: SELECT PLAYERNO, AVG(SUM(AMOUNT)) FROM PENALTIES GROUP BY PLAYERNO; Solusi yang dapat dilakukan dengan menggunakan VIEW: CREATE VIEW SUM_PENALTIES (PLAYERNO, SUM_AMOUNT) AS SELECT PLAYERNO, SUM(AMOUNT) FROM PENALTIES GROUP BY PLAYERNO; SELECT AVG(SUM_AMOUNT) FROM SUM_PENALTIES; Sintaks Alternatif: CREATE VIEW SUM_PENALTIES AS SELECT PLAYERNO, SUM(AMOUNT) AS SUM_AMOUNT FROM PENALTIES GROUP BY PLAYERNO; S1 Teknik Informatika - Unijoyo 7

Create VIEWS (contd-5) Contoh 7: Buatlah view untuk membuat daftar urutan digit dari 0 sampai 9! CREATE VIEW DIGITS AS SELECT 0 DIGIT UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 SELECT * FROM DIGITS S1 Teknik Informatika - Unijoyo 8

Update VIEWS: WITH CHECK OPTION Contoh 8: Buatlah view untuk membuat daftar pemain yang lahir sebelum tahun 1960! CREATE VIEW VETERANS AS SELECT * FROM PLAYERS WHERE BIRTH_DATE < '1960-01-01'; SELECT * FROM VETERANS; Kemudian lakukan perubahan tanggal lahir dari pemain nomor 2 (dari 1 September 1948 menjadi 1 September 1970)! UPDATE VETERANS SET BIRTH_DATE = '1970-09-01' WHERE PLAYERNO = 2; SELECT * FROM VETERANS; S1 Teknik Informatika - Unijoyo 9

Update VIEWS: WITH CHECK OPTION (contd-2) Penggunaan WITH CHECK OPTION pada VIEW adalah melakukan pengecekan validitas perintah UPDATE, INSERT dan DELETE: perintah UPDATE adalah benar jika seluruh baris yang di-update tetap menjadi isi ('virtual') tabel VIEW perintah INSERT adalah benar jika baris baru yang di- INSERT merupakan isi ('virtual') tabel VIEW perintah DELETE adalah benar jika baris baru yang di- DELETE merupakan isi ('virtual') tabel VIEW Maka, view pada Contoh 8 diubah menjadi seperti berikut: CREATE VIEW VETERANS AS SELECT * FROM PLAYERS WHERE BIRTH_DATE < '1960-01-01' WITH CHECK OPTION S1 Teknik Informatika - Unijoyo 10

Delete VIEWS Contoh 9: Hapuslah view CPLAYERS! DROP VIEW CPLAYERS Contoh 10: Hapuslah view VETERANS! DROP VIEW VETERANS S1 Teknik Informatika - Unijoyo 11

USERS AUTHORISATION Untuk proteksi data: USER, PASSWORD, HAK AKSES Hak Akses meliputi: Hak akses terhadap suatu Kolom tertentu dari suatu tabel Hak akses terhadap suatu Tabel Hak akses terhadap tabel-tabel yang ada pada suatu Basisdata tertentu Hak akses suatu User terhadap seluruh basisdata yang ada di dalam server S1 Teknik Informatika - Unijoyo 12

Menambah & Menghapus USERS CREATE USER 'user_name'@'host_name' IDENTIFIED BY password_user Contoh 1: Buatlah dua user baru, yaitu EVE dengan password EVE_PASS, dan JUN dengan password JUN_PASS! CREATE USER 'EVE'@'localhost' IDENTIFIED BY 'EVE_PASS', 'JUN'@'localhost' IDENTIFIED BY 'JUN_PASS' DROP USER 'user_name'@'host_name' Contoh 2: Hapuslah user JUN! DROP USER 'JUN'@'localhost' S1 Teknik Informatika - Unijoyo 13

Mengubah Nama & Password USERS RENAME USER 'user_name'@'host_name' TO 'user_name'@'host_name Contoh 3: Ubahlah nama user EVE dan JUN menjadi EVE1 dan JUN1 RENAME USER 'EVE'@'localhost' TO 'EVE1'@'localhost', 'JUN'@'localhost' TO 'JUN1'@'localhost' SET PASSWORD FOR 'user_name'@'host_name' = PASSWORD('new_password')' Contoh 4: Ubahlah password user JUN1 menjadi JUN1_PASS! SET PASSWORD FOR 'JUN1'@'localhost' = PASSWORD('JUN1_PASS') S1 Teknik Informatika - Unijoyo 14

Hak Akses: Tabel & Kolom SELECT user berhak untuk mengakses tabel tertentu dengan menggunakan pernyataan SELECT INSERT user berhak untuk menambah baris pada tabel tertentu dengan menggunakan pernyataan INSERT DELETE user berhak untuk menghapus baris dari tabel tertentu dengan menggunakan pernyataan DELETE UPDATE user berhak untuk mengubah nilai dari suatu tabel tertentu dengan menggunakan pernyataan UPDATE REFERENCES user berhak untuk membuat Foreign Key (FK) yang mengacu pada suatu tabel CREATE user berhak untuk membuat tabel dengan suatu nama tertentu ALTER user berhak untuk mengubah tabel dengan menggunakan pernyataan ALTER TABLE INDEX user berhak untuk menentukan indeks pada satu tabel DROP user berhak untuk menghapus tabel ALL atau ALL PRIVILEGES merupakan 'singkatan' atas seluruh hak akses yang telah disebutkan di atas S1 Teknik Informatika - Unijoyo 15

Hak Akses: Tabel & Kolom (contd-2) Contoh 5: Berikanlah hak SELECT untuk JUN1 pada tabel PLAYERS! GRANT SELECT ON PLAYERS TO JUN1 Contoh 6: Berikanlah hak SELECT untuk user baru BOB pada tabel PLAYERS! GRANT SELECT ON PLAYERS TO 'BOB'@'localhost' IDENTIFIED BY 'BOB_PASS' Contoh 7: Berikanlah hak INSERT dan UPDATE untuk EVE1 dan JUN1 pada seluruh kolom dari tabel TEAMS! GRANT INSERT, UPDATE ON TEAMS TO EVE1, JUN1 S1 Teknik Informatika - Unijoyo 16

Hak Akses: Basisdata SELECT user berhak untuk mengakses seluruh tabel dan view dari suatu basisdata dengan menggunakan pernyataan SELECT INSERT user berhak untuk menambah baris pada seluruh tabel yang ada dalam suatu basisdata dengan menggunakan pernyataan INSERT DELETE user berhak untuk menghapus baris dari seluruh tabel yang ada dalam suatu basisdata dengan menggunakan pernyataan DELETE UPDATE user berhak untuk mengubah nilai dari seluruh tabel yang ada dalam suatu basisdata dengan menggunakan pernyataan UPDATE REFERENCES user berhak untuk membuat Foreign Key (FK) yang mengacu pada tabel-tabel yang ada dalam suatu basisdata CREATE CREATE user berhak untuk membuat tabel-tabel baru dalam suatu basisdata dengan menggunakan pernyataan CREATE TABLE ALTER user berhak untuk mengubah tabel-tabel pada suatu basisdata dengan menggunakan pernyataan ALTER TABLE S1 Teknik Informatika - Unijoyo 17

Hak Akses: Basisdata (contd-2) DROP user berhak untuk menghapus seluruh tabel dan view yang ada dalam suatu basisdata INDEX user berhak untuk menentukan dan menghapus indeks dari tabel-tabel yang ada dalam suatu basisdata CREATE TEMPORARY TABLES user berhak untuk membuat tabel-tabel sementara di dalam suatu basisdata CREATE VIEW user berhak untuk membuat view baru dalam suatu basisdata dengan menggunakan pernyataan CREATE VIEW SHOW VIEW user berhak untuk melihat definisi view dari seluruh view yang ada dalam suatu basisdata dengan menggunakan pernyataan SHOW VIEW CREATE ROUTINE user berhak untuk membuat prosedur (stored procedure) dan fungsi (stored function) baru untuk suatu basisdata ALTER ROUTINE user berhak untuk mengubah dan menghapus prosedur (stored procedure) dan fungsi (stored function) dari suatu basisdata S1 Teknik Informatika - Unijoyo 18

Hak Akses: Basisdata (contd-3) EXECUTE ROUTINE user berhak untuk membatalkan prosedur (stored procedure) dan fungsi (stored function) yang ada pada suatu basisdata LOCK TABLES user berhak untuk memblok tabel-tabel yang ada dalam suatu basisdata ALL atau ALL PRIVILEGES merupakan 'singkatan' atas seluruh hak akses yang telah disebutkan sebelumnya S1 Teknik Informatika - Unijoyo 19

Hak Akses: Basisdata (contd-4) Contoh 8: Berikanlah hak SELECT untuk JUN1 pada seluruh tabel yang ada di dalam basisdata TENNIS! GRANT SELECT ON TENNIS.* TO JUN1 Contoh 9: Berikanlah hak CREATE, UPDATE dan REMOVE tabel-tabel dan view baru untuk JUN1 di dalam basisdata TENNIS! GRANT CREATE, ALTER, DROP, CREATE VIEW ON TENNIS.* TO JUN1 S1 Teknik Informatika - Unijoyo 20

Hak Akses: User Contoh 10: Berikanlah hak CREATE, ALTER, dan DROP untuk EVE1 pada seluruh tabel dari seluruh basisdata! GRANT CREATE, ALTER, DROP ON *.* TO EVE1 Contoh 11: Berikanlah hak kepada JUN1 untuk membuat user baru! GRANT CREATE USER ON *.* TO JUN1 S1 Teknik Informatika - Unijoyo 21

Meneruskan Hak Akses: WITH GRANT OPTION Contoh 12: Berikanlah hak REFERENCES untuk JUN1 pada tabel TEAMS dan berikanlah ijin padanya untuk meneruskan hak tersebut kepada user lain! GRANT REFERENCES ON TEAMS TO JUN1 WITH GRANT OPTION Dengan adanya klausa WITH GRANT OPTION, maka JUN1 dapat meneruskan hak akses REFERENCES tersebut kepada EVE1 GRANT REFERENCES ON TEAMS TO EVE1 S1 Teknik Informatika - Unijoyo 22

Membatalkan Hak Akses Contoh 13: Batalkan hak SELECT untuk JUN1 pada tabel PLAYERS! REVOKE SELECT ON PLAYERS FROM JUN1 Contoh 14: Batalkan hak INSERT dan SELECT untuk EVE1 pada tabel COMMITTEE_MEMBERS! REVOKE INSERT, SELECT ON COMMITTEE_MEMBERS FROM EVE1 S1 Teknik Informatika - Unijoyo 23

Keterangan lebih detail mengenai: User Authorisation Cek MySQL 5.0 Reference Manual (Chapter 5.4. The MySQL Access Privilege System) S1 Teknik Informatika - Unijoyo 24