Oracle Data Definition Language (DDL) - E

advertisement

Pada bab ini akan dipelajari statement Data
Definition Language (DDL) untuk membuat
dan memodifikasi struktur database
◦ Berbagai macam tipe data digunakan dalam
pendefinisian kolom
◦ Menentukan batasan-batasan
◦ Melihat, modifikasi, dan menghapus struktur tabel


Sebuah tabel merupakan obyek yang dapat
menyimpan data pada database
Ketika tabel dibuat, harus ditentukan:
◦
◦
◦
◦
Nama tabel
Nama setiap kolom
Tipe data setiap kolom
Ukuran setiap kolom

Nama tabel dan kolom harus:
Diawali dengan sebuah huruf
Panjang karakter 1-30
Hanya terdiri dari A-Z, a-z, 0-9, _, $ dan &
Tidak boleh menduplikasi nama obyek lain yang
dimiliki oleh user yang sama
◦ Tidak boleh berupa kata-kata keyword yang ada
pada Oracle
◦
◦
◦
◦
Fungsi dasar dari statement ini adalah untuk memberi nama tabel
baru, menjelaskan kolom serta jenis datanya, mendefinisikan primary
key dan foreign key, dan menentukan batasan pada kolom, tabel serta
nilai kolom.
Syntax dasar:
CREATE TABLE [schema.] tablename
(column1 datatype [CONSTRAINT constraint_name] constraint_type .
. .,
(column2 datatype [CONSTRAINT constraint_name] constraint_type,
[CONSTRAINT constraint_name] constraint_type (column, . . . ), . . . );


Ketika sebuah tabel dibuat, setiap kolom
diberi tipe data
Tipe data pada Oracle:
◦
◦
◦
◦
◦
◦
BLOB
Varchar2
Date
Char
Integer
Number

Ada lima jenis batasan SQL:
◦
◦
◦
◦
◦
primary key - unique identifier for a record
foreign key - establishes relationship
check - value must be in the specified list
not null - must have a value
unique - value must be unique





Untuk menetapkan primary key
Untuk mendefinisikan foreign key yang
menghubungkan dengan primary key pada tabel lain
Untuk menetapkan aturan validasi data bagi setiap
kolom
Untuk menentukan apakah kolom boleh bernilai NULL
Untuk menetapkan kolom harus memiliki nilai unik
saja (nilai tidak boleh sama)
CREATE TABLE room(
roomID
number,
bldg
char(1) CHECK (bldg IN ('A','B')),
roomNo
varchar2(10),
maxCapacity
number,
style
varchar2(15) CHECK (style IN
('LECTURE','LECTURE/LAB','LAB','OFFICE')),
CONSTRAINT room_pk PRIMARY KEY (roomID));
Constraint_name
Constraint_type
Constraint_attributes
CREATE TABLE faculty(
facultyID
number,
lname
varchar2(30) NOT NULL,
fname
varchar2(20) NOT NULL,
dept
varchar2(5),
officeID
number,
phone
varchar2(15),
email
varchar2(75) UNIQUE,
rank
char(4) CHECK (rank IN ('INST',
'ASOC','ASST','FULL','SENR')),
CONSTRAINT faculty_pk PRIMARY KEY (facultyID),
CONSTRAINT faculty_fk FOREIGN KEY (officeID)
REFERENCES room(roomID));

Digunakan untuk:
◦ Menambah kolom baru pada tabel yang ada
◦ Mengubah kolom yang ada
◦ Menetapkan nilai default pada kolom baru

Syntax:
ALTER TABLE tablename
ADD columnname datatype;

Contoh:
ALTER TABLE Student
ADD SocialSecurity CHAR(9);

Syntax:
ALTER TABLE tablename
MODIFY columnname newdatatype;

Contoh: mengubah tipe data dan panjang
ukuran kolom
ALTER TABLE student
MODIFY SocialSecurity VARCHAR2(11);


Statement ALTER juga dapat digunakan untuk
menetapkan atau menambahkan batasan
Syntax:
ALTER TABLE tablename
ADD [CONSTRAINT constraint_name] constraint_type
(column, …),

Contoh:
ALTER TABLE Employees
ADD CONSTRAINT EmployeePK PRIMARY
KEY (EmployeeNumber);

Syntax:
ALTER TABLE tablename
DROP COLUMN columnname;
Download