• Tidak ada hasil yang ditemukan

Soal-Soal Latihan

Dalam dokumen KONSEP DAN PERANCANGAN BASIS DATA (Halaman 27-0)

BAB 4 PERANCANGAN BASIS DATA

4.4 Soal-Soal Latihan

Misalnya diketahui relasi “Karyawan” sebagai berikut :

Nip Nama tgl_lahir alamat tgl_sk no_sk gol gaji tunj status 1230 Rusi 1/2/70 Jl.Edelwis 1/3/84 3/sk/84 2A 50 25 Aktif 1230 Rusi 1/2/70 Jl.Edelwis 5/6/87 6/sk/87 2B 65 40 Aktif 1231 Resa 8/1/68 Jl.Elang 15/7/75 7/sk/75 3A 80 35 Aktif 1231 Resa 8/1/68 Jl.Elang 7/2/78 2/sk/78 3B 100 65 Aktif 1231 Resa 8/1/68 Jl.Elang 21/12/81 12/sk/81 3C 120 75 Aktif 1231 Resa 8/1/68 Jl.Elang 1/2/82 1/sk/82 3C 120 75 Keluar 1232 Pita 4/3/72 Jl.Dahlia 5/4/89 4/sk/89 2A 50 35 Aktif

Kapan tabel/ relasi tersebut dikatakan dalam bentuk 1NF, 2NF dan 3NF ?

Latihan II :

Misalnya diketahui relasi “Pemesanan Tiket Kereta” sebagai berikut :

no nama almt Kd_krta Nm_krta tujuan tarif tgl_psn jam jml Jml_byr 1 Resa Jl.Edelwis A Parahiyangan Bdg 50 1/9/03 08:00 2 100 1 Resa Jl.Edelwis B Sawunggalih Pwkt 100 2/9/03 10:00 2 200 2 Yoga Jl.Xurg C SenjaExpres Yogya 150 3/9/03 12:00 2 300 2 Yoga Jl.Xurg D ArgoBromo Sby 200 4/9/03 14:00 2 400

Kapan tabel/ relasi tersebut dikatakan dalam bentuk 1NF, 2NF dan 3NF ?

Latihan III :

Misalnya diketahui relasi “Pembelian Barang” sebagai berikut :

No

Fac kode

supp nama

supp kode

brg nama

barang tgl jatuh

tempo qty harga jml total 799 S02 Swa R02 Plooter 2/2/04 9/3/04 10 150 1500 1500 998 G01 Ara A01 Hd Segeat 7/2/04 9/3/04 10 1350 13500 33500 998 G01 Ara A02 Hd Quntm 7/2/04 9/3/04 10 2000 20000 33500

Kapan tabel/ relasi tersebut dikatakan dalam bentuk 1NF, 2NF dan 3NF ?

5 IMPLEMENTASI BASIS DATA

5.1 Definisi

Implementasi basis data merupkan upaya untuk membangun basis data fisik yang ditempatkan dalam memori sekunder (disk) dengan bantuan DBMS, tahap implementasi basis data diawali dengan melakukan transformasi dari model data yang telah selesai dibuat skema/ struktur basis data sesuai dengan DBMS yang dipilih.

Secara umum sebuah Diagram ER akan direpresentasikan menjadi sebuah basis data fisik, sedangkan komponennya berupa himpunan entitas dan himpunan relasi akan ditransformasikan menjadi table-tabel (file-file data) dan atribut akan dinyatakan sebagai field-field dari tabel-tabel yang sesuai.

Faktor-faktor yang mempengaruhi performansi sistem basis data :

• Kualitas dan bentuk perancangan basis data yaitu struktur basis data dan cara akses (algoritma aplikasi)

• Kualitas mesin

• Sistem Operasi

• DBMS (Data Base Management System)

5.2 Transformasi Model Data ke Basis Data Fisik

Aturan umum dalam pemetaan model data yang digambarkan dengan Diagram ER menjadi Basis Data Fisik adalah sebagai berikut :

