Constraint dan Manajemen Data dalam Timezone Berbeda

dokumen-dokumen yang mirip
Oracle Academic Initiative

Oracle Academic Initiative

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

Contoh SQL Constraint

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

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

Contoh SQL Constraint

MODUL PRAKTIKUM 04. Database Implementation dengan Perintah SQL

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

BAB II PEMBUATAN DAN MANAJEMEN TABLE

Basis Data. Bagian IV SQL (3) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Pertemuan III Oleh: Ilham Rais Arvianto, M.Pd

Basis Data. DDL & Aturan Referential

PRAKTIKUM PL/SQL (Trigger) OLEH : WIRATMOKO YUWONO, ST

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

MODUL III STRUCTURED QUERY ANGUAGE (SQL)

LAMPIRAN. /****** Object: Table [dbo].[dimensiactionoffice] Script Date: 01/21/2011

Praktikum Basis Data (Database Server MySQL) Bekerja Dengan Tabel

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

SISTEM BASIS DATA Pertemuan 11 Structure Query Language DDL - DML

Konsep Sistem Informasi B. BAB 2 - SQL Overview

Pengenalan Structured Query Language

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

Basis Data Terapan. Yoannita, S.Kom

Kontrak Kuliah. Dasar-dasar MySQL. Edi Sugiarto, S.Kom, M.Kom

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Kontrak Kuliah. Trigger dan Scheduled Events. Edi Sugiarto, S.Kom, M.Kom

Pertemuan 12 Pengenalan Structured Query Language

Basis Data I. Pertemuan Ke-4 & ke-5 (Model Relasional Part 1) Noor Ifada.

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

Perangkat Lunak Pengembangan Web

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

Syntax Syntax SQL. Untuk lebih jelasnya dapat dilihat sebagai berikut : 1. DDL (Definition Data Language) a. CREATE

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

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

PENGENALAN SINTAKS DASAR DALAM MySQL

Bab 5. Database Trigger POKOK BAHASAN: TUJUAN BELAJAR: 5.1. PENDAHULUAN

PERTEMUAN 10 PEMBUATAN TABEL

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

Operator Himpunan. Operator Himpunan, DML, DDL, DCL, TCL, Sequence, Index dan Synonym

Tampilan pada Enterprise Manager

LAPORAN PRAKTIKUM MODUL 1 PENGENALAN MYSQL

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

Basis Data Spasial Modul 2

Praktikum Basis Data 14 Structure Query Language 2

STRUCTURE QUERY LANGUAGE DDL & DML

DATA DEFINITION LANGUAGE

MODUL II. Instalasi OracleXE Dan SQL

Pertemuan DDL INDIKATOR. Modul Teori Database Aknela

Mudafiq Riyan Pratama

Pertemuan 9 Struktur Query Language(SQL)

Persiapan Table Untuk Latihan Sebelum kita berkenalan lebih jauh dengan Trigger, mari kita buat terlebih dahulu, struktur table yang dibutuhkan.

TRIGGER. Tujuan Mata Kuliah. Tools yang digunakan. Sesi7 : TRIGGER. Praktikum Pemrograman Client Server Database Hadi Kusumah, S.T.

SQL Lanjut. Modifikasi Database. Versi 2

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

BAB VIII FUNGSI, PL/PGSQL dan TRIGER

Pengenalan PL/SQL. Pertemuan 3

DATA DEFINITION LANGUAGE : CREATE, DROP, ALTER

STRUCTURE QUERY LANGUAGE (SQL)


LAMPIRAN. Hasil Wawancara. Tanggal No. Nama Jabatan & Waktu 1 Indhira Mahasiswa Senin, 8 Mei 2017 Jam: WIB

TUGAS I PRAKTIKUM SISTEM BASIS DATA. Nama: Krisna Pandu Wibowo( )

Structured Query Language

BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL

DBMS: SQL Server Transact SQL

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

Untuk menjalankan Mysql secara konpensional jalankan Mysql.exe pada direktori Mysql\Bin. Akan tampak tampilan sebagai berikut:

IMPLEMENTASI TRIGGER, STORED PROCEDURE, FUNCTION DAN VIEW PADA MYSQL DALAM PERANCANGAN SYSTEM INVENTORY CAFFE BOULEVARD JAYAPURA

Untuk mencoba contoh-contoh perintah join, silahkan eksekusi query create+insert dibawah ini:

Modul Pembangunan Aplikasi Basis Data Lanjut 2014

3.1 Form Wizard. 3. Pilihlah menu use data block wizard dan tekanlah button OK, maka akan tampil window di bawah ini.

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

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

MODUL 1 Pengenalan MySQL, DDL, DML

IMPLEMENTASI CONSTRAINT UNTUK MENJAMIN KONSISTENSI DAN INTEGRITAS DATA DALAM DATABASE

MODUL IV DATA DEFINITION LANGUAGE (DDL)

Modul 3 : Query Penggabungan Tabel

KapitaSelekta. (KBKI82127, 2 sks) Materi : Pengenalan MySQL

SQL (Structured Query Language)

By Mrs Imana Malia Kondou, S.T. missimanakondou.wordpress.com

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

S Q L STRUCTURED QUERY LANGUAGE DEFINITION MANIPULATION C O N T R O L D M L SELECT INSERT UPDATE DELETE

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

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

BAB 3 MODEL RELASIONAL

MODUL 4 INTERNET PROGRAMMING DATABASE

PERINTAH DASAR MySQL

Jobsheet SQL Dasar : Hari Zulianto, ST [Year]

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

Program Studi: Manajemen Bisnis Telekomunikasi & Informatika Mata Kuliah: Data Management Oleh: Yudi Priyadi. (Structure of The Database Language)

Praktikum TRIGGER. Tujuan :

SQL Lanjut. TPI4210 Sistem dan Teknologi Informasi

SQL (STRUCTURED QUERY LANGUAGE)

Single-row Function dan Group Function

PERTEMUAN 4-5 PENGELOLAAN DATABASE, TABEL, DAN INDEX

Mengenal Operasi Dasar SQL

PRAKTIKUM SISTEM INFORMASI MANAJEMEN

Mahasiswa memahami fungsi-fungsi lain di dalam SQL Mahasiswa memahami tentang operasi agregasi Mahasiswa mampu mengaplikasikan operasi agregasi

Introduction to SQL. Database Programming. 2 nd Chapter

Transkripsi:

Constraint dan Manajemen Data dalam Timezone Berbeda Rosa Ariani Sukamto Email: rosa_if_itb_01@yahoo.com Blog: http://udinrosa.wordpress.com Website: http://www.gangsir.com Constraint Aturan pada basis data Dapat mencegah penghapusan tabel jika ada tabel yang bergantung dengan tabel lain dihapus Dapat mengatur proses insert, update, delete data Sebaiknya diberi nama sendiri agar mudah diingat, karena nama standar yang diberikan Oracle mungkin tidak mudah diingat

Tipe-tipe Constraint PRIMARY KEY (pk) mendefinisikan kunci primer (primary key) dari sebuah atau kumpulan field yang digunakan sebagai kunci primer bersifat unik dan tidak boleh bernilai NULL FOREIGN KEY (fk) mendefinisikan kunci luar (foreign key) dari sebuah atau kumpulan field yang digunakan sebagai kunci luar untuk relasi untuk menjaga relasi/integritas dapat menggunakan ON DELETE CASCADE menghapus beserta data yang ada untuk koneksi kunci luar ON DELETE SET NULL jika dihapus maka data relasi kunci luar akan diset NULL. Tipe-tipe Constraint UNIQUE (uk) mengeset sebuah field menjadi unik (tidak boleh ada yang sama) COMPOSITE UNIQUE KEY (uk) mengeset kumpulan field sebagai kombinasi bernilai unik hanya bisa digunakan untuk obyek tabel CHECK (ck) untuk mengecek constraint sesuai dengan kondisi cek yang diinginkan NOT NULL (nn) tidak membolehkan sebuah field bernilai NULL hanya dapat didefinisikan untuk kolom

Level Constraint Column level Constraint yang dapat digunakan untuk kolom pada tabel Hanya berpengaruh untuk kolom tabel Table level Constraint yang dapat digunakan untuk tabel dan keperluan tabel Hanya berpengaruh untuk tabel Query Constraint CONSTRAINT <constraint name> <TYPE OF CONSTRAINT> (<column name or condition>) CONSTRAINT <constraint name> PRIMARY KEY (<column 1>, <column 2>, <column n>) CONSTRAINT <constraint name> FOREIGN KEY (<column>) REFERENCES <referenced table> (<referenced primary or unique key column>) [ON DELETE CASCADE/SET NULL] CONSTRAINT <name> UNIQUE (<column>), CONSTRAINT <name> UNIQUE (<column 1>, <column 2>, <column n>) CONSTRAINT <name> CHECK (<conditional expression>)

Query Constraint CREATE TABLE err_test ( widget_name VARCHAR2(100), widget_count NUMBER, CONSTRAINT no_small_numbers CHECK (widget_count > 1000)); Query Alter Tabel Constraint ALTER TABLE <table> ADD CONSTRAINT <constraint name> <TYPE OF CONSTRAINT> (<column>) ADD CONSTRAINT <constraint name> <TYPE OF CONSTRAINT> (<column>) REFERENCES <table>(<primary key column>) [ON DELETE CASCADE/NULL] MODIFY (<column> CONSTRAINT <constraint name> NOT NULL) DROP <TYPE OF CONSTRAINT> (<column>) CONSTRAINT <constraint name> [CASCADE] DROP PRIMARY KEY CASCADE DISABLE CONSTRAINT <constraint name> [CASCADE] ENABLE CONSTRAINT <constraint name>

Melihat Constraint SELECT <constraint name>, <TYPE OF CONSTRAINT> FROM USER_CONSTRAINTS WHERE TABLE_NAME = <table> Tipe Data untuk Menangani Waktu: Datetime dan Tipe Interval Tipe-tipe pada bagian ini mengijinkan kita untuk menyimpan dan memanipulasi tanggal, waktu, dan interval (periode waktu). Variabel yang memiliki tipe data tanggal/waktu menyimpan nilai-nilai yang disebut datetimes; variabel yang memiliki tipe-tipe data interval menyimpan nilai-nilai yang disebut dengan interval. Datetime atau interval terdiri dari field-field, yang menentukan nilai-nilainya.

Datetime dan Tipe Interval Kecuali TIMESTAMP WITH LOCAL TIMEZONE, tipe-tipe ini seluruhnya merupakan bagian dari standar SQL92.

Date Menyimpan tanggal dan waktu SYSDATE menghasilkan tanggal dan waktu saat ini. Tanggal-tanggal yang valid berkisar antara 1 Januari 4712 BC hingga 31 Desember 9999 AD (Julian Date = J ). Kita dapat menggunakan model format tanggal J dengan function TO_DATE dan TO_CHAR untuk mengkonversi antara nilai-nilai DATE dan nilai persamaan Julian-nya. order_date BETWEEN TO_DATE('01-Jan-03') AND TO_DATE('31-Jan-03'); Date Kita dapat menambah dan mengurangi tanggal. Contohnya, perintah berikut ini menghasilkan jumlah hari sejak seorang karyawan diperkerjakan: SELECT SYSDATE - hiredate INTO days_worked FROM emp WHERE empno = 7499; Dalam ekspresi-ekspresi aritmatika, PL/SQL menginterpretasikan literal-literal integer sebagai hari-hari. Sebagai contoh, SYSDATE+1 adalah besok.

Timestamp Tipe date TIMESTAMP, yang merupakan perluasan dari tipe data DATE, menyimpan tahun, bulan, hari, menit, dan detik. Sintaksnya: TIMESTAMP[(precision)] Pada contoh berikut ini, kita mendeklarasikan variable bertipe TIMESTAMP, lalu memberikan nilai literal terhadapnya: DECLARE checkout TIMESTAMP(3); BEGIN checkout := 1999-06-22 07:48:53.275 ;... END; Dalam contoh ini, bagian kecil dari field detik adalah 0.275. Timestamp with Time Zone Tipe data TIMESTAMP WITH TIMEZONE, yang memperluas tipe data TIMESTAMP, dengan menambahkan time-zone displacement. Perbedaan time-zone merupakan perbedaan (dalam jam dan menit) antara waktu local dengan Coordinated Universal Time (UTC) dahulu Greenwich Mean Time. Sintaksnya adalah: TIMESTAMP[( precision)] WITH TIME ZONE dimana parameter opsional precision menentukan jumlah digit di dalam sebagian kecil field detik. Kita tidak dapat menggunakan konstanta simbolik atau variable untuk menentukan precision; kita harus menggunakan literal integer dalam jangkauan 0..9. Default-nya adalah 6.

Timestamp with Time Zone Pada contoh berikut ini, kita mendeklarasikan variable bertipe TIMESTAMP WITH TIME ZONE, lalu memberikan nilai literal terhadapnya: DECLARE logoff TIMESTAMP(3) WITH TIME ZONE; BEGIN logoff := '1999-10-31 09:42:37.114 + 02:00';... END; Pada contoh ini, perbedaan time-zone adalah +02:00. Timestamp with Local Time Zone Tipe data TIMESTAMP WITH LOCAL TIME ZONE, yang memperluas tipe data TIMESTAMP, dengan menambahkan time-zone displacement. Perbedaan time-zone merupakan perbedaan (dalam jam dan menit) antara waktu local dengan Coordinated Universal Time (UTC) dahulu Greenwich Mean Time. Kita juga dapat menggunakan time zone bernama, seperti dengan TIMESTAMP WITH TIME ZONE. Sintaksnya adalah: TIMESTAMP[( precision)] WITH LOCAL TIME ZONE dimana parameter opsional precision menentukan jumlah digit di dalam sebagian kecil field detik. Kita tidak dapat menggunakan konstanta simbolik atau variable untuk menentukan precision; kita harus menggunakan literal integer dalam jangkauan 0..9. Default-nya adalah 6.

Timestamp with Local Time Zone Pada contoh berikut ini, kita mendeklarasikan variable bertipe TIMESTAMP WITH TIME ZONE: DECLARE logoff TIMESTAMP(3) WITH LOCAL TIME ZONE; BEGIN... END; Kita tidak dapat memberikan nilai-nilai literal kepada variable dengan tipe ini. Interval Year to Month Kita menggunakan tipe data INTERVAL YEAR TO MONTH untuk menyimpan dan memanipulasi interval-interval dari tahun dan bulan. Sintaksnya: INTERVAL YEAR[( precision)] TO MONTH dimana parameter opsional precision menentukan jumlah digit di dalam field tahun. Kita tidak dapat menggunakan konstanta simbolik atau variable untuk menentukan precision; kita harus menggunakan literal integer dalam jangkauan 0..4. Default-nya adalah 2.

Interval Year to Month Dalam contoh berikut ini, kita mendeklarasikan variable bertipe INTERVAL YEAR TO MONTH, lalu memberikan nilai 101 tahun dan 3 bulan kepadanya: DECLARE lifetime INTERVAL YEAR(3) TO MONTH; BEGIN lifetime := INTERVAL '101-3' YEAR TO MONTH; lifetime := INTERVAL '101' YEAR; lifetime := INTERVAL '3' MONTH;... END; Interval Day to Second Kita menggunakan tipe data INTERVAL DAY TO SECOND untuk menyimpan dan memanipulasi interval-interval dari hari, jam, menit, dan detik. Sintaksnya adalah: INTERVAL DAY[( leading_precision)] TO SECOND[( fractional_seconds_precision)] dimana leading_precision dan fractional_seconds_precision menentukan jumlah digit dalam field hari dan detik. Dalam kedua kasus ini, kita tidak dapat menggunakan konstanta simbolik atau variable untuk menentukan precision; kita harus menggunakan literal integer dalam jangkauan 0..9. Defaultnya adalah 2 dan 6.

Interval Day to Second Dalam contoh berikut, kita mendeklarasikan tipe INTERVAL DAY TO SECOND: DECLARE lag_time INTERVAL DAY(3) TO SECOND(3); BEGIN IF lag_time > INTERVAL '6' DAY THEN...... END; Contoh Query create table test( tanggal TIMESTAMP(3), logoff TIMESTAMP(3) WITH TIME ZONE, login TIMESTAMP(3) WITH LOCAL TIME ZONE, lifetime INTERVAL YEAR(3) TO MONTH);