Showing posts with label Desain Database. Show all posts
Showing posts with label Desain Database. Show all posts
A. Operator JOIN
Operator join adalah mengambil dua relasi dan mengembalikan nilai yang berasal dari
relasi tersebut, Operasi ini biasanya menjadi expresi subquery dari klausa FROM,.
Setiap variasi dari operasi dalam SQL terdiri dari tipe join dan kondisi join. Kondisi
join mendifinisikan record dari dua relasi yang sama, dan atribut apa yang muncul
dari hasil join. Tipe join mendefinisikan bagaimana record dari setiap relasi yang
tidak sama dengan record lain dalam relasi lainnya.
INNER JOIN
Merupakan operasi paling umum digunakan dalam aplikasi dan dapat dianggap
sebagai tipe join yang standart. Inner join menghasilkan table baru dengan
menggabungkan nilai-nilai kolom dari dua tabel (A dan B) didasarkan pada predikat
join
SELECT *
FROM employees INNER JOIN departments
ON employees.Department_ID =
departments.Department_ID;
SELECT *
FROM employees, departments
WHERE employees.Department_ID =
departments.Department_ID;
Query di atas merupakan notasi join secara implisit yang penggabungankan dua table
atau lebih.
EQUI-JOIN
Adalah join yang berbasis perbandingan equal.
SELECT *
FROM employees,job_history
where employees.employee_id = job_history.employee_id;
NATURAL JOIN
Merupakan operasi equijoin dengan memperlakukan nama-nama kolom yang sama
sebagai kolom penghubung antara table.
SELECT *
FROM employees NATURAL JOIN departments;
CROSS JOIN
Merupakan perkalian kartesian dalam pemakaian klausa FROM.
SELECT *
FROM employees CROSS JOIN departments;
SELECT *
FROM employees, departments;
LEFT OUTER JOIN
Merupakan penggabungan table dimana hasil penggabungan table A dan B adalah
hasil inner join kedua table tersebut ditambah dengan record dari tabel yang kiri
(dalam hal ini adalah table A).
CREATE TABLE employee (
LastName varchar(25),
DepartmentID int
);
CREATE TABLE department (
DepartmentID int UNIQUE,
DepartmentName varchar(25)
);
ALTER TABLE employee
ADD CONSTRAINT fk_employee_dept
FOREIGN KEY (DepartmentID)
REFERENCES department(DepartmentID);
INSERT INTO department VALUES (31, 'Sales');
INSERT INTO department VALUES (33, 'Engineering');
INSERT INTO department VALUES (34, 'Clerical');
INSERT INTO department VALUES (35, 'Marketing');
INSERT INTO employee VALUES ('Xrobot', 31);
INSERT INTO employee VALUES ('Mugn', 33);
INSERT INTO employee VALUES ('Lesto', 33);
INSERT INTO employee VALUES ('tollo', 34);
INSERT INTO employee VALUES ('nakula', 34);
INSERT INTO employee VALUES ('Kamtiez', NULL);
SELECT *
FROM employee LEFT OUTER JOIN department
ON employee.DepartmentID = department.DepartmentID;
RIGHT OUTER JOIN
Merupakan kebalikan dari left outer join dimana hasil penggabungan table A dan B
selalu record tabel yang kanan (dalam hal ini adalah table B).
SELECT *
FROM employee RIGHT OUTER JOIN department
ON employee.DepartmentID = department.DepartmentID;
FULL OUTER JOIN
Merupakan kombinasi dari left outer join dan right outher join dimana hasil
penggabungan table A dan B jika ada NULL selalu di tampilkan baik kiri maupun
kanan pada table.
SELECT *
FROM employee
FULL OUTER JOIN department
ON employee.DepartmentID = department.DepartmentID;
SELF-JOIN
Merupakan penggabungan atau join sebuah table dengan table itu sendiri
SELECT F.Employee_ID, F.Last_Name, S.Employee_ID, S.Last_Name,
F.JOB_ID
FROM Employees F, Employees S
WHERE F.JOB_ID= S.JOB_ID
AND F.Employee_ID < S.Employee_ID
ORDER BY F.Employee_ID, S.Employee_ID;
Operator Join
A. CDM (Conceptual Data Model)
CDM adalah model yang dibuat berdasarkan anggapan bahwa dunia nyata terdiri dari koleksi
obyek-obyek dasar yang dinamakan entitas (entity) serta hubungan (relationship) antara entitas-
entitas itu. Biasanya CDM direpresentasikan dalam bentuk Entity Relationship Diagram.
Manfaat Penggunaan CDM dalam perancangan database :
- Memberikan gambaran yang lengkap dari struktur basis data yaitu arti, hubungan, dan
batasan-batasan
- Alat komunikasi antar pemakai basis data, designer, dan analis.
B. PDM (Phsical Data Model)
Merupakan model yang menggunakan sejumlah tabel untuk menggambarkan data serta
hubungan antara data-data tersebut. Setiap tabel mempunyai sejumlah kolom di mana setiap
kolom memiliki nama yang unik.
C. Perbedaan CDM dan PDM
CDM : perancangan basis data yang berdasarkan pengumpulan data dan analisis.
Pembuatan CDM adalah suatu tahap dimana kita melakukan proses indentifikasi dan analisa
kebutuhan-kebutuhan data dan ini disebut pengumpulan data dan analisa. Untuk menentukan
kebutuhan-kebutuhan suatu sistem database, kita harus mengenal terlebih dahulu bagian-
bagian lain dari sistem informasi yang akan berinteraksi dengan sistem database. Tipe data
bersifat general dan tidak spesifik.
PDM : Perancangan database secara fisik. Tipe data bersifat lebih khusus dan spesifik.
Perancangan PDM merupakan representasi fisik / sebenarnya dari database.
Menurut ANSI/SPARC, arsitektur basis data terbagi atas tiga level yaitu :
~ Internal/Physical Level : (yang dapat direpresentasikan dengan PDM) berhubungan dengan
bagaimana data disimpan secara fisik (physical storage)
~ External /View Level : berhubungan dengan bagaimana data di representasikan dari sisi setiap
user.
~ Conceptual/Logical Level : (yang dapat direpsesentasikan dengan CDM) yang menghubungkan
antara internal & external level
D. Kardinalitas
a. One-to-one
Derajat satu dan hanya satu pada kedua arah. Tipe ini jarang, dan mungkin benar-benar
merupakan entity yang sama, atau attribute dari entity. Contoh: Relasi antara suami dan
istri.
b. Many-to-one
Derajat satu atau lebih pada satu arah dan derajat satu dan hanya satu pada arah lainnya.
Tipe ini sangat umum. Contoh: Relasi antara penumpang dan pesawat.
c. Many-to-many
Derajat satu atau lebih pada kedua arah. Tipe ini sangat umum. Contoh: Relasi antara karyawan dan keahlian.
Conceptual Data Model & Physical Data Model
Subscribe to:
Posts
(
Atom
)