Minggu, 02 November 2014

Latihan Quiz Visual Basic

Toolbox
Name
Caption
Interval
Label
-
CINEMA 3 SATU

Label
-
Tanggal

Label
jam
-

Label
tgl
-

Timer


100
Label
-
Judul Film

ListBox
List
-

Label
-
Studio

TextBox
studio
-

frame
-
[Jam Tayang]

OptionButton
-
12.00

OptionButton
-
15.00

OptionButton
-
18.00

Label
-
Harga

TextBox
harga
-

Label
-
Jumlah Beli

TextBox
jumbel
-

Frame
-
[Snack]

CheckBox
-
popcorn

Textbox
hargapop


CheckBox
-
Soft Drink

Textbox
hargasd


CommandButton
hitung
HITUNG

Label
-
Total Bayar

TextBox
totbay


CommandButton
bersih
BERSIH

CommandButton
keluar
KELUAR





Private Sub bersih_Click()
studio.Text = ""
Option1.Value = False
Option2.Value = False
Option3.Value = False
Check1.Value = False
Check2.Value = False
harga.Text = ""
jumbel.Text = ""
hargapop.Text = ""
hargasd.Text = ""
totbay.Text = ""
End Sub

Private Sub Check1_Click()
If Check1 = 1 Then
hargapop.Text = 10000
Else
hargapop.Text = 0
End If
End Sub

Private Sub Check2_Click()
If Check2 = 1 Then
hargasd.Text = 5000
Else
hargasd.Text = 0
End If
End Sub

Private Sub Form_Load()
list.AddItem ("How To Train Your Dragon")
list.AddItem ("Cinta 2 Hati")
list.AddItem ("Clash Of The Titan")
End Sub

Private Sub hitung_Click()
totbay.Text = Val(harga.Text) * Val(jumbel.Text) + (Val(hargapop.Text) + Val(hargasd.Text))
End Sub

Private Sub keluar_Click()
p = MsgBox("Do U Wanna Quit..?", vbQuestion + vbYesNo, "Konfirmasi")
If p = vbYes Then
End
End If
End Sub

Private Sub list_Click()
If list.Text = "How To Train Your Dragon" Then
studio.Text = "Studio 1"
ElseIf list.Text = "Cinta 2 Hati" Then
studio.Text = "Studio 2"
Else
studio.Text = "Studio 3"
End If
End Sub

Private Sub Option1_Click()
harga.Text = 15000
jumbel.SetFocus
End Sub

Private Sub Option2_Click()
harga.Text = 25000
jumbel.SetFocus
End Sub

Private Sub Option3_Click()
harga.Text = 20000
jumbel.SetFocus
End Sub

Private Sub Timer1_Timer()
jam.Caption = Time
tgl.Caption = Format(Date, "dddd, d mmmm yyyy")

End Sub

Kamis, 23 Oktober 2014

Database Normalisasi

Database Normalisasi
Ketergantungan Fungsional
Ketergantungan fungsional (FD) diatur kendala antara dua atribut dalam suatu relasi. Ketergantungan fungsional mengatakan bahwa jika dua tupel memiliki nilai yang sama untuk atribut A1, A2, ..., An kemudian dua tupel harus harus memiliki nilai yang sama untuk atribut B1, B2, ..., Bn.

Ketergantungan fungsional diwakili oleh tanda panah (→), yaitu X → Y, dimana X secara fungsional menentukan atribut Y. Sisi kiri menentukan nilai atribut di sisi kanan.

Armstrong Aksioma
Jika F adalah himpunan dependensi fungsional maka penutupan F, dinotasikan sebagai F +, adalah himpunan semua dependensi fungsional logis tersirat oleh Aksioma F. Armstrong ditetapkan aturan, bila diterapkan berulang kali menghasilkan penutupan dependensi fungsional.

Aturan refleksif: Jika alpha adalah seperangkat atribut dan beta alpha is_subset_of, maka alpha memegang beta.

Aturan Augmentation: jika → b memegang dan y adalah atribut set, maka ay → dengan juga memegang. Itu adalah menambahkan atribut dalam dependensi, tidak mengubah dependensi dasar.

Ketransitifan aturan: Sama seperti aturan transitif dalam aljabar, jika → b memegang dan b → c memegang kemudian → c juga memegang. a → b disebut sebagai fungsional menentukan b.

