Cara membuat tabel mahasiswa di mysql

Cara membuat tabel mahasiswa di mysql
mysql logo

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

aplikasi untuk menjalankan server mysql secar lokal (XAMPP,MAPP,WAMPP,Laragon,dll)

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 `USE nama_database` untuk masuk/memakai ke dalam databasenya

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'
  );

Cara membuat tabel mahasiswa di mysql

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'
  );

Cara membuat tabel mahasiswa di mysql

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

Cara membuat tabel mahasiswa di mysql

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