INSTALASI ORACLE XE & ADMINISTRASI USER

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

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Praktikum Basis Data Terapan 2

Tutorial Database Oracle Chapter2 Pembuatan User dan Kontrol Hak Akses

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

MODUL II. Instalasi OracleXE Dan SQL

BAB II PEMBUATAN DAN MANAJEMEN TABLE

b. Setelah kita menyetujuinya maka akan muncul gambar yang menanyakan kita lokasi dimana kita akan menyimpan oracle tersebut.

Oracle Database11g Express Edition

Oracle Academic Initiative

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Praktikum Basis Data Terapan 2

PERTEMUAN 14 MENGONTROL AKSES USER

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

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

Tahap Instalasi PostgreSQL di Windows

MySQL J A M K E T I G A

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

MODUL IV DATA DEFINITION LANGUAGE (DDL)

Ms. SQL Server mengimplementasikan database dengan menyimpan 2 struktur, yaitu :

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

Konsep Dasar Administrasi Oracle : User Management. Tools yang hebat akan menjadi tidak berguna karena tidak tahu cara menggunakannya

Basis Data. DDL & Aturan Referential

Konsep Sistem Informasi B. BAB 2 - SQL Overview

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

Manajemen Data dengan Database MySQL Supriyono, M.Kom

LAPORAN TUGAS BASIS DATA I

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

LAPORAN PRAKTIKUM BASIS DATA

User Access MI2154 SQL LANJUT.

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

MODUL I PENGENALAN MYSQL

BAB 1 PENDAHULUAN Latar Belakang Masalah

Praktikum USER, PRIVILEGE DAN ROLE. Tujuan :

Mengeksplorasi Database PostgreSQL dengan PgAdmin III

KURSUS ONLINE JASA WEBMASTERS

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

Membuat Data Menggunakan Aplikasi Oracle (Command Line SQL)

Mengenal Oracle 10g XE

Untuk mengakses MySQL dengan mode text dari Console (Command Prompt = Microsoft Windows), dapat dilakukan dengan cara : 1.

MySQL AL AZHAR COMPUTER CLUB

Modul Praktikum Sistem Basis Data S1-TI

MODUL 4. Query SELECT dan DML (INSERT, UPDATE, DELETE) PRAKTIKUM BASIS DATA LANJUT TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE

VIEW : Tabel Virtual VIEW 5/29/2017

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

Database Interfaces. By: Arif Basofi

Pemrograman Web Lanjut 2017

PENGENALAN MICROSOFT SQL SERVER

Praktikum 2 Mata Kuliah : Sistem Pengolahan Basis Data Dosen : Nandang Hermanto

Agus Pamujiono

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

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

PostgreSQL for Windows

Praktikum Basis Data (Database Server MySQL) Bekerja Dengan Tabel

PERTEMUAN 11 CONSTRAINT. Tujuan Pembelajaran : Memahami definisi Constraint Dapat Membuat Constraint Dapat Melakukan pemeliharaan Constraint

Contoh SQL Constraint

BAB 2 Membuat dan Menjalankan Form dengan Single Block

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

DATABASE SQL SERVER. Database SQL Server Halaman 1

Modul 3. Oleh : Mohammad Sholikin. 1

PERTEMUAN 10 PEMBUATAN TABEL

Praktikum Basis Data 14 Structure Query Language 2

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

Pertemuan I KONSEP DASAR STORED ROUTINES

Membuat Aplikasi Tampil, Entri, Edit, Delete Mahasiswa

PENGENALAN MICROSOFT QUERY ANALYZER

Modul Pembangunan Aplikasi Basis Data Lanjut 2014

INTEGRITAS DAN KEAMANAN DATA. Gentisya Tri Mardiani, S.Kom., M.Kom

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela

Contoh SQL Constraint

DATA DEFINITION LANGUAGE

MODUL 9 WEB PROGRAMMING : MySQL

Instalasi & Konfigurasi MySQL Server

KONEKSI NETBEANS DENGAN DATABASE SQLITE

Pengaksesan database hanya dapat dilakukan dengan menggunakan jika seseorang telah mempunyai user account.

mrograman tem Basis ta dan SQL

IF PEMROGRAMAN LANJUT MENGAKSES DATABASE. Oleh : Andri Heryandi, M.T.

Modul 2. Database Menggunakan Primary Key, Unique, Auto Increment, Alter-Add dan Alter-Drop. Disusun oleh. Sri Siska Wirdaniyati JURUSAN STATISTIKA

