- ERD : entity , attribute/property, relationship, entity identifier key, relationship type, participation
- Strong entity: - Weak entity:
- Composite Atribute, atribut punya attribute lain (alamat ada jalan, kota, kode pos)
- Derived Atribute: atribut didapat dari perhitungan atribut lain( mhs punya umur dan
ipk)
- Relationship : hubungan antar entity -> dibagi 4 -> unary (libatkan 1 entity , hubungan dgn diri sendirinya) ,
Binary (hubungan antar 2 entity), Ternary (libatkan 3 entity yang saling berhubungan), N-ary (libatkan N
entity)
- Tipe relationship: one to one (1:1) , one to many (1:N), many to many (N:M)
- Total participation & Partial Participation:
Maksudnya disitu adalah partial participation -> employee belum tentu
punya license, sedangkan apabila ada license pasti ada employee (Total
participation)
- Dua gambar relasi bawah itu aturan peter chen: yang mengartikan
bahwa employee minim manage 0 department dan max 1
sedangkan department minim dimanage 1 employee
dan max 1 employee
- 6 RULE FD :
- Key Finding:
- FFD & PFD :
Misal ada R(A,B,C)
A-->C
A-->B
Key: A
Maka C dan B FFD terhadap A
Misal R(A,B,C,D)
AB-->D
A-->C
C-->D
Key: AB
Maka C dan D PFD terhadap AB
- HNF :
1NF --> terjadi apabila NKA ada yang PFD , kalau NKA FFD semua maka lanjut pengecekkan selanjutnya
2NF --> terjadi apabila ada ketergantungan , apabila tidak ada maka lanjut pengecekkan berikutnya (contoh
dari ketergantungan: A-->B , B-->C maka C bergantung B dimana B hanya bisa diketahui lewat A)
3NF --> Determinan (yang menunjuk) ada yang bukan key , jika semua determinan adalah key maka lanjut
BCNF (contoh misal : ada R(A,B,C) lalu ÀB-->C , C --> B , maka key nya adalah AB, AC , lalu determinan adalah
AB,C dan C bukan key maka stop di 3NF)
BCNF --> terjadi bila lolos 1NF,2NF,3NF, semua determinan adalah key
- SQL :
SHOW DATABASES;
CREATE DATABASE [IF NOT EXISTS] database_name
[CHARACTER SET charset_name]
[COLLATE collation_name]
USE database_name;
SHOW CREATE DATABASE database_name;
SELECT DATABASE(); *untuk create database manual
DROP DATABASE database_name; *untuk hapus database
- Data type:
String : varchar(), char(), text(), mediumtext(), longtext(),dll
Numeric: int(),integer(),boolean(),bit(),float(size,d),double(size,d),decimal(size,d),dec(size,d),dll
Date&Time: date(dd/mm/yyyy), datetime(tgl dan jam), timestamp (current_timestamp : tgl dan jam
sekarang), time(jam : menit : detik) , year (yyyy)
- Constraint :
Not null --> tidak boleh kosong
Primary key --> PK (tiap field atau colum yg dibuat)
Foreign key --> FK (penyambung relasi)
Constraint check --> beri pengecekkan (seperti if, operator juga pakai and atau or , < ,> ,<=, >= ,=)
Default --> value default kalau diisi
Unique --> unik
[<Constraint Table>]
);
Contoh mengaplikasikan:
CREATE TABLE Mhs
(
NRP char(9) PRIMARY KEY,
Nama varchar(30) NOT NULL
);
- Tambah field/kolom:
ALTER TABLE <nama table> ADD (<field> <tipedata>(ukuran) <constraint>)
contoh:
ALTER TABLE Mhs2 ADD (Alamat varchar(20));
Contoh multiple:
ALTER TABLE Mhs2 ADD (KodePos number(4), Kota varchar2(10));
- Drop column:
ALTER TABLE <nama table> DROP COLUMN <field>;
Contoh:
ALTER TABLE Mhs2 DROP COLUMN Kota;
- Mengubah kolom :
ALTER TABLE <nama table> CHANGE COLUMN <nama lama> <nama baru> <data type> <constraint>;
Contoh:
ALTER TABLE Mhs2 CHANGE COLUMN nama nama_lengkap VARCHAR(100) NOT NULL;
- Hapus constraint:
ALTER TABLE <nama table> DROP CONSTRAINT <nama constraint>;
Contoh:
ALTER TABLE nilai DROP CONSTRAINT PK_nilai;
- Tambah constraint:
ALTER TABLE <nama table> ADD CONSTRAINT <nama constraint> <constraint type> (<nama field>);
Contoh:
ALTER TABLE Mhs2 ADD CONSTRAINT PK_Mhs2 PRIMARY KEY(NRP);
- Drop table:
DROP TABLE <nama table>;
Contoh:
DROP TABLE Mhs2;
Aturan drop table apabila misal, ada table tv show , movie, dan user. Lalu user punya foreign key terhadap tv
show dan movie , maka yang di drop dulu adalah:
DROP TABLE user;
DROP TABLE show;
DROP TABLE movie;
Supaya tidak error hapus yang punya foreign key yaitu user setelah itu bebas hapus yang mana
- Rename table:
RENAME TABLE <nama table lama> to <nama table baru>;
Contoh:
Rename Mhs2 to Mahasiswa;
- Contoh insert:
- Contoh update:
update barang
set jumlah=13
where kode_barang=5;
UPDATE barang
SET jumlah=1
WHERE nama_barang="Pensil";
update barang
set jumlah=9, nama_barang="Barang Baru", harga=17500
where kode_barang=1;
update barang
set jumlah=99
where nama_barang="lapTop";
UPDATE barang
SET jumlah=88
WHERE kode_barang=2 OR kode_barang=3 OR nama_barang="mouse";
UPDATE barang
set nama_barang=CONCAT(nama_barang," NEW")
where nama_barang like "pe%";
- Untuk delete:
*pakai select , dari table apa, lalu where itu kondisi, untuk order itu select kolom asc dan dsc itu urutan,
untuk limit itu 0 = start , 1 = banyak data yg diambil (bebas set berapa aja)
select CONCAT(contactFirstName," ",contactLastName) as "nama customer",
creditLimit "kredit limit"
from customers; *contoh lain
select c.customerName,
CONCAT(e.firstName," ",e.lastName)
from customers c, employees e
where c.salesRepEmployeeNumber=e.employeeNumber; *contoh lain