Contoh Basis Data dengan ORACLE

Create Table “Sistem Belajar-Mengajar” – (Analisa & Desain)

           Alangkah baiknya jika kita mempelajari suatu hal dengan contoh yang nyata. Cara yang baik dalam belajar adalah dengan melihat contoh-contoh hal yang dipelajari. Oleh karena itu kita butuh studi kasus, sehingga apa yang kita pelajari dapat langsung tergambar dalam sebuah kegiatan yang nyata alias tidak ngayal. Teori-teori penting, tapi buah dari teori adalah penerapan. Jadi proses belajar dengan teori seabrek tanpa diimbangi dengan praktek atau penerapan real adalah seperti pohon tanpa buah…. berguna tapi sedikit sekali.
Studi kasus yang cocok untuk kita sepertinya adalah “Sistem Belajar-Mengajar”, karena kita telah mengalami dari SD sampe sekarang (bagi yang belajarnya belum lulus..) dan mungkin ada yang dari TK. Dengan familiarnya studi kasus ini, diharapkan mudah bagi kita untuk memahami semua yang disampaikan.

Proses Analisa
Dalam belajar-mengajar tentu diperlukan 4 hal penting, yaitu :
  1. Yang belajar alias murid. 
  2. Yang mengajar alias guru.
  3. Yang diajarkan kepada murid alias mata pelajaran.
  4. Tempat proses belajar-mengajar alias kelas.
Jadilah beberapa kalimat sempurna dengan hal-hal tersebut, yaitu :

  • Para guru mengajar para murid beberapa pelajaran.
  • Para guru mengadakan ujian-ujian kepada para murid dari beberapa pelajaran. 
  • Para guru memberikan nilai kepada para murid dari beberapa pelajaran. 
  • Para guru mempunyai beberapa mata pelajaran yang akan diajarkan kepada para murid.
  • Setiap murid mempunyai kelas sebagai tempat belajar. 
  • dan lain-lain.
Prose Desain
Telah lewat proses analisa, maka dengan mudah kita membuat desain dari analisa di atas. Cara desain yang banyak dikenal adalah dengan menggunakan diagram ER (Entity-Relationship). Diagram ER dari sistem belajar-mengajar secara sederhana dapat digambarkan sebagai berikut :




Berikut Sintag Oraclenya :



/*==============================================================*/
/* Table: GURU */
/*==============================================================*/
 
create table GURU (
NIG VARCHAR2(32) not null,
NAMA VARCHAR2(64) not null,
JENIS_KELAMIN CHAR not null,
TGL_MASUK DATE,
STATUS_PEG CHAR not null,
constraint PK_GURU primary key (NIG)
)
//*==============================================================*/
/* Table: KELAS */
/*==============================================================*/

create table KELAS (
KELAS_ID VARCHAR2(32) not null,
KETERANGAN VARCHAR2(64),
constraint PK_KELAS primary key (KELAS_ID)
)
/

/*==============================================================*/
/* Table: MATA_PELAJARAN */
/*==============================================================*/

create table MATA_PELAJARAN (
KODE_MP VARCHAR2(32) not null,
NAMA_MP VARCHAR2(64) not null,
KREDIT NUMBER not null,
constraint PK_MATA_PELAJARAN primary key (KODE_MP)
)
/

/*==============================================================*/
/* Table: MURID */
/*==============================================================*/

create table MURID (
NIS VARCHAR2(32) not null,
KELAS_ID VARCHAR2(32) not null,
NAMA VARCHAR2(64) not null,
TGL_LAHIR DATE not null,
JENIS_KELAMIN CHAR not null,
ALAMAT VARCHAR2(128) not null,
NAMA_ORTU VARCHAR2(64),
constraint PK_MURID primary key (NIS),
constraint AK_MURID unique (KELAS_ID, NIS),
constraint MURID#KELAS_FK foreign key (KELAS_ID)
references KELAS (KELAS_ID)
)
/

/*==============================================================*/
/* Table: ULANGAN */
/*==============================================================*/

create table ULANGAN (
NIS VARCHAR2(32) not null,
KODE_MP VARCHAR2(32) not null,
UJIAN_KE NUMBER not null,
TGL_UJIAN DATE not null,
NILAI NUMBER,
constraint PK_ULANGAN primary key (NIS, KODE_MP, UJIAN_KE),
constraint ULANGAN#MURID_FK foreign key (NIS)
references MURID (NIS),
constraint ULANGAN#MATA_PELAJARAN_FK foreign key (KODE_MP)
references MATA_PELAJARAN (KODE_MP)
)
/

/*==============================================================*/
/* Table: BELAJAR */
/*==============================================================*/