PERINTAH DASAR MySQL

PERANCANGAN FISIK BASIS DATA. Rajif Agung Yunmar, S.Kom., M.Cs.

Pengertian dan Fungsi MySql dan SQLyog sebagai Data Base

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

MANUAL PENGOPERASIAN JSTOCKINVENTORY Twitter

MODUL 8 Mengoperasikan Perangkat Lunak Basis Data

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

SISTEM BASIS DATA Pertemuan 11 Structure Query Language DDL - DML

SISTEM KEAMANAN PADA MYSQL

LAPORAN PRAKTIKUM 2 BASIS DATA

Administrasi User. Oleh: Arif Basofi

JURNAL PRAKTIKUM (LAB. ACTIVITY) PENGOLAHAN BASIS DATA DT022

Pengenalan Database Management System MySQL. Pokok Bahasan: Pengenalan DataBase Pembangunan database berbasis Client-Server Dasar-Dasar MySQL

PRAKTIKUM SISTEM BASIS DATA

B a s i s D a t a - 1. SQL Operasi DDL. Data Definition Laguange. Copyright 2005 PENS-ITS

Administrasi Basis Data. Integritas Data. Yoannita

Mengakses Microsoft SQL Server dengan PHP

PERTEMUAN 13 SEQUENCE, INDEX & SYNONYM

INTEGRITAS DAN KEAMANAN BASIS DATA. Alif Finandhita, S.Kom, M.T

