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