Ketergantungan Fungsional sepele
Sepele: Jika FD X → Y memegang mana Y subset dari X, maka itu disebut FD sepele. FD sepele selalu terus.

Non-sepele: Jika FD X → Y memegang mana Y tidak subset dari X, maka disebut non-sepele FD.

Benar-benar non-sepele: Jika FD X → Y memegang mana x berpotongan Y = Φ, dikatakan benar-benar non-sepele FD.

Normalisasi
Jika desain database tidak sempurna mungkin berisi anomali, yang seperti mimpi buruk bagi database itu sendiri. Mengelola database dengan anomali adalah nyaris mustahil.

Perbarui anomali: jika item data yang tersebar dan tidak terkait satu sama lain dengan baik, maka mungkin ada contoh ketika kita mencoba untuk memperbarui satu item data yang memiliki salinan itu tersebar di beberapa tempat, beberapa contoh itu bisa diperbarui dengan benar ketika sedikit yang kiri dengan nilai-nilai lama ada. Hal ini membuat database dalam keadaan tidak konsisten.

Penghapusan anomali: kami mencoba untuk menghapus rekor, tapi bagian itu meninggalkan terhapus karena ketidaksadaran, data juga disimpan di tempat lain.

Masukkan anomali: kami mencoba memasukkan data dalam catatan yang tidak ada sama sekali.

Normalisasi adalah suatu metode untuk menghapus semua anomali ini dan membawa database untuk negara dan bebas konsisten dari setiap jenis anomali.

Bentuk Normal Pertama:
Ini didefinisikan dalam definisi hubungan (tabel) itu sendiri. Aturan ini mendefinisikan bahwa semua atribut dalam relasi harus memiliki domain atom. Nilai dalam domain atom adalah unit terpisahkan.


[Gambar: hubungan Terorganisir]
Kami menata kembali hubungan (tabel) seperti di bawah ini, untuk mengubahnya menjadi Bentuk Normal Pertama


[Gambar: Hubungan di 1NF]
Setiap atribut harus hanya berisi nilai tunggal dari domain yang telah ditentukan tersebut.

Bentuk Normal Kedua:
Sebelum kita belajar tentang bentuk normal kedua, kita perlu memahami hal-hal berikut:

Perdana atribut: atribut, yang merupakan bagian dari prime-kunci, adalah Perdana atribut.

Non-prime atribut: atribut, yang bukan merupakan bagian dari prime-key, dikatakan atribut non-prime.

Bentuk normal kedua mengatakan, bahwa setiap atribut non-prime harus sepenuhnya fungsional tergantung pada prime atribut kunci. Artinya, jika X → A memegang, maka tidak boleh ada bagian yang tepat Y dari X, untuk itu Y → A juga memegang.


[Gambar: Hubungan tidak dalam 2NF]
Kami lihat di sini dalam kaitannya Student_Project bahwa atribut kunci utama adalah Stu_ID dan Proj_ID. Menurut aturan, atribut non-key, yaitu Stu_Name dan Proj_Name harus bergantung pada baik, bukan pada salah satu atribut kunci utama secara individual. Tapi kami menemukan bahwa Stu_Name dapat diidentifikasi dengan Stu_ID dan Proj_Name dapat diidentifikasi dengan Proj_ID independen. Hal ini disebut ketergantungan parsial, yang tidak diperbolehkan dalam Bentuk Normal Kedua.


[Gambar: Hubungan dalam 2NF]
Kita melanggar hubungan dua seperti yang digambarkan dalam gambar di atas. Jadi tidak terdapat ketergantungan parsial.

Bentuk Normal Ketiga:
Untuk relasi berada dalam bentuk normal ketiga, itu harus dalam bentuk Normal Kedua dan berikut ini harus memenuhi:

Tidak ada non-prime atribut transitif tergantung pada prime atribut kunci

Untuk setiap dependensi fungsional non-sepele, X → A, maka baik

X adalah superkey atau,

A adalah Perdana atribut.


[Gambar: Hubungan tidak berada dalam 3NF]
Kami menemukan bahwa di atas digambarkan Student_detail hubungan, Stu_ID adalah kunci dan hanya prime atribut kunci. Kami menemukan Kota yang dapat diidentifikasi oleh Stu_ID serta Zip itu sendiri. Zip tidak adalah superkey atau City adalah atribut utama. Selain itu, Stu_ID → Zip → City, sehingga terdapat ketergantungan transitif.