1. Setiap himpunan entitas akan diimplementasikan sebagai sebuah tabel (file data).

Mahasiswa

nim nama_mhs

alamat_mhs tgl_lahir

Tabel Mahasiswa :

nim nama_mhs alamat_mhs tgl_lahir

2. Relasi dengan derajat relasi 1 – 1 (satu ke satu)

Dosen 1 Mengepalai

Jurusan 1

kode dosen nama alamat kode dosen kode jurusan kode jurusan nama_jurusan

Direperesentasikan dalam bentuk penambahan/ penyertaan atribut-atribut relasi ke table yang mewakili salah satu dari kedua himpunan entitas.

Tabel Dosen : Tabel Jurusan :

kode_dosen Nama Alamat kode_jurusan nama_jurusan kode_dosen

3. Relasi dengan derajat relasi 1 – N (satu ke banyak)

Dosen 1 Mengajar

Kuliah N

nama alamat kode kuliah kode kuliah nama_kuliah

waktu tempat sks semester

kode dosen

kode dosen

Juga direpresentasikan dalam bentuk pemberian/ pencantuman atribut key dari himpunan entitas pertama (yang berderajat 1) ke tabel yang mewakili himpunan entitas ke dua (yang berderajat N).

Tabel Dosen :

kode_dosen nama alamat

Tabel Kuliah :

kode_kuliah nama_kuliah sks semester kode_dosen tempat waktu

Dari hasil transformasi diatas jika kemudian ternyata bahwa atribut waktu pada table kuliah merupakan atribut bernilai banyak, maka table tersebut tidak memenuhi bentuk normal tahap pertama (1 NF). Maka table ini dapat didekomposisikan lagi menjadi sebagai berikut.

Tabel Kuliah :

Kode_kuliah nama_kuliah sks semester Kode_dosen

Tabel Jadwal :

Kode_kuliah tempat waktu

4. Relasi dengan derajat relasi N – N (banyak ke banyak)

Mahasiswa N Mempelajari

Kuliah N

nim nama_mhs nim kode kuliah kode kuliah nama_kuliah

indeks_nilai sks semester

alamat_mhs tgl_lahir

Direpresentasikan dalam bentuk tabel (file data) khusus yang memiliki field (foreign key) yang berasal dari key-key dari himpunan entitas yang menghubungkannya.

Tabel Mahasiswa :

nim Nama_mhs alamat_mhs tgl_lahir

Tabel Memepelajari/ Nilai (Tabel Khusus) :

nim kode_kuliah indeks_nilai

Tabel Kuliah :

kode_kuliah nama_kuliah sks Semester

5.3 Model Data Lanjutan

Pada bab sebelumnya sudah dikenalkan komponen-komponen model data dasar dalam kegiatan perancangan serta langkah-langkah teknis dalam mentransformasikan fakta dilapangan ke sebuah model data, berikut dibahas sejumlah varian komponen-komponen perancangan basis data serta proses-proses lanjutannya.

1. Himpunan Entitas Lemah (Weak Entity Sets)

Himpunan entitas lemah berisi entitas-entitas yang kemunculannya tergantung pada eksistensinya dalam sebuah relasi terhadap entitas lain (Strong Entity = sebaliknya dari entitas lemah), himpunan entitas lemah biasanya tidak memiliki key yang dapat menjamin keunikan entitas didalamnya.

Mahasiswa

Data orang tua dan hobbi dapat digolongkan sebagai entitas lemah (dalam ER-D dinyatakan dengan kotak garis ganda), karena kemunculannya sangat tergantung pada adanya relasi dengan entitas yang ada pada himpunan entitas mahasiswa.

Atribut nama_ortu dan hobbi diberi garis bawah putus-putus untuk menunjukan atribut key yang tidak meyakinkan.

Entitas lemah dapat ditransformasikan menjadi sebuah table dengan menyertakan key yang ada pada entitas kuat, sebagai berikut :

