Sistem Basis Data [pendahuluan]
Posted by deden06sttg pada September 21, 2008
Model Entitas-Relationship
Pertanyaan-pertanyaan seputar Desain Basis Data
Desain Konseptual : (Model ER digunakan pada tahapan ini )
· Apa yang dimaksud dengan entitas dan relationship pada suatu perusahaan?
· Informasi tentang entitas dan relationship seperti apa yang harus kita simpan dalam basis data
· Integrity constraint atau business rules seperti apa yang harus kita pegang
Model ER DASAR
· Entity:Objek Nyata di dunia yang membedakan dengan objek-objek yang lain.
Sebuah Entitas digambarkan(dalam DB) dengan menggunakan sekumpulan attribut.
· Entity Set:Kumpulan Entitas yang mirip/mempunyai banyak kesamaan
Contoh:Semua Karyawan
– Semua Entitas dalam sebuah Entity Set mempunyai sekumpulan Atribut yang sama
– Setiap Entitas mempunyai Key (buku hal 29)
– Setiap Attribut mempunyai domain (buku hal 29)
· Relationship:Persekutuan/perserikatan antara dua entitas atau lebih
Contoh:ALI bekerja di perusahaan Farmasi
· Relationship set:Sekumpulan relationship yang mirip
– Sebuah n-ary Relationship Set R yang berelasi dengan n entity set E1 … En;dimana setiap relationship dalam R melibatkan entitas e1 E1,… en En
Atribut
· Macam-macam attribute:
· Simple attribute
· Composite attribute: dapat dipecah ke bagian bagian yang kecil
· Derived attribute :dapat diturunkan dari attribute yang lain
· Multivalue attribute:mempunyai nilai lebih dari satu
Contoh-contoh Attribute
· Contoh simple attribute :nama
· Contoh composite attribute:Alamat
· Contoh Derived attribute :umur
· Contoh multivalued attribute:Gelar
Keys
· Superkey àsebuah attribute atau sekumpulan attributes yang secara unik dapat mengindentifikasi sebuah baris dalam suatu relasi
secara default semua attribute adalah superkey
· Candidate Key àSuperkey yang minimal
Contoh Keys
ü SSN adalah candidate key
ü Secara default sudah mengindentifikasikan sesuatu yang unik pada baris(tuple).
ü SSN juga superkey
ü Apa saja dari attribute yang didalamnya ada SSN adalah superkey
Contoh:
ü {Age, Name, SSN} – is a superkey
ü {Age, SSN} – is a superkey
ü {Name, SSN} – is a superkey
· Primary key – candidate key yang dipilih sebagai sesuatu yang unik pada relasi
contoh: Branch Relation – memilih branchno untu menjadi primary key
· Alternate key – candidate key yang tidak dipilih menjadi primary key
contoh:
Branch Relation – postcode adalah alternate key
· Foreign Key – attribute, suatu attribute yang sama dengan candidate key dari beberapa relasi
Contoh: Branch and Staff Relations
pada Branch Relation, Branchno adalah the primary key
pada Staff Relation, Branchno adalah the foreign key
Sejarah Relational model
· Ted Codd(IBM Rsearch) mengusulkan relational model tahun 1970.Pada waktu itu sistem database yang paling banyak dipakai adalah dua data model yang sudah tua.
· Dua data model itu adalah:
– Hierarchical model
– Network model
Kenapa belajar relational model
· Merupakan model yang paling banyak digunakan.
– Contoh:Vendors: IBM, Informix, Microsoft, Oracle, Sybase, etc.
Munculnya kompetitor-kompetitor baru,seperti object oriented model: ObjectStore, Versant, Ontos
Relational Database: Definisi
· Relational database: Sebuah kumpulan relasi-relasi
· Relation: terdiri dari dua bagian yaitu:
Instance:Sebuah tabel dengan row dan kolom
#Rows = kardinality, #fields = derajat
Schema : Menspesifikasikan nama dari relasi, dan nama dari masing masing kolom.
Students(sid: string, name: string, login: string, age: integer, gpa: real).
Contoh instance dari sebuah students relation
Kardinalitas = 3, degree = 5, all rows distinct
Bahasa Query Relational
· Keunggulan utama dari Relational model adalah:Support yang sederhana dan powerful dalam querying data
· Query harus dapat ditulis berdasarkan keinginan dari user dan DBMS dapat melakukan evaluasi hasil query secara efisien
SQL Query Language
· Dikembangkan oleh IBM(system R) pada tahun 1970-an
· Membutuhkan suatu standard karena bahasa ini digunakan oleh banyak vendor
· Standard-standard:
– SQL-86
– SQL-89 (revisi minor)
– SQL-92 (revisi mayor)
– SQL-99(Mayor penambahan,standard yang dipakai sampai sekarang)
· Contoh bahasa SQL ,untuk mendapatkan semua student yang berumur 18 tahun.
SELECT * FROM
Students S
WHERE S.age=18
· Jika yang dicari hanya nama dan login aja, gantilah baris pertama dgn:
SELECT S.name, S.login
Querying Multiple Relations
· Apa yang didapatkan dari hasil query di bawah ini:
SELECT S.name, E.cid
FROM Students S, Enrolled E
WHERE S.sid=E.sid AND E.grade=“A”
Hasil Querying Multiple Relations
Dari query pada slide sebelumnya maka kita akan mendapatkan hasil :
Membuat relasi dalam SQL
· Membuat relasi pada Students , amati bahwa tipe dari masing-masing field telah diketahui spesifikasinya.
CREATE TABLE Students
(sid: CHAR(20),
name: CHAR(20),
login: CHAR(10),
age: INTEGER,
gpa: REAL)
· Kemudian buatlah tabel enrolled, dimana tabel enrolled ini menyimpan informasi-informasi tentang mata kuliah yang diambil oleh students.
CREATE TABLE Enrolled
(sid: CHAR(20),
cid: CHAR(20),
grade: CHAR(2))
Menghapus dan merubah Relasi
DROP TABLE Students
· Query diatas akan menghapus semua relasi pada students.selain itu informasi schema dan baris (tuple) juga akan dihapus.
ALTER TABLE Students ADD COLUMN firstYear: integer
· Sedangkan untuk query yang kedua akan merubah schema dari students dengan menambahkan filed baru, dan setiap baris yang ada akan ditambahkan nilai baru yaitu nilai null
Menambah dan menghapus baris (Tuples)
· Untuk menambahkan baris tunggal dapt menggunakan query seperti berikut ini:
INSERT INTO Students (sid, name, login,age, gpa)VALUES (53688, ‘Smith’, ‘smith@ee’, 18, 3.2)
· Sedangkan untuk menghapus semua baris yang memenuhi kondisi –kondisi tertentu.
DELETE
FROM Students S
WHERE S.name = ‘Smith’
marzuki said
jangan menampilkan keterangan yang bahannya masih simpang siur tampilan pada email anda terlalu mengada-ngada (hayalan tingkat tinggi), setelah saya coba sistem basis data yang anda tampilkan semuanya nilai nol. terima kasih