[Gambar: Hubungan dalam 3NF]
Kami pecah relasi seperti di atas digambarkan dua relasi untuk membawa ke 3NF.

Boyce-Codd Normal Form:
BCNF merupakan perpanjangan dari Bentuk Normal Ketiga dengan cara yang ketat. BCNF menyatakan bahwa

Untuk setiap dependensi fungsional non-sepele, X → A, maka X harus merupakan super-kunci.

Dalam digambarkan gambar di atas, Stu_ID super-kunci dalam Student_Detail hubungan dan Zip super-kunci dalam zipcodes hubungan. Jadi,

Stu_ID → Stu_Name, Zip

Dan

Zip → Kota

Menegaskan, bahwa kedua relasi berada dalam BCNF.

Data Manipulation Language

Data Manipulation Language
SQL dilengkapi dengan bahasa manipulasi data. DML memodifikasi contoh database dengan menyisipkan, memperbarui dan menghapus data. DML bertanggung jawab untuk semua modifikasi data dalam database. SQL berisi set berikut perintah dalam bagian DML:

SELECT / FROM / MANA

INSERT INTO / VALUES

UPDATE / SET / MANA

DELETE FROM / MANA

Maskapai konstruksi dasar memungkinkan programmer database dan pengguna untuk memasukkan data dan informasi ke dalam database dan mengambil efisien menggunakan sejumlah pilihan filter.

SELECT / FROM / MANA
SELECT

Ini adalah salah satu perintah query dasar SQL. Hal ini mirip dengan operasi proyeksi aljabar relasional. Ini memilih atribut berdasarkan kondisi dijelaskan oleh klausa WHERE.

DARI

Pasal ini mengambil nama relasi sebagai argumen dari atribut yang harus dipilih / diproyeksikan. Dalam kasus yang lebih dari satu nama relasi diberi klausul ini sesuai dengan produk Cartesian.

MANA

Pasal ini mendefinisikan predikat atau kondisi yang harus sesuai agar memenuhi syarat atribut untuk diproyeksikan.

Sebagai contoh:

Pilih AUTHOR_NAME
Dari BOOK_AUTHOR
Dimana usia> 50;
Perintah ini akan memproyeksikan nama-nama penulis dari hubungan BOOK_AUTHOR yang usianya lebih besar dari 50.

INSERT INTO / VALUES
Perintah ini digunakan untuk memasukkan nilai-nilai ke baris tabel (relasi).

Sintaks

INSERT INTO tabel (column1 [, column2, column3 ...]) VALUES (value1 [, value2, value3 ...])
Atau

Tabel INSERT INTO NILAI (value1, [value2, ...])
Untuk Contoh:

INSERT INTO tutorialspoint (Penulis, Subjek) VALUES ("anonim", "komputer");
UPDATE / SET / MANA
Perintah ini digunakan untuk memperbarui atau memodifikasi nilai kolom tabel (relasi).

Sintaks

UPDATE table_name SET column_name = value [, column_name = value ...] [WHERE kondisi]
Sebagai contoh:

UPDATE tutorialspoint SET Author = "webmaster" MANA Author = "anonim";
DELETE / FROM / MANA
Perintah ini digunakan untuk menghapus satu atau lebih baris dari tabel (relasi).

Sintaks

DELETE FROM table_name [WHERE kondisi];
Sebagai contoh:

DELETE FROM tutorialspoints
MANA Author = "tidak diketahui";

ER Model: Konsep Dasar

Model hubungan entitas mendefinisikan pandangan konseptual database. Ia bekerja di sekitar entitas dunia nyata dan asosiasi di antara mereka. Pada tampilan tingkat, Model ER dianggap baik untuk merancang database.

Kesatuan
Suatu hal yang dunia nyata baik hidup maupun mati yang dapat dengan mudah diidentifikasi dan dibedakan. Sebagai contoh, dalam database sekolah, mahasiswa, guru, kelas dan kursus yang ditawarkan dapat dianggap sebagai entitas. Semua entitas memiliki beberapa atribut atau properti yang memberi mereka identitas mereka.

Sebuah himpunan entitas adalah kumpulan sejenis entitas. Himpunan entitas mungkin berisi entitas dengan atribut berbagi nilai yang sama. Sebagai contoh, Siswa set mungkin berisi semua siswa sekolah; juga Guru mengatur mungkin berisi semua guru sekolah dari seluruh fakultas. Entitas set tidak perlu menjadi menguraikan.