Tabel Mahasiswa :

nim nama_mhs alamat_mhs tgl_lahir

Tabel Orang Tua : Tabel Hobbi :

nim nama_ortu alamat_ortu nim hobbi

2. Spesialisasi dan Generalisasi

Himpunan entitas dimungkinkan adanya pengelompokan entitas-entitas yang menjadi anggotanya, dan terkadang ditemui atribut yang tidak sepenuhnya sama.

Jika dimulai dari sebuah himpunan entitas lalu kemudian melakukan pengelompokan yang melahirkan entitas baru (top-down) dan adanya pembedaan atribut menyebabkan entitas-entitas tersebut tidak mungkin disatukan dalam sebuah himpunan entitas saja, maka ini adalah Spesialisasi. Adanya spesialisasi dan generalisasi diwujudkan dalam notasi relasi yang khusus, yang disebut ‘ISA’ (yang berasal dari ‘Is A’) sebagai berikut : top-down

Dosen kode_dos nama_dos

ISA

Dosen Tetap Dosen Tidak Tetap nik

pangkat tgl_masuk

nama_kantor

alamat_kantor alamat_dos

Sub Entitas hasil Spesialisasi diimplementasikan sebagai berikut : Tabel Dosen :

kode_dos nama_dos alamat_dos

Tabel Dosen Tetap : Tabel Dosen Tidak Tetap :

kode_dos nik pangkat tgl_masuk kode_dos nama_kantor alamat_kantor

Jika yang dilakukan adalah sebaliknya, sebuah himpunan entitas yang sebenarnya dibagi menjadi dalam kelompok tertentu dan pengelompokan ini tidak dipertegas dengan adanya perbedaan atribut, malah kelompok-kelompok tersebut disatukan dalam sebuah himpunan dengan atribut yang sama. Jadi pendekatannya bersifat bottom-up mula-mula terpisah kemudian menjadi satu, proses yang demikian disebut Generalisasi. Sebagai berikut :

bottom-up

Mahasiswa

nim nama_mhs

ISA

Mahasiswa D3 Mahasiswa S1 alamat_mhs

Spesialisasi dan generalisasi merupakan dua proses yang berlawanan, yang ditekankan dalam spesialisasi adalah perbedaan antar kelompok entitas, sedangkan dalam generalisasi yang ditekankan adalah persamaannya. Implementasi pada generalisasi berlawanan dengan spesialisasi yaitu akan menyusutkan jumlah himpunan entitas menjadi hanya sebuah tabel, pada table tersebut ditambahkan sebuah atribut yang nantinya akan diisi dengan kode khusus yang menyatakan perbedaan tersebut, sebagai berikut :

Tabel Mahasiswa :

nim nama_mhs alamat_mhs prog_studi

prog_studi = atribut tambahan untuk mengakomodasi perbedaan kelompok entitas.

Adanya spesialisasi dalam perancangan basis data, umumnya akan terlihat secara eksplisit pada akhir Diagram-ER, sedangkan proses generalisasi seringkali ditiadakan. Peniadaan generalisasi ini direperesentasikan dengan adanya atribut baru pada himpunan entitas akhir.

3. Agregasi

Menggambar sebuah himpunan relasi yang secara langsung menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi dalam Diagram-ER/

sebuah relasi terbentuk tidak hanya dari himpunan entitas tapi juga mengandung unsur dari relasi lain. Sebenarnya kondisi ini tidak tepat bahkan ada yang dengan

tegas tidak memperbolehkan, sebagai jalan tengah digunakan notasi khusus untuk menunjukan adanya agregasi semacam itu. Berikut contoh dari agregasi :

Mahasiswa Mempelajari Matakuliah

N N

Mengikuti

Praktikum nim

kode_pra

kode_kul

nilai

kode_pra nama_pra jumlah_pra N

N

