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;