Materi
Kategori object utama database Review struktur table Tipe data yang tersedia untuk columns Membuat table Pembuatan constraints pada waktu pembuatan table Penjelasan berkaitan schema objects
Object Database
Object Deskripsi
Table
View
Sequence
Index Synonim
Tata Cara Pemberian Nama Nama Table dan nama column : Dimulai dengan Huruf / Aphabet Panjang 130 characters Terdiri hanya AZ, az, 09, _, $, dan # Merupakan nama yang unik/non duplikasi dengan nama dr object yg dimiliki oleh user yang sama Bukan Oracle serverreserved word
CREATE TABLE Statement harus memiliki : CREATE TABLE privilege storage CREATE TABLE [schema.]table (column datatype [DEFAULT expr][, ...]); Apa yang di spesify : Nama Table Nama Column, tipe data column, dan ukuran column
Mengakses Table lain User Table2 milik user lain dan diluar schema sendiri. Prefix user name pemilik table hrs dipakai
DEFAULT Option Specify default value utk column ketika insert. ... hire_date DATE DEFAULT SYSDATE, ... Literal values, expressions, SQL functions merupakan legal values. nama columns atau pseudocolumn adalah illegal values. tipe data default harus sesuai dengan tipe data column. CREATE TABLE hire_dates ( id NUMBER(8), hire_date DATE DEFAULT SYSDATE ); Table created.
Membuat Table
Data Types
TIMESTAMP[(fractional_seconds_precision)]
TIMESTAMP[(fractional_seconds_precision)] WITH TIME ZONE TIMESTAMP[(fractional_seconds_precision)] WITH LOCAL TIME ZONE
Datetime Data Types INTERVAL YEAR TO MONTH data type menyimpan periode waktu menggunakan YEAR dan MONTH datetime fields: INTERVAL YEAR [(year_precision)] TO MONTH
INTERVAL '123-2' YEAR(3) TO MONTH Indicates an interval of 123 years, 2 months. INTERVAL '123' YEAR(3) Indicates an interval of 123 years 0 months. INTERVAL '300' MONTH(3) Indicates an interval of 300 months. INTERVAL '123' YEAR Returns an error, because the default precision is 2, and '123' has 3 digits.
Menerapkan Constraints Constraints menerapkan sebuah ketentuan pada table. Constraints mencegah penghapusan table jika terdapat keterkaitan. Constraint types berikut valid : NOT NULL UNIQUE PRIMARY KEY FOREIGN KEY CHECK
Persyaratan Constraint
Nama constraint dpt dibuat, atau dibuat oleh Oracle server dgn format SYS_Cn. Pembuatan constraint dapat dilakukan : Pada waktu table dibuat Sesudah table dibuat Constraint dibuat di level column atau level table. Constraint dapat di view pada data dictionary.
Define Constraints
Syntax: CREATE TABLE [schema.]table (column datatype [DEFAULT expr] [column_constraint], ... [table_constraint][,...]); Column-level constraint: column [CONSTRAINT constraint_name] constraint_type, Table-level constraint: column,... [CONSTRAINT constraint_name] constraint_type (column, ...),
Conted
Define Constraints
Column-level constraint: CREATE TABLE employees( employee_id NUMBER(6) CONSTRAINT emp_emp_id_pk PRIMARY KEY, first_name VARCHAR2(20), ...);
Table-level constraint:
CREATE TABLE employees( employee_id NUMBER(6), first_name VARCHAR2(20), ... job_id VARCHAR2(10) NOT NULL, CONSTRAINT emp_emp_id_pk PRIMARY KEY (EMPLOYEE_ID));
NOT NULL constraint (No row can contain a null value for this column.)
Absence of NOT NULL constraint (Any row can contain a null value for this column.)
UNIQUE Constraint
UNIQUE Constraint
CREATE TABLE employees( employee_id NUMBER(6), last_name VARCHAR2(25) NOT NULL, email VARCHAR2(25), salary NUMBER(8,2), commission_pct NUMBER(2,2), hire_date DATE NOT NULL, ... CONSTRAINT emp_email_uk UNIQUE(email));
CHECK Constraint
Mendefinisikan condition yang hrs dipatuhi oleh semua row expressions berikut tidak diperkenankan : References CURRVAL, NEXTVAL, LEVEL, dan ROWNUM pseudocolumns Calls SYSDATE, UID, USER, dan USERENV functions Queries yg me-refer ke values lain pad lain rows
UPDATE employees SET department_id = 55 WHERE department_id = 110; UPDATE employees * ERROR at line 1: ORA-02291: integrity constraint (HR.EMP_DEPT_FK) violated - parent key not found
Violating Constraints
row tidak dapat di delete ketika berisi primary key dan dipergunakan sebagai foreign key di lain table.
DELETE FROM departments * ERROR at line 1: ORA-02292: integrity constraint (HR.EMP_DEPT_FK) violated - child record found
Membuat table dan insert rows dgn gabungan CREATE TABLE statement dan AS subquery option.
Jumlah kolom yg di specify di create statement harus sama dengan jumlah kolom di sub-query Define columns dengan nama column dan default values.
CREATE TABLE dept80 AS SELECT employee_id, last_name, salary*12 ANNSAL, hire_date FROM employees WHERE department_id = 80;
Table created. DESCRIBE dept80
ALTER TABLE statement digunakan untuk : Menambah column baru Modifikasi column yang sdh ada Define default value untuk column baru Drop column
Drop Table
Semua data dan struktur di table di delete Semua pending transactions di commit. Semua indexes di drop. Semua constraints di drop. Hasil dari perintah DROP TABLE tidak dapat di roll back.
Table dropped.
Summary
Yang berkaitan dgn CREATE TABLE statement dan termasuk constraints.
Katagori object database Review table structure List data types semua columns Create simple table constraints dibuat pada waktu table dibuat menjelaskan tentang object schema