basis data i...basis data i pertemuan ke-4 & ke-5 (model relasional – part 1) noor ifada...
TRANSCRIPT
![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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062605/5fda3bb796d2d30ae479d49d/html5/thumbnails/16.jpg)
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