Tugas 3 Tipe-Tipe Data Pada Database
Tipe-tipe Data Pada Database
Untuk memulai pemrograman ataupun pembuatan database sangat penting mengetahui tipe data. Ini adalah syarat mutlak agar data/variable yang kita simpan valid dan efisien. Setiap bahasa pemrograman atau database mempunyai tipe data sendiri-sendiri tapi pada prinsipnya sama.
Pada dasarnya ada ada empat jenis data yaitu tipe numeric, string, date and time serta default values.
agaimana cara mengatur file??
Database adalah kumpulan data yang saling berhubungan yang diatur secara logis yang dirancang dan dibangun untuk tujuan khusus.database disini adalah representasi dari sebuah teknologi untuk mengumpulkan banyak fakta yang memungkinkan Anda untuk memotong dan membuang, dan menggabungkan serta memasangkan data dengan beragam cara. Data pada sebuah database memiliki banyak makna. Bagaimanapun, menghubungkan banyak fakta dan data tidak bisa begitu saja disebut database. databse memiiki banyak tingkat kerumitan, dan dapat diperoleh secara manual atau dengan perangkat lunak pada sebuah komputer.
Pengaturan Data: Hierarki Penyimpanan Database
Apa saja unit datanya?dari yang terkecil sampai yang terbesar? Hierarki penyimpanan data terdiri atas level data yang disimpan dalam sebuah database komputer : bits, field, record, dan file.
Bit komputer seperti atas dasar prinsip bahwa listrik bisa dihidupkan dan dimatikan(prinsip saklar on/off). jadi bit adalah unit data terkecil yang bisa disimpan komputer.jadi,bit adalah unit data terkecil yang bisa disimpan dalam komputer yang direpresentasikan dengan lambang angka 0 (off) atau 1 (on).
Karakter
Suatu karakter (byte) adalah sebuah huruf atau angka atau karakter khusus, sebagai contoh: A,B,&,%,2,dll adalah contoh karakter tunggal. gabungan beberapa bit akan membentuk sebuah karakter.
bit dan byte merupakan dasar untuk menyajikan data baik data yang akan diproses, dikomunikasikan jarak jauh, atau disimpan dalam sebuah database. Komputer banyak berhubungan dengan bit dan byte namun user database, seperti Anda, akan banyak berhubungan dengan Field, record, dan file.
Field
Field adalah sebuah unit data yang berisi satu atau lebih karakter (byte). Ia merupakan unit terkecil dari informasi berharga dalam database. setiap field memiliki nama field yang menggambarkan jenis data yang harus dimasukkan ke dalam field. Contoh field adalah nama pertama Anda, alamat jalan, atau jenis kelamin Anda.
Field dapat didesain dengan panjang maksimun terntentu. Field juga dapat didesain dengan tipe data berbeda, semisal hanya teks, atau hanya angka, tanggal, waktu, atau bahkan hanya jawaban “ya” dan “tidak”, link web, gambar, suara dan video.
Record
Record adalah kumpulan field-field yang berhubungan. Masing-masing record menyimpan data hanya sekitar satu entitas, yang bisa erupa orang, tempat benda dan peristiwa atau gejala. Contoh record bisa saja nama dan alamat Anda dan Nomor Jaminan sosial Anda.
File
File adalah kumpulan record-record yang saling berhubungan. contoh sebuah file adalah data tentang siapa saja yang bekerja di departemen yang sama dalam sebuah perusahaan, termasuk nama, alamat, dan nomor jaminan sosial. File banyak digunakan karena ia merupakan kumpulan data atau informasi yang diperlakukan sebagai satau unit oleh komputer.
dalam hierarki data, file berada dalam bagian atas. Kumpulan file yang berhubungan membentuk suatu database.database sebuah perusahaan mencakup semua file pegawai sebelumnya dan pegawai saat ini di departemen. Setiap pegawai bisa punya beberapa file, sebagai contoh file upah, dana pensiun, kuota penjualan, dan penerimaan, dan sebagainya.
Key Field
apa itu key field?dan apa yang dapat menjadi key field saya yang terpenting?
Konsep yang penting dalam pengaturan data adalah key field. Key Field adalah field yang dipilih pada record sehingga record tersebut dapat dengan mudah diperoleh kembali dan diproses. Key field kadang berupa nomor identifikasi, nomor jaminan sosial, nomor induk pegawai, atau semacamnya. dari hal ini dapat ditarik kesimpulan bahwa key field memilik karakteristik unik (tidak ada yang sama satu sama lain). Key field lebih disukai berupa angka. Key field dapat terdiri dari lebih satu key.
Tipe File: File Program dan File Data
Apa Perbedaan File Program dan file Data?
File adalah kumpulan informasi yang oleh komputer diperlakukan sebagai satu uit. File diberi nama – nama file.
Nama File juga memiliki ekstensi, atau nama ekstensi.biasanya berupa tiga huruf setelah titik yang mengikuti nama file. misal .doc, yang dikenali Microsoft Word sebagai “document”. Ekstensi ini disisipkan secara otomatis oleh pengolah dokumen.
a. File Program: Untuk instruksi perangkat lunak
File Program adalah file yang berisi instruksi perangkat lunak. Contohnya adalah pengolah kata atau program spreadsheet, yang terdiri beberapa program.
File program sumber: memuat instruksi komputer tingkat tinggi dalam format asli yang ditulis oleh programer.
Instruksi program sumber baru dapat digunakan setelah prosesor menerjemahkannya kedalam file yang dapat dieksekusi. File ini dapat dikenali melalui ekstensinya berupa .exe atau .com
b. File Data: untuk mengambil Data
File Data adalah file yang memuat data. tidak seperti file program, file data tidak menyuruh komputer untuk melakukan sesuatu. Akan tetapi file data akan berperan dalam file program. contoh ekstensi file data yang umum adalah: .txt, .doc, .xls, dsb
tiga file data yang memilik peran khusus adalah
File grafis: diantaranya: .bmp, .tiff, .jpeg, .png
file audio: diantaranya: .mp3, .wav, .midi
file video: diantaranya: .mpg, .wmv, .avi
Kompresi dan Dekompresi: menempatkan Lebih banyak data di ruang yang lebih kecil.
Bagaimana file besar dikompresi dan didekompresi?
Kompresi: adalah metode untuk memindahkan elemen-elemen secara berulang-ulang dari sebuah file sehingga file membutuhkan ruang penyimpanan yang lebih sedikit dan akhirnya membutuhkan waktu transmisi yang lebih singkat juga. Selanjutnya data akan didekompresi- pola yang berulang akan diperbaiki.
Kompresi lossless: saat melakukan kompresi menggunakan teknik matematis untuk mengganti pola bits berulang dengan ringkasan berkode. Selama dekompresi, ringkasan berkode diganti dengan pola asli dari bits. Dalam metode ini, data yang keluar sama dengan data yang masuk. teknik ini dilakukan untuk memastikan tidak ada data yang berkurang/hilang.
kompresi Lossy:Perbedaannya dengan kompresi lossless, teknik ini mebuang data secara permanen selama kompresi. Kelemahannya adalah hilangnya akurasi tertentu. Metode ini kerap dilakukan untuk kompresi file grafis dan suara.
tipe data (data type) selalu digunakan untuk menentukan jenis data dari suatu field dalam sebuah tabel. Terdapat sepuluh jenis tipe data dalam database yang disediakan Ms Access, yaitu :
· AutoNumber
Menampilkan angka secara otomatis dimulai dari angka 1, dan dilanjutkan dengan angka 2, 3, 4, dan seteusnya.
· Currency
Memnampung data digit, tanda minus, dan tanda titik desimal dengan 15 digit di sebelah kiri tanda titik desimal dan 4 digit di sebelah kanan titik desimal.
· Date / Time
Menampung data tanggal, waktu, dan tahun dimulai dari 100 sampai dengan 9999.
· Hyperlink
Menampung data teks berwarna, bergaris bawah, dan grafik.
· Lookup Wizard
Menampilakan suatu tipe data dari banyak tipe data yang diambil dari tabel dan Query.
· Memo
Menampung data teks (huruf, bilangan, tanda baca, dan simbol grafik) sebanyak 65535 karakter. Tipe ini tidak dapat diindeks.
· Number
Menampung digit, tanda minus, dan titik desimal. Tipe ini memiliki 5 ukuran bilanngan dan jumlah digit.
· OLE object
Menampung foto/gambar grafik, rekaman suara dan video, dan spreadsheet. Kapasitas maksimum data tipe ini adalah 1 Gb. Tipe ini tidak dapat diindeks.
· Text
Menampung data teks (huruf, angka, dan simbol grafik) sebanyak 255 karakter. Standar karakter terpasang sebesar 50 karakter.
· Yes / No
Menmpung salah satu dari dua yang ada Yes/No,
True/False, dan On/Off.
Pada artikel ini kita akan membahas tipe - tipe data yang didukung oleh MySQL. Pemilihan tipe data merupakan suatu hal yang cukup penting dalam mengelola server. Salah satu sebabnya adalah berkaitan dengan ruang di harddisk dan memori yang akan “digunakan” oleh data-data tersebut.
Berikut ini akan diberikan tipe-tipe data yang didukung oleh MySQL yang terambil dari dokumentasi MySQL. Tipe - tipe data ini diberikan dalam bentuk yang siap dituliskan pada sintaks-sintaks MySQL, misalnya Create Table. Pada tipe-tipe data tersebut terdapat beberapa atribut yang memiliki arti sebagai berikut:
- M, menunjukkan lebar karakter maksimum. Nilai M maksimum adalah 255.
- D, menunjukkan jumlah angka di belakang koma. Nilai maksimum D adalah 30 tetapi dibatasi oleh nilai M, yaitu tidak boleh lebih besar daripada M-2.
- Atribut yang diberi tanda [ dan ] berarti pemakaiannya adalah optional.
- Jika atribut ZEROFILL disertakan, MySQL akan otomatis menambahkan atribut UNSIGNED.
- UNSIGNED adalah bilangan tanpa tanda di depannya (misalnya tanda negatif).
Inilah tipe-tipe data tersebut:
- TINYINT[(M)] [UNSIGNED] [ZEROFILL]
Integer yang sangat kecil jangkauan nilainya, yaitu -128 hingga 127. Jangkauan unsigned adalah 0 hingga 255.
- SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
Integer yang kecil jangkauan nilainya, yaitu -32768 hingga 32767. Jangkauan unsigned adalah 0 hinga 65535.
- MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
Integer tingkat menengah. Jangkauan nilainya adalah -8388608 hingga 8388607. Jangkauan unsigned adalah 0 hingga 16777215.
- INT[(M)] [UNSIGNED] [ZEROFILL]
Integer yang berukuran normal. Jangkauan nilainya adalah -2147483648 hingga 2147483647. Jangkauan unsigned adalah 0 hingga 4294967295.
- INTEGER[(M)] [UNSIGNED] [ZEROFILL]
Sama dengan INT.
- BIGINT[(M)] [UNSIGNED] [ZEROFILL]
Integer berukuran besar. Jangkauan nilainya adalah -9223372036854775808 hingga 9223372036854775807. Jangkauan unsigned adalah 0 hingga 18446744073709551615.
- FLOAT(precision) [ZEROFILL]
Bilangan floating-point. Tidak dapat bersifat unsigned. Nilai atribut precision adalah <=24 untuk bilangan floating-point presisi tunggal dan di antara 25 dan 53 untuk bilangan floating-point presisi ganda.
- FLOAT[(M,D)] [ZEROFILL]
Bilangan floating-point presisi tunggal. Tidak dapat bersifat unsigned. Nilai yang diijinkan adalah -3.402823466E+38 hingga -1.175494351E-38 untuk nilai negatif, 0, and 1.175494351E-38 hingga 3.402823466E+38 untuk nilai positif.
- DOUBLE[(M,D)] [ZEROFILL]
Bilangan floating-point presisi ganda. Tidak dapat bersifat unsigned. Nilai yang diijinkan adalah -1.7976931348623157E+308 hingga -2.2250738585072014E-308 untuk nilai negatif, 0, dan 2.2250738585072014E-308 hingga 1.7976931348623157E+308 untuk nilai positif.
- DOUBLE PRECISION[(M,D)] [ZEROFILL] dan REAL[(M,D)] [ZEROFILL]
Keduanya sama dengan DOUBLE.
- DECIMAL[(M[,D])] [ZEROFILL]
Bilangan floating-point yang “unpacked”. Tidak dapat bersifat unsigned. Memiliki sifat mirit dengan CHAR. Kata “unpacked'' berarti bilangan disimpan sebagai string, menggunakan satu karakter untuk setiap digitnya. Jangkauan nilai dari DECIMAL sama dengan DOUBLE, tetapi juga tergantung dai nilai atribut M dan D yang disertakan. Jika D tidak diisi akan dianggap 0. Jika M tidak diisi maka akan dianggap 10. Sejak MySQL 3.22 nilai M harus termasuk ruang yang ditempati oleh angka di belakang koma dan tanda + atau -.
- NUMERIC(M,D) [ZEROFILL]
Sama dengan DECIMAL.
- DATE
Sebuah tanggal. MySQL menampilkan tanggal dalam format 'YYYY-MM-DD'. Jangkauan nilainya adalah '1000-01-01' hingga '9999-12-31'.
- DATETIME
Sebuah kombinasi dari waktu (jam) dan tanggal. MySQL menampilkan waktu dan tanggal dalam format 'YYYY-MM-DD HH:MM:SS'. Jangkauan nilainya adalah '1000-01-01 00:00:00' hingga '9999-12-31 23:59:59'.
- TIMESTAMP[(M)]
Sebuah timestamp. Jangkauannya adalah dari '1970-01-01 00:00:00' hingga suatu waktu di tahun 2037. MySQL menampilkan tipe data TIMESTAMP dalam format YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD, atau YYMMDD, tergantung dari nilai M, apakah 14 (atau tidak ditulis), 12, 8, atau 6.
- TIME
Tipe data waktu. Jangkauannya adalah '-838:59:59' hingga '838:59:59'. MySQL menampilkan TIME dalam format 'HH:MM:SS'.
- YEAR[(2|4)]
Angka tahun, dalam format 2- atau 4-digit (default adalah 4-digit). Nilai yang mungkin adalah 1901 hingga 2155, 0000 pada format 4-digit, dan 1970-2069 pada format 2-digit (70-69).
- CHAR(M) [BINARY]
String yang memiliki lebar tetap. Nilai M adalah dari 1 hingga 255 karakter. Jika ada sisa, maka sisa tersebut diisi dengan spasi (misalnya nilai M adalah 10, tapi data yang disimpan hanya memiliki 7 karakter, maka 3 karakter sisanya diisi dengan spasi). Spasi ini akan dihilangkan apabila data dipanggil. Nilai dari CHAR akan disortir dan diperbandingkan secara case-insensitive menurut default character set yang tersedia, kecuali bila atribut BINARY disertakan.
- VARCHAR(M) [BINARY]
String dengan lebar bervariasi. Nilai M adalah dari 1 hingga 255 karakter. Jika nilai M adalah 10 sedangkan data yang disimpan hanya terdiri dari 5 karakter, maka lebar data tersebut hanya 5 karakter saja, tidak ada tambahan spasi.
- TINYBLOB dan TINYTEXT
Sebuah BLOB (semacam catatan) atau TEXT dengan lebar maksimum 255 (2^8 - 1) karakter.
- BLOB dan TEXT
Sebuah BLOB atau TEXT dengan lebar maksimum 65535 (2^16 - 1) karakter.
- MEDIUMBLOB dan MEDIUMTEXT
Sebuah BLOB atau TEXT dengan lebar maksimum 16777215 (2^24 - 1) karakter.
- LONGBLOB dan LONGTEXT
Sebuah BLOB atau TEXT dengan lebar maksimum 4294967295 (2^32 - 1) karakter.
- ENUM('value1','value2',...)
Sebuah enumerasi, yaitu objek string yang hanya dapat memiliki sebuah nilai, dipilih dari daftar nilai 'value1', 'value2', ..., NULL atau nilai special "" error. Sebuah ENUM maksimum dapat memiliki 65535 jenis nilai.
- SET('value1','value2',...)
Sebuah set, yaitu objek string yang dapat memiliki 0 nilai atau lebih, yang harus dipilih dari daftar nilai 'value1', 'value2', .... Sebuah SET maksimum dapat memiliki 64 anggota.
Nah, dengan mengenal tipe-tipe data yang didukung oleh MySQL, Anda dapat dengan tepat memilih tipe data yang Anda butuhkan dalam menyusun sebuah database.
Misalnya Anda hendak menyimpan data jumlah suatu stok barang yang tidak melebihi angka 200 misalnya, maka sebaiknya Anda memilih tipe data TINYINT yang diberi atribut UNSIGNED. Alasannya adalah jumlah stok tidak melebihi 200 dan tidak mungkin lebih kecil dari 0, dan tipe data TINYINT memiliki jangkauan 0 hingga 255, jadi memenuhi syarat untuk digunakan.
Contoh yang lain, misalnya Anda hendak membuat database nomor telpon dari teman-teman Anda. Memang nomor telpon seluruhnya terdiri dari angka, namun nampaknya tidak tepat bila disimpan dalam tipe data INT (atau bahkan BIGINT bila hendak menyimpan nomor handphone). Lebih baik dimasukkan ke dalam CHAR atau VARCHAR dengan M adalah 12. Mengapa 12? Karena nomor handphone terpanjang terdiri dari 12 digit. Sedangkan nomor telpon rumah terpanjang adalah 8 digit ditambah kode area terpanjang 4 digit, jadi angka 12 sangat pas.
Lalu bagaimana penerapannya dalam operasi MySQL? Misalnya Anda hendak membuat tabel stok barang dengan masing-masing field adalah kode barang, nama barang, harga barang, supplier, dan tanggal beli, maka kemungkinan perintah yang harus ditulis adalah sebagai berikut:
mysql> create table stok(
-> kode char(5),
-> nama varchar(20),
-> harga mediumint unsigned,
-> supplier char(5),
-> tanggal date);
Perintah tersebut di atas akan membuat tabel bernama stok dengan field-field sebagai berikut:
Nama field |
Tipe data |
Keterangan |
Kode |
Char(5) |
Kode barang biasanya memiliki jumlah karakter tetap, dalam contoh ini adalah 5. |
Nama |
Varchar(20) |
Nama barang kemungkinan besar memiliki jumlah karakter yang berbeda-beda, sehingga cocok menggunakan varchar. |
Harga |
Mediumint Unsigned |
Harga tergantung dari jenis barangnya, pada contoh ini dianggap harga barang tertinggi di bawah 100 jutaan. |
Supplier |
Char(5) |
Supplier biasanya juga dituliskan dalam kode tertentu yang jumlah karakternya tetap. |
Tanggal |
Date |
Tanggal pembelian. Umumnya waktu pembelian tidak perlu disertakan, hanya tanggalnya saja. |
Nah, sudah dijelaskan diatas tipe - tipe operasi data Database MySQL server, selamat mencoba :D. Artikel selanjutnya akan membahas Implementasi koneksi PHP ke Database MySQL.
Tugas 2 perintah-perintah dan bahasa SQL
Jenis-jenis perintah SQL
SQL (Structured Query Language) adalah sebuah bahasa yang digunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.
Sejarah
SQL dimulai dari artikel seorang peneliti dari IBM bernama Jhonny Oracle yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language).
Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R.
Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran John Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data.
Standarisasi
Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92.
Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masing-masing.
Pemakaian dasar
Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap sistem manajemen basis data (SMBD)[3], namun secara umum implementasi tiap bahasa ini memiliki bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang dapat digunakan pada kebanyakan SMBD.
Data Definition Language
DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.
CREATE
CREATE digunakan untuk membuat basis data maupun objek-objek basis data. SQL yang umum digunakan adalah:
CREATE DATABASE nama_basis_data
CREATE DATABASE membuat sebuah basis data baru.
CREATE TABLE nama_tabel
CREATE TABLE membuat tabel baru pada basis data yang sedang aktif. Secara umum, perintah ini memiliki bentuk
CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [constraints][,
nama_field2 tipe_data,
...]
)
atau
CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [,
nama_field2 tipe_data,
...]
[CONSTRAINT nama_field constraints]
)
dengan:
nama_field adalah nama kolom (field) yang akan dibuat. Beberapa sistem manajemen basis data mengizinkan penggunaan spasi dan karakter nonhuruf pada nama kolom.
tipe_data tergantung implementasi sistem manajemen basis data. Misalnya, pada MySQL, tipe data dapat berupa VARCHAR, TEXT, BLOB, ENUM, dan sebagainya.
constraints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung implementasi sistem manajemen basis data, misalnya NOT NULL, UNIQUE, dan sebagainya. Ini dapat digunakan untuk mendefinisikan kunci primer (primary key) dan kunci asing (foreign key).
Satu tabel boleh tidak memiliki kunci primer sama sekali, namun sangat disarankan mendefinisikan paling tidak satu kolom sebagai kunci primer.
Contoh:
CREATE TABLE user
(
username VARCHAR(30) CONSTRAINT PRIMARY KEY,
passwd VARCHAR(20) NOT NULL,
tanggal_lahir DATETIME
);
akan membuat tabel user seperti berikut:
username |
passwd |
tanggal_lahir |
Data Manipulation Language
DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah:
- SELECT untuk menampilkan data
- INSERT untuk menambahkan data baru
- UPDATE untuk mengubah data yang sudah ada
- DELETE untuk menghapus data
SELECT
SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga kadang-kadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap: ( QUERY BUDIN ) Cilegon.
SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]
FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung]
[, nama_tabel3 [AS alias3], ...]
[WHERE kondisi]
[ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]]
[GROUP BY nama_field1[, nama_field2, ...]]
[HAVING kondisi_aggregat]
dengan:
- kondisi adalah syarat yang harus dipenuhi suatu data agar ditampilkan.
- kondisi_aggregat adalah syarat khusus untuk fungsi aggregat.
Kondisi dapat dihubungkan dengan operator logika, misalnya AND, OR, dan sebagainya.
Contoh:
Diasumsikan terdapat tabel user yang berisi data sebagai berikut.
username |
passwd |
tanggal_lahir |
jml_transaksi |
total_transaksi |
Aris |
6487AD5EF |
09-09-1987 |
6 |
10.000 |
Budi |
97AD4erD |
01-01-1994 |
0 |
0 |
Charlie |
548794654 |
06-12-1965 |
24 |
312.150 |
Daniel |
FLKH947HF |
24-04-1980 |
3 |
0 |
Erik |
94RER54 |
17-08-1945 |
34 |
50.000 |
Contoh 1: Tampilkan seluruh data.
SELECT *
FROM user
Contoh 2: Tampilkan pengguna yang tidak pernah bertransaksi.
SELECT *
FROM user
WHERE total_transaksi = 0
Contoh 3: Tampilkan username pengguna yang bertransaksi kurang dari 10 dan nilainya lebih dari 1.000.
SELECT username
FROM user
WHERE jml_transakai < 10 AND total_transaksi > 1000
Contoh 4: Tampilkan total nominal transaksi yang sudah terjadi.
SELECT SUM(total_transaksi) AS total_nominal_transaksi
FROM user
Contoh 5: Tampilkan seluruh data diurutkan berdasarkan jumlah transaksi terbesar ke terkecil.
SELECT *
FROM user
ORDER BY jml_transaksi DESC
Fungsi aggregat
Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan sekelompok data (aggregat). Secara umum fungsi aggregat adalah:
- SUM untuk menghitung total nominal data
- COUNT untuk menghitung jumlah kemunculan data
- AVG untuk menghitung rata-rata sekelompok data
- MAX dan MIN untuk mendapatkan nilai maksimum/minimum dari sekelompok data.
Fungsi aggregat digunakan pada bagian SELECT. Syarat untuk fungsi aggregat diletakkan pada bagian HAVING, bukan WHERE.
Subquery
Ada kalanya query dapat menjadi kompleks, terutama jika melibatkan lebih dari satu tabel dan/atau fungsi aggregat. Beberapa SMBD mengizinkan penggunaan subquery. Contoh:
Tampilkan username pengguna yang memiliki jumlah transaksi terbesar.
SELECT username
FROM user
WHERE jml_transaksi =
(
SELECT MAX(jml_transaksi)
FROM user
)
INSERT
Untuk menyimpan data dalam tabel digunakan sintaks:
INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])
Contoh:
INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');
UPDATE
Untuk mengubah data menggunakan sintax:
UPDATE [NAMA_TABLE] SET [NAMA_KOLOM]=[NILAI] WHERE [KONDISI]
Contoh:
UPDATE Msuser set password="123456" where username="abc"
DELETE
Untuk menghapus data dipergunakan sintaks:
DELETE FROM [nama_table] Where [KONDISI]
Contoh:
DELETE FROM TEST WHERE NAMA='test';
Dasar-dasar perintah SQL
921409131 tugas 2 1 Komentar
pengertian database,database berbasis manajemen,database berbasis file dan kelemahannya.
.Pengertian Database
- Database adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik untuk memperoleh informasi dari basis data tersebut.
- Database adalah representasi kumpulan fakta yang saling berhubungan disimpan secara bersama, untuk memenuhi berbagai kebutuhan.
- Database merupakan sekumpulan informasi yang saling berkaitan pada suatu subjek tertentu untuk tujuan tertentu pula.
- Database adalah susunan record data operasional lengkap dari suatu organisasi atau perusahaan, yang diorganisir dan disimpan secara terintegrasi dengan menggunakan metode tertentu sehingga mampu memenuhi informasi yang optimal yang dibutuhkan olehpara pengguna.
Asal Mula Istilah Database
Istilah “database” berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal yang di luar bidang elektronika, artikel mengenai database komputer. Catatan yang mirip dengan database sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi danm kumpulan data yang berhubungan dengan bisnis.
Konsep Dasar Database
Konsep dasar database adalah kumpulan dari catatan, atau potongan dari pengetahuan. Sebuah database memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur database: ini dikenal sebagai database model atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah yaitu mewakili semua informasi dalam bentuk tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili dengan menggunakan nilai yang sama antar tabel.
Perangkat Untuk Membuat Database.
Database dapat dibuat dan diolah dengan menggunakan suatu program komputer, yaitu yang biasa disebut dengan software (perangkat lunak).Software yang digunakan untuk mengelola dan memanggil kueri (query) database disebut Database Management System (DBMS) atau jika diterjemahkan kedalam bahasa indonesia berarti “Sistem Manajemen Basis Data”.
DBMS terdiri dari dua komponen, yaitu Relational Database Management System (RDBMS) dan Overview of Database Management System (ODBMS). RDBMS meliputi Interface Drivers, SQL Engine, Transaction Engine, Relational Engine, dan Storage Engine. Sedangkan ODBMS meliputi Language Drivers,Query Engine, Transaction Engine, dan Storage Engine.
Sedangkan level dari softwarenya sendiri, terdapat dua level software yang memungkinkan untuk membuat sebuah database antara lain :
- High Level Software dan Low Level Software.
Yang termasuk di dalam High Level Software, antara lain Microsoft SQL Server, Oracle, Sybase, Interbase, XBase, Firebird, MySQL, PostgreSQL, Microsoft Access, dBase III, Paradox, FoxPro, Visual FoxPro, Arago, Force, Recital, dbFast, dbXL,Quicksilver, Clipper, FlagShip, Harbour, Visual dBase, dan Lotus Smart Suite Approach. Sedangkan yang termasuk di dalam Low Level Software antara lainBtrieve dan Tsunami Record Manager.
Tipe Database
Terdapat 12 tipe database, antara lain Operational database, Analyticaldatabase, Data warehouse, Distributed database, End-user database, External data base, Hypermedia databases on the web, Navigational database, In-memory data bases, Document-oriented databases, Real-time databases, dan RelationalDatabase.
2. Database Manajemen
Dalam aktivitas system manajemen, kita mengenal suatu system yang berupa database atau biasa disebut sebagai Sistem manajemen basis data atau juga bisa disebut Database Management System (DBMS) yaitu berupa suatu sistem atau perangkat lunak yang dirancang untuk mengelola suatu basis data dan menjalankan operasi terhadap data yang diminta banyak pengguna. DBMS juga merupakan perangkat lunak yang dirancang untuk dapat melakukan utilisasi dan mengelola koleksi data dalam jumah yang besar dan dirancang untuk dapat melakukan masnipulasi data secara lebih mudah.
Dalam penyimpanan dengan DBMS, terdapat beberapa manfaat yang terdapat pada DBMS diantaranya :
1. Independensi. Perubahan struktur database dimungkinkan terjadi tanpa harus mengubah aplikasi yang mengaksesnya sehingga pembuatan antarmuka ke dalam data akan lebih mudah dengan penggunaan DBMS.
2. Penyimpanan dalam bentuk DBMS cukup besar, sangat jauh berbeda dengan disimpan dalam bentuk flat file. Disamping memiliki unjuk kerja yang lebih baik, juga akan didapatkan efisiensi penggunaan media penyimpanan dan memori
3. Independensi. Perubahan struktur database dimungkinkan terjadi tanpa harusaplikasi yang mengaksesnya sehingga pembuatan antarmuka ke dalam data akan lebih mudah dengan penggunaan DBMS.
4. Integritas data lebih terjamin dengan penggunaan DBMS. Masalah redudansi atau kejadian berulangnya data atau kumpulan data yang sama dalam sebuah database yang mengakibatkan pemborosan media penyimpanan sering terjadi dalam DBMS.
5. Sekuritas. DBMS memiliki sistem keamanan yang lebih fleksibel daripada pengamanan pada file sistem operasi. Keamanan dalam DBMS akan memberikan keluwesan dalam pemberian hak akses kepada pengguna.
6. Sentralisasi. Data yang terpusat akan mempermudah pengelolaan database. kemudahan di dalam melakukan bagi pakai dengan DBMS dan juga kekonsistenan data yang diakses secara bersama-sama akan lebiih terjamin dari pada data disimpan dalam bentuk file atau worksheet yang tersebar.
3. Database Berbasis File
Database (basisdata) dapat pula diumpamakan sebagai suatu lemari arsip, dimana dalam pengelolaan-nya memerlukan aturan-aturan tertentu agar suatu arsip mudah ditemukan, misalnya dibundel menurut kelompok dan jenis arsipnya, kemudian diberi nomer yang mengikuti suatu sistem penomoran arsip, lalu bundel-bundel arsip ini ditempatkan pada lemari mengikuti urutan tertentu. Pada sistem basisdata digital, setiap bundel adalah file data, dimana didalamnya direkam record-data yang sejenis. Antara satu file dengan file lainnya terdapat relasi, dan bila ada file yang tidak memiliki relasi dengan file lain maka sebenarnya file tersebut bukan anggota dari basisdata.
Data adalah representasi dari fakta dunia nyata yang mewakili suatu objek yang sedang ditinjau (manusia, barang, peristiwa, hewan, konsep, keadaan, dsb), dan direkam dalam bentuk huruf, kata, angka, simbol, gambar, bunyi, atau kombinasinya. Base adalah basis yang dapat diartikan sebagai gudang, markas, tempat berkumpul dari suatu objek atau representasi objek.
Kemudian Di satukan Menjadi Basis Data Yang mempunyai definisi Sbb
- Kumpulan file data yang saling berhubungan (berelasi) dan diorganisasi sedemikian rupa agar dapat diakses dengan mudah dan cepat.
- Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan (Fathansyah, 1999).
- Kumpulan file-file yang saling berelasi, relasi tersebut ditunjukkan dengan kunci dari tiap file yang ada untuk digunakan dalam satu lingkup perusahaan, instansi (Kristanto, 1994).
- Kumpulan file data yang terorganisasi, terintegrasi, dan bisa dipakai bersama (C.J Date, 1981)
- Kumpulan rekaman data berbagai tipe yang memiliki relasi satu sama lain (Martin, 1977)
4. Pengertian MySQLMySQL
Pengertian MySQLMySQL adalah suatu perangkat lunak database relasi (Relational Database Management System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya. MySQL AB menyebut produknya sebagai database open source terpopuler di dunia. Berdasarkan riset dinyatakan bahwa bahwa di platform Web, dan baik untuk kategori open source maupun umum, MySQL adalah database yang paling banyak dipakai. Menurut perusahaan pengembangnya, MySQL telah terpasang di sekitar 3 juta komputer. Puluhan hingga ratusan ribu situs mengandalkan MySQL bekerja siang malam memompa data bagi para pengunjungnya.Fitur MySQLKalau di seri 3.22 MySQL mulai diadopsi banyak orang dan meningkat populasi penggunanya, maka di seri 3.23 dan 4.0-lah terjadi banyak peningkatan dari sisi teknologi. Ini tidak terlepas dari tuntutan pemakai yang semakin mengandalkan MySQL, namun membutuhkan fitur-fitur yang lebih banyak lagi.Seri 3.23. Di seri 3.23 MySQL menambahkan tiga jenis tabel baru: pertama MyISAM, yang sampai sekarang menjadi tipe tabel default; kedua BerkeleyDB, yang pertama kali menambahkan kemampuan transaksi pada MySQL; dan ketiga InnoDB, primadona baru yang potensial.Seri 4.x. Di seri yang baru berjalan hingga 4.0 tahap alfa ini, pengembang MySQL berjanji akan menjadikan MySQL satu derajat lebih tinggi lagi. Fitur-fitur yang sejak dulu diminta akan dikabulkan, seperti subselek (di 4.1), union (4.0), foreign key constraint (4.0 atau 4.1—meski InnoDB sudah menyediakan ini di 3.23.x), stored procedure (4.1), view (4.2), cursor (4.1 atau 4.2), trigger (4.1). MySQL AB tetap berdedikasi mengembangkan dan memperbaiki MySQL, serta mempertahankan MySQL sebagai database open source terpopuler.
Keunggulan MySQL
Penyebab utama MySQL begitu popular di kalangan Web adalah karena ia memang cocok bekerja di lingkungan tersebut. Pertama, MySQL tersedia di berbagai platform Linux dan berbagai varian Unix. Sesuatu yang tidak dimiliki Access, misalnya—padahal Access amat popular di platform Windows. Banyak server Web berbasiskan Unix, ini menjadikan Access otomatis tidak dapat dipakai karena ia pun tidak memiliki kemampuan client-server/networking.Kedua, fitur-fitur yang dimiliki MySQL memang yang biasanya banyak dibutuhkan dalam aplikasi Web. Misalnya, klausa LIMIT SQL-nya, praktis untuk melakukan paging. Atau jenis indeks field FULLTEXT, untuk full text searching. Atau sebutlah kekayaaan fungsi-fungsi builtinnya, mulai dari memformat dan memanipulasi tanggal, mengolah string, regex, enkripsi dan hashing. Yang terakhir misalnya, praktis untuk melakukan penyimpanan password anggota situs.Ketiga, MySQL memiliki overhead koneksi yang rendah. Soal kecepatan melakukan transaksi atau kinerja di kondisi load tinggi mungkin bisa diperdebatkan dengan berbagai benchmark berbeda, tapi kalau soal yang satu ini MySQL-lah juaranya. Karakteristik ini membuat MySQL cocok bekerja dengan aplikasi CGI, di mana di setiap request skrip akan melakukan koneksi, mengirimkan satu atau lebih perintah SQL, lalu memutuskan koneksi lagi. Cobalah melakukan hal ini dengan Interbase atau bahkan Oracle. Maka dengan load beberapa request per detik saja server Web/database Anda mungkin akan segera menyerah karena tidak bisa mengimbangi beban ini.
PostgreSQL adalah sebuah sistem basis data yang disebarluaskan secara bebas menurut Perjanjian lisensi BSD. Piranti lunak ini merupakan salah satu basis data yang paling banyak digunakan saat ini, selain MySQL dan Oracle. PostgreSQL menyediakan fitur yang berguna untuk replikasi basis data. Fitur-fitur yang disediakan PostgreSQL antara lain DB Mirror, PGPool, Slony, PGCluster, dan lain-lain.
PostgreSQL adalah sistem database yang kuat untuk urusan relasi, open source. Memiliki lebih dari 15 tahun pengembangan aktif dan sudah terbukti segala rancangan arsitekturnya telah mendapat reputasi tentang “kuat”, “handal”, “integritas data”, dan “akurasi data”
Sampai dengan tahun 2012 PostgreSQL telah menerima penghargaan-penghargaan sebagai berikut:
• Database terbaik tahun 1999 dari LinuxWorld Editor’s Choice Award
• Database terbaik tahun 2000 dari Linux Journal Editors’ Choice Awards
• Database terbaik tahun 2002 dari Linux New Media Editor Choice Award
• Database terbaik tahun 2003 Linux Journal Editors’ Choice Awards
• Database terbaik tahun 2004 dari Linux New Media Award
• Database terbaik tahun 2004 Linux Journal Editors’ Choice Awards
• Ars Technica Best Server Application Award tahun 2004
• Database terbaik tahun 2005 Linux Journal Editors’ Choice Awards
• Database terbaik tahun 2006 Linux Journal Editors’ Choice Awards
• Product of the Year, Database Tool tahun 2008 dari Developer.com
• Linux New Media Award tahun 2012 untuk kategori Database Open source terbaik
Kelebihan PostgreSQL
1. PostgreSQL memiliki arsitektur multiproses (forking) yang berarti memiliki stabilitas yang lebih tinggi, sebab satu proses anak yang mati tidak akan menyebabkan seluruh daemon mati—meskipun pada kenyataannya, dulu ini sering terjadi.
2. Dalam kondisi load tinggi (jumlah koneksi simultan besar), kecepatan PostgreSQL sering mengalahkan MySQL untuk query dengan klausa JOIN yang kompleks, hal ini
dikarenakan PostgreSQL mendukung locking di level yang lebih rendah, yaitu row.
3. PostgreSQL memiliki fitur OO seperti pewarisan tabel dan tipe data, atau tipe data array yang kadang praktis untuk menyimpan banyak item data di dalam satu record.Dengan adanya kemampuan OO ini maka di PostgreSQL, kita dapat mendefinisikan sebuah tabel yang mewarisi definisi tabel lain.
4. PostgreSQL menyediakan hampir seluruh fitur-fitur database seperti yang terdapat dalam produk database komersial pada umumnya.
5. PostgreSQL pun memiliki tipe data geometri (seperti titik, garis, lingkaran, poligon) yang mungkin berguna bagi aplikasi ilmiah tertentu
6. PostgreSQL memberikan kita kemampuan mendefinisikan sebuah field sebagai array.
7. PostgreSQL memiliki hampir semua fasilitas standar yang biasanya diinginkan: view (tabel virtual), trigger, subselek, stored procedure (dalam beberapa bahasa), dan foreign key constraint
8. PostgreSQL juga memiliki apa yang disebut rule, yaitu tindakan custom yang bisa kita definisikan dieksekusi saat sebuah tabel di-INSERT, UPDATE, atau DELETE
9. Postgres juga mempunayai kemampuan untuk membuat konektifitas dengan database lain seperti pgdump, Interbase, pgaccess dan hampir semua database pada Linux.
10. kemampuannya menampung data spasial, sehingga ia bisa digunakan dalam pembuatan situs yang berbasis Web GIS untuk pemetaan dan sebagainya.
11. PostgreSQL memiliki lisensi GPL (General Public License) dan oleh karena itu
PostgreSQL dapat digunakan, dimodifikasi dan didistribusikan oleh setiap orang tanpa
perlu membayar lisensi (free of charge) baik untuk keperluan pribadi, pendidikan maupun komersil.
12. PostgreSQL mendukung banyak jenis bahasa pemrograman, antara lain: SQL, C, C++, Java, PHP, etc.
13. PostgreSQL juga merupakan alternative untuk sistem database open-source lainnya seperti MySQL dan Firebird, terutama sistem proprietari seperti Oracle, Sybase, IBM’s DB2dan Microsoft SQL Server.
Kekurangan PosgreSQL
1. Kurang begitu populer dan cocok bekerja di lingkungan web jika dibandingkan dengan mysql.
2. Kurang fokus dalam hal kelangsingan dan kecepatan.
3. Arsitektur dengan multiproses ini sulit diterapkan ke Windows, sebab Windows amat thread-oriented.
4. PostgreSQL sendiri saat ini bisa dijalankan di Windows, tapi melalui lapisan emulasi Cygwin.
5. Kurang unggul dalam hal ketersediaan fungsi built-in.
6. Replikasi di PostgreSQL sendiri belum disertakan dalam distribusi standarnya.
7. PostgreSQL sendiri terbatas hanya bisa melakukan penambahan kolom, penggantian nama kolom, dan penggantian nama tabel.
Microsoft Access
adalah program pengolah data base yang canggih yang biasanya digunakan untuk mengolah berbagai jenis data dengan pengoperasian yang mudah yang misalnya, untuk menampung daftar pelanggan, pendataan data keryawan, dan lain sebagainya.
Mungkin pada saat ini banyka yang menganggap bahwa microsoft access merupakan hal yang sulit dikerjakan tetapi perkembangan komputer tidak sesulit bayangan anda itu. Tapi anda mungkin menemukan kemudahan-kemudahan sehingga anda dapat melewatinya.
Microsoft Access merupakan salah satu software pengolah database yang berjalan dibawah sistem windows. Microsoft Access merupakan salah satu produk Office dari Microsoft yang dapat menangani database dengan skala besar maupun kecil. Dalam pengolahan database, Microsoft Access ini memiliki sarana atau objek-objek yang dapat mempermudah pekerjaan bagi pengguna.
Microsoft Access Merupakan progam aplikasi perangkat manajemen yang luwes yang bisa di gunakan untuk mengurutkan, menyeleksi dan mengatur informasi penting yang diperlukan. Kemudahan penggunaannya menjadikan software ini banyak digunakan baik oleh pengguna komputer yang baru mengenal maupun yang sudah berpengalaman.
Sistem client/server adalah dirancang untuk memisah layanan basisdata dari client, dengan penghubungnya menggunakan jalur komunikasi data. Layanan basisdata diimplementasikan pada sebuah komputer yang berdaya guna, yang memungkinkan manajeman tersentralisasi, keamanan, dan berbagai sumber daya. Oleh karena itu, server dalam client/server adalah basisdata dan layanannya. Aplikasi-aplikasi client diimplementasikan pada berbagai flatform, menggunakan berbagai kakas pemrograman.
SQL Server adalah server basisdata yang secara fungsional adalah proses atau aplikasi yang menyediakan layanan basisdata. Client berinteraksi dengan layanan basisdata melalui antar muka komunikasi tertentu yang bertujuan untuk pengendalian dan keamanan. Client tidak mempunya akses langsung kedata, tetapi selalu berkomunikasi dengan server basisdata. (Marcus Teddy.2004).
SQL Server menggunakan tipe dari database yang disebut database relasional. Database relasional adalah database yang digunakan sebuah data untuk mengatur atau mengorganisasikan kedalam tabel. Tabel-tabel adalah alat bantu untuk mengatur atau mengelompokan data mengenai subyek yang sama dan mengandung informasi dan kolom dan baris. Tabel-tabel saling berhubungan dengan mesin database ketika dibutuhkan.
SQL Server mendukung beberapa tipe data yang berbeda, termasuk untuk karakter, angga, tanggal (datetime) dan uang (money), SQL Server digunakan untuk menggambarkan model dan implementasi pada database.
Keuntungan menggunakan SQL Server dapat didefinisikan menjadi dua bagian yaitu satu bagian untuk menjalankan pada server dan bagian lain untuk client.
1.4.2.1. Keuntungan Client
1. Mudah digunakan.
2. Mendukung berbagai perangka keras.
3. Mendukung berbagai aplikasi perangkat lunak.
4. Biasa untuk digunakan
1.4.2.2. Keuntungan Server:
1. Dapat diandalkan (Reliable).
2. Toleransi kesalahan (Fault Tolerant).
3. Konkurensi (Concurrent)
4. Performa tingggi dalam perangkat keras (High-performance Hardware).
5. Pengendalian terpusat (Centralized Control).
6. Penguncian yang canggih (Sophisticated Locking).
(Marcus Teddy.2004).
Oracle (NASDAQ: ORCL)
adalah perusahaan piranti lunak Enterprise terbesar di dunia yang menyediakan piranti lunak enterprise kepada perusahaan dan organisasi terbesar dan paling sukses di dunia. Oracle menyediakan produk-produk database, application server, collaboration selain enterprise businness application dan perangkat application development.
Oracle adalah perusahaan piranti lunak pertama yang mengembangkan dan 100 persen menggunakan piranti lunak enterprise diatas Internet diseluruh lini produknya. Sejak diluncurkannya database relational pertama di dunia pada tahun 1977, Oracle telah menjadi bagian penting dalam revolusi teknologi yang secara nyata mengubah bisnis modern.
Relational Database sebenarnya adalah salah satu konsep penyimpanan data, sebelum konsep database relational muncul, sudah ada 2 model database yaitu Network Database & Hierarchie Database. Teori Database Relational di kemukakan pertama kali oleh Dr. E. F. Codd dalam makalah ilmiah yang berjudul " A Relational Model of Data for Large Shared Data Banks " yang di publikasikan dalam Communications of the ACM (Association for Computing Machinery) vol. 13, No 6, June 1970.
Dalam Database relational, data disimpan dalam bentuk relasi atau tabel dua dimensi, dan antar tabel satu dengan tabel lainnya terdapat hubungan atau relationship sehingga sering kita baca di berbagai literatur, database di definisikan sebagai "kumpulan dari sejumlah tabel yang saling hubungan atau keterkaitan".
Nah, kumpulan dari data yang di organisasikan sebagai tabel tadi disimpan dalam bentuk data elektronik di dalam hardisk komputer dan di kelompokkan secara logis berdasarkan schema user
Untuk membuat struktur tabel, mengisi data ke tabel, mengubah data dan menghapus data dari tabel di perlukan software.
Software yang di gunakan membuat tabel, isi data, ubah data, dan hapus data di sebut Relational Database Management System atau di kenal dengan singkatan RDBMS. Sedangkan perintah yang di gunakan untuk membuat tabel, mengisi, mengubah, dan hapus data di sebut perintah SQL yang merupakan singkatan dari Structure Query Language