Cara membuat tabel mahasiswa di mysql
kali ini kita akan mencoba membuat database sistem akademik untuk mahasiswa beserta table-tablenya dengan mysql hal-hal yang di perlukan sebelum memulai perancangan database kali ini
jika belum mengsintal salah satu aplikasinya silahkan install terlebih dahulu silahkan buka cmd/terminal dan masuk ke mysql masing-masing pertama buat databasenya dahulu,disini saya menamakan databasenya db_akademik kalian bisa menggunakan nama lainnya sesuka kalian CREATE DATABASE db_akademik; jika berhasil maka hasilnya Query OK, 1 row affected…. kemudian jalankan perintah ` selanjutkan kita akan membuat tabel mahasiswa CREATE TABLE `tb_mahasiswa` ( `nim` varchar(15) NOT NULL, `nama` varchar(50) NOT NULL, `alamat` varchar(100) NOT NULL, RIMARY KEY (`nim`) ); tabel dosen CREATE TABLE `tb_dosen` ( `id_dosen` varchar(20) NOT NULL, `nama` varchar(50) NOT NULL, `email` varchar(50) DEFAULT NULL, `id_mata_kuliah` varchar(10) DEFAULT NULL, RIMARY KEY (`id_dosen`) ); tabel mata kuliah CREATE TABLE `tb_mata_kuliah` ( `id_mata_kuliah` varchar(10) NOT NULL, `nama_mata_kuliah` varchar(50) NOT NULL, RIMARY KEY (`id_mata_kuliah`) ); table kelas CREATE TABLE `tb_kelas` ( `kode_kelas` VARCHAR(10) NOT NULL , `nama_kelas` VARCHAR(100) NOT NULL , `lokasi_kelas` VARCHAR(100) NULL DEFAULT NULL, PRIMARY KEY (`kode_kelas`) ) table krs yang terelasi dengan table mata kuliah,mahasiswa,dan kelas CREATE TABLE `tb_krs` ( `id` INT NOT NULL AUTO_INCREMENT, `id_mata_kuliah` VARCHAR(10) NOT NULL, `kode_kelas` VARCHAR(10) NOT NULL, `nim` VARCHAR(15) NOT NULL, `sks` INT(3) NOT NULL, `tahun` VARCHAR(10) NOT NULL, `semester` INT(3) NOT NULL, PRIMARY KEY (`id`), INDEX (`id_mata_kuliah`), INDEX (`kode_kelas`), INDEX(`nim`), FOREIGN KEY(nim) REFERENCES tb_mahasiswa (nim) ON DELETE RESTRICT ON UPDATE CASCADE, FOREIGN KEY(id_mata_kuliah) REFERENCES tb_mata_kuliah (id_mata_kuliah) ON DELETE RESTRICT ON UPDATE CASCADE, FOREIGN KEY(kode_kelas) REFERENCES tb_kelas (kode_kelas) ON DELETE RESTRICT ON UPDATE CASCADE ) terakhir buat tabel nilai yang terelasi dengan tabel mata kuliah,dosen dan mahasiswa CREATE TABLE tb_nilai( id_nilai INT NOT NULL AUTO_INCREMENT, nim varchar(15), id_mata_kuliah varchar(10), id_dosen varchar(20), nilai INT not null, INDEX(nim), INDEX(id_mata_kuliah), INDEX(id_dosen), FOREIGN KEY(nim) REFERENCES tb_mahasiswa (nim) ON DELETE RESTRICT ON UPDATE CASCADE, FOREIGN KEY(id_mata_kuliah) REFERENCES tb_mata_kuliah(id_mata_kuliah) ON DELETE RESTRICT ON UPDATE CASCADE, FOREIGN KEY(id_dosen) REFERENCES tb_dosen(id_dosen) ON DELETE RESTRICT ON UPDATE CASCADE, PRIMARY KEY(id_nilai) ); jika sudah semua dan tidak ada masalah dan error,jika ada kolom yang namanya tidak sesuai atau ada kolom yang kurang kita bisa mengubah/menambah kolom dengan perintah ALTER alter table untuk me-rename atau mengubah nama kolom ALTER TABLE "nama_tabel" Change "kolom_lama" "kolom_baru" VARCHAR(30); alter table untuk menambah kolom ALTER TABLE nama_tabel ADD nama_kolom INT; kita bisa lanjut untuk mengisi data di setiap tabelnya tabel mahasiswa INSERT INTO `tb_mahasiswa` (`nim`, `nama`, `alamat`) VALUES ('193001', 'Muhammad Amir', 'Samarinda'), ('194001', 'Samsul Kurnia', 'Bontang'), ('194002', 'Bambang Arifin', 'Sangata'); tabel dosen INSERT INTO `tb_dosen` (`id_dosen`, `nama`, `email`, `id_mata_kuliah`) VALUES ('1001', 'Andri Basuki', '', 'MK001'), ('1003', 'zulfikar', '', 'MK004'), ('1004', 'yudi', '', NULL), ('1102', 'Annisa Fitria', '', 'MK002'); tabel mata kuliah INSERT INTO `tb_mata_kuliah` ( `id_mata_kuliah`, `nama_mata_kuliah` ) VALUES ('MK001', 'Sistem Basis Data'), ('MK002', 'Pemograman Berorientasi Objek'), ('MK003', 'Bahasa Inggris'), ('MK004', 'Algoritma Pemograman'); table kelas INSERT INTO `tb_kelas` ( `kode_kelas`, `nama_kelas`, `lokasi_kelas` ) VALUES ( 'SIS1J', 'Reguler A', 'Gedung Belakang' ); pastikan tidak ada error dan masalah jika kalian memasukan data yang salah dan ingin mengbahnya bisa menggunakan perintah UPDATE contoh : UPDATE `tb_mahasiswa` SET `nama`="nama baru" WHERE `nim`="193001"; Untuk menghapus data bisa menggunakan perintah DELETE DELETE FROM `tb_mahasiswa` WHERE `nim`="193001"; kemudian kita akan mencoba mengisi tabel nilai,di karenakan tabel nilai memiliki 3 foreign key yang artinya saat mengisi/memasukan nilainya harus sesuai dengan tabel-tabel yang terelasi dengannya INSERT INTO `tb_nilai` ( `id_nilai`, `nim`, `id_mata_kuliah`, `id_dosen`, `nilai` ) VALUES (1, '193001', 'MK001', '1001', 7); 193001 di ambil dari tabel tb_mahasiswa MK001 di ambil dari tabel tb_mata_kuliah 1001 di ambil dari tabel tb_dosen jika berhasil tanpa masalah dan error maka data nilai akan terinput,kalian bisa menginput lagi data tersebut kita lihat data tersebut menggunakan perintah “SELECT * FROM tb_nilai” hasilnya kira-kira akan seperti ini tidak ada yang salah dengan hasil di atas namun jika kita sebagai user tentunya informasi tersebut masih kurang lengkap,kita perlu menampilkan sesuai kebutuhan user misalnya jika user ingin melihat nilai beserta nama mahasiswa,nama mata kuliah serta nama dosennya untuk itu di mysql ada beberapa perintah yang bisa di pakai untuk melakukan hal ini yang pertama kita bisa mengabungkan 2 tabel atau lebih dengan menggunakan WHERE berdasarkan foreign keynya SELECT tb_mahasiswa.nama, tb_mata_kuliah.nama_mata_kuliah, tb_nilai.nilai from tb_nilai, tb_mahasiswa, tb_mata_kuliah WHERE tb_nilai.nim = tb_mahasiswa.nim AND tb_nilai.id_mata_kuliah = tb_mata_kuliah.id_mata_kuliah; maka hasilnya akan seperti ini yang kedua kita bisa menggunakan JOIN ,perintah JOIN memiliki 3 jenis yaitu INNER JOIN,LEFT JOIN,RIGHT JOIN info lengkapnya bisa di lihat disini contoh menggunakan INNER JOIN SELECT tb_mahasiswa.nama, tb_mata_kuliah.nama_mata_kuliah, tb_nilai.nilai from tb_nilai INNER JOIN tb_mahasiswa ON tb_nilai.nim = tb_mahasiswa.nim INNER JOIN tb_mata_kuliah ON tb_nilai.id_mata_kuliah = tb_mata_kuliah.id_mata_kuliah; berikurnya kita akan mengisi table krs INSERT INTO `tb_krs` ( `id`, `id_mata_kuliah`, `kode_kelas`, `nim`, `sks`, `tahun`, `semester` ) VALUES ( NULL, 'MK001', 'SIS1J', '193001', '3', '2019/2020', '2' ); sama halnya dengan table nilai kita akan menampilkan krs kita beserta nama mata kuliah dan nama kelas menggunakan INNER JOIN SELECT tb_mata_kuliah.id_mata_kuliah, tb_mata_kuliah.nama_mata_kuliah, tb_krs.sks, tb_kelas.kode_kelas FROM tb_krs INNER JOIN tb_kelas ON tb_kelas.kode_kelas = tb_krs.kode_kelas INNER JOIN tb_mata_kuliah ON tb_krs.id_mata_kuliah = tb_mata_kuliah.id_mata_kuliah mari kita tambah beberapa data lagi di table krs INSERT INTO `tb_krs` ( `id`, `id_mata_kuliah`, `kode_kelas`, `nim`, `sks`, `tahun`, `semester` ) VALUES ( NULL, 'MK002', 'SIS1J', '193001', '3', '2019/2020', '2' ), ( NULL, 'MK003', 'SIS1J', '193001', '3', '2019/2020', '2' ), ( NULL, 'MK004', 'SIS1J', '193001', '3', '2019/2020', '2' ), ( NULL, 'MK002', 'SIS1J', '194001', '3', '2019/2020', '2' ), ( NULL, 'MK002', 'SIS1J', '194001', '3', '2019/2020', '2' ), ( NULL, 'MK003', 'SIS1J', '194001', '3', '2019/2020', '2' ), ( NULL, 'MK004', 'SIS1J', '194001', '3', '2019/2020', '2' ); kita kan menampilkan data dengan inner join dan berdasarkan nim serta di urutkan berdasarkan nama mata kuliah SELECT tb_mata_kuliah.id_mata_kuliah, tb_mata_kuliah.nama_mata_kuliah, tb_krs.sks, tb_kelas.kode_kelas FROM tb_krs INNER JOIN tb_kelas ON tb_kelas.kode_kelas = tb_krs.kode_kelas INNER JOIN tb_mata_kuliah ON tb_krs.id_mata_kuliah = tb_mata_kuliah.id_mata_kuliah WHERE tb_krs.nim = '193001' ORDER BY tb_mata_kuliah.nama_mata_kuliah ASC ok untuk kali ini itu saja kalian bisa mengombenasikannya dengan query-query lain agar mendapatkan data yang kalian inginkan kalian bisa belajar query-query lainnya disini |