IF21W0206 Pemograman Basis Data : Latihan PHPMyAdmin

 

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


Insert record baru


 

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