Tabel adalah struktur data yang menyimpan data dalam basis data relasi, sebuah tabel terdiri dari baris dan kolom. Sebuah tabel di Oracle versi 7.3 dapat memiliki nilai maksimum 255 kolom dan di Oracle versi 8 dapat memiliki nilai maksimum 1000 kolom, jumlah baris dalam tabel tidak terbatas di semua versi Oracle. Satu tabel dalam Oracle dapat mewakili satu kesatuan yang ingin di lacak dalam sistem. Tabel jenis ini dapat mewakili daftar karyawan di dalam organisasi anda, atau daftar pesanan yang ditujukan untuk produk perusahaan anda. Satu tabel juga dapat mewakili hubungan antara dua entitas, tabel jenis ini dapat menggambarkan hubungan antara karyawan dengan keterampilan kerjanya, atau hubungan suatu produk dengan pesanannya. Di dalam tabel, kunci kedua (Foreign Key) digunakan untuk mewakili suatu hubungan / koneksi. Walaupun beberapa tabel yang dirancang dengan baik dapat mewakili entitas dan menggambarkan hubungan antar satu entitas dengan entitas yang lainnya, sebagian besar tabel wajib mewakili entitas atau hubungan.
Seri yang akan dibahas akan menjelaskan cara membuat, mengubah dan menghapus tabel :
Merancang Tabel.
Anda dapat menjadikan seri ini sebagai bahan masukan tambahan dalam merancang suatu tabel.
~ Gunakan nama deskriptif untuk tabel, kolom, indeks dan cluster.
~ Nama tabel, nama kolom dapat berisi maksimal 30 karakter dan wajib dimulai dengan alfabet.
~ Konsisten dalam menggunakan singkatan kata, penggunaan bentuk tabel dan kolom.
~ Pilih tipe data yang sesuai untuk setiap kolom.
~ Atur kolom yang bisa berisi nilai NULL dalam posisi paling akhir agar menghemat ruang simpan.
Sebelum membuat suatu tabel, wajib untuk menentukan apakah akan menggunakan batasan integritas. Batasan integritas dapat didefinisikan pada kolom suatu tabel untuk menegakkan aturan bisnis database yang anda buat secara otomatis. Sebelum membuat suatu tabel anda juga harus memutuskan jenis data yang dapat berisi kolom, ini dikenal sebagai datatype, dibawah ini akan dijelaskan datatype apa yang tersedia di Oracle :
Tipe Data
Mengasosiasikan seperangkat properti tetap dengan nilai yang dapat digunakan dalam kolom tabel atau dalam argumen prosedur/fungsi, properti ini menyebabkan Oracle memperlakukan nilai dari satu jenis data berbeda dari nilai tipe data yang lainnya, sebagai contoh : Oracle dapat menambahkan nilai tipe data NUMBER, tapi bukan nilai tipe data RAW, Oracle memasok tipe data bawaan sebagai berikut :
Tipe Data Character.
- CHAR
- NCHAR
- VARCHAR2 and VARCHAR
- NVARCHAR2
- CLOB
- NCLOB
- LONG
- NUMBER
- DATE
- INTERVAL DAY TO SECOND
- INTERVAL YEAR TO MONTH
- TIMESTAMP
- TIMESTAMP WITH TIME ZONE
- TIMESTAMP WITH LOCAL TIME ZONE
Tipe Data Binary.
- BLOB
- BFILE
- RAW
- LONG RAW
Gunakan tipe data Character untuk menyimpan data alfanumerik :
Tipe data Char dan NCHAR menyimpan data karakter string.
Tipe data Varchar2 dan Nvarchar2 menyimpan karakter string sepanjang variabel (Tipe data Varchar identik dengan tipe data Varchar2). Tipe data NChar dan NVarchar2 menyimpan data karakter Unicode saja.
Tipe data CLOB dan NCLOB menyimpan karater string single-byte dan multibyte hingga empat gigabyte.
Tipe data LONG menyimpan string karakter sepanjang variabel yang mengandung nilai hingga dua gigabyte, namun dengan banyak batasan. Tipe data ini disediakan untuk kompatibilitas dengan aplikasi yang ada; Secara umum, aplikasi baru harus menggunakan tipe data CLOB dan NCLOB untuk menyimpan sejumlah besar data karakter, dan BLOB dan BFILE untuk menyimpan sejumlah besar data biner. Saat menentukan jenis tipe data mana yang akan digunakan untuk kolom yang akan menyimpan data alfanumerik dalam sebuah tabel, pertimbangkan hal berikut dari sisi perbedaan :
Untuk menyimpan data lebih efisien, gunakan tipe data VARCHAR2. Tipe data CHAR menyimpan sampai dengan panjang kolom tetap untuk semua nilai kolom, sedangkan tipe data VARCHAR2 tidak menambahkan tambahan kosong.
Misalnya jika anda mendefinisikan "nama_pegawai" sebagai char (20) maka jika anda menyimpan nama seperti "Romi" maka nama akan menempati 20 byte (4 byte untuk karakter "Romi" dan 16 spasi kosong). Dan jika anda mendefinisikan "nama_pegawai" sebagai varchar2 (20) maka jika anda menyimpan nama seperti "Romi" maka oracle akan memakan waktu 4 byte saja.
Gunakan Tipe data CHAR saat anda memerlukan kompatibilitas ANSI dalam perbandingan semantik (jika trailing kosong tidak penting dalam perbandingan string). Gunakan VARCHAR2 saat membolak-balik penting dalam perbandingan string. Tipe data CHAR dan VARCHAR2 akan selalu didukung sepenuhnya. Pada saat ini, tipe data VARCHAR secara otomatis sesuai dengan tipe data VARCHAR2 dan dicadangkan untuk penggunaan selanjutnya.
Data Numeric
Gunakan tipe data NUMBER untuk menyimpan bilangan real dalam format fixed-point atau floating-point. Angka yang menggunakan tipe data ini dijamin lebih kecil di antara platform Oracle yang berbeda, tipe data ini menawarkan presisi hingga 38 angka desimal. Anda dapat menyimpan angka positif dan negatif sebesar 1 x 10-130 sampai 9,99 x10125, dan juga nol, dalam kolom NUMBER.
Anda dapat menentukan bahwa kolom berisi bilangan floating-point, misalnya:
jarak_tempuh NUMBER
Atau, Anda dapat menentukan presisi (jumlah digit) dan skala (jumlah digit ke kanan titik desimal):
harga_barang NUMBER (8, 2)
Meskipun tidak diperlukan, menentukan presisi dan skala membantu mengidentifikasi nilai input yang buruk. Jika presisi tidak ditentukan, kolom menyimpan nilai seperti yang diberikan. Tabel berikut menunjukkan contoh bagaimana data faktor skala yang berbeda mempengaruhi penyimpanan.
Input Data | Specified As | Stored As |
4,751,132.79 | NUMBER | 4751132.79 |
4,751,132.79 | NUMBER (9) | 4751133 |
4,751,132.79 | NUMBER (9,2) | 4751132.79 |
4,751,132.79 | NUMBER (9,1) | 4751132.7 |
4,751,132.79 | NUMBER (6) | (not accepted, exceeds precision) |
4,751,132.79 | NUMBER (7, -2) | 4,751100 |
Data Tanggal dan Waktu (Date and Time).
Gunakan tipe data DATE untuk menyimpan nilai point-in-time (tanggal dan waktu) dalam sebuah tabel. Tipe data DATE menyimpan abad, tahun, bulan, hari, jam, menit, dan detik.
Gunakan tipe data TIMESTAMP untuk menyimpan nilai yang tepat, hingga detik fraksional. Misalnya, aplikasi yang harus memutuskan mana dari dua peristiwa yang terjadi pertama mungkin menggunakan TIMESTAMP. Aplikasi yang perlu menentukan waktu untuk melakukan pekerjaan mungkin menggunakan tanggal DATE.
Format Tanggal.
Untuk input dan output tanggal, format tanggal standar default Oracle adalah DD-MON-RR. Sebagai contoh:
'13 -NOV-1992 '
Untuk mengubah format tanggal default ini secara umum, gunakan parameter NLS_DATE_FORMAT. Untuk mengubah format selama sesi berlangsung, gunakan pernyataan ALTER SESSION. Untuk memasukkan tanggal yang tidak ada dalam format tanggal default saat ini, gunakan fungsi TO_DATE dengan masker format. Sebagai contoh:
TO_DATE ('November 13, 1992', 'MONTH DD, YYYY')
Hati-hati menggunakan format tanggal seperti DD-MON-YY. YY menunjukkan tahun di abad ini. Misalnya, 31-DEC-92 adalah 31 Desember 2092, bukan 1992 seperti yang Anda duga. Jika Anda ingin menunjukkan tahun dalam abad apa pun selain yang sekarang, gunakan masker format yang berbeda, seperti RR default.
Format Waktu
Waktu disimpan dalam format 24 jam, HH24: MI: SS. Secara default, waktu di bidang tanggal adalah pukul 12:00:00 A.M. (tengah malam) jika tidak ada bagian waktu yang dimasukkan. Dalam entri hanya waktu, bagian tanggal default ke hari pertama bulan berjalan. Untuk memasukkan bagian waktu dari sebuah tanggal, gunakan fungsi TO_DATE dengan topeng format yang menunjukkan bagian waktu, seperti pada:
INSERT INTO Birthdays_tab (bname, bday) NILAI
('ANNIE', TO_DATE ('13 -NOV-92 10:56 A.M '', 'DD-MON-YY HH: MI A.M.'));
Membuat Tabel di Oracle.
Setelah Anda merancang tabel dan memutuskan tentang tipe data mana yang akan digunakan, maka gunakanlah perintah SQL berikut untuk membuat tabel.
Sebagai contoh, pernyataan berikut membuat tabel bernama Employee.
CREATE TABLE Employee (
Empno NUMBER (5),
Ename VARCHAR2 (15),
Hiredate DATE,
Sal NOMOR (7,2)
);
Untuk menyisipkan baris di tabel Anda bisa menggunakan perintah SQL INSERT.
Misalnya pernyataan berikut membuat baris pada tabel di atas.
SQL> insert into Employee values (101,’Sami’,3400);
Untuk menyisipkan baris secara terus menerus di SQL Plus Anda bisa memberikan perintah berikut.
SQL> insert into Employee values (&empno,’&name’,&sal);
Variabel &Empno, &nama dan &sal dikenal sebagai variabel substitusi. Itu SQLPlus akan meminta Anda untuk nilai-nilai ini dan kemudian menulis ulang pernyataan dengan nilai yang diberikan.
Untuk melihat baris yang telah Anda masukkan, berikan perintah berikut.
SQL> Select * from Employee;
Untuk melihat struktur tabel nama kolom dan datatypes dan widthsnya. Berikan perintah berikut
SQL> desc Employee
Untuk melihat berapa banyak tabel dalam skema Anda berikan perintah berikut.
SQL> select * from cat;
atau
SQL> select * from tab;
Sumber : Disini
Semoga bermanfaat.
Note : Mau uji coba database Oracle download disini.
Oracle Win64
Format Tanggal.
Untuk input dan output tanggal, format tanggal standar default Oracle adalah DD-MON-RR. Sebagai contoh:
'13 -NOV-1992 '
Untuk mengubah format tanggal default ini secara umum, gunakan parameter NLS_DATE_FORMAT. Untuk mengubah format selama sesi berlangsung, gunakan pernyataan ALTER SESSION. Untuk memasukkan tanggal yang tidak ada dalam format tanggal default saat ini, gunakan fungsi TO_DATE dengan masker format. Sebagai contoh:
TO_DATE ('November 13, 1992', 'MONTH DD, YYYY')
Hati-hati menggunakan format tanggal seperti DD-MON-YY. YY menunjukkan tahun di abad ini. Misalnya, 31-DEC-92 adalah 31 Desember 2092, bukan 1992 seperti yang Anda duga. Jika Anda ingin menunjukkan tahun dalam abad apa pun selain yang sekarang, gunakan masker format yang berbeda, seperti RR default.
Format Waktu
Waktu disimpan dalam format 24 jam, HH24: MI: SS. Secara default, waktu di bidang tanggal adalah pukul 12:00:00 A.M. (tengah malam) jika tidak ada bagian waktu yang dimasukkan. Dalam entri hanya waktu, bagian tanggal default ke hari pertama bulan berjalan. Untuk memasukkan bagian waktu dari sebuah tanggal, gunakan fungsi TO_DATE dengan topeng format yang menunjukkan bagian waktu, seperti pada:
INSERT INTO Birthdays_tab (bname, bday) NILAI
('ANNIE', TO_DATE ('13 -NOV-92 10:56 A.M '', 'DD-MON-YY HH: MI A.M.'));
Membuat Tabel di Oracle.
Setelah Anda merancang tabel dan memutuskan tentang tipe data mana yang akan digunakan, maka gunakanlah perintah SQL berikut untuk membuat tabel.
Sebagai contoh, pernyataan berikut membuat tabel bernama Employee.
CREATE TABLE Employee (
Empno NUMBER (5),
Ename VARCHAR2 (15),
Hiredate DATE,
Sal NOMOR (7,2)
);
Untuk menyisipkan baris di tabel Anda bisa menggunakan perintah SQL INSERT.
Misalnya pernyataan berikut membuat baris pada tabel di atas.
SQL> insert into Employee values (101,’Sami’,3400);
Untuk menyisipkan baris secara terus menerus di SQL Plus Anda bisa memberikan perintah berikut.
SQL> insert into Employee values (&empno,’&name’,&sal);
Variabel &Empno, &nama dan &sal dikenal sebagai variabel substitusi. Itu SQLPlus akan meminta Anda untuk nilai-nilai ini dan kemudian menulis ulang pernyataan dengan nilai yang diberikan.
Untuk melihat baris yang telah Anda masukkan, berikan perintah berikut.
SQL> Select * from Employee;
Untuk melihat struktur tabel nama kolom dan datatypes dan widthsnya. Berikan perintah berikut
SQL> desc Employee
Untuk melihat berapa banyak tabel dalam skema Anda berikan perintah berikut.
SQL> select * from cat;
atau
SQL> select * from tab;
Sumber : Disini
Semoga bermanfaat.
Note : Mau uji coba database Oracle download disini.
Oracle Win64
Best Regards
0 komentar:
Posting Komentar