SUBQUERY
Subquery adalah statement SELECT yang dilampirkan sebagai klausa dalam SQL Statement yang lain.
Untuk penulisan subquery pada SQL
(SELECT select_list FROM table);
PENGGUNAAN SUBQUERY
Subquery digunakan untuk menyelesaikan persoalan dimana terdapat suatu nilai yang tidak diketahui
Subquery Banyak Kolom
tiap baris dari main query dibandingkan dengan nilai dari subquery multiple-row dan multiple-column
Tipe Perbandingan Pada Subquery
- Perbandingan Berpasangan
- Perbandingan Tidak Berpasangan
PENGGUNAAN SUBQUERY DALAM KLAUSA FROM
Query semacam ini dikenal juga dengan istilah inline view, karena tidak membentuk object database.
contoh penggunaan query pada from
(SELECT department_id, REDS(salary) salavg FROM employees GROUP BY department_id)
EKSPRESI SCALAR SUBQUERY
Ekspresi scalar subquery adalah subquery yang mengembalikan hanya satu nilai kolom dari satu baris.
contoh penggunaannya dengan ekspresi Case
(SELECT department_id FROM departments WHERE location_id = 1800)
Contoh penggunaanya dengan klausa ORDER BY
(SELECT department_name FROM departments WHERE e.department_id = d.department_id);
KORELASI SUBQUERY
Korelasi SubQuery digunakan untuk pemrosesan baris per baris. Tiap-tiap subquery dijalankan sekali untuk setiap baris dari outer query.
Proses dari Korelasi
Mengambil baris dari outer query kemudian menjalankan inner query untuk quality / disquality baris kandidat selanjutnya menggunakan nilai dari inner querry quality/disquality baris kandidat dan kembali lagi ke awal.
Cara penulisan korelasi subquery
(SELECT column1, column2 FROM table2 WHERE expr1 = expr2);
PENGGUNAAN OPERATOR EXIST DAN NON EXIST
Operator EXISTS dan NOT EXIST digunakan untuk menguji keberadaan dari baris dalam himpunan hasil dari subquery.
PENGGUNAAN KLAUSA WITH
Dengan menggunakan klausa WITH, kita dapat menggunakan blok query yang sama dalam statement SELECT pada saat terjadi lebih dari sekali dalam complex query.
Query Lanjutan
Diposting oleh
Ardhan eR_eF
di
22.26
0
komentar
Dependency Dan Normalisasi
• Functional Dependency
Disebut juga dengan Ketergantungan Fungsional. Suatu atribut dikatakan Functionally Dependent jika menggunakan harga atribut untuk menentukan harga atribut yang lain.
Semisal
notasi : A => B
A dan B adalah atribut dari sebuah tabel. (Dibaca, A secara fungsional menentukan nilai pada B atau B bergantung pada A)
• Macam - Macam Dependency
Functional Dependency
- Full Functional Dependency
- Partially Dependency
- Transitive Dependency
1. Full Dependency (Ketergantungan Penuh)
Jika terdapatatribut A dan B suatu relasi, berarti :
- B memiliki ketergantungan fungsional penuh terhadap A
- B bukan memiliki dependensi terhadap A
2. Partially Dependency (Ketergantungan Parsial)
Dimana beberapa atribut dapat dihilangkan dari A dengan ketergantungan tetap dipertahankan.
3. Transitive Dependency (Ketergantungan Transitif)
Dimana kondisi A,B,C adalah atribut sebuah relasi A=>B dan B=>C .Maka C dikatakan sebagai transitive dependency terhadap A melalui B.
Jika C=>A asal melalui B
• NORMALISASI
Merupakan suatu proses pembentukan struktur basis data sehingga sebagian besar ambiguity bisa dihilangkan.
Alasan mengapa dilakukan normalisasi :
- Optimalisasi struktur-struktur tabel
- Meningkatkan kecepatan
- Menghilangkan pemasukan data yang sama
- Lebih efisien dalam penggunaan media penyimpanan
- Mengurangi redundansi
- Menghindari anomali (insertion anomalies, deletion anomalies, update anomalies)
- Integritas data yang ditingkatkan
Bentuk normalisasi yang digunakan :
- First normal form (INF)
- Second normal form (2NF)
- Third normal form (3NF)
- Boyce-codd normal form (BCNF)
- Four normal form (4NF)
- Five normal form (5NF)
Langkah-Langkah Normalisasi :
a. 1NF - Bentuk Normal Pertama
Suatu keadaan yang membuat setiap perpotongan baris dan kolom dalam relasi hanya berisi satu nilai. Tidak diperbolehkan ada atribut yang bernilai banyak (Multivalued Attribut), dan attribut komposit atau kombinas keduanya.
b. 2NF - Bentuk Normal Kedua
Bentuk normal ini terpenuhi jika memenuhi bentuk 1NF, dan semua atribut selain primary key, secara utuh memiliki Functional Dependency pada Primary Key. Dan sebuah tabel tidak memenuhi 2NF, jika ada atribut yang ketergantungan hanya bersifat parsial dari primary key. Kemudian jika tidak memiliki ketergantungan pada primary key, maka atribut harus dipindah atau dihilangkan.
c. 3NF - Bentuk Normal Ketiga
Terpenuhi jika :
- Telah memenuhi bentuk 2NF
- Tidak ada atribut non prmary key yang memiliki ketergantungan pada atribut non primary key yang lainya (ketergantungan transitif)
Diposting oleh
Ardhan eR_eF
di
06.23
0
komentar
Bahasa Query
Merupakan bahasa yang meminta suatu perintah yang melibatkan, suatu data dari sebuah database.
JENIS SQL
1. Interactive, langsung dapat dioperasikan
2. Embedded, disisipkan ke dalam sebuah program
PENGELOMPOKAN STATEMEN SQL
1. Data Definition Language (DDL)
CREATE DATABASE
CREATE TABEL
CREATE INDEX
CREATE VIEW
ALTER TABLE
DROP DATABASE
DROP TABEL
DROP INDEX
DROP VIEW
2. Data Manipulation Language
INSERT, SELECT, UPDATE, DELETE
3. Data Access
GRANT , REVOKE
4. Data Integrity
RECOVER TABLE
5. Auxiliary
UNLOAD, LOAD, RENAME COLUMN
PEMBUATAN DATABASE/TABLE,INDEX DAN VIEW
1. Pembuatan Database
Nama Database adalah berasal dari nama organisasi atau perusahaan.
Sintaks :
CREATE DATABASE (nama_db)
Contoh :
Buat database dengan nama organisasi LIVERPOOL maka CREATE DATABASE LIVERPOOL
2. Pembuatan Tabel
Sintaks :
CREATE TABLE nama_table (nama_kolom1 jenis_kolom1,nama_kolom2,jenis_kolom2,….)
Contoh :
Struktur database sebagai berikut :
MHS (NIM char(8), NAMA char(25), ALAMAT char(30))
CREATE TABLE MHS (NIM char(8) not null, NAMA char(25) notnull,
ALAMAT char(30) notnull)
3. Pembuatan Index
Sintaks :
CREATE [UNIQUE] INDEX nama_index ON nama_table (nama_kolom) ;
Contoh :
Buat index data mahasiswa berdasarkan NIM dengan nama MHSIN Dimana NIM tidak boleh sama CREATE UNIQUE INDEX MHSIN ON MHS(NIM)
4. Pembuatan View
Sintaks :
CREATE VIEW nama_view[(nama_kolom1,….)] AS SELECT statement [WITH CHECK OPTION] ;
Contoh :
Buat view dengan nama MHSVIEW yang berisi CREATE VIEW MHSVIEW AS SELECT * FROM MHS
MENGHAPUS DATABASE, TABLE, INDEX DAN VIEW
Sintaks : DROP DATABASE nama_db ;
DROP TABLE nama_table ;
DROP INDEX nama_index ;
DROP VIEW nama_view ;
Contoh : Hapus table mhs DROP TABLE MHS
MERUBAH STRUKTUR TABEL
Sintaks : ALTER TABLE nama_table ADD (nama_kolom, jenis_kolom [BEFORE nama_kolom])MODIFY (nama_kolom, jenis kolom) DROP (nama_kolom jenis kolom)
Contoh :
1. Tambahkan kolom JKEL dengan panjang 1 char pada table MHS ALTER TABLE MHS ADD (JKEL char(1));
2. Ubah panjang kolom MTKULIAH menjadi 30 char ALTER TABLE MKUL MODIFY (MTKULIAH char(30));
3. Hapus kolom JKEL dari data table MHS ALTER TABEL MHS DROP (JKEL char(1)); DATA MANIPULATION LANGUAGE (DML)
1. INSERT
Sintaks : INSERT INTO
Nama_table [(nama_kolom1,…)]
Contoh :
Masukan data matakuliah berkas akses dengan kode KK121 dan besarnya 2
INSERT INTO MKUL VALUES(“KK121”,”Berkas Akses”, 2);
2. UPDATE
Sintaks : UPDATE nama_table
SET nama_kolom = ekspresi
WHERE kondisi ;
Contoh :
Ubah alamat menjadi “Bogor” untuk mahasiswa
yang memiliki NIM “50096487”
UPDATE MHS
SET ALAMAT=”Bogor”
WHERE NIM=”50096487”;
Diposting oleh
Ardhan eR_eF
di
05.10
0
komentar
Model Data Relational Lanjut
A. Varian Entitas :
- Entitas kuat adalah sebuah himpunan entitas yang dilibatkan dalam ERD dan tidak memiliki ketergantungan terhadap himpunan entitas lain.
- Entitas lemah adalah suatu entity yang keberadaannya tergantung dari entity yang lain dan itdak memiliki atribute yang berfungsi sebagai key attribute.
- ERD dipepresentasikan menjadi sebuah basis data secara fisik.
- Komponen ERD ditransformasikan menjadi tabel.
- Atribute yang melekat pada tiap hipunan entitas dan relasi akan dinyatakan sebagai field dari tabel yang sesuai.
- Relasi 1-1 : menghubungkan 2 buah himpunan entitas yang direpresentasikan dalam bentuk penambahan/penyertaan atribut relasi yang mewakili kedua entitas.
Diposting oleh
Ardhan eR_eF
di
18.07
0
komentar
Model Data Relational
- Relasi adalah tabel yang terdiri dari beberapa kolom dan beberapa baris.
- Attribute adalah kolom pada suatu relasi.
- Tuple adalah baris pada sebuah relasi atau kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap.
- Domain adalah seluruh kemungkinan nilai yang dapat diberikan ke suatu attribut.
- Degree adalah jumlah attribut dalam suatu relasi.
- Cardinality adalah jumlah tuple dalam suatu relasi.
- Candidate Key adalah atribut yang digunakan untuk membedakan antara satu baris dengan baris yang lain.
- Primary Key adalah Candidate Key yang digunakan untuk mengidentifikasikan tuple yang unik pada suatu relasi.
- Alternate Key adalah Candidate Key yang tidak menjadi Primary Key.
- Foreign Key adalah atribut dlam suatu relasi yang merujuk ke Primary Key relasi lain.
- Suatu batasan-batasan yang diberikan terhadap suatu relasi.
- Ditetapkan ketika schema didefinisikan.
- Dicek ketika relasi-relasi dimodifikasi atau dimanipulasi (penambahan, pengubahan, penghapusan dan pencarian/ menampilkan data).
Diposting oleh
Ardhan eR_eF
di
05.17
0
komentar
Entity - Relationship Diagram (ERD)
ENTITY – SET ENTITAS
§ Merupakan kumpulan dari entity sejenis.
ATRIBUT CONT’D
VALUE SET DARI ATRIBUT
JENIS – JENIS ATRIBUT
1. Atribut Sederhana (Anomic attribute)
RELATIONSHIP
CARDINALITY RATIO
a. Cardinality ratio one to one
DERAJAT RELATIONSHIP
TAHAP PEMBUATAN ENTITY RELATIONSHIP DIAGRAM
1. Mengidentifikasi dan menetapkan himpunan yg terlibat.
Diposting oleh
Ardhan eR_eF
di
05.40
0
komentar
Lingkungan Dasar Basis Data
- Kecepatan dan kemudahan (speed)
- Efisiensi ruang penyimpanan
- Kebersamaan pemakaian
(sharebility)
- Menangani data dalam jumlah
besar
- Meniadakan duplikasi dan
inkonsistensi data
- Keamanan
- Hardware
- Operating system
- Database
- DBMS
- User
- Application
- Stand
alone, DBMS, Basis Data, Aplikasi Basis Data ditempatkan pada komputer
yang sama hanya bisa dipakai oleh satu pemakai.
- Sistem
Terpusat ditempatkan pada komputer yang sama dan dapat dipakai oleh lebih
dari satu pengguna.
- Sistem Client Server digunakan untuk
mengatasi kelemahan pada sistem terpusat.
Berupa:
Diposting oleh
Ardhan eR_eF
di
06.16
0
komentar