Atribut
Entitas diwakili dengan cara sifat, yang disebut atribut mereka. Semua atribut memiliki nilai. Misalnya, entitas mahasiswa mungkin memiliki nama, kelas, umur sebagai atribut.

Ada ada domain atau rentang nilai yang dapat ditugaskan untuk atribut. Sebagai contoh, nama siswa tidak bisa menjadi nilai numerik. Itu harus abjad. Usia Seorang siswa tidak boleh negatif, dll

JENIS ATRIBUT:
Sederhana atribut:

Atribut sederhana adalah nilai-nilai atom, yang tidak dapat dibagi lagi. Sebagai contoh, telepon-nomor siswa adalah nilai atom 10 digit.

Komposit atribut:

Atribut komposit terbuat dari lebih dari satu atribut sederhana. Sebagai contoh, nama lengkap siswa mungkin memiliki first_name dan last_name.

Derived atribut:

Atribut yang diturunkan adalah atribut yang tidak ada secara fisik dalam database, tapi ada nilai-nilai yang berasal dari atribut lain yang disajikan dalam database. Misalnya, average_salary di departemen harus disimpan dalam database melainkan dapat diturunkan. Sebagai contoh lain, usia dapat diturunkan dari data_of_birth.

Bernilai tunggal atribut:

Atribut bernilai tunggal mengandung nilai tunggal. Sebagai contoh: Social_Security_Number.

Multi-nilai atribut:

Multi-nilai atribut dapat berisi lebih dari satu nilai. Sebagai contoh, seseorang dapat memiliki lebih dari satu nomor telepon, EMAIL_ADDRESSES dll

Jenis atribut ini dapat datang bersama-sama dengan cara seperti:

sederhana atribut bernilai tunggal

atribut multi-nilai sederhana

komposit atribut bernilai tunggal

atribut multi-nilai komposit

ENTITAS-SET DAN KEYS
Key adalah atribut atau kumpulan atribut yang secara unik mengidentifikasi suatu entitas antara himpunan entitas.

Sebagai contoh, roll_number seorang siswa membuat dia / dia diidentifikasi di kalangan siswa.

Super Key: Set atribut (satu atau lebih) yang secara kolektif mengidentifikasi sebuah entitas dalam himpunan entitas.

Candidate Key: kunci super Minimal bernama kunci kandidat yaitu, supers kunci yang tidak ada bagian yang tepat adalah superkey. Sebuah himpunan entitas dapat memiliki lebih dari satu candidate key.

Primary Key: Ini adalah salah satu kunci calon yang dipilih oleh perancang database untuk secara unik mengidentifikasi himpunan entitas.

Hubungan
Hubungan antar entitas disebut hubungan. Misalnya, entitas karyawan memiliki hubungan works_at dengan departemen. Contoh lain adalah bagi siswa yang mendaftar di beberapa kursus. Di sini, Works_at dan mendaftar disebut hubungan.

HUBUNGAN SET:
Hubungan sejenis disebut himpunan relasi. Seperti entitas, hubungan juga dapat memiliki atribut. Atribut-atribut ini disebut atribut deskriptif.

DERAJAT HUBUNGAN
Jumlah berpartisipasi entitas dalam hubungan mendefinisikan derajat hubungan.

Biner = derajat 2

Ternary = derajat 3

n-ary = derajat

PEMETAAN KARDINALITAS:
Kardinalitas mendefinisikan jumlah entitas dalam satu himpunan entitas yang dapat dikaitkan dengan jumlah entitas set lain melalui hubungan set.

Satu-ke-satu: satu entitas dari himpunan entitas A dapat berhubungan dengan paling banyak satu entitas himpunan entitas B dan sebaliknya.


[Gambar: Satu-ke-satu hubungan]
Satu-ke-banyak: Satu entitas dari himpunan entitas A dapat berhubungan dengan lebih dari satu entitas dari himpunan entitas B, tetapi dari himpunan entitas B satu entitas dapat dikaitkan dengan paling banyak satu entitas.


[Gambar: Satu-ke-banyak hubungan]
Banyak-ke-satu: Lebih dari satu entitas dari entitas himpunan A dapat diasosiasikan dengan paling banyak satu entitas himpunan entitas B, tetapi satu entitas dari himpunan entitas B dapat berhubungan dengan lebih dari satu entitas dari himpunan entitas A.


