DIK-034 Database Berbasis Web
DIK-034 Database Berbasis Web Database Relasional Dr. Taufik Fuadi Abidin, M.Tech Program D3 Manajemen Informatika FMIPA UNIVERSITAS KUALA
DIK-034 Database Berbasis Web
Database Database = kumpulan data dalam jumlah besar dan saling terkait. Contoh: data bank reservasi airline
Database memodelkan data organisasi, enterprise, universitas, dan lain-lain Entities (students, courses) Relationships (“Ali mengambil DBW T.A 2010/11”)
Perubahan organisasi berarti perubahan database 2
DIK-034 Database Berbasis Web
Tahapan Dalam Rancangan DB Problem Requirements Analysis
Data Requirements Data Analysis, Conceptual Design
Conceptual Schema Logical Database Design
Logical Schema Physical Database Design
Physical Schema 3
DIK-034 Database Berbasis Web
Different Schemas, Different Concepts Conceptual Schema
Logical Schema
ER: Tables/Relations: • Entities, • column names/attributes • Relationships, • rows/tuples • Attributes
Physical Schema
File organisation: • File types • Index structures 4
DIK-034 Database Berbasis Web
Table name
Tabel (Table)
Product: Name
gizmo
Price
$19.99
Column names
Category
gadgets
Manufacturer
GizmoWorks
Power gizmo
$29.99
gadgets
SingleTouch
$149.99
photography
Canon
household
Hitachi
MultiTouch
$203.99
GizmoWorks
Rows 5
DIK-034 Database Berbasis Web
Relation Schemas Relation schema R(A1:D1, ..., An:Dn) Terdiri atas Nama, R Nonemtpy set attributes, A1, ..., An Domain, Di = dom(Ai), untuk setiap attribute Ai. Contoh: Product(Prodname: Name, Price: DollarPrice, Category: Name, Manufacturer: Name) 6
DIK-034 Database Berbasis Web
Database Schema dan Instance Database Schema Set of relation schemas, e.g., Product (Productname, Price, Category, Manufacturer), Vendor (Vendorname, Address, Phone), …
Database Instance Set of relation instances Perbedaan: Database Schema = stable, jarang berubah Database Instance = sering berubah
7
DIK-034 Database Berbasis Web
Why Relational DB? Model sederhana Cocok dengan cara kita memvisualisasikan data Berbasis logik dan teori himpunan (set theory) Abstract model pendukung SQL, bahasa yang digunakan oleh banyak DBMS sekarang ini
8
DIK-034 Database Berbasis Web
Keys: Overview Superkey a set of attributes whose values together uniquely identify a tuple in a relation Candidate Key a superkey for which no proper subset is a superkey: a key that is minimal . Can be more than one for a relation Primary Key a candidate key chosen to be the main key One for each relation, indicated by underlining the key attributes Student(studno,name,tutor,year)
9
DIK-034 Database Berbasis Web
Example: Multiple Keys Student (Lastname, Firstname,
MatriculationNo, Major )
Key
Key
(2 attributes) Superkey Note: There are alternate keys
Keys are {Lastname, Firstname} and {StudentID} 10
DIK-034 Database Berbasis Web
Foreign Key A set of attributes in a relation that exactly matches the (primary) key in another relation The names of the attributes don’t have to be the same but must be of the same domain Student (studno, name, hons, tutor, year) Staff (lecturer, roomno, appraiser) Notation: FK1: Student (tutor) references Staff (lecturer) FK2: Staff (appraiser) references Staff (lecturer) 11
DIK-034 Database Berbasis Web
Satisfaction of Foreign Key Constraints “FK: R(A) references S(B)” is satisfied by an instance of R and S if for every t1 in R there is a t2 in S such that t1[A] = t2[B], provided t1[A] is not null STUDENT studno name s1 jones s2 brown s3 smith s4 bloggs s5 jones s6 peters
hons ca cis cs ca cs ca
tutor bush kahn goble goble zobel kahn
year 2 2 2 1 1 3
STAFF lecturer kahn bush goble zobel watson woods capon lindsey barringer
roomno IT206 2.26 2.82 2.34 IT212 IT204 A14 2.10 2.125
appraiser watson capon capon watson barringer barringer watson woods null
Foreign key constraints are also called “referential integrity constraints.” 12
DIK-034 Database Berbasis Web
Insertions (1) If the following tuple is inserted into Student, what should happen? Why? (s1, jones, cis, capon, 3) STUDENT studno name s1 jones s2 brown s3 smith s4 bloggs s5 jones s6 peters
hons ca cis cs ca cs ca
tutor bush kahn goble goble zobel kahn
year 2 2 2 1 1 3
STAFF lecturer kahn bush goble zobel watson woods capon lindsey barringer
roomno IT206 2.26 2.82 2.34 IT212 IT204 A14 2.10 2.125
appraiser watson capon capon watson barringer barringer watson woods null 13
DIK-034 Database Berbasis Web
Insertions (2) If the following tuple is inserted into Student, what should happen? Why? (null, jones, cis, capon, 3) STUDENT studno name s1 jones s2 brown s3 smith s4 bloggs s5 jones s6 peters
hons ca cis cs ca cs ca
tutor bush kahn goble goble zobel kahn
year 2 2 2 1 1 3
STAFF lecturer kahn bush goble zobel watson woods capon lindsey barringer
roomno IT206 2.26 2.82 2.34 IT212 IT204 A14 2.10 2.125
appraiser watson capon capon watson barringer barringer watson woods null 14
DIK-034 Database Berbasis Web
Insertions (3) If the following tuple is inserted into Student, what should happen? Why? (s7, jones, cis, null, 3) STUDENT studno name s1 jones s2 brown s3 smith s4 bloggs s5 jones s6 peters
hons ca cis cs ca cs ca
tutor bush kahn goble goble zobel kahn
year 2 2 2 1 1 3
STAFF lecturer kahn bush goble zobel watson woods capon lindsey barringer
roomno IT206 2.26 2.82 2.34 IT212 IT204 A14 2.10 2.125
appraiser watson capon capon watson barringer barringer watson woods null 15
DIK-034 Database Berbasis Web
Insertions (4) If the following tuple is inserted into Student, what should happen? Why? (s7, jones, cis, calvanese, 3) STUDENT studno name s1 jones s2 brown s3 smith s4 bloggs s5 jones s6 peters
hons ca cis cs ca cs ca
tutor bush kahn goble goble zobel kahn
year 2 2 2 1 1 3
STAFF lecturer kahn bush goble zobel watson woods capon lindsey barringer
roomno IT206 2.26 2.82 2.34 IT212 IT204 A14 2.10 2.125
appraiser watson capon capon watson barringer barringer watson woods null 16
DIK-034 Database Berbasis Web
Deletions (1) If the following tuple is deleted from Student, is there a problem? And what should happen? (s2, brown, cis, kahn, 2) STUDENT studno name s1 jones s2 brown s3 smith s4 bloggs s5 jones s6 peters
hons ca cis cs ca cs ca
tutor bush kahn goble goble zobel kahn
year 2 2 2 1 1 3
STAFF lecturer kahn bush goble zobel watson woods capon lindsey barringer
roomno IT206 2.26 2.82 2.34 IT212 IT204 A14 2.10 2.125
appraiser watson capon capon watson barringer barringer watson woods null 17
DIK-034 Database Berbasis Web
Deletions (2) And if this one is deleted from Staff ? (kahn, IT206, watson) STUDENT studno name s1 jones s2 brown s3 smith s4 bloggs s5 jones s6 peters
hons ca cis cs ca cs ca
tutor bush kahn goble goble zobel kahn
year 2 2 2 1 1 3
STAFF lecturer kahn bush goble zobel watson woods capon lindsey barringer
roomno IT206 2.26 2.82 2.34 IT212 IT204 A14 2.10 2.125
appraiser watson capon capon watson barringer barringer watson woods null 18
DIK-034 Database Berbasis Web
Modifications (1) What if we change in Student (s1, jones, ca, bush, 2) to (s1, jones, ca, watson, 2) ? STUDENT studno name s1 jones s2 brown s3 smith s4 bloggs s5 jones s6 peters
hons ca cis cs ca cs ca
tutor bush kahn goble goble zobel kahn
year 2 2 2 1 1 3
STAFF lecturer kahn bush goble zobel watson woods capon lindsey barringer
roomno IT206 2.26 2.82 2.34 IT212 IT204 A14 2.10 2.125
appraiser watson capon capon watson barringer barringer watson woods null 19
DIK-034 Database Berbasis Web
Modifications (2) And what if we change in Student (s2, brown, cis, kahn, 2) to (s1, jones, ca, bloggs, 2) ? STUDENT studno name s1 jones s2 brown s3 smith s4 bloggs s5 jones s6 peters
hons ca cis cs ca cs ca
tutor bush kahn goble goble zobel kahn
year 2 2 2 1 1 3
STAFF lecturer kahn bush goble zobel watson woods capon lindsey barringer
roomno IT206 2.26 2.82 2.34 IT212 IT204 A14 2.10 2.125
appraiser watson capon capon watson barringer barringer watson woods null 20
DIK-034 Database Berbasis Web
Modifications (3) And what if we change in Staff (lindsey, 2.10, woods) to (lindsay, 2.10, woods) ? STUDENT studno name s1 jones s2 brown s3 smith s4 bloggs s5 jones s6 peters
hons ca cis cs ca cs ca
tutor bush kahn goble goble zobel kahn
year 2 2 2 1 1 3
STAFF lecturer kahn bush goble zobel watson woods capon lindsey barringer
roomno IT206 2.26 2.82 2.34 IT212 IT204 A14 2.10 2.125
appraiser watson capon capon watson barringer barringer watson woods null 21