Saturday, February 9, 2019
Friday, February 1, 2019
Thursday, December 20, 2012
SubQuery SQL
SubQuery AQL digunakan untuk menyelesaikan masalah yang nilainya tidak diketahui pada suatu tabel database.
Contoh :
Diketahui : tabel mahasiswa, tabel ambilMK dan tabel MK
Diketahui : tabel mahasiswa, tabel ambilMK dan tabel MK
Permasalahan:
Contoh :
Diketahui : tabel mahasiswa, tabel ambilMK dan tabel MK
Diketahui : tabel mahasiswa, tabel ambilMK dan tabel MK
Mahasiswa
|
nim
|
nama
|
Ambil.MK
|
Nim
|
kodeMK
|
nilai
|
kodeMK
|
A01
|
A02
|
A03
|
Permasalahan:
Ambil nama mahasiswa yang nilainya
paling tinggi dari tabel diatas dengan kode 'A02'
Penyelesaian :
SELECT mahasiswa.namaMhs,
ambilMK.nilai
FROM mahasiswa, ambilMK
WHERE mahasiswa.nim=ambilMK.nim
AND ambilMK.kodeMK='A02'
AND ambilMK.nilai=(select max(nilai)
FROM ambilMK WHERE kodeMK='A02');
Keterangan :
Keterangan :
SELECT mahasiswa.namaMhs,
ambilMK.nilai
FROM mahasiswa, ambilMK
WHERE mahasiswa.nim=ambilMK.nim
AND ambilMK.kodeMK='A02'
AND ambilMK.nilai=
Syntaq diatas merupakan Query,
sedangkan subQuerynya :
(select max(nilai) FROM ambilMK WHERE kodeMK='A02')
(select max(nilai) FROM ambilMK WHERE kodeMK='A02')
Monday, November 26, 2012
dependensi-normalisasi
DEPENDENCY
Dependency secara harfiah jika
diartikan adalah ketergantungan, sedangkan normalisasi adalah menormalkan.
Macam Dependency
- Ketergantungan Fungsional (Functional Dependent)
Suatu bentuk ketergantungan yang
menggambarkan hubungan, batasan, keterkaitan antara atribut-atribut dalam
relasi. Dimana atribut tersebut dapat menentukan atribut lain.
Notasi : A -> B
Dimana artinya : attribute A secara
fungsional menetukan attribute B
Contoh nyata :
NIM -> Nama MHS
: attribute NIM menentukan attribute Nama MHS, dimana setiap
NIM yang sama juga akan menentukan nama yang sama pula, satu NIM satu Nama MHS.
- Ketergantungan Penuh (Full Dependency)
Suatu bentuk ketergantungan yang
menunjukkan suatu ketergantungan penuh dari relasi A dan B dimana :
ü
B bergantung penuh pada A
ü
B bukan depedensi dari subset A
ü
Suatu ketergantungan hanya mengacu
pada satu attribute saja
Contoh :
NIM
|
Nama
|
IPk
|
idRuang
|
5302411051
|
Santi H
|
3.6
|
302
|
5302411052
|
Dino K
|
3.12
|
609
|
5302411053
|
Wafa F
|
3.34
|
110
|
NIM -> idRuang, merupakan
Full Dependency karena idRuang dapat ditentukan hanya dengan menyebutkan NIM
- Ketergatungan Parsial (Partially Dependency)
Suatu bentuk ketergantungan
dimana A memiliki kombinasi
subset-subset dan ketika salah satunya dihilangkan, maka ketergantungan masih
tetap dipertahankan.
NIM
|
Nama
|
IPk
|
idRuang
|
5302411051
|
Santi H
|
3.6
|
302
|
5302411052
|
Dino K
|
3.12
|
609
|
5302411053
|
Wafa F
|
3.34
|
110
|
Contoh :
NIM,nama -> idRuang
dimana jika nama dihilangkan maka
ketergantunga antara dua attribute tertap ada.
· Ketergantungan Transitif (Transitive Dependency)
Suatu bentuk kondisi ketergantungan
dimana A,B,C adalah attribute sebuah
relasi, dengan ketentuan Aà
B dan BàC.
C kemudian dikatakan sebagai
transitif D terhadap A melalui B.
Contoh :
NIP
|
Nama
|
Jabatan
|
Gaji/jt
|
KdCab
|
AlmtCab
|
001
|
Agus
Dwi
|
QC
|
3,5
|
012
|
Semarang
|
002
|
Bambang
B
|
CS
|
1,2
|
123
|
Jogjakarta
|
003
|
Rahmawati
|
SV
|
4,0
|
034
|
Surabaya
|
NIP -> {Nama, Jabatan, Gaji, KdCab, AlmtCab}
kdCab -> AlmtCab
artinya : alamat cabang ditentukan
oleh NIP melalui kdCab
NORMALISASI
Normalisasi merupakan suatu proses
pembentukan struktur basis data sehingga sebagian besar ambiguity dapat
dihilangkan.
Normalisasi digunakan untuk :
- Mengoptimalisasi struktur-struktur tabel
- Meningkatkan kecepatan
- Menghilangkan pemasukan data yang sama
- Lebih efisien dalam penggunaan media penyimpanan
- Mengurangi redudansi
- Menghindari anomaly
- Peningkatan integritas data
Langkah-langkah Normalisasi
- Bentuk tidak normal
- 1NF : Menghilangkan attribute bernilai ganda
- 2 NF : Menghilangkan depedensi parsial
- 3NF : Menghilangkan depedensi transitif
- BCNF : Menghilangkan ketergantungan yang penentunya
bukan kunci kandidat
- 4NF : Mengilangkan lebih dari 1 depedensi yang bernilai
ganda
- 5NF : Mengatasi depedensi ganda
Tuesday, November 13, 2012
Query Language
Query Language
(Bahasa yang meminta perintah
dengan melibatkan data)
Relational Queries
Language (RQL) :
ERD --> Model data Relational --> Query language
Relational Queries Language diawali dengan pembuatan ERD yang kemudian
diubah menjadi model data relational berupa table informasi terbatas kemudian
diterjemahkan ke Query Language.
Bahasa Query Language
- Bahasa Prosedural
Bahasa yang identik dengan
aljabar relational, berupa operasi dasar
seperti select* dan beberapa operasi tambahan.
- Bahasa non Prosedural
Bahasa yang identik dengan kalkulus
relational, yaitu mendeskripsikan informasi tanpa memberi instruksi.
Query Unary
Yaitu query selection yang digunakan
pada relasi binary,
Contoh1 :
Ada beberapa data pada suatu table bernama dosen yang
kemudian akan dipilh data tersebut berdasarkan tempat_lahir dengan ketentuan :
Tempat_lahir=’jakarta’ v tempat_lahir=’bogor’ dari table dosen
Artinya : menampilkan dosen dengan
tempat lahir Jakarta atau bogor.
Syntaq pada SQL : select
* from dosen where tanggal_lahir=’jakarta’
Contoh2 :
Ada beberapa data pada suatu table bernama dosen yang
kemudian akan dipilh data tersebut berdasarkan tempat_lahir dengan ketentuan :
Tempat_lahir=’jakarta’ ^ jenis_kelamin=’pria’ dari table dosen
Artinya : menampilkan dosen dengan
tempat lahir Jakarta dan berjenis kelamin pria.
Syntaq pada SQL : select
* from dosen where tanggal_lahir=’jakarta’ and jenis_kelamin=’pria’
Dalam contoh diatas terdapat tanda “v”, dan ada juga tanda “^” ,
perbedaan kedua tanda tersebut adalah :
^ = berarti mengharuskan
v = bisa dipilih salah satu
Tuesday, October 2, 2012
Model Data Relational
Model data relational adalah kumpulan tabel yang berdimensi dua dengan masing-masing relasi (relations) tersusun atas tuple (baris) dan atribut (kolom) pada suatu basis data.
Relasi adalah tabel yang terdiri dari beberapa kolom dan beberapa baris. Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Struktur data dasar untuk menyimpan informasi. Strukturnya sebagai tabel ( kumpulan tabel-tabel). Setiap relasi memiliki schema yang mendeskripsikan nama relasi dan atribut beserta tipenya.
Contoh : Mahasiswa= (nim:string, nama_mhs:string).
Penjelasan: Mahasiswa adalah nama relasi. Nim dan nama_mhs adalah nama atribut. String adalah tipe dari atribut.
Attribute adalah kolom pada sebuah relasi.
Tuple adalah baris pada sebuah relasi, atau kumpulan elemen-elemen yang saling berkaitan yang menginformasikan tentang suatu entitas secara lengkap.
Domain adalah seluruh kemungkinan nilai yang dapat diberikan kesuatu attribut. Memberi nama domain yang sesuai dengan nilai yang akan dimiliki domain tersebut. Domain menentukan tipe data dari nilai yang akan membentuk domain dan menentukan format dari domain.
Degree adalah jumlah atribut dalam sebuah relasi.
Cardinality adalah jumlah tuple dalam sebuah relasi.
Baris disebut tuple. Kolom disebut attribute. Tabel disebut relation. Domain : kumpulan dari harga atomik yang dapat dimiliki oleh suatu kolom / attribut.
Istilah alternatif
Batasan-Batasan Integritas ( Integrity Constraints) adalah suatu batasan-batasan yang diberikan terhadap suatu relasi. Ditetapkan ketika schema didefinisikan. Dicek ketika relasi-relasi di modifikasi atau dimanipulasi (penambahan, pengubahan, penghapusan dan pencarian/menampilkan data). Relational Integrity Rules Null adalah suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut. Nilai (konstanta) Null digunakan untuk menyatakan / mengisi atribut-atribut yang nilainya memang belum siap/tidak ada.
Entity Integrity adalah tidak ada satu komponen primary key yang bernilai null.
Referential Integrity adalah garis yang menghubungkan antara satu tabel dengan tabel lain.
Contoh : garis yang menghubungkan nama, alamat dan tanggal lahir.
Relation key terdiri dari candidat key, primary key, alternate key dan foreign key:
Cardidate Key adalah atribut yang digunakan untuk membedakan antara satu baris dan 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 sebuah atribut dalam suatu relasi yang merujuk ke primary key relasi lain.
Contoh :
yang bertanda angka 1 (primary key) adalah foreign key.
latihan
relasi :
atribut key :
nim, siswa, alamat yang ada di tabel 1 merupakan candidate key, begitu juga kode, pelajaran, sks pada tabel 2, pada tabel ketiga, dst.
nim pada tabel 1, kode pada tabel 2, nip pada tabel ketiga dan nim pada tabel keempat merupakan primary key.
nim dan kode pada hubungan merupakan foreign key.
ERD:siswa belajar/ diajar guru pada pelajaran tertentu sehingga menhasilkan hasil yakni nilai.
Relasi adalah tabel yang terdiri dari beberapa kolom dan beberapa baris. Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Struktur data dasar untuk menyimpan informasi. Strukturnya sebagai tabel ( kumpulan tabel-tabel). Setiap relasi memiliki schema yang mendeskripsikan nama relasi dan atribut beserta tipenya.
Contoh : Mahasiswa= (nim:string, nama_mhs:string).
Penjelasan: Mahasiswa adalah nama relasi. Nim dan nama_mhs adalah nama atribut. String adalah tipe dari atribut.
Attribute adalah kolom pada sebuah relasi.
Tuple adalah baris pada sebuah relasi, atau kumpulan elemen-elemen yang saling berkaitan yang menginformasikan tentang suatu entitas secara lengkap.
Domain adalah seluruh kemungkinan nilai yang dapat diberikan kesuatu attribut. Memberi nama domain yang sesuai dengan nilai yang akan dimiliki domain tersebut. Domain menentukan tipe data dari nilai yang akan membentuk domain dan menentukan format dari domain.
Degree adalah jumlah atribut dalam sebuah relasi.
Cardinality adalah jumlah tuple dalam sebuah relasi.
Baris disebut tuple. Kolom disebut attribute. Tabel disebut relation. Domain : kumpulan dari harga atomik yang dapat dimiliki oleh suatu kolom / attribut.
Istilah alternatif
Batasan-Batasan Integritas ( Integrity Constraints) adalah suatu batasan-batasan yang diberikan terhadap suatu relasi. Ditetapkan ketika schema didefinisikan. Dicek ketika relasi-relasi di modifikasi atau dimanipulasi (penambahan, pengubahan, penghapusan dan pencarian/menampilkan data). Relational Integrity Rules Null adalah suatu atribut yang tidak diketahui dan tidak cocok untuk baris (tuple) tersebut. Nilai (konstanta) Null digunakan untuk menyatakan / mengisi atribut-atribut yang nilainya memang belum siap/tidak ada.
Entity Integrity adalah tidak ada satu komponen primary key yang bernilai null.
Referential Integrity adalah garis yang menghubungkan antara satu tabel dengan tabel lain.
Contoh : garis yang menghubungkan nama, alamat dan tanggal lahir.
Relation key terdiri dari candidat key, primary key, alternate key dan foreign key:
Cardidate Key adalah atribut yang digunakan untuk membedakan antara satu baris dan 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 sebuah atribut dalam suatu relasi yang merujuk ke primary key relasi lain.
Contoh :
yang bertanda angka 1 (primary key) adalah foreign key.
latihan
atribut key :
nim, siswa, alamat yang ada di tabel 1 merupakan candidate key, begitu juga kode, pelajaran, sks pada tabel 2, pada tabel ketiga, dst.
nim pada tabel 1, kode pada tabel 2, nip pada tabel ketiga dan nim pada tabel keempat merupakan primary key.
nim dan kode pada hubungan merupakan foreign key.
ERD:siswa belajar/ diajar guru pada pelajaran tertentu sehingga menhasilkan hasil yakni nilai.
Saturday, September 22, 2012
Diagram E-R
Salah satu cara menyajikan data
untuk mempermudah modifikasi adalah dengan pemodelan data.
Entity relationship model digunakan untuk menggambarkan
bentuk entity, attribute dan relationship antar entitas, yakni bisa
menjembatani antar objek nyata dan basis data. Sedangkan entity relationship
diagram merupakan diagram yang menggambarkan hubungan antara entitas dan relasi
yang mengekspresikan basis data dengan sederhana dan jelas yang penggambaran
dan penyimbolannya berupa persegi dan elips serta garis sebagai penghubung
antara yang satu dengan yang lain.
Entitas
adalah objek yang ada dan dapat dibedakan denngan objek lain dalam dunia nyata
yang mempunyai attribute dan yang membedakan antar objek yang satu dengan objek
yang lain.
Contoh : mahasiswa mempunyai entitas (kampus) dan attribute
(belajar), yakni mahasiswa belajar di kampus.
Entity set adalah kumpulan entitas yang mempunyai tipe yang
sama.
Contoh
: kumpulan hewan, dll.
Attribute adalah suatu representasi dari beberapa attribute
yang mempunyai property diskriptif yang dimiliki oleh semua anggota dari semua
set entitas.
Symbol : nama_attribut
Setiap attribute harus mempunyai kunci atau key yang harus
tersimpan unik (satu).
Contoh : di antara (nama_nim_alamat) yang mempunyai primary
key adalah nim, karena setiap mahasiswa mempunyai nim yang berbeda, tidak
seperti nama atau alamat mahasiswa yang mungkin akan mempunyai nama atau alamat
yang sama.
Set nilai (value set), yaitu nilai yang diisi ke dalam
masing-masing attribute yang mencakup tipe data, panjang.
Contoh : nim_tipedata char, panjang 10 digit.
Begitu juga pada tipe data tanggal atau waktu menggunakan
date atau time.
Jenis-jenis attribute
:
Atomic attribute, yakni
atribut yang mempunyai komponen tunggal dan tidak dapat diuraikan lagi.
Contoh : attribute nim dalam mahasiswa, tidak seperti nama
pada mahasiswa dapat diuraikan menjadi nama lengkap, nama pendek, dsb.
Attribute komposit, yaitu
attribute yang terdiri dari beberapa attribute.
Contoh: mahasiswa mempunyai attribute alamat, nim, dll.
Single valued
attribute, adalah attribute yang hanya mempunyai satu nilai pada entitas
tertentu.
Contoh : attribute jenis kelamin pada mahasiswa, yakni
mahasiswa hanya mempunyai satu jenis kelamin atau hanya satu jenis kelamin yang
dimiliki mahasiswa.
Multi valued
attribute, attribute yang terdiri dari sekumpulan nilai untuk suatu entitas
tertentu.
Contoh : attribute hobi pada entitas mahasiswa, yakni
mahasiswa bisa memilih banyak hobi dengan mencentang pilihan yang disediakan.
Derived attribute, attribute
yang dihasilkan dari attribute lain yang tidak berasal dari satu entitas.
Contoh : attribute umur pada mahasiswa, mahasiswa hanya
memasukkan tanggala lahir lengkap kemudian secara otomatis akan diketahui umur.
Diantara entitas dan attribute terdapat relationship, yaitu
hubungan yang terjadi antara satu atau lebih entry.
Symbol
dari relationship :
Contoh : entitas mahasiswa yang terdiri dari
nim=”5302411052” nama=”minhatulmaula” berelasi dengan makul kode=”12345”
nama_kuliah=”basisdata”. Relasi di antara keduanya=”mahasiswa dengan nim dan
nama tersebut sedang mengambil makul dengan kode makul tersebut”.
Kardinalitas ratio, merupakan
penjelasan dari jumlah hubungan antara entitas yang satu dengan yang lain
(rasio).
Jenis –jenis
kardinalitas :
one to one adalah
satu entitas pada entitas A yang berhubungan dengan satu entitas pada B, atau
sebaliknya satu entitas B berhubungan dengan satu entitas A.
Contoh : satu manager mengatur satu perusahaan, atau satu
perusahaan diatur satu manager.
dimana: manager A mengatur department x, manager B mengatur department y dan manager C mengatur department z.
One to many :
satu entitas di A yang dihubungkan dengan banyak banyak entitas di B.
Contoh : banyak karyawan yang bekerja satu pabrik.
Relasi:
Relasi:
dengan : pekerja A bekerja pada perusahaan x dimana pegawai B juga bekerja pada perusahaan tersebut, pekerja C bekerja pada perusahaan z dan pegawai D dan E mempunyai tempat kerja yang sama di perusahaan y.
Many to many : entitas
A yang dihubungkan dengan banyak entitas B, begitu juga sebaliknya.
Contoh : satu karyawan yang bekerja di beberapa projek, satu
projek bekerja di dalam beberapa karyawan.
Tahap pembuatan diagram
E-R :
- Mengidentifikasi dan menetapkan semua himpunan entity yang akan terlibat
- Menentukan atribut –atribut dari entitas
- Menentukan relationship
- Menentukan atribut dari relationship
- Menentukan ratio cardinal
- Menentukan participant constraint
Contoh :
Peminjaman buku perpustakaan (spesifikasi database)
Attribute : (judul buku, jumlah buku, kode buku), (nim,
nama, alamat)
Entity : buku, customer
Entity
|
Attribute
|
Buku
Customer (mahasiswa)
|
Judul buku, jumlah buku, kode buku
Nama, nim, alamat
|
Subscribe to:
Posts (Atom)