[Gambar: Banyak-ke-satu hubungan]
Banyak-ke-banyak: satu kesatuan dari A dapat berhubungan dengan lebih dari satu entitas dari B dan sebaliknya.


[Gambar: Banyak-ke-banyak hubungan]

DBMS Struktur File

Data relatif dan informasi disimpan secara kolektif dalam format file. Sebuah file adalah urutan catatan yang disimpan dalam format biner. Sebuah disk drive diformat menjadi beberapa blok, yang mampu untuk menyimpan catatan. Catatan file yang dipetakan ke blok-blok disk.

Berkas Organisasi
Metode catatan file pemetaan untuk blok disk mendefinisikan organisasi berkas, yaitu bagaimana catatan file yang terorganisir. Berikut ini adalah jenis-jenis organisasi berkas




[Gambar: Organisasi File]
Organisasi Berkas Heap: Ketika sebuah file dibuat menggunakan Heap Berkas mekanisme Organisasi, Sistem Operasi mengalokasikan area memori ke file yang tanpa rincian akuntansi lebih lanjut. Catatan file dapat ditempatkan di manapun di daerah memori. Ini adalah tanggung jawab perangkat lunak untuk mengelola catatan. Heap Berkas tidak mendukung pemesanan, sequencing atau pengindeksan sendiri.

Organisasi Berkas Sequential: Setiap record file berisi field data (atribut) untuk secara unik mengidentifikasi catatan itu. Dalam mekanisme organisasi berkas sekuensial, catatan ditempatkan dalam file dalam beberapa berurutan berdasarkan field kunci unik atau kunci pencarian. Praktis, tidak mungkin untuk menyimpan semua catatan secara berurutan dalam bentuk fisik.

Organisasi Berkas hash: Mekanisme ini menggunakan fungsi perhitungan Hash pada beberapa bidang catatan. Seperti kita ketahui, file yang merupakan kumpulan catatan, yang harus dipetakan pada beberapa blok dari ruang disk yang dialokasikan untuk itu. Pemetaan ini didefinisikan bahwa perhitungan hash. Output dari hash menentukan lokasi disk blok di mana catatan mungkin ada.

Clustered Organisasi File: Organisasi file Clustered tidak dianggap baik untuk database besar. Dalam mekanisme ini, catatan terkait dari satu atau lebih relasi disimpan di blok disk yang sama, yaitu, urutan catatan tidak didasarkan pada kunci primer atau kunci pencarian. Organisasi ini membantu untuk mengambil data dengan mudah berdasarkan tertentu kondisi join. Selain khususnya kondisi join, di mana data disimpan, semua pertanyaan menjadi lebih mahal.

Operasi File
Operasi pada file database dapat diklasifikasikan ke dalam dua kategori luas.

Perbarui Operasi

Retrieval Operasi

Operasi update mengubah nilai-nilai data dengan penyisipan, penghapusan atau pembaruan. Operasi pengambilan di sisi lain tidak mengubah data tetapi mengambil mereka setelah opsional penyaringan bersyarat. Dalam kedua jenis operasi, pilihan memainkan peran penting. Selain penciptaan dan penghapusan file, mungkin ada beberapa operasi yang dapat dilakukan pada file.

Terbuka: Sebuah file dapat dibuka di salah satu dari dua mode, baca modus atau mode menulis. Dalam modus baca, sistem operasi tidak mengizinkan siapa pun untuk mengubah data itu semata-mata untuk membaca tujuan. File dibuka dalam modus baca dapat dibagi di antara beberapa entitas. Modus lain adalah modus menulis, di mana, modifikasi data diperbolehkan. File dibuka dalam modus menulis dapat dibaca juga tapi tidak dapat dibagi.

Cari: Setiap file memiliki pointer file, yang memberitahu posisi saat ini di mana data yang akan dibaca atau ditulis. Pointer ini dapat disesuaikan. Menggunakan find (mencari) operasi dapat dipindahkan ke depan atau ke belakang.

Baca: Secara default, ketika file dibuka dalam modus baca file poin pointer ke awal file. Ada pilihan di mana pengguna dapat memberitahu sistem operasi untuk mana file pointer yang berlokasi pada saat pembukaan berkas. Data berikutnya ke file pointer dibaca.