BAB 4 IMPLEMENTASI DAN EVALUASI. yang sulit untuk diimplementasikan dalam RDBMS (Relational Data Base Management

Tahap-tahap menginstall ORACLE 10g

BAB 10 NETBEANS DATABASE

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN WEB Semester: 2 MYSQL 200 menit No.: Job: 12 Tgl: Hal.

TABEL. Tabel Halaman 25

Transkripsi:

INSTALASI ORACLE XE & ADMINISTRASI USER 1. INSTALASI ORACLE XE Langkah langkah untuk menginstall Oracle XE adalah sebagai berikut: a. Proses penginstalan dapat segera dilakukan dengan melakukan double klik pada file instalasi (file bernama OracelXE.exe). b. Setelah itu akan muncul tampilan sebagai berikut: c. Saat muncul tampilan windows install wizard seperti dibawah ini klik tombol next.

d. Kemudian akan muncul window mengenai perjanjian lisensi. Klik pilihan accept the agreement dan kemudian klik tombol next. e. Setelah itu klik next untuk langkah selanjutnya sehingga muncul tampilan pemilihan direktori tujuan instalasi seperti di bawah ini. Klik tombol next untuk melanjutkan. f. Kemudian isikan password untuk database. Contoh: p4ssw0rd Setelah konfirmasi password tersebut silahkan klik tombol next. Password ini akan digunakan untuk proses login ke dalam database dengan user sys atau system, yaitu user bawaan dari Oracle yang otomatis terbentuk pada saat proses instalasi.

g. Kemudian akan muncul tampilan dibawah ini (konfirmasi settingan instalasi Oracle XE), kemudian klik install untuk melanjutkan proses instalasi. h. Kemudian akan muncul tampilan seperti di bawah ini. Tunggu berapa saat sampai proses selesai.

i. Setelah itu proses penginstalan selesai dan klik finish. j. Kemudian akan muncul tampilan browser dan silahkan mencobanya dengan memasukkan: Username : system Password : p4ssw0rd (sesuai dengan password yang dimasukkan pada proses instalasi)

2. KONFIGURASI SETELAH INSTALASI Setelah instalasi dan koneksi (jika menggunakan client-server) dari client ke server database selesai, Oracle XE sudah siap untuk digunakan. Untuk dapat berinteraksi langsung dengan database Oracle XE, Anda dapat menggunakan SQL*Plus ataupun i-sql*plus dari komputer client maupun dari komputer server. SQL*Plus adalah interface yang berbasis command line yang menghubungkan user dengan database, dimana user dapat melakukan perintah-perintah query baik SQL standar, SQL bawaan Oracle (PL/SQL), dan perintahperintah lainnya. Sama halnya dengan i-sql*plus yang merupakan fasilitas baru dari Oracle versi 10 keatas (Oracle 10g atau Oracle XE), yang membedakannya adalah i-sql*plus berbasis browser. a. Untuk dapat membuka SQL*Plus (tampilan command line) langkahnya adalah sebagai berikut: klik Start Program Oracle Database 10g Express Edition Run SQL Command Line. Atau juga dapat melalui, Start Run Open : sqlplus OK, window SQL*Plus command line akan tampil. Setelah window SQL*Plus command line terbuka, akan ada username dan password. Untuk itu, Anda harus memasukkan username dan password. Ada user yang dibuat secara default ketika proses instalasi, yang terpenting adalah user sys dan system dengan password sesuai dengan password yang dimasukkan pada saat instalasi. Kedua user inilah yang paling vital karena mempunyai hak-hak tertinggi (privileges) dalam mengatur database. Untuk alasan keamanan, maka password untuk kedua user ini harus segera diganti setelah proses instalasi. Cara untuk masuk ke database, yaitu dengan perintah CONN, contohnya: SQL> CONN Enter user-name: [username] Enter password: [*********] atau SQL> CONN [username]/[password] b. Sedangkan untuk dapat membuka i-sql*plus (tampilan browser) adalah : klik Start Program Oracle Database 10g Express Edition Go To Database Homepage

Login (dengan mengisikan username dan password) SQL SQL Command Enter Command. Sedangkan cara mengubah password adalah sebagai berikut: 1. Buka SQL*Plus/i-SQL*Plus. 2. Selanjutnya lakukan koneksi ke database dengan account sys atau system. 3. Pada SQL*Plus, setelah terkoneksi, pada prompt SQL ( SQL> ) ketikkan perintah sebagai berikut: SQl> PASSW [nama_user] Perintah: SQL> PASSW system Pada i-sql*plus langsung saja ketikkan PASSW system Masukkan password lama, kemudian masukkan password baru misalnya oraclesys, setelah itu ketikkan password baru ini sekali lagi sebagai verifikasi. Changing password for sys Old password : ***************** New password : ********* Retype password : ********* 4. Beberapa versi Oracle sebelumnya tidak mendukung prosedur PASSW, maka untuk melakukan penggantian password gunakan perintah sebagai berikut: SQL> alter user [nama_user] identified by [password_baru]; Untuk diingat! Untuk mengganti password, baik milik dirinya sendiri maupun milik user lain, setiap user harus terkoneksi dengan database terlebih dahulu, dan jika user tersebut ingin dapat

mengganti password milik user lain, maka user tersebut harus mempunyai privilege ALTER USER. Jadi gunakan user yang mempunyai hak tersebut agar dapat merubah password milik user lain. Jika ingin mengganti password miliknya sendiri, dirinya tidak perlu mempunyai privilege ALTER USER. Bagaimana seorang user bisa memiliki privilege tersebut, apa itu privilege & role, dan bagaimana menggunakannya? Akan dibahas di sub bab berikutnya. Disarankan, jangan menggunakan user sys atau system untuk membangun aplikasi database. Kedua user ini digunakan untuk keperluan administratif. Selain itu, sangat beresiko untuk memanipulasi data yang dimiliki kedua user ini karena data yang dimiliki kedua user ini digunakan untuk mendukung jalannya database secara keseluruhan. 3. MENGAKTIFKAN USER HR Dalam Praktikum basis data semester ini, digunakan basis data kepegawaian yang terdiri dari tabel EMPLOYEES, DEPARTMENTS, JOBS, LOCATIONS, COUNTRIES, DAN JOB_HISTORY. Tabel-tabel tersebut telah ada pa da oracle, kita hanya perlu mengaktifkannya untuk dapat menggunakannya. Caranya adalah sebagai berikut : a. Masuk ke i-sql*plus, kemudian login dengan user system. b. Masuk ke Administration.

c. Pilih Database Users d. Ketikkan hr pada form search, kemudian klik Go. Setelah muncul user HR, klik pada user HR tersebut. e. Setelah itu, akan muncul tampilan seperti di bawah ini. Ketikkan password baru pada form yang tersedia. Kemudian pilih unlocked pada Account Status. Kemudian klik Alter User.

f. Kemudian logout, dan login kembali dengan user HR. Masukkan username HR dan password sesuai dengan password yang diisikan pada saat mengaktifkan user HR. g. Masuk ke SQL SQL Commands, maka akan tampil workspace sebagai berikut : h. Ketikkan query pada area yang tersedia, kemudian klik run untuk mengeksekusi query tersebut. Hasil dari query akan ditampilkan di bawah text area.

4. MEMBUAT USER BARU Pengguna Oracle pada awalnya merupakan user tanpa role, yang berinteraksi langsung dengan database, baik untuk keperluan development maupun administratif. Disarankan, jangan menggunakan user sys atau system untuk membangun aplikasi database. Kedua user ini digunakan untuk keperluan administratif. Selain itu, sangat beresiko untuk memanipulasi data yang dimiliki kedua user ini karena data yang dimiliki kedua user ini digunakan untuk mendukung jalannya database secara keseluruhan. Anda harus terlebih dahulu terkoneksi dengan database untuk membuat user baru dan tentunya Anda harus mempunyai privilege CREATE USER, maka gunakan user sys atau system. Perintah pembuatan user adalah: CREATE USER [nama_user] IDENTIFIED BY [password]; Berikut ini contoh perintah pembuatan user : CREATE USER toserba IDENTIFIED BY toserba; Setelah perintah berhasil dijalankan maka akan terdaftar user baru dengan nama toserba dengan password toserba. User ini belum memiliki privilege dan role apapun. Meskipun sudah dibuat, tetapi user ini belum dapat melakukan koneksi ataupun menggunakan database. Untuk ini perlu kita lakukan pemberian privilege dan role. 5. KONTROL AKSES DENGAN PRIVILEGE DAN ROLE Untuk menangani keamanan data dan sistem dalam database, Oracle mengatur antara memberi dan melarang akses kepada user terhadap suatu objek database dan fungsi tertentu. Oracle menerapkan suatu mekanisme kontrol akses setelah user berhasil dibuat/terdaftar dalam DBMS. Selain dengan autentifikasi password pada setiap user, model keamanan database Oracle yang lain adalah dengan pengendalian hak akses user ketika terkoneksi dengan database (profile) dan ketika melakukan manipulasi terhadap objek (object privilege) dan sistem (system privilege) database. Pengendalian ini termasuk berapa lama seorang user dapat

terkoneksi dengan database dengan keadaan idle, berapa lama password seorang user dapat expired sehingga harus diganti dengan yang baru, objek atau sistem apa saja yang dapat diakses, seberapa besar hak akses terhadap objek atau sistem, objek atau sistem apa saja yang dapat dibuat oleh user, dll. Yang akan dibahas saat ini adalah kontrol akses dengan menggunakan privilege dan role. Saat database menjadi sangat besar, pemberian privilege kepada user akan semakin kompleks. Untuk mempermudah pengaturan privilege, Anda dapat menggunakan role. Role berfungsi untuk mengelompokkan beberapa privilege sekaligus. Hal ini akan mempermudah untuk nantinya diberikan kepada sekelompok user yang memiliki hak akses yang sama (privileges yang sama). Oracle telah menyediakan role bawaan atau predefined-role. Anda dapat langsung menggunakan role ini. Berikut ini adalah beberapa role yang tersedia di Oracle dan sering digunakan: CONNECT Umumnya role ini cukup untuk kebanyakan user biasa (common user), karena dalam role ini terdapat privilege CREATE SESSION. Privilege CREATE SESSION inilah yang digunakan apabila seorang user melakukan mekanisme log-in atau koneksi ke database. Tanpa privilege ini, seorang user tidak dapat masuk ke database meskipun user ini telah dibuat. RESOURCE Secara umum role ini cukup bagi developer yang akan membuat objek PL/SQL (akan dipelajari pada unit 5) seperti procedure dan sebagainya karena dalam role ini terdapat privilege CREATE TABLE, CREATE VIEW, CREATE SEQUENCE, CREATE PROCEDURE, CREATE TRIGGER, dll. Perhatikan contoh berikut: GRANT CONNECT, RESOURCE TO toserba; Perintah di atas menunjukan bahwa dengan perintah GRANT, user toserba diberi hak akses dengan batasan role CONNECT dan RESOURCE. Selain 2 role tersebut di atas, masih banyak lagi predefined-role yang dimiliki Oracle.

Selain dengan role bawaan (predefined-role), kita juga dapat membuat role baru dengan object/system privilege sesuai kebutuhan. Untuk membuat role baru gunakan perintah CREATE ROLE. Beberapa object/system privileges diantaranya: CREATE mengizinkan user untuk membuat table, sequence, view. SELECT mengizinkan user untuk mengambil data dari table, sequence, view. INSERT mengizinkan user untuk memasukkan data dari table atau view. UPDATE mengizinkan user untuk meng-update data dari table atau view. DELETE mengizinkan user untuk menghapus data dari table atau view. ALTER mengizinkan user untuk merubah struktur suatu table atau sequence. Privilege ini, selain untuk table dan sequence termasuk ke dalam system privilege. INDEX mengizinkan user untuk membuat index suatu table yang sudah ada. REFERENCES mengizinkan user untuk membuat (CREATE) atau mengubah (ALTER) constratint foreign key yang mengacu ke table referensinya. EXECUTE mengizinkan user untuk menjalankan stored procedure atau function (PL/SQL). Untuk membuat role gunakan perintah CREATE ROLE seperti berikut ini: CREATE ROLE [nama_role] IDENTIFIED BY [password_role]; Perhatikan contoh berikut: CREATE ROLE role_toserba IDENTIFIED BY toserba_juga; Jika Anda perhatikan cara pembuatan role mirip dengan cara pembuatan user. Nilai setelah klausa IDENTIFIED BY merupakan password dari role tersebut nantinya akan digunakan jika role ini akan digunakan. Karena sifat ini, role juga disebut virtual user. Setelah membuat role, Anda harus mendefinisikan privilege apa saja yang dimiliki role. Pemberian privilege ke role mirip dengan pemberian privilege ke user. GRANT [privilege] TO [nama_role]; Perhatikan contoh berikut: GRANT CREATE TABLE TO role_toserba; GRANT SELECT ON barang TO role_toserba; GRANT UPDATE TABLE ON barang TO role_toserba;

Perintah di atas akan memberikan tiga privilege ke dalam role_toserba Setelah itu Anda dapat memberikan role ini kepada user. Seperti contoh berikut ini: GRANT [nama_role] TO [nama_user]; Contoh: GRANT role_toserba TO toserba; Saat ini user toserba memiliki satu role yaitu role_toserba yang di dalamnya terdapat 3 privilege. Untuk mengambil/menghapus hak akses itu dari user, gunakan perintah REVOKE seperti contoh berikut: REVOKE [nama_role] FROM [nama_user]; Contoh: REVOKE role_toserba FROM toserba; 6. MEMBUAT TABEL CREATE TABLE nama_tabel (nama_kolom tipe_kolom[size]); Contoh: create table kategori (id_kategori number, nama_kategori varchar2(25)); Keterangan: create table Perintah (query) untuk membuat tabel. kategori id_kategori & nama_kategori number & varchar2 Nama tabel yang akan dibuat. Nama kolom dalam tabel yang akan dibuat. Tipe kolom (25) Ukuran, mendefinisikan banyaknya karakter/variabel yang dapat ditampung dalam kolom tersebut.

7. MODIFIKASI TABEL ALTER TABLE nama_tabel ADD MODIFY (nama_kolom tipe_kolom[size]); Perintah untuk memodifikasi tabel, berupa penambahan kolom atau pengubahan tipe data kolom. Catatan : pada Oracle kolom yang sudah dibuat tidak dapat dihapus. 8. MENGHAPUS TABEL DROP TABLE nama_tabel; 9. CONSTRAINT PADA TABEL a. Not Null Jika Anda menginginkan data pada sebuah kolom tertentu tidak boleh kosong, dalam artian harus diisi dan tidak boleh tidak diisi, maka Anda dapat memberikan contraint Not Null. Not Null akan mencegah suatu kolom pada tabel tidak diberi data atau nilai. Jika suatu kolom telah diberi constraint Not Null, kemudian tidak diberi data, maka Oracle akan memunculkan pesan kesalahan. Konvensi nama constraint-nya adalah : NN_NamaTabel_NamaKolom Deklarasi saat CREATE TABLE adalah: CREATE TABLE nama_tabel (nama_kolom tipe_kolom NOT NULL); atau CREATE TABLE nama_tabel (nama_kolom tipe_kolom CONSTRAINT nama_costraint NOT NULL); Deklarasi saat ALTER TABLE adalah: ALTER TABLE nama_tabel MODIFY (nama_kolom tipe_kolom NOT NULL); atau ALTER TABLE nama_tabel MODIFY (nama_kolom tipe_kolom CONSTRAINT nama_constraint NOT NULL);

b. Unique Constraint Unique adalah sebuah batasan yang diberikan kepada suatu kolom dalam tabel tertentu dimana data data yang diberikan tidak boleh sama antara baris yang satu dengan baris yang lainnya, tetapi masih boleh kosong dalam artian tidak diberikan data. Unique menjaga agar data pada suatu tabel tidak terulang lagi pada baris yang lain. Pesan error akan dimunculkan oleh Oracle jika Anda memasukkan data yang sama. Konvensi nama constraint-nya adalah : UK_NamaTabel_NamaKolom Deklarasi saat CREATE TABLE adalah: CREATE TABLE nama_tabel (nama_kolom tipe_kolom UNIQUE); atau CREATE TABLE nama_tabel (nama_kolom tipe_kolom CONSTRAINT nama_constraint UNIQUE); Deklarasi saat ALTER TABLE adalah: CREATE TABLE nama_tabel ADD CONSTRAINT nama_constraint UNIQUE (nama_kolom); c. Primary Key Primary key adalah sebuah constraint gabungan dari Contraint Unique dan Constraint Not Null. Sehingga jika sebuah kolom diberikan constraint Primary Key, maka data yang diberikan tidak boleh kosong dan tidak boleh sama dengan baris yang lain. Misalnya pada tabel mahasiswa, kolom no_mahasiswa diberikan constraint Primary Key, karena setiap mahasiswa pasti memiliki no_mahasiswa, sehingga tidak kosong (Not Null) dan juga tidak mungkin satu orang mahasiswa mempunyai no_mahasiswa yang sama dengan mahasiswa yang lain (Unique). Hanya saja perbedaannya adalah cobstraint PRIMARY KEY membentuk index untuk kolom tersebut. Konvensi nama Constraint-nya adalah : PK_NamaTabel Deklarasi Primary Key pada satu kolom saat CREATE TABLE adalah: CREATE TABLE nama_tabel (nama_kolom tipe_kolom PRIMARY KEY);

atau CREATE TABLE nama_tabel (nama_kolom tipe_kolom CONSTRAINT nama_constraint PRIMARY KEY); Constraint PRIMARY KEY dapat diterapkan pula pada beberapa kolom. Pada kasus ini, data membentuk PRIMARY KEY sama dengan data pada baris baris yang lain. Tetapi kombinasi data untuk semua kolom PRIMARY KEY akan unik untuk masingmasing baris. Deklarasi PRIMARY KEY pada beberapa kolom saat ALTER TABLE adalah: ALTER TABLE nama_tabel ADD CONSTRAINT nama_constraint PRIMARY KEY (nama_kolom); Deklarasi PRIMARY KEY pada beberapa kolom saat ALTER TABLE adalah: ALTER TABLE nama_tabel ADD CONSTRAINT nama_constraint PRIMARY KEY (nama_kolom,...,nama_kolom_n); Catatan : Hanya terdapat satu PRIMARY KEY untuk satu tabel, baik terbentuk dari satu kolom atau beberapa kolom. d. Foreign Key Istilah lain yang banyak dipakai dalam membuat relasi antara tabel yang satu dengan tabel yang lainnya adalah Foreign Key. Foreign Key adalah kolom dalam sebuah tabel yang bukan primary key, tetapi kolom tersebut merupakan primary key dalam tabel yang lain. Foreign key digunakan untuk menjaga integritas data antara tabel parent dengan table child. Misalnya pada tabel Mahasiswa, yang menjadi primary key adalah kolom no_mahasiswa. Dan tabel mahasiswa ini berelasi dengan tabel nilai_mahasiswa, di dalam tabel nilai_mahasiswa terdapat kolom no_mahasiswa yang menghubungkan kedua tabel tersebut, tetapi kolom no_mahasiswa di dalam tabel nilai_mahasiswa bukan sebagai primary key, akan tetapi menjadi foreign key. Untuk lebih jelasnya lihat pada gambar berikut ini.

Mahasiswa No_mahasiswa(PK) Nama No_KTP Jenis_kelamin Usia (parent) Nilai_mahasiswa No_mahasiswa(FK) Id_Matakuliah Nilai (child) Konvensi nama Constraintnya : FK_NamaTabelChild_NamaTabelParent Deklarasi saat CREATE TABLE adalah : CREATE TABLE nama_tabel (nama_kolom tipe_data,..., nama_kolom_n tipe_data, CONSTRAINT nama_constraint FOREIGN KEY (nama_kolom) REFERENCES nama_tabel_parent [ON DELETE CASCADE]); Deklarasi saat ALTER TABLE adalah : ALTER TABLE nama_tabel ADD CONSTRAINT nama_constraint FOREIGN KEY (nama_kolom_n) REFERENCES nama_tabel_parent [ON_DELETE_CASCADE]; Data pada tabel parent tidak dapat di update jika telah mempunyai child. Data pada tabel parent tidak dapat dihapus, kecuali dengan pemberian pernyataan ON DELETE CASCADE saat deklarasi Constraint FOREIGN KEY. Dengan pernyataan tersebut, jika data pada tabel parent dihapus, maka semua data pada tabel child yang mengacu ke data tersebut juga akan ikut dihapus.

e. Check Sesuai namanya, constraint CHECK digunakan untuk memberikan sebuah kondisi kepada constraint yang berguna untuk menguji apakah data sesuai dengan syarat yang harus dipenuhi. Data akan ditolak jika tidak sesuai dnegan syarat yang telah diberikan pada constraint Check. Sebagai contoh, kita akan menambahkan constraint Check pada kolom nilai supaya setiap nilai yang diberikan harus lebih besar dari 0 (nol). Seperti syarat yang telah diberikan pada kolom nilai, data yang boleh dimasukkan ke dalam kolom tersebut harus lebih besar daripada nol. Contoh syarat pengujian yang lain dapat berupa : 1) Daftar nilai, misal pada tabel mahasiswa, pada kolom jenis_kelamin hanya bisa menerima nilai ( L, P ) 2) Rentang nilai, misalnya pada kolom usia hanya bisa menerima nilai antara 15 sampai 30. Konvensi nama Constraintnya adalah : CK_NamaTabel_NamaKolom Deklarasi saat CREATE TABLE adalah : CREATE TABLE nama_tabel (nama_kolom tipe_kolom CHECK (syarat)); Atau CREATE TABLE nama_tabel (nama_kolom tipe_kolom CONSTRAINT nama_constraint CHECK (syarat)); Deklarasi saat ALTER TABLE adalah : ALTER TABLE nama_tabel ADD CONSTRAINT nama_constraint CHECK (syarat); f. Default Default sebenarnya tidak termasuk kategori Constraint, karena tidak membatasi data yang masuk ke dalam tabel. Dengan DEFAULT, nilai suatu kolom akan diberikan jika penambahan data tidak secara eksplisit menyebutkan nilai untuk kolom tersebut. Pemberian nilai NULL akan mencegah pemberian nilai DEFAULT yang ditetapkan. Deklarasi saat CREATE TABLE adalah :

