Halaman

Latihan Praktik DDL -- SATU --

Buat DATABASE dengan nama latihanlks
Buat Tabel Data Siswa 



Hasil 


Tambahkan colum No HP dan Umur pada tabel Datasiswa 


Hasilnya 



Merubah Umur menjadi Usia 


Hasilnya 


Menghapus Column Usia pada tabel Datasiswa 


Hasilnya 




SELAMAT MENCOBA

DATA DEFINITION LANGUAGE (DDL)

 Tujuan :

1. Mampu memahami DDL

2. Mampu membuat script untuk pembuatan tabel dan mengupdate tabel

3. Mampu membuat dan menghapus indeks


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_pem  Na_pem 
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 : 

No_pem  Kode_kota
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 

Yang berarti A secara fungsional menentukan B atau B secara fungsional tergantung pada A, jika dan hanya jika setiap kumpulan baris (row) yang ada di tabel T, pasti ada 2 baris data (row) di tabel dengan nilai A yang sama, maka nilai B pasti juga sama. 

Definisi yang paling formal untuk itu adalah : 

Diberikan 2 row r1 dan r2 dalam tabel T dimana A  B. 
Jika r1(A) = r2(A) maka r1(B) = r2(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.

Gambar 1.Model Herarki Sistem Perkuliahan (Level Konseptual)

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). 

Gambar 2. Struktur Pengkodean Record Data (Model Level Fisik)

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).

Gambar 3. Model Struktur Jaringan Basis Data

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.

Gambar 4. Organisasi Record Data Pada Model Jaringan

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 : 

  1. Simple atribut (Simple Attribute) dan Atribut Komposit (Composite Attribute). 
  2. Atribut BernilaiTunggal (Single Valued Attribute) dan Atribut Bernilai Banyak (Multi Valued Atrtribute). 
  3. Mandatory dan Non mandatory Attribute. 
  4. Not Null Atribut. 
  5. Atribut Turunan. 
Gambar 1.  Tabel Data Mahasiswa Dengan Atribut Multivalue

Dari gambar 1 di atas dan gambar 2 di bawah ini dapat diketahui dan dikelompokkan atribut-atributnya berdasarkan kategorinya yaitu sebagai berikut : 

1. Atribut sederhana: nim, tgl_lahir, kota, kode pos. Merupakan atribut sederhana (atomic attribute) karena tidak bisa dipecah lagi. 

2. Atribut komposit : alamat_mhs (merupakan atribut komposite karena bisa dipecah lagi menjadi tabel: alamat, kota, kode pos), nama_mhs (merupakan atribut komposite karena bisa dipecah lagi menjadi tabel: nama depan, nama belakang, inisial).
Gambar 2. Tabel Mahasiswa Dengan Atribut Tunggal dan Banyak

3. Atribut tunggal : nim, nama_mhs, alamat_mhs, tgl_lahir (merupakan atribut tunggal karena hanya mempunyai satu nilai). 

4. Atribut bernilai banyak: hobi (merupakan multivalue atribut karena mempunyai nilai banyak dan nilai yang jenisnya). 
Gambar 3. Tabel Mahasiswa Dengan Atribut Mandatory

5. Mandatori atribut : nim, nama-mhs (merupakan mandatori atribut karena atribut tersebut harus memiliki nilai dan tidak boleh kosong). 

6. Non mandatory atribut: alamat, tgl lahir, hobi (merupakan non mandatori atribute karena boleh tidak memiliki nilai atau NOT NULL). 

7. Atribut turunan : indeks prestasi (ip), merupakan atribut diturunkan daribeberapa atribut nilai mata kuliah.
Gambar 4. Tabel Mahasiswa Dengan Atribut Turunan

Relationship

Sebagai mana dijelaskan pada uraian kegiatan 3 Definisi ERD dan Menentukan Atribut bahwa relasi atau relationship merupakan hubungan yang terjadi antara satu atau lebih entitas. Berikut ini adalah contoh penggambaran diagram relationship antara 2 entitas : 