Pengimplementasian harus dilakukan setelah relasi prasyarat tersebut terimplementasikan, selanjutnya tinggal meninjau derajat relasi dari agregasinya.

Relasi mengikuti merupakan bentuk agregasi relasi mempelajari dan entitas praktikum. Karena semua derajat relasi yang ada pada Diagram-ER diatas adalah N-N, maka baik relasi mempelajari maupun mengikuti masing-masing direpresentasikan dalam table khusus/terpisah, sebagai berikut :

Tabel Mempelajari : Tabel Praktikum :

nim kode_kul indeks_nilai kode_pra nama_pra jumlah_pra

Tabel Mengikuti:

nim kode_kul kode_pra nilai

5.4 Pengkodean Internal

Cara yang digunakan untuk menyatakan suatu data (atribut) dalam bentuk lain adalah untuk efisiensi ruang penyimpanan disebut dengan pengkodean (data coding). Dari pemakaiannya bias dibedakan adanya pengkodean :

• Pengkodean eksternal (user define coding) : mewakili pengkodean yang telah digunakan secara terbuka dan dikenal oleh orang awam (ada pada fakta/ dunia nyata), contohnya : npm, kode_mtkul.

• Pengkodean internal (system coding) : kondisi sebaliknya dari pengkodean eksternal, contohnya : kode_dosen sebagai key alternatif. Pengkodean internal tidak hanya diterapkan pada pembuatan key alternatif, tapi juga dapat diterapkan pada atribut data lain (non key) yang memang kita kelola.

Ada tiga bentuk pengkodean yang dapat dipilih : 1. Sekuensial

Mengasosiasikan data dengan kode terurut, misalnya : (Sempurna, Baik, Cukup, Kurang, Buruk) dikodekan dengan : “A, B, C, D dan E“.

2. Mnemonic

Membentuk suatu singkatan dari data yang ingin dikodekan, misalnya : jenis kelamin (Laki-Laki dan Perempuan) dikodekan dengan “L dan P “.

3. Blok

Pengkodean dinyatakan dalam format tertentu, misalnya No.Induk Mahasiswa dengan format XXYYYY

XX = dua digit terakhir angka tahun masuk YYYY = nomor urut mahasiswa

Format ini harus dibentuk dengan pemilihan domain atribut yang lebih luas, tetapi harus dipertimbangkan juga dari sisi efisiensi ruang penyimpanan.

5.5 DBMS dan Struktur Tabel

Pembuatan berbagai tabel basis data adalah sebagai pekerjaan utama dalam tahap implementasi juga penetuan struktur dari tabel-tabel tersebut. Penentuan pilihan tipe data dan featur-featur tambahan untuk struktur table sangat bergantung pada DBMS yang dipilih. Namun dalam penentuan struktur table khususnya penetapan tipe data dan featur tambahan untuk setiap field akan sering dihadapkan pada pilihan-pilihan seperti :

1. Data Angka

a. Numerik : nilai angka dari tipe data ini menunjukan suatu jumlah misalnya : field sks, field semester, dll. Data numerik berupa :

• Bilangan bulat (integer) terdiri dari Byte (1 byte), Small Integer (2 byte) dan Long Integer (4 byte).

• Bilangan Nyata (real) terdiri dari Single (4 byte) bisa menampung hingga 7 digit pecahan dan Double (8 byte) hingga 15 digit pecahan.

Dalam penetuan tipe data numerik ukuran data disesuaikan dengan kebutuhan data masukan.

b. Alfanumerik : nilai angka dari tipe data ini tidak menunjukan suatu jumlah misalnya : field npm berisi data angka tapi tidak menunjukan suatu jumlah (bertipe teks).

2. Data Teks (Character)

Data teks ini dapat berupa abjad/ huruf, angka, karakter khusus atau gabungan dari ketiganya. Tipe ini tidak dapat melakukan operasi matematika.berupa :

a. Ukuran tetap (fixed character) : data teks yang ukurannya pasti dan pendek, misalnya untuk field npm ukuran datanya selalu tetap.