create table BELAJAR (
NIG VARCHAR2(32) not null,
KODE_MP VARCHAR2(32) not null,
KELAS_ID VARCHAR2(32) not null,
HARI VARCHAR2(32) not null,
constraint PK_BELAJAR primary key (NIG, KODE_MP, KELAS_ID),
constraint BELAJAR#GURU_FK foreign key (NIG)
references GURU (NIG),
constraint BELAJAR#MATA_PELAJARAN_FK foreign key (KODE_MP)
references MATA_PELAJARAN (KODE_MP),
constraint BELAJAR#KELAS_FK foreign key (KELAS_ID)
references KELAS (KELAS_ID)
)
/



Insert, Update, Delete (Oracle)

By oracle1st
Operasi standar sebuah database adalah insert, delete dan update. Ketiganya biasa disebut DML kependekan dari Data Manipulation Language. SQL merupakan bahasa standar untuk pengolahan database. Tentunya Oracle-pun menggunakan SQL, hanya saja ada beberapa karakteristik yang berbeda dengan SQL standar.
Setelah kita membahas Persiapan “Coba-coba” Oracle, maka kita memiliki user tersendiri yaitu user yang bernama TEST. Silahkan Anda masuk ke page Oracle XE atau masuk ke SQL+ (jika Anda menginstall versi oracle lain, misal : 8i, 9i, 10g, dan anda juga harus memasukkan nilai hostring/tnsnames database Anda) dan login dengan user tersebut, yaitu :
User
TEST
Password
test

INSERT

Insert digunakan untuk memasukkan data ke sebuah tabel dalam user (schema) tertentu. Syntax Insert dapat dituliskan sebagai berikut :
INSERT INTO [nama_user].[nama_table]
([nama_kolom1], [nama_kolom2], . . .)
VALUES
([nilai1], [nilai2], . . .);
Keterangan :
nama_user
:
Nama user atau nama schema ketika login
nama_tabel
:
Nama tabel yang terdapat pada user (schema) tersebut
nama_kolom
:
Nama kolom yang akan diisi data pada [nama_tabel]
nilai
:
Nilai yang akan diisikan pada [nama_kolom], mis : [nilai1] akan diisikan ke dalam [nama_kolom1], [nilai2] akan diisikan ke dalam [nama_kolom2]

UPDATE

Update digunakan untuk mengubah data pada sebuah tabel dalam user (schema) tertentu berdasarkan kondisi tertentu. Syntax Update dapat dituliskan sebagai berikut :
UPDATE [nama_user].[nama_table]SET
[nama_kolom1] = [nilai1],
[nama_kolom2] = [nilai2],
[nama_kolom3] = [nilai3],
. . .
WHERE
[kondisi_update];
Keterangan :
nama_user
:
Nama user atau nama schema ketika login
nama_tabel
:
Nama tabel yang terdapat pada user (schema) tersebut
nama_kolom
:
Nama kolom yang akan diisi data pada [nama_tabel]
nilai
:
Nilai yang akan diisikan pada [nama_kolom]
kondisi_update
:
Sebuah kondisi yang yang menyaring (filter) record-record mana saja yang akan di update

DELETE

Delete digunakan untuk menghapus data pada sebuah tabel dalam user (schema) tertentu berdasarkan kondisi tertentu. Syntax Delete dapat dituliskan sebagai berikut :
DELETE [nama_user].[nama_table]WHERE
[kondisi_delete];
Keterangan :
nama_user
:
Nama user atau nama schema ketika login
nama_tabel
:
Nama tabel yang terdapat pada user (schema) tersebut
kondisi_delete
:
Sebuah kondisi yang yang menyaring (filter) record-record mana saja yang akan di delete
Sebelum membaca contoh di bawah ini, ada baiknya anda membaca terlebih dahulu artikel Create Table Sistem Belajar-Mengajar – (Analisa & Desain). Artikel tersebut akan membantu anda untuk memahami contoh-contoh yang diberikan, karena tabel-tabel yang digunakan adalah berdasarkan studi kasus tersebut.
Insert :

INSERT INTO
TEST.MURID (
NIS,
NAMA,
TGL_LAHIR,
JENIS_KELAMIN,
ALAMAT,
ORTU)

VALUES (
‘000001′,
‘MUKHTARUL UMAM’,
TO_DATE(‘23-04-1993′,‘DD-MM-YYYY’),
‘L’,
‘JL. P. DIPENOGORO, TEGAL’,
‘SULAIMAN’);

Update :

UPDATE
TEST.MURID SET
NAMA = ‘MUKHTARUL UMAM SHOLEH’,
TGL_LAHIR = TO_DATE(‘25-04-1993′,‘DD-MM-YYYY’)

WHERE
NIS = ‘000001′;
Delete :

DELETE
TEST.MURID
WHERE
NIS = ‘000001′;



0 komentar:

Template by arsipcerdas