Anda di halaman 1dari 7

BASDAT

- ERD : entity , attribute/property, relationship, entity identifier key, relationship type, participation
- Strong entity: - Weak entity:

- Atribute: Field/ column dalam sebuah entity

- Composite Atribute, atribut punya attribute lain (alamat ada jalan, kota, kode pos)

- Multivalue Atribute: seseorang punya 4 gelar (jadi gelar multivalue)

- Derived Atribute: atribut didapat dari perhitungan atribut lain( mhs punya umur dan
ipk)

- Entity identifier / primary key:

- 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)

- Relationship : - Weak relationship (biasanya di weak 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)

- Di gambar itu employee memanage department minim 0 max 1,


sedangkan department dimanage employee minim 1, max 1 (aturan
(min,max)). Di bagian bawahnya , employee kerja di deparment
minim 1, max 1 , sedangkan department dikerjakan employee
minim 1 , max N

- 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

SHOW <DATABASES/TABLES>; untuk show table /database


CREATE DATABASE <nama database>; untuk create database
DROP DATABASE <nama database>; drop/delete database
USE <nama database yang dibuat>; untuk pakai database tersebut

- 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

- Contoh create table:


CREATE TABLE <nama table>
(
<field1> <tipedata> (<ukuran>) (<DEFAULT nilai_default>) [<Constraint kolom…>],

<field2> <tipedata> (<ukuran>) (<DEFAULT nilai_default>) [<Constraint kolom…>],


[….],

[<Constraint Table>]
);
Contoh mengaplikasikan:
CREATE TABLE Mhs
(
NRP char(9) PRIMARY KEY,
Nama varchar(30) NOT NULL
);

- Untuk menampilkan table:


DESC <Nama_Tabel>;
SHOW CREATE TABLE <Nama_Tabel>;

- 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;

- Merubah tipe data:


ALTER TABLE <nama table> MODIFY <field> <data type>(ukuran);
Contoh:
ALTER TABLE Mhs2 MODIFY alamat VARCHAR(200);
Atau
ALTER TABLE <nama table> MODIFY (<field> <data type>() , <field> <data type>());
Contoh:
ALTER TABLE Mhs2 MODIFY (alamat VARCHAT(500) , nama_lengkap VARCHAR(100));

- 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;

- Truncate / delete all:


TRUNCATE TABLE <nama table>;
Contoh:
TRUNCATE TABLE Mahasiswa;

- Contoh case create table:

create database basdat24;


use basdat24;
create table barang (
kode_barang int auto_increment primary key,
nama_barang varchar(50),
jumlah int,
harga decimal(8,2),
tgl_beli date,
tgl_catat timestamp default(current_timestamp),
CONSTRAINT CHK_Jumlah CHECK (jumlah>=1 AND jumlah<=100)
);

- Contoh insert:

insert into barang


(kode_barang, nama_barang, jumlah)
values
(1, "Buku Tulis", 5);

insert into barang


values
(3, "Penghapus", 10, 3500, "2024-03-14", "2024-03-14");
insert into barang
(nama_barang, jumlah)
values
("Laptop", 3);

insert into barang


(jumlah, nama_barang)
values
(9, "Mouse");
Untuk insert : sebut nama field yang ingin diinsert, kalau tidak maka isi lengkap semua field, misal sudah
sebut nama field maka masukkan urut sesuai penyebutan

- 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%";

"%ng" -- puyeNG, kenyaNG


"ng%" -- NGantuk
"%ng%" -- aNGin, NGapain, kembuNG
Untuk update ini : where itu seperti kondisi mana yang mau diubah, concat itu untuk gabungkan string

- Untuk delete:

delete from barang where nama_barang="Laptop";


delete hampir sama dengan update jangan lupa gunakan where

- Kondisi apabila diberi data lalu suruh seleksi data:

SELECT productNAme, buyprice, msrp /*nama field tidak case sensitive*/


FROM products
WHERE buyprice>50 AND
msrp<200 AND /*ini bisa AND dan OR*/
LENGTH(productname)<15
ORDER BY 1 ASC, 3 DESC /* 1 dan 3 adalah kolom yang Anda select*/
LIMIT 0,1; /* 0,1 artinya start data ke-0, diambil 1 data*/

*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

SELECT e.firstname, e.lastname, o.city


FROM employees e, offices o
WHERE e.officeCode=o.officecode; *contoh lain

select p.amount, p.paymentDate


from payments p, customers c
where c.customerNumber=p.customerNumber and
c.customerName = "Australian Collectors, Co." and
year(p.paymentDate)=2004; *contoh lain

Anda mungkin juga menyukai