b. Ukuran dinamis (variable character) : data teks yang ukuran panjang pendeknya sangat bervariasi, misalnya untuk field nama_mhs dan alamat.

3. Data Uang

Jika DBMS yang digunakan menyediakan tipe data khusus untuk menyimpan data uang, misalnya bertipe money atau currency (8 byte). Tipe data ini cocok untuk diterapkan dan akan sangat membantu terutama dalam mengatur tampilan datanya, yang dinyatakan dengan pemisahan ribuan/jutaan/milyaran dan pemakaian tanda mata uang.

4. Date/Tanggal

Berupa gabungan angka dengan format tanggal tertentu (8 byte). Formatnya terdapat dua pilihan, diantaranya:

day/month/year atau Hari/Bulan/Tahun month/day/year atau Bulan/Hari/Tahun 5. Feature tambahan pada DBMS

Sejumlah DBMS menyediakan feature tambahan seperti : mandatory (harus diisi atau boleh kosong), default, variant (dalam VB) bila data yang akan dimasukan

belum tahu tipenya maka secara otomatis mendeteksi, variant ada dua jenis yaitu untuk number (16 byte) dan character (22 byte).

Menetukan tipe data bagi setiap field, pertimbangan pertama DBMS yang dipilih, kecukupan domain, efisiensi ruang penyimpanan, kecepatan pengolahan data dan harus dapat menjamin bahwa tipe data yang dipilih pada setiap field akan dapat mengakomodasi semua nilai yang akan diisikan ke dalam field tersebut.

Penetuan struktur dari tabel-tabel basis data dapat disajikan sebagai berikut : Misalnya :

Nama Tabel : Mahasiswa Primary Key : npm

No Nama Field Tipe Ukuran Kunci Keterangan 1 npm C 8 * nomor pokok mahasiswa

2 nama_mhs C 30 nama setiap mahasiswa 3 alamat_mhs C 50 alamat setiap mahasiswa 4 tgl_lahir D 8 tanggal lahir setiap mahasiswa 5 photo G - photo mahasiswa

Nama Tabel : Matakuliah Primary Key : kd_mtkul

No Nama Field Tipe Ukuran Kunci Keterangan 1 kd_mtkul C 5 * kode matakuliah

2 nama_mtkul C 30 nama matakuliah

3 sks N 1 jumlah bobot satuan kredit semester 4 semester N 1 semester diselenggarakan perkuliahan

Nama Tabel : Nilai

Foreign Key : npm + kd_mtkul

No Nama Field Tipe Ukuran Kunci Keterangan 1 npm C 8 ** nomor pokok mahasiswa

2 kd_mtkul C 5 ** kode matakuliah

3 Indeks_nilai C 1 indeks nilai matakuliah mahasiswa

Keterangan : C : Character N : Numeric D : Date

G : Graphic (untuk menyimpan data berupa gambar atau grafik /feature DBMS)

6 ALJABAR RELASIONAL

6.1 Definisi

Basis data dipahami oleh pengguna sebagai kumpulan tabel-tabel yang saling ber relasi, konsep untuk akses pada basis data model relasi dapat diterapkan berdasarkan matematika aljabar relasional. Operasi pada aljabar relasional operator-operatornya antara lain adalah sebagai berikut :

• Selection (γ = sigma)

• Projection (π = phi)

• Joint (× = cross)

• Union (∪ = gabungan)

• Intersection (∩ = irisan)

• Set different (− = minus)

• Dan lain-lain

6.2 Operator Aljabar Relasional

a. Selection (γ = sigma) adalah memilih tupel (baris) dalam relasi yang memenuhi predikat yang diberikan.

Contoh : Relasi Nasabah

nama alamat no_rek Respati Jl. RE Marthadinata 111.111

Yoga Jl. Merdeka 222.222

Rusi Jl. Pataruman 444.444