Tulis: Pengguna dapat memilih untuk membuka file dalam modus menulis, yang memungkinkan mereka untuk mengedit isi dari file. Hal ini dapat penghapusan, penyisipan atau modifikasi. Pointer file dapat ditemukan pada saat pembukaan atau dapat secara dinamis diubah jika sistem operasi diizinkan melakukannya.

Tutup: ini juga merupakan operasi yang paling penting dari sudut sistem operasi pandang. Ketika permintaan untuk menutup file yang dihasilkan, sistem operasi akan menghapus semua kunci (jika dalam mode bersama) dan menyimpan konten data (jika diubah) ke media penyimpanan sekunder dan melepaskan semua buffer dan berkas penangan yang terkait dengan file tersebut .

Organisasi isi data dalam file memainkan peran utama di sini. Mencari atau menemukan file pointer ke record yang diinginkan dalam file berperilaku berbeda jika file tersebut memiliki catatan diatur secara berurutan atau berkerumun, dan sebagainya.

ER Model Untuk Model Relational

ER Model saat dikonseptualisasikan ke dalam diagram memberikan gambaran yang baik dari entitas-hubungan, yang lebih mudah dimengerti. Diagram ER dapat dipetakan ke skema relasional yaitu, adalah mungkin untuk membuat skema relasional menggunakan diagram ER. Meskipun kita tidak dapat mengimpor semua kendala ER ke dalam model relasional tetapi skema perkiraan dapat dihasilkan.
Ada lebih dari satu proses dan algoritma yang tersedia untuk mengkonversi ER Diagram menjadi Relational Schema. Beberapa dari mereka yang otomatis dan beberapa dari mereka adalah proses manual. Kami dapat fokus di sini pada isi diagram pemetaan ke dasar relasional.
ER Diagram terutama terdiri dari:
• Entitas dan atributnya
• Hubungan, yang merupakan asosiasi antar entitas.
Pemetaan Badan
Sebuah entitas adalah objek dunia nyata dengan beberapa atribut.
Proses pemetaan (Algoritma):

[Gambar: Pemetaan Entity]
• Membuat tabel untuk setiap entitas
• Atribut entitas harus menjadi bidang tabel dengan tipe data masing-masing.
• Menyatakan primary key
Hubungan pemetaan
Suatu hubungan adalah asosiasi antar entitas.
Proses pemetaan (Algoritma):

[Gambar: hubungan Pemetaan]
• Membuat tabel untuk hubungan
• Menambahkan kunci utama dari semua Entitas berpartisipasi sebagai bidang meja dengan tipe data masing-masing.
• Jika hubungan memiliki atribut, menambahkan setiap atribut sebagai bidang meja.
• Menyatakan primary key menyusun semua kunci utama dari entitas yang berpartisipasi.
• Menyatakan semua batasan kunci asing.
Pemetaan Lemah Set Entity
Sebuah entitas lemah set adalah salah satu yang tidak memiliki kunci primer yang terkait dengannya.
Proses pemetaan (Algoritma):


[Gambar: Pemetaan Lemah Set Entity]
• Membuat tabel untuk himpunan entitas lemah
• Tambahkan semua atributnya ke meja sebagai bidang
• Tambahkan kunci utama mengidentifikasi himpunan entitas
• Menyatakan semua batasan kunci asing
Pemetaan entitas hirarkis
ER spesialisasi atau generalisasi datang dalam bentuk entitas set hirarkis.
Proses pemetaan (Algoritma):

[Gambar: Pemetaan entitas hirarkis]
• Buat tabel untuk semua entitas tingkat yang lebih tinggi
• Buat tabel untuk entitas tingkat yang lebih rendah
• Menambahkan kunci utama entitas tingkat yang lebih tinggi dalam tabel entitas tingkat yang lebih rendah
• Dalam tabel tingkat yang lebih rendah, tambahkan semua atribut lainnya dari entitas yang lebih rendah.
• Menyatakan primary key dari tabel tingkat yang lebih tinggi primary key untuk tabel tingkat yang lebih rendah
• Menyatakan batasan kunci asing.