Gambar 1. Contoh diagram relationship antar 2 entitas

Pada gambar 1  di atas terlihat relasi ‘kerja’ antara entitas pegawai dengan entitas proyek. Derajat dari relationship menjelaskan jumlah entitas yang berpartisipasi dalam suatu relationship. Klasifikasi relasi berdasarkan derajatnya adalah:

1. Unary Degree (Derajat Satu) 
Relationship yang hanya melibatkan 1 entitas.
Gambar 2. Unary Degree Relationship

2. Binary Degree (Derajat Dua) 
Relationship yang melibatkan 2 entitas.
Gambar 3. Binary Degree Relationship Relationship

3. Ternary Degree (Derajat tiga) 
Relationship yang melibatkan 3 entitas.
Gambar 4. Ternary Degree Relationship Relationship

Rasio kardinalitas atau Cardinality Ratio Constraint menjelaskan batasan jumlah keterhubungan satu entitas dengan entitas lainnya. 

Jenis – jenis Cardinality Ratio (rasio kardinalitas):

1. One–to–one (1 : 1) 

Relationship antar entitas dimana hubungan antara entitas pertama dan kedua adalah satu berbanding satu.Contoh : pada pengajaran private satu guru satu siswa. “seorang guru mengajar seorang siswa, seorang siswa diajar oleh seorang guru” 
Gambar 5. Kardinalitas one to one

2. One-to-many atau many-to-one (1 : N atau N : 1) 

Relationship antar entitas dimana hubungan antara entitas pertama dan kedua adalah satu berbanding banyak atau banyak berbanding satu.Contoh kasus :Dalam suatu perusahan satu bagian mempekerjakan banyak pegawai. “Satu bagian mempekerjakan banyak pegawai, satu pegawai kerja dalam satu bagian”.
Gambar 6. Kardinalitas one to many

3. Many-to-many (N : N) 

Relationship antar entitas dimana hubungan antara entitas pertama dan kedua adalah banyak berbanding banyak.Contoh kasus : Dalam Dalam universitas seorang mahasiswa dapat mengambil banyak matakuliah.“Satu mahasiswa mengambil banyak matakulih dan satu matakuliah diambil banyak mahasiswa.”
Gambar 7. Kardinalitas many to many

Weak Entity adalah suatu entitas di mana keberadaan dari entitas tersebut tergantung dari keberadaan entitas lain. Entitas yang merupakan induknya disebut Identifying Owner dan relationshipnya disebut Identifying Relationship

Contoh dari sebuah weak entity : 
Gambar 8. Weak entity

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.  
Gambar 1. Mapping ER ke Tabel Untuk Entitas Kuat

2. Berdasarkan algoritma nomor 2 aturan tentang entitas entitas lemah. Untuk setiap entitas lemah EH, laakukan beberapa langkah dibawah ini : 
  • 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.
Gambar 2. Mapping ER ke Tabel Untuk Entitas Lemah

3. Berdasarkan algoritma nomor 2 aturan tentang relasi multivalue atribut.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.
Gambar 3. Mapping Multivalue Atribute

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”.

Gambar 4. Mapping Relasi Binary 1:1

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.

Gambar 5. Mapping ER ke Tabel Relasi One to Many

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.
Gambar 6. Mapping ER to Tabel relasi one to many

7. Untuk setiap relasi n-ary (ternary), 
  • 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.
Gambar 7. Mapping Untuk Relasi N-narry

Dengan menggunakan cara yang sama dapat dilakukan pemetaan ER diagram ke tabel untuk setiap relasi entitas dari ER diagram sistem basis data perusahaan A.

Gambar 8. Relasi Tabel Hasil Pemetakan ERD

TERIMAKASIH

Materi Kegiatan Belajar 5 :

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: 

  1. 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. 
  2. 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.

TERIMAKASIH

Materi Kegiatan Belajar 5 :

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...