basis data i...basis data i pertemuan ke-4 & ke-5 (model relasional – part 1) noor ifada...

16
1 Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada [email protected] 1

Upload: others

Post on 25-Aug-2020

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

1

Basis Data I

Pertemuan Ke-4 & ke-5(Model Relasional – Part 1)

Noor Ifada

[email protected]

1

Page 2: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

2

Sub Pokok Bahasan

Model Relasional

SQL (Structured Query Language)

Integrity Constraint

Transformasi ER ke Relasional

2

Page 3: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

3

Model Relasional

Model (basisdata) Relasional: suatu basisdata dimodelkan sebagai kumpulan relasi

Relasi merupakan Tabel/Table/Relation/File yang terdiri dari:

Baris/Row/Tuple/Record (masing-masing baris tidak boleh ada yang sama)

Kolom/Column/Attribute/Field

Contoh skema tabel/relasi:

Students(sid: string, name: string, login: string, age: integer, gpa: real)

Students

3

Page 4: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

4

SQL (Structured Query Language)

Adalah bahasa standar yang digunakan untuk memanipulasi basisdata relasionalDikembangkan oleh IBM pada tahun 1970-anStandar SQL:

SQL-86 SQL-89 (minor revision) SQL-92 (major revision) SQL-99 (major extensions, current standard)

Terdiri dari: Data Definition Language (DDL): CREATE tables, indexes, views, Establish

primary / foreign keys, DROP / ALTER tables .... Etc Data Manipulation Language (DML): INSERT / UPDATE / DELETE, SELECT

.... etc. Data Control Language (DCL): COMMIT / ROLLBACK work, GRANT /

REVOKE .... etc

4

Page 5: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

5

Integrity Constraint (IC)

Merupakan kondisi yang dispesifikasikan dalam skema basisdata dan harus dipatuhi oleh setiap tabel/relasi dalam basisdata tersebut

Didefinisikan di dalam skema tabel/relasi

Pengecekan dilakukan setiap kali tabel/relasi dimodifikasi

Macam-macam IC:

Domain constraint

Primary key constraints

Foreign Key (referential integrity)

5

Page 6: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

6

Domain Constraint

6

Page 7: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

Primary Key (PK) Constraint

Primary key constraint: tidak boleh ada baris yang memiliki nilai yang sama dalam kolom PK

PK tidak boleh bernilai NULL

Boleh jadi ada beberapa/banyak candidate keys (didefinisikan dengan perintah UNIQUE), lalu salah satunya/sebagian dijadikan PK

Penggunaan PK yang salah, akan menyebabkan IC menolak penyimpanan data

Students

CREATE TABLE Students(sid CHAR(20),name CHAR(30),login CHAR(20),age INTEGER,gpa REAL,UNIQUE (name, age),CONSTRAINT StudentsKey PRIMARY KEY (sid) )

7

Page 8: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

8

Foreign Key (FK) Constraint

Foreign Key (referential integrity): kolom dalam suatu relasi yang digunakan dengan mengambil referensi dari relasi yang lain

FK dari relasi pertama (referencing relation) harus sama dengan PK dari relasi kedua (referenced relation) → jumlah kolomnya dan kesesuaian tipe data (nama kolom boleh beda)

CREATE TABLE Enrolled (sid CHAR(20),cid CHAR(20),grade CHAR(2),PRIMARY KEY (sid, cid),FOREIGN KEY (sid) REFERENCES Students )

CREATE TABLE Enrolled(sid CHAR(20),cid CHAR(20),grade CHAR(2),PRIMARY KEY (sid),UNIQUE (cid,grade),FOREIGN KEY (sid) REFERENCES Students ))

?8

Page 9: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

9

Foreign Key (FK) Constraint (contd)

Penerapan Referential integrity dalam SQL:

Default adalah NO ACTION (delete/update is rejected)

CASCADE (delete all tuples that refer to deleted tuple)

SET NULL/SET DEFAULT (sets foreign key value of referencing tuple)

CREATE TABLE Enrolled ( sid CHAR(20),cid CHAR(20),grade CHAR(10),PRIMARY KEY (sid, cid),FOREIGN KEY (sid) REFERENCES Students

ON DELETE CASCADEON UPDATE SET DEFAULT)

9

Page 10: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

10

Transformasi: ER ke Relasional

Entity SetRelationship set (tanpa constraint)Relationship set dengan key constraint (konektifitas)Relationship set dengan participation constraint (eksistansi)Weak entity set

10

Page 11: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

11

Entity Set

CREATE TABLE Employees (ssn CHAR(11),name CHAR(30) ,lot INTEGER,PRIMARY KEY (ssn) )

11

Page 12: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

12

Relationship Set (tanpa constraint)

CREATE TABLE Works_In2 (ssn CHAR(11),did INTEGER,address CHAR(20) ,since DATE,PRIMARY KEY (ssn, did, address),FOREIGN KEY (ssn) REFERENCES Employees,FOREIGN KEY (address) REFERENCES Locations,FOREIGN KEY (did) REFERENCES Departments)

12

Page 13: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

13

Relationship Set (tanpa constraint)

CREATE TABLE Reports_To (Supervisor_ssn CHAR (11),Subordinate_ssn CHAR (11) ,PRIMARY KEY (supervisor_ssn, subordinate_ssn),FOREIGN KEY (supervisor_ssn) REFERENCES Employees(ssn),FOREIGN KEY (subordinate_ssn) REFERENCES Employees(ssn) )

13

Page 14: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

14

Relationship Set + Key Constraint

CREATE TABLE Manages (ssn CHAR (11) ,did INTEGER,since DATE,PRIMARY KEY (did),FOREIGN KEY (ssn) REFERENCES Employees,FOREIGN KEY (did) REFERENCES Departments)

CREATE TABLE Dept_Mgr (did INTEGER,dname CHAR(20),budget REAL,ssn CHAR (11) NULL,since DATE,PRIMARY KEY (did),FOREIGN KEY (ssn) REFERENCES Employees)

14

?

Page 15: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

15

Relationship Set + Participation Constraint

CREATE TABLE Dept_Mgr (did INTEGER,dname CHAR(20) ,budget REAL,ssn CHAR(11) NOT NULL,since DATE,PRIMARY KEY (did),FOREIGN KEY (ssn) REFERENCES Employees

ON DELETE NO ACTION) 15

Page 16: Basis Data I...Basis Data I Pertemuan Ke-4 & ke-5 (Model Relasional – Part 1) Noor Ifada noor.ifada@if.trunojoyo.ac.id 2 Sub Pokok Bahasan Model Relasional SQL (Structured Query

16

Weak Entity Set

CREATE TABLE Dep_Policy (pname CHAR(20) ,age INTEGER,cost REAL,ssn CHAR (11) ,PRIMARY KEY (pname, ssn),FOREIGN KEY (ssn) REFERENCES Employees

ON DELETE CASCADE )

16