PENGENALAN SISTEM DATABASE
Database:
Database adalah kumpulan data, biasanya menggambarkan kegiatan dari satu atau lebih organisasi terkait.
DBMS:
Database Management System (DBMS), adalah software yang dirancang untuk membantu dalam memelihara, memanfaatkan, dan menggunakan sekumpulan data yang besar dan sangat berkembang pesat
SEJARAH DBMS
Sejak awal adanya komputer, menyimpan dan memanipulasi data telah menjadi fokus utama sebuah aplikasi. Awalnya DBMS yang didesain oleh Charles Bachman di General Electric pada awal tahun 1960 disebut Integrated Data Store. Ini membentuk dasar untuk model data jaringan, yang distandarisasi oleh Conference On Data System Languages (CODASYL) dan sangat berarti bagi sistem database pada tahun 1960-an. Bachman adalah penerima penghargaan pertama dari ACM Turing Award (penghargaan ilmu komputer setara hadiah Nobel) yang bekerja di bidang database pada tahun 1973.
#Definisi
•Data Fakta, teks, hasil pengukuran, gambar, suara, dan video yang bernilai informasi.
•Informasi Data yang telah diproses sebagai bahan dalam proses pengambilan keputusan. •Database Kumpulan data yang terorganisir berdasarkan suatu struktur hubungan.
•Metadata Data yang mendeskripsikan data lain.
Informasi Informasi - dapat dimanfaatkan sebagai dasar untuk pengambilan keputusan dan memahami permasalahan/situasi Sistem
Metadata Deskripsi tentang format dan karakteristik data, termasuk tipenya, ukurannya, nilai-nilai yang absah, dan dokumentasi lainnya.
#Evolusi Teknologi Database
•Flat File  1960an - 1980an
•Hierarchical  1970an - 1990an
•Network  1970an - 1990an
•Relational  1980an – sekarang
•Object-oriented  1990an - sekarang
•Object-relational  1990an - sekarang
Sistem File Versus DBMS
•Kapasitas penyimpanan data
•Kemampuan mengakses data
•Konkurensi data
•Perlindungan data dari kegagalan
•Keamanan data Sistem
Manfaat DBMS
•Independensi data
•Akses data efisien
•Integritas dan keamanan data
•Administrasi data
•Akses konkuren dan Crash Recovery
•Waktu pengembangan aplikasi terkurangi
#TINGKAT ABTRAKSI DALAM DBMS
MODEL RELASIONAL
•Dalam membangun deskripsi tentang pusat data dalam model adalah suatu hubungan, yang dapat dianggap sebagai kumpulan record.
•Deskripsi data dalam istilah model data disebut skema. Dalam model relasional, skema digunakan untuk relasi menentukan nama, nama setiap field (atau atribut atau kolom), dan tipe setiap field. Independensi Data
• Indepedensi data adalah program aplikasi yang telah terisolasi dari perubahan dalam struktur data yang disimpan.
• Independensi data dicapai melalui penggunaan dari tiga tingkat data abstraksi ; khususnya, skema konseptual dan skema eksternal yang mempunyai manfaat yang berbeda pada bidang ini.
TINGKAT ABSTRAKSI DALAM DBMS
Data dalam sebuah DBMS dibagi menjadi tiga tingkatan yaitu:
•Skema Konseptual
•Skema Fisik
•Skema Eksternal
QUERY DALAM DBMS
•Query berfungsi untuk memudahkan mendapatkan informasi dari database yang nantinya akan digunakan untuk menentukan nilai informasi bagi seorang pengguna
•Queries: pertanyaan yang melibatkan data di dalam DBMS.
•Bahsa Query: bahasa khusus yang dapat digunakan untuk menapilkan query yang diinginkan. •Kalkulus relasional: adalah bahasa query formal berdasarkan logika matematika, dan query yang ditampilkan dalam bahasa ini memiliki arti dan maksud yang tepat.
•Aljabar relasional: merupakan bahasa query formal berdasarkan kumpulan operator untuk memanipulasi relasi, yang setara dengan kalkulus.
Independensi Data
• Indepedensi data adalah program aplikasi yang telah terisolasi dari perubahan dalam struktur data yang disimpan.
• Independensi data dicapai melalui penggunaan dari tiga tingkat data abstraksi ; khususnya, skema konseptual dan skema eksternal yang mempunyai manfaat yang berbeda pada bidang ini. #Komponen Sistem Database
•Repositori  Pusat penyimpanan metadata.
•Database Management System (DBMS)  Perangkat lunak untuk mengelola database.
•Database  Pusat penyimpanan data.
•Program Aplikasi  Perangkat lunak pengguna data.
•User Interface  Fasilitas interaksi antara pengguna dan data secara tekstual atau grafis.
•CASE Tools  Computer - Aided Software Engineering.
•Administrator Data  Personil yang bertanggung-jawab memelihara database.
•Developer Sistem  Personil yang bertanggung-jawab merancang program aplikasi beserta struktur datanya dalam database.
•End User  Orang yang menggunakan aplikasi dan database.
#Model Data
•Model Data Kumpulan konstruksi deskripsi data level tinggi yang menyembunyikan banyak detail penyimpanan level rendah. DBMS memungkinkan pengguna untuk menentukan data yang disimpan dalam model data.
•Skema Logis Mendeskripsikan data yang disimpan dalam model data DBMS berupa semua relasi yang disimpan dalam database.
•Skema Fisik Menentukan detail penyimpanan data berupa mendeskripsikan bagaimana relasi dalam skema Logis disimpan pada alat penyimpanan sekunder sepert

