Deden06sttg's Weblog

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’

Satu Tanggapan to “Sistem Basis Data [pendahuluan]”

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

Tinggalkan komentar