CREATE TABLE dosen(
kode_dosen char(5) PRIMARY KEY NOT NULL,
nama_dosen char(40) NOT NULL,
gelar char(40) NOT NULL,
email_dosen char(40) NOT NULL);
CREATE TABLE mahasiswa(
nrp char(10) PRIMARY KEY NOT NULL,
nama_mhs char(40) NOT NULL,
email_mhs char(40) NOT NULL);
CREATE TABLE kuliah(
kode_mk char(5) PRIMARY KEY NOT NULL,
nama_mk char(40) NOT NULL,
semester int,
sks int,
kode_dosen char(5),
FOREIGN KEY (kode_dosen) REFERENCES dosen(kode_dosen)
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE=INNODB;
CREATE TABLE jadwal(
kode_jadwal char(5) PRIMARY KEY NOT NULL,
jam_mulai char(6) NOT NULL,
jam_akhir char(6) NOT NULL,
hari char(10),
nrp char(10),
FOREIGN KEY (nrp) REFERENCES mahasiswa(nrp)
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE=INNODB;
CREATE TABLE R2(
kode_mk char(5) NOT NULL,
kode_jadwal char(5) NOT NULL,
FOREIGN KEY (kode_mk) REFERENCES kuliah(kode_mk),
FOREIGN KEY (kode_jadwal) REFERENCES jadwal(kode_jadwal)
ON DELETE RESTRICT
ON UPDATE CASCADE)
ENGINE=INNODB
Menambah field baru (field tanggal_lahir
tipe data DATE) ke tabel Mahasiswa
ALTER TABLE mahasiswa
ADD tanggal_lahir DATE
Query dari 1 tabel, mencari nama
mahasiswa yang dimulai dengan kata ‘Muhammad’ dan lahir tahun 2002 (fungsi
YEAR) dari tabel Mahasiswa
SELECT
mahasiswa.nrp,mahasiswa.nama_mhs
FROM mahasiswa
WHERE mahasiswa.nama_mhs LIKE
'Muhammad%'
AND YEAR(mahasiswa.tanggal_lahir) =
'2002'
Query dari 2 tabel menggunakan NATURAL
JOIN, dari tabel Dosen dan tabel Kuliah dengan kriteria SKS = 3 dan nama kuliah
ada kata ‘Basis Data’nya
SELECT dosen.nama_dosen,
kuliah.nama_mk
FROM dosen NATURAL JOIN kuliah
WHERE kuliah.sks = 3
OR kuliah.nama_mk LIKE '%Basis Data%'
Query dari 2 tabel menggunakan REFERENTIAL
INTEGRITY, dari tabel Dosen dan tabel Kuliah (dengan alias D dan K) dengan kriteria
SKS = 3 dan nama kuliah ada kata ‘Basis Data’nya menggunakan fungsi LIKE %
SELECT D.nama_dosen, K.nama_mk
FROM dosen D, kuliah K
WHERE d.kode_dosen=k.kode_dosen
AND K.sks = 3
OR K.nama_mk LIKE '%Basis Data%'
Query dari 3 tabel menggunakan REFERENTIAL
INTEGRITY, dari tabel Kuliah, R2 dan Jadwal dengan kriteria jadwal hari ‘Senin’
SELECT kuliah.nama_mk, kuliah.sks,
jadwal.hari
FROM kuliah,r2,jadwal
WHERE kuliah.kode_mk=r2.kode_mk
AND r2.kode_jadwal=jadwal.kode_jadwal
AND jadwal.hari = 'Senin'
Query dari 2 tabel menggunakan NATURAL
JOIN, mencari nama dosen dan gelar dengan SKS yang sama dengan 3 dan semester
kuliah 1,3 dan 5 (gunakan fungsi IN)
SELECT dosen.nama_dosen,dosen.gelar
FROM dosen NATURAL JOIN kuliah
WHERE kuliah.sks = 3
AND kuliah.semester IN (1,3,5)
Comments
Post a Comment