Representase ER Diagram

Sekarang kita akan belajar bagaimana ER Model diwakili melalui diagram ER. Setiap objek seperti entitas, atribut dari suatu entitas, hubungan set, dan atribut hubungan set dapat diwakili oleh alat diagram ER.
Kesatuan
Entitas direpresentasikan dengan cara persegi panjang. Persegi panjang diberi nama dengan himpunan entitas yang mereka wakili.

Atribut
Atribut adalah sifat dari entitas. Atribut yang diwakili melalui gerhana. Setiap gerhana merupakan salah satu atribut dan terhubung langsung ke badan-nya (persegi panjang).

Jika atribut adalah komposit, mereka dibagi lagi di pohon seperti struktur. Setiap node kemudian terhubung ke atribut. Itu adalah atribut komposit yang diwakili oleh gerhana yang terhubung dengan gerhana.

Atribut multivalued digambarkan oleh gerhana ganda.

Atribut diturunkan digambarkan oleh gerhana putus-putus.

Hubungan
Hubungan diwakili oleh berlian berbentuk kotak. Nama hubungan ditulis dalam berlian-kotak. Semua entitas (persegi panjang), berpartisipasi dalam hubungan, yang terhubung dengan dengan garis.

HUBUNGAN BINER DAN KARDINALITAS
Sebuah hubungan di mana dua entitas yang berpartisipasi, disebut hubungan binary.
Kardinalitas adalah jumlah instance dari suatu entitas dari hubungan yang dapat dikaitkan dengan relasi.

•Satu-ke-satu
Ketika hanya satu contoh dari entitas terkait dengan hubungan, itu ditandai sebagai '1'. Gambar ini di bawah ini mencerminkan bahwa hanya 1 contoh dari setiap entitas harus dikaitkan dengan hubungan. Ini menggambarkan satu-ke-satu hubungan

• Satu-ke-banyak
Bila lebih dari satu contoh dari entitas terkait dengan hubungan, itu ditandai sebagai 'N'. Gambar ini di bawah ini mencerminkan bahwa hanya 1 contoh dari entitas di sebelah kiri dan lebih dari satu contoh dari entitas di sebelah kanan dapat dikaitkan dengan hubungan. Ini menggambarkan satu-ke-banyak

• Banyak-ke-satu
Bila lebih dari satu contoh dari entitas terkait dengan hubungan, itu ditandai sebagai 'N'. Gambar ini di bawah ini mencerminkan bahwa lebih dari satu contoh dari entitas di sebelah kiri dan hanya satu contoh dari entitas di sebelah kanan dapat dikaitkan dengan hubungan. Ini menggambarkan banyak-ke-satu hubungan

• Banyak-ke-banyak
Gambar ini di bawah ini mencerminkan bahwa lebih dari satu contoh dari entitas di sebelah kiri dan lebih dari satu contoh dari entitas di sebelah kanan dapat dikaitkan dengan hubungan. Ini menggambarkan hubungan banyak-banyak

KENDALA PARTISIPASI
• Total Partisipasi: Setiap entitas pada entitas yang terlibat dalam hubungan tersebut. Partisipasi total diwakili oleh garis ganda.
• Partisipasi parsial: Tidak semua entitas yang terlibat dalam hubungan kapal. Partisipasi parsial diwakili oleh baris.