Swaraspati Jl. Tentara Pelajar 555.555

Misal : γnama = “Yoga” (Nasabah)

Hasil : Yoga Jl.Merdeka 111.111

b. Projection (π = phi) adalah operasi semacam selection tetapi mengambil atau memilih beberapa atribut (kolom) dalam relasi.

Misal : πno_rek (Nasabah) Hasil : no_rek

111.111 222.222 444.444 555.555

Misal : πnama,no_rek (Nasabah)

c. Joint (× = cross) adalah tupel t adalah hasil operasi joint antara r dan s jika t memenuhi beberapa tupel di r dalam skema r dan beberapa tupel dalam skema s.

Contoh:

Relasi Dosen (s) Relasi Ambil_Kuliah (r)

nama_dosen kode_mtkul nama_mhs kode_mtkul indeks_nilai Yogaswara TI-3000 Bati TI-5000 B

Respati TI-4000 Totti TI-7000 A

Rusi TI-5000 Nesta TI-3000 C

Pitaloka TI-6000 Kana TI-4000 A

Swaraspati TI-7000 Maldini TI-7000 D

Misal : Dosen × Ambil_Kuliah Hasil : (t)

nama_dosen nama_mhs kode_mtkul indeks_nilai

Rusi Bati TI-5000 B

Swaraspati Totti TI-7000 A Yogaswara Nesta TI-3000 C

Respati Kana TI-4000 A

Swaraspati Maldini TI-7000 D

Dalam query terhadap basis data operator-operator aljabar relasional dapat diekspresikan dengan gabungan, misalnya :

πnama_mhs(γnama_dosen = “Swaraspati”(Dosen × Ambil_Kuliah))

d. Union (∪ = gabungan) adalah menghasilkan semua tupel yang berada di kedua relasi. Contoh :

Relasi Mtkul_diinginkan Relasi Mtkul_tersedia

kode_mtkul nama_mhs nama_mhs kode_mtkul

TI-3000 Bati Bati TI-3000

TI-4000 Bati Totti TI-5000

TI-5000 Totti Nesta TI-4000 TI-3000 Totti Nesta TI-6000 TI-4000 Nesta

Misal : Mtkul_diinginkan ∪ Mtkul_tersedia Hasil :

e. Intersection (∩ = irisan) adalah menghasilkan relasi dengan tupel-tupel yang berada pada kedua relasi.

Misal : Mtkul_diinginkan ∪ Mtkul_tersedia Hasil :

nama_mhs kode_mtkul

Bati TI-3000 Totti TI-5000 Nesta TI-4000

f. Set different (− = minus) adalah menghasilkan relasi dengan tupel-tupel yang berada pada relasi kesatu, tetapi tidak ada pada relasi yang kedua.

Misal : Mtkul_diinginkan − Mtkul_tersedia Hasil :

nama_mhs kode_mtkul

Bati TI-4000 Totti TI-3000

Misal : Mtkul_ tersedia − Mtkul_ diinginkan Hasil :

nama_mhs kode_mtkul

Nesta TI-6000

7 STRUCTURED QUERY LANGUAGE (SQL)

7.1 Definisi

SQL adalah sebuah bahasa yang dijadikan bahasa standar untuk bahasa basis data.

Sebagai sebuah bahasa standar, sejalan dengan perkembangan teknologi basis data dan teknologi komputer pada umumnya, SQL sendiri mengalami beberapa perubahan (penyempurnaan). SQL mula-mula dibuat pada tahun 1970 dengan “Sequel”.

Standarisasi yang pertama dibuat pada tahun 1986 oleh ANSI (American National Standards Institute) dan ISO (International Standards Organization), yang disebut sebagai SQL-86. SQL-86 ini diperbaharui pada tahun 1986 menjadi SQL-89. Standar terakhir yang dibuat dan digunakan hingga saat ini adalah SQL-92 yang dikeluarkan pada tahun 1992. Bahasa basis data terdiri dari atas :

• DDL (Data Definition Language)

• DML (Data Manipulation Language)

7.2 Struktur Dasar

Sebuah ekspresi SQL dasar terdiri dari atas 3 klausa :

• Select : Bersesuaian dengan operasi proyeksi pada aljabar relasi/ memilih atribut (field) yang diinginkan.

• From : Relasi yang dipilih atau terkena operasi proyeksi/ table atau gabungan table.

• Where : Bersesuaian dengan pilihan predikat pada aljabar relasi/ yang sifatnya opsional/ sebuah keadaan.

Sintaks dari ekspresi SQL dasar : Select F1,F2…Fn

Form T1,T2…Tn Where P

Keterangan : A : daftar atribut (field) T : daftar relasi (tabel) P : merupakan predikat query Contoh :

Tabel nasabah Tabel simpanan

no_rek nama alamat cabang no_rek jumlah 10924 Angie Jl. Mawar CBCihideung 10606 700.000 10606 Ari Jl. Dahlia CBIndihiang 12476 1.500.000 12476 Armand Jl.Ros CBCilembang 10924 2.000.000 10678 Alanis Jl.Melati CBTawang 10678 500.000 18987 Aras Jl.Awan CBEmpang 10924 700.000

CBMerdeka 12476 1.000.000

Klausa Select dan Form Misal : Select nama

From nasabah

Hasil : nama

Angie

Ari

Armand

Alanis

Aras

Misal : Select nama, no_rek

From simpanan

Hasil : Menampilkan seluruh isi atribut nama dan no_rek dari tabel simpanan

Misal : Select no_rek as Rekening

From simpanan

Hasil : klausa as untuk mengganti tampilan header no_rek menjadi Rekening tanpa menggangu prosesnya.

Misal : Select * From nasabah

Hasil : notasi * menampilkan semua atribut yang ada pada tabel nasabah

Klausa Where

Klausa ini boleh tidak digunakan, klausa untuk predikat ini dapat menerapkan operator relasi (<, >, <=, >=, =, <>) dan operator logika (and, or dan not). Untuk nilai predikat yang bertipe string harus diapit dengan tanda kutip tunggal (‘ ’).

Misal : Select nama Hasil : Angie

From nasabah

Where no_rek = ‘10924’

Misal : Select * Misal : Select no_rek,cabang

From nasabah From simpanan

Where no_rek = ‘10924’ Where jumlah <= 700.000 Hasil : 10924 Angie Jl.Mawar Hasil : 10606 CBCihideung

10678 CBTawang

10924 CBEmpang

Misal : Select no_rek

From simpanan

Where jumlah between 450.000 and 800.000

Hasil : Kalusa between kriteria yang berbentuk range nilai tertentu.

10606

10678

10924

Misal : Jika dalam query tabel yang dilibatkan lebih dari satu tabel maka table-tabel tersebut harus memiliki relasi.

Select nasabah.nama, nasabah.alamat, simpanan.cabang From nasabah, simpanan

Where nasabah.no_rek = simpanan.no_rek

Hasil : Menampilkan nama, alamat dan cabang dari kedua table dimana no_rek nasabah pada table nasabah sama dengan no_rek pada table simpanan.

Latihan :

1. Buat contoh lain untuk penggunaan klausa select, from dan where seperti pada contoh diatas.

2. Pada kedua tabel nasabah dan simpanan, cari isi record data no_rek 10924 dengan jumlah simpanannya lebih dari 800.000

3. Pada kedua tabel nasabah dan simpanan, cari semua nasabah dan cabangnya yang mempunyai jumlah simpanan sebesar 700.000

4. Pada kedua tabel nasabah dan simpanan, cari semua nama, alamat dan cabangnya yang mempunyai simpanan dibawah 1000.000

5. Pada kedua tabel nasabah dan simpanan, cari no_rek, nama dan alamat nasabah yang memiliki simpanan dicabang CBIndihiang dan CBMerdeka.

6. Pada kedua tabel nasabah dan simpanan, cari semua nasabah yang memiliki simpanan di cabang CBTawang.

Karakter Khusus

Khusus untuk atribut yang bertipe string, dapat dilakukan pencarian dengan pola tertentu, memanfaatkan karakter :

• % (percent) : berarti cocok untuk semua substring.

• _ (underscore) : berarti cocok untuk semua karakter pada posisi yang sesuai.

• Ditambah klausa like Misal : Select *

From nasabah Where nama like ‘A%’

Hasil : menampilkan record-record nasabah yang namanya diawali dengan huruf A

Misal : Select * From nasabah

Where nama like ‘_a%’

Hasil : menampilkan nasabah yang huruf/karakter kedua dan namanya adalah a.

Pengurutan Hasil Query

Dengan SQL hasil ditampilkan dengan urutan sesuai dengan struktur penyimpanan, jika ingin menampilkan dengan urutan tertentu dengan menambahkan klausa order by.

Misal : Select * From nasabah Order by nama

Hasil : menampilkan nama nasabah dari abjad terkecil hingga terbesar (ascending).

Misal : Select * From nasabah Order by tgl_lahir desc

Hasil : menampilkan nasabah termuda hingga tertua (descending).

7.3 Anomali Basis Data

SQL juga dilengkapi dengan sejumlah perintah untuk melakukan manipulasi data seperti penambahan record baru, pengubahan nilai atribut dan penghapusan record.

Ada tiga Anomali :

• Insert Anomali

• Delete Anomali

• Update Anomali a. Insert Anomali

Sintaks SQL : Insert Into NamaTabel(field1, field2,…) values (ekspresi1, ekspresi2,…)

Misal : insert into nasabah (no_rek, nama, alamat) values (‘12085’,’Roma’,’Jl.Edelwis’)

Hasil : Fields no_rek, nama, alamat pada table nasabah akan di isi dengan nilai 12085, Roma, Jl.Edelwis.

b. Delete Anomali

Sintaks SQL : delete from NamaTabel where Kondisi

Misal : delete from nasabah where no_rek = ‘12085’

Hasil : Record dengan no_rek 12085 akan dihapus Misal : delete from nasabah

Hasil : Akan menghapus semua record dari table nasabah c. Update Anomali

Sintaks SQL : update NamaTabel set Ekspresi

where Kondisi Misal : update nasabah

set alamat = ‘Jl.Edelwis’

where no_rek = ‘10606’

Hasil : Record alamat untuk no_rek 10606 akan di update dengan Jl.Edelwis Misal : update simpanan

set jumlah = jumlah + 500.000 where no_rek = ‘12476’

Hasil : Field jumlah pada table simpanan akan ditambah 500.000 untuk no_rek

= 12476

Misal : update nasabah

set nama = ‘ Prof. ’ + nama where no_rek = ‘12476’

Hasil : Nama dengan no_rek 12476 akan ditambahakan gelar Prof.

Misal : update simpanan set jumlah = null

Hasil : Pengosongan untuk semua field jumlah. (Jika tanpa klausa where maka berlaku untuk semua record).

7.4 Pendefinisian Objek Basis Data

Data Definitif Language (DDL) berkaitan dengan perintah - perintah untuk pendefinisian objek-objek basis data.

Misalnya pembuatan tabel, sintaks SQL : create table t (A1 D1, A2 D2,…)

t = nama table yang akan dibuat

A = nama-nama atribut yang akan terdapat dalam table t.

D = domain nilai masing-masing atribut yang ditentukan berdasarkan tipe data.

Misal : create table mahasiswa (npm char(6), nama_mhs varchar(30), alamat_mhs

Misal : create table mahasiswa (npm char(6), nama_mhs varchar(30), alamat_mhs

Dalam dokumen KONSEP DAN PERANCANGAN BASIS DATA (Halaman 27-0)

Dokumen terkait