CREATE TABLE nama_tabel (nama_kolom tipe_data DEFAULT nilai_default); Deklarasi saat ALTER TABLE adalah : ALTER TABLE nama_tabel MODIFY nama_kolom tipe_data DEFAULT nilai _default; 10. CONTOH a. Membuat User Baru 1. Masuk ke database dengan user sys atau system. 2. Buat user baru dengan nama akademik dan dengan password akademik. CREATE USER akademik IDENTIFIED BY akademik; 3. Kemudian user tersebut Anda beri role DBA GRANT DBA TO akademik; 4. Setelah perintah di atas selesai, Anda ulangi koneksi ke database menggunakan user yang telah dibuat, yaitu user akademik, dengan perintah CONN (jika menggunakan SQL*Plus). SQL> conn akademik/akademik; atau SQL> CONN Enter user-name: akademik Enter password: akademik Atau masukkan username akademik dan password akademik pada formm login (jika menggunakan i-sql*plus)

b. Membuat Tabel Baru dan penerapan Constraint Primary Key, Not Null, Unique create table mahasiswa ( no_mahasiswa char(8) CONSTRAINT PK_mhs PRIMARY KEY, nama varchar2(50) CONSTRAINT nnull_mhs NOT NULL, no_ktp varchar2(20) CONSTRAINT unq_mhs UNIQUE, jenis_kelamin CHAR(1), usia number(3)); c. Contoh Penerapan Constraint Foreign Key dan Check : create table nilai_mahasiswa ( no_mahasiswa char(8), id_matakuliah varchar2(5), nilai number(3) CONSTRAINT ck_nilai (nilai>0), CONSTRAINT fk_nilai FOREIGN KEY (no_mahasiswa) REFERENCES mahasiswa(no_mahasiswa)) ;