Tabel dan Key dalam Database Tipe data dan Karakter pada Database
Author : Minarni, S.Kom.,MM
• Buatlah 3 buah file/ tabel • 2 diantara 3 file tersebut berhubungan, misal tabel A berhubungan dengan tabel B, tabel B berhubungan dengan tabel C. • Jelaskan apa yang membuat tabel tersebut berhubungan
Tabel dalam Database
• Tabel adalah suatu koleksi data yang serupa, terdiri atas kolom dan baris. • Setiap database dalam SQL Server dapat memuat hingga 2 milyar tabel, • dan setiap tabel dapat dibentuk maksimum 1024 kolom dan 8092 bytes per baris.
Key dalam Database Key adalah satu gabungan dari beberapa atribut yang dapat membedakan semua basis data (row) dalam tabel secara unik. Key di dalam database berfungsi sebagai suatu cara untuk mengidentifikasi dan menghubungkan satu tabel data dengan tabel yang lain. Jenis-jenis key : •
Super Key
•
Candidate Key
•
Primary Key
•
Foreign Key
•
Alternative Key
•
Sekunder Key
Key dalam Database • Superkey : Kumpulan atribut dari suatu tabel yang dapat digunakan untuk mengidentifikasi entity atau record dari tabel tersebut secara unik
• Candidate Key : Superkey dengan jumlah atribut minimal. Candidat key ini tidak boleh berisi atribut dari tabel yang lain. Candidate key ini harus memenuhi syarat sebagai berikut :
– Unique identifier, untuk setiap row/ record candidate key harus secara unik dapat menjadi identifier. Artinya, setiap non candidate key atribut secara fungsional bergantung pada candidate tersebut. – Non redundancy, tidak ada duplikasi candidate key untuk menjadi unique identifier, dimana tidak dapat dilakukan penghapusan pada candidate key dimana tidak merusak sifat unique identifier.
Primary Key Primary Key adalah field kunci/ utama dari suatu table yang menunjukkan bahwa field yang menjadi kunci tersebut tidak bisa di isi dengan data yang sama atau dengan kata lain Primary key menjadikan tiap record memiliki identitas sendiri-sendiri yang membedakan satu sama lainnya (unik). Primary Key merupakan salah satu atribut dari candidat key dapat dipilih menjadi primary key dengan 3 kriteria sbb : – Key tersebut lebih natural untuk dijadikan acuan – Key tersebut lebih sederhana – Key tersebut cukup unique Nilai field yang menjadi primary key harus : • •
Unik atau tidak boleh ganda Tidak boleh Null (kosong, tidak di ketahui, tidak dapat ditentukan)
Contoh : Tabel mahasiswa mempunyai field : NPM, Nama, Alamat, TTL NPM merupakan Primary key dalam tabel Mahasiswa, record NPM tidak boleh sama dengan record lainnya
Dalam satu tabel hanya ada satu Primary Key
Primary Key Contoh :
Tabel pegawai memiliki field : No. KTP, No. SIM, Nama, Alamat, TTL, Agama Tentukan primary key nya, jelaskan Contoh : Tabel Barang : id, kode_barang, nm_barang, harga Id
Kode_barang
Nm_barang
Harga
1
AA_001
Air Conditioner Tipe 1
3.800.000,-
2
AA_002
Air Conditioner Tipe 2
4.300.000,-
3
TV_001
Televisi Merk A
1.800.000,-
Tentukan Primary Key dari tabel tersebut
Foreign Key Merupakan sembarang atribut yang menunjuk kepada primary key pada tabel lain. Jika sebuah primary key terhubung ke table lain, maka keberadaan primary key pada table tersebut disebut sebagai Foreign Key. Foreign key akan terjadi pada suatu relasi yang memiliki kardinalitas one to many atau many to many.
Primary Key dan Foreign Key adalah field yang sama, namun di tabel yang berbeda. Artinya, nama field sebagai Primary dan Foreign tidak boleh berbeda, wajib nama filed yang sama.
Primary Key dan Foreign Key KD_MK
MK
SKS
Kd_Dosen
AL01
Algoritma
3
D-001
KA01
Komputer Akuntansi
2
D-002
IM01
Internet Multimedia
2
D-003
DB01
Database Programming
3
D-001
Kd_Dosen D-001
Nama_Dosen Ronny Effendi
D-002
Adi Jaya Kurniawan
D-003
Agus Purnomo
Tipe karakter yang dipakai dalam rancangan database
• Tinyint : Bilangan Integer ini berada pada jangkauan 0 sampai 255 • Decimal : Bilangan desimal berada pada jangkauan –10 ∧ 31 +1 sampai 10 ∧ 31 – 1 • Datetime : Data waktu berada pada jangkauan 1 Januari 1753 sampai 31 Desember 9999 • Char : Data karakter dengan panjang maksimal 8000 karakter • Varchar : Data karakter dengan panjang maksimal 8000 karakter
Tipe karakter yang dipakai dalam rancangan database
• Tentukan tipe data/ karakter dari tabel berikut : NPM
Nama
Tempat
Tanggal Lahir
1157201001234
Hary Prima
Sampit
25-03-2000
Nama Field
Tipe Data
NPM Nama Tempat Tanggal Lahir
Tipe karakter yang dipakai dalam rancangan database
Perbedaan Char dan Varchar • Char : panjangnya tetap (fixed-length), misalnya kode_barang, kode_item, kode_customer yang panjang datanya sudah ditetapkan dan pasti.
• Varchar : panjangnya tidak tetap (variable-length), misalnya nama, alamat, kota yang panjangnya bervariasi dan tidak menentu atau tidak pasti.
MODEL DATA •
•
Definisi : sekumpulan tool konseptual untuk mendeskripsikan data, relasi-relasi antar data yang Menyatakan hubungan antar rekaman yang tersimpan dalam basis data. Model data terbagi dalam tiga kelompok besar • • • • •
Model Entity-Relationship Model Relational Model Object Oriented Model Model Hierarki Model Network
ENTITY RELATIONAL MODEL •
E-R model didasarkan atas persepsi terhadap dunia nyata yang terdiri dari sekumpulan objek, disebut entity dan hubungan antar objek tersebut, disebut relationship.
•
Pemodelan data dengan model E-R menggunakan diagram E-R. Diagram E-R terdiri dari : – – – –
Kotak persegi panjang, menggambarkan himpunan entity Elips, menggambarkan atribut-atribut entity Diamon, menggambarkan hubungan antara himpunan entity Garis, yang menghubungkan antar objek dalam diagram E-R
Entitas Entitas adalah objek (sesuatu) yang ada (eksis) dan dapat dibedakan dengan objek yang lain (buku, orang, liburan, absensi). Keberadaan dari entitas biasanya berdiri sendiri dan bisa nyata maupun tidak nyata. Entitas digambarkan (direpresentasikan) dengan menggunakan sekumpulan atribut, entitas orang mempunyai atribut nama, alamat, tanggal lahir dan sebagainya
Atribut Atribut merupakan penggambaran (data) dari entitas. Setiap atribut harus dijelaskan dengan suatu nilai, misalnya entitas orang mempunyai atribut nama dengan nilai “BEJO”. Nilai dari atribut tersebut juga dapat diatur, misalnya panjang karakter dari nama tidak boleh lebih dari 15 karakter. Pengaturan nilai atribut ini disebut dengan Domain. Selain dapat diatur, nilai atribut juga dapat bernilai tunggal maupun jamak (multi valued), sederhana (simple) atau gabungan (composite), “kosong” (Null) atau harus ada (Not Null), dan key (Primary Key atau Foreign Key) atau non key. Dalam atribut juga terdapat istilah Stored Attribute, yaitu atribut yang langsung terlihat pada entitas (atribut nama, atribut alamat) dan Derived Attribute, yaitu merupakan atribut hasil perhitungan dari atribut yang lain (misal atribut umur dihitung dari atribut tanggal lahir).
Assignment • Buatlah Database FIKOM, yang terdiri dari beberapa tabel yang saling berhubungan. • Tentukan Primary key dan Foreign Key • Tentukan Tipe data dari masing-masing field