Area Pemrograman Bro
Latihan Praktik DDL -- SATU --
DATA DEFINITION LANGUAGE (DDL)
Tujuan :
1. Mampu memahami DDL
2. Mampu membuat script untuk pembuatan tabel dan mengupdate
tabel
Dasar teori
Data
Definition Language (DDL) digunakan untuk membuat dan menghancurkan database
dan objek database. Perintah3perintah ini terutama akan digunakan oleh database
administrator selama fase setup dan penghapusan proyek database.
Mari
kita melihat struktur dan penggunaan perintah DDL empat dasar:
a.
CREATE
Instalasi sistem manajemen database (DBMS) pada komputer memungkinkan
Anda untuk membuat dan mengelola banyak database independen
b.
USE
Perintah USE memungkinkan Anda untuk menentukan database yang ingin
bekerja dengan Anda dalam DBMS.
c.
ALTER
Setelah Anda telah membuat tabel dalam database, Anda mungkin ingin
memodifikasi definisi itu. Perintah ALTER yang memungkinkan Anda untuk membuat
perubahan pada struktur tabel tanpa menghapus dan menciptakan tabel baru dengan
nama yang berbeda.
d.
DROP
Perintah terakhir dari Data Definition Language, DROP yang memungkinkan
kita untuk menghapus seluruh objek database dari DBMS. Gunakan perintah ini
dengan hati3hati! Ingat bahwa perintah DROP menghapus data keseluruhan struktur
dari database Anda.
e.
CONSTRAINT
Batasan atau aturan yang ada pada table. SQL Server menyediakan beberapa tipe constraint berikut :
1. NOT NULL Suatu kolom yang didefinisikan dengan constraint NOT NULL tidak boleh berisi nilai NULL. Kolom yang befungsi sebagai kunci primer (primary key) otomatis tidak boleh NULL.
2. UNIQUE Mendefinisikan suatu kolom menjadi bersifat unik, artinya antara satu data dengan data lainnya namanya tidak boleh sama, misal alamat email.
3. PRIMARY KEY Constraint PRIMARY KEY membentuk key yang unik untuk suatu table.
4. FOREIGN KEY FOREIGN KEY constraint didefinisikan pada suatu kolom yang ada pada suatu table, dimana kolom tersebut juga dimiliki oleh table yang lain sebagai suatu PRIMARY KEY, biasa dipakai untuk menghubungkan antara 2 tabel.
Pengertian Ketergantungan Fungsional dan Transitif
Ketergantungan Fungsional
Atribut Y pada relasi R dikatakan tergantung fungsional pada atribut X (R,X → R,Y), jika dan hanya jika setiap nilai X pada relasi R mempunyai tepat satu nilai Y pada R.Misal, terdapat skema database Pemasok_barang. Dengan tabel pemasok (No_pem, Na_pem).
Ketergantungan fungsional dari tabel Pemasok_barang adalah :
No_pem → Na_pem (nama pemasuk tergantung secara fungsional dari nomer pemasok)
Ketergantungan Fungsional Penuh
Atribut Y pada relasi R dikatakan tergantung fungsional penuh pada atribut X pada relasi R, jika Y tidak tergantung pada subset dari X (bila X adalah key gabungan). Contoh tabel Kirim_barang (No_pem, Na_pem, No_bar, Jumlah)
Ketergantungan fungsionalnya adalah :
No_bar, No_pem → Jumlah (tergantung penuh terhadap keynya)
Ketergantungan Transitif
Atribut Z pada relasi R dikatakan tergantung transitif pada atribut X, jika atribut Y tergantung pada atribut X pada relasi R dan atribut tergantung pada atribut Y pada relasi R. Contoh perhatikan tabel dibawah ini :
Ketergantungan fungsional :
Kode_kota → Kota,
maka No_pem → Kota
Contoh Lain Ketergantungan Fungsional
Diberikan sebuah tabel T berisi paling sedikit 2 buah atribut, yaitu A dan B.
Kita dapat menyatakan notasi berikut ini :
A → B
Dengan melihat data di atas dan dengan pertimbangan intuisi kita, maka ketergantungan fungsional yang dapat kita ajukan adalah :
nim → nama_mhs
yang berarti bahwa atribut nama_mhs hanya tergantung pada atribut nim. Hal ini dibuktikan dari fakta : untuk setiap nilai nim yang sama maka pasti nilai nama_mhsnya juga sama.
nama_kul, nim → indeks_nilai
yang berarti bahwa atribut indeks_nilai tergantung pada atribut nama_kul dan nim secara bersama–sama, memang kita tidak dapat menunjukkan fakta, bahwa untuk setiap nilai nama_kul dan nim yang sama, maka nilai indeks_nilai nya juga sama, karena nama_kul, nim merupakan key (sehingga bersifat unik) untuk tabel tersebut. Tetapi, ketergantungan fungsional tersebut sesuai dengan pengertian bahwa setiap indeks_nilai diperuntukkan pada mahasiswa tertentu untuk mata kuliah tertentu yang diambilnya.
Tanpa memperhatikan pengertian ketergantungan secara alamiah terhadap tabel tersebut, kita juga dapat mengajukan sejumlah ketidaktergantungan (non KF) dengan hanya melihat fakta yang ada,yaitu :
nama_kul ⇏ nim
yang artinya atribut nim tidak tergantung pada atribut nama_kul. Buktinya terlihat pada row 1 dan row 2 : dengan nilai nama_kul yang sama, tapi nilai nimnya berbeda.
nim ⇏ ideks_nilai
yang artinya atribut indeks_nilai tidak bergantung pada atribut nim. Buktinya terlihat pada row 1 dan row 3 : dengan nilai nim yang sama, tapi nilai indeks_nilai berbeda.
Model Hirarki dan Jaringan Basis Data
Model Hirarki Basis Data (Hierarchical Model)
Dalam model ini data disusun menurut struktur pohon. Puncak dari herarki disebut root sedangkan entitas atau interface dibawahnya dikenal sebagai induk (parent). Entitas induk mempunyai beberapa sub entitas yang disebut anak (child). Entitas dalam model hirarki dilambangkan dengan empat persegi panjang. Sedangkan relasi atau hubungan dengan entitas lain dinotasikan dengan garis. Gambar 1 di bawah ini menjelaskan salah satu contoh model hirarki basis data level konseptual sistem perkuliahan.
Dari gambar struktur hirarki basis data di atas dapat dibuat struktur pengkodean record data (level fisik) untuk setiap entitas beserta hubungan antar. Susuan herarkhi ditujukkan dengan tanda anak panah pada medan data (field) yang digunakan sebagai kunci data (primary key, daerah diarsir).
Relasi dalam herarkhi model hubungan antar entitas dinyatakan dalam satu-banyak(one to many) atau satu – satu (one to one). Kelemahan hararkhi model adalah tidak dapat dilakukan pencarian data pada field atribut, misal tidak dapat menampilkan data pda tabel mata kuliah berdasarkan jum_SKS, karena jum_SKS bukan kunci data. Masalah ini dapat diatasi dengan mengubah struktur data dengan memberi hubungan khusus (misalnya dengan variabel pointer).
Model Jaringan Basis Data (Network Model)
Dalam model jaringan entitas induk maupun anak bisa lebih dari dua. Model ini merupakan pengembangan model hirarki. Relasi antara entitas dalam network model adalah satu ke satu (one to one) atau satu ke banyak (one to many).
Dalam network data model tidak diperbolehkan terdapat relasi banyak ke banyak (many to many). Untuk membuat relasi many to many dalam network model dibutuhkan entitas perantara yang disebut sebagai rekaman silang (intersection record). Dari gambar 4 entitas registrasi adalah merupakan entitas perantara antara etitas mahasiswa dengan entitas mata kuliah.
Konsep Tabel, Atribut dan Relationship
Konsep Dasar Tabel dan Atribut
Tabel adalah kompulan data yang tersusun dalam format baris (record) dan kolom (field atau atribut). Atribut ini lebih umum digunakan dalam perancangan basis data, karena menunjukkan fungsinya sebagai pembentuk karakteristik (sifat–sifat) yang melekat pada sebuah table.
Atribut dibedakan menjadi beberapa jenis yaitu :
- Simple atribut (Simple Attribute) dan Atribut Komposit (Composite Attribute).
- Atribut BernilaiTunggal (Single Valued Attribute) dan Atribut Bernilai Banyak (Multi Valued Atrtribute).
- Mandatory dan Non mandatory Attribute.
- Not Null Atribut.
- Atribut Turunan.
Mapping ER Ke Tabel Data Perusahaan
Sistem Kepegawaian di Suatu Perusahaan A
Perusahaan A memiliki 100 pegawai.
Setiap pegawai dipimpin pengawas/mandor dari pegawai perusahaan itu sendiri dan tidak semua pegawai memimpin pegawai yang lain. sehingga satu pengawas dapat memimpin beberapa pegawai.
Setiap pegawai bekerja untuk suatu departemen dan dalam suatu departemen dapat terdiri dari beberapa pegawai.
Setiap departemen dikepalai oleh seorang pegawai yang bekerja mulai tanggal tertentu.
Sebuah departemen dapat berada di beberapa lokasi.
Selain bekerja di suatu departemen pegawai dapat bekerja pada beberapa proyek. Setiap proyek dikendalikan/diatur oleh suatu departemen, namun suatu departemen tidak harus mengendalikan/mengatur proyek.
Satu departemen dapat mengendalikan beberapa proyek dan satu proyek hanya dikendalikan oleh satu departemen Satu proyek dapat terdiri dari beberapa pegawai.
Untuk keperluan penggajian perusahaan memerlukan data tanggungan pegawai. Seorang pegawai dapat menanggung beberapa tanggungan. Jika seorang pegawai pindah maka datanya akan dipindahkan / dihapus berikut data tanggungan / keluarganya.
Penyelesaian Pemetaan ER ke Relasi Tabel berdasarkan urutan langkah-langkah :
1. Berdasarkan algoritma nomor 1 aturan tentang entitas kuat maka lakukan beberapa langkah di bawah ini :
- Untuk setiap entitas kuat Entitas Kuat, buat tabel baru Eks.
- Sertakan seluruh simple atribut.
- Sertakan simple atribut dari composite atribut yang ada.
- Pilih salah satu atribut kunci sebagai primary key.
- Buat tabel baru EH.
- Sertakan seluruh simple atribut.
- Tambahkan primary key dari entitas kuatnya (owner entity type) yang akan digunakan sebagai primary key bersama-sama partial key dari entitas lemah.
- Buatlah tabel baru R yang menyertakan atribut dari multivalue tersebut.
- Tambahkan primary key dari relasi yang memiliki multivalue tersebut. Kedua atribut tersebut membentuk primary key dari tabel R.
- Buatlah tabel R yang menyertakan seluruh primary key dari entitas yang ikut serta. Sejumlah n foreign key tersebut akan membentuk primary key untuk tabel R. Tambahkan seluruh simple atribut yang terdapat pada relasi n-ary tersebut.
- Sama dengan proses yang dilakukan untuk langkah ke 6. Karena dalam ER-D perusahaan ini tidak ada relasi n-ary maka langkah ini tidak dilakukan.
Mapping Relasi Entitas ke Relasi Tabel
Di dalam basis data yang menjadi pusat perhatian dan intisari sistem adalah tabel dan relasinya. Istilah tabel ini muncul dari abstraksi data pada level physical. Tabel ini sama artinya dengan entitas dari model data pada level konseptual. Setiap orang bisa membuat tabel tetapi membuat tabel yang baik tidak semua orang dapat melakukannya. Kebutuhan akan membuat tabel yang baik ini ini melahirkan beberapa teori atau metode antara lain ialah mapping ERto table dan Normalisasi.
Algoritma atau langkah-langkah yang dilakukan untuk memetakan ER diagram ke tabel relasional yaitu sebagai berikut:
1. Untuk setiap entitas kuat EK, buat tabel baru EK yang menyertakan seluruh simple atribut dan simple atribut dari composite atribut yang ada. Pilih salah satu atribut kunci sebagai primary key
2. Untuk setiap entitas lemah EH, buat tabel baru EH dengan mengikutsertakan seluruh simple atribut. Tambahkan primary key dari entitas kuatnya (owner entity type) yang akan digunakan sebagai primary key bersama-sama partial key dari entitas lemah
3. Untuk setiap multivalued atribut R, buatlah tabel baru R yang menyertakan atribut dari multivalue tersebut. Tambahkan primary key dari relasi yang memiliki multivalue tersebut. Kedua atribut tersebut membentuk primary key dari tabel R.
4. Untuk setiap relasi binary 1:1, tambahkan primary key dari sisi yang lebih “ringan” ke sisi (entitas) yang lebih “berat”. Suatu sisi dianggap lebih “berat” timbangannya apabila mempunyai partisipasi total. Tambahkan juga simple atribut yang terdapat pada relasi tersebut ke sisi yang lebih “berat”. Apabila kedua partisipasi adalah sama-sama total atau samasama partial, maka dua entitas tersebut boleh digabung menjadi satu tabel.
5. Untuk setiap relasi binary 1:N yang tidak melibatkan entitas lemah, tentukan mana sisi yang lebih “berat” (sisi N). Tambahkan primary key dari sisi yang “ringan” ke tabel sisi yang lebih “berat”. Tambahkan juga seluruh simple atribut yang terdapat pada relasi biner tersebut.
6. Untuk setiap relasi binary M:N, buatlah tabel baru R dengan atribut seluruh simple atribut yang terdapat pada relasi biner tersebut. Tambahkan primary key yang terdapat pada kedua sisi ke tabel R. Kedua foreign key yang didapat dari kedua sisi tersebut digabung menjadi satu membentuk primary key dari tabel R.
7. Untuk setiap relasi lebih dari dua entitas, n-nary (ternary), meliputi dua alternatif yaitu:
- Buatlah tabel R yang menyertakan seluruh primary key dari entitas yang ikut serta. Sejumlah n foreign key tersebut akan membentuk primary key untuk tabel R. Tambahkan seluruh simple atribut yang terdapat pada relasi n-ary tersebut.
- Mengubah bentuk relasi ternary menjadi entitas lemah, kemudian memperbaiki relasi yang terjadi antara entitas lemah tersebut dengan entitas-entitas kuatnya dan melakukan algoritma mapping sesuai dengan aturan mapping.
Latihan Praktik DDL -- SATU --
Buat DATABASE dengan nama latihanlks Buat Tabel Data Siswa Hasil Tambahkan colum No HP dan Umur pada tabel Datasiswa Hasilnya Mer...