Bahasa Basis Data Pertemuan III Oleh: Ilham Rais Arvianto, M.Pd Bahasa Basis Data Data Definition Language (DDL) • • • • Pembuatan BD baru (create database) PenghapusanBD (drop database) Pembuatan tabel kedalam suatu BD (create table) Penghapusan tabel dari suatu BD (drop table) Data Manipulation Language (DML) • • • • Penambahan data ke sebuah tabel (INSERT) Pengambilan data dari sebuah tabel atau beberapa tabel (SELECT) Pengubahan data dari sebuah table (UPDATE) Penghapusan data dari sebuah table (DELETE) SQL Untuk melakukan operasi-operasi BD dapat menggunakan subbahasa yang telah menjadi standard untuk mengakses basis data yang disebut SQL (Structured Query Language) Tipe Domain dalam Bahasa Basis Data Tipe Char(n) Keterangan Tipe karakter dengan panjang yang tetap (n) (fixed-length character) Varchar(n) Tipe karakter dengan panjang bervariasi. Maksimum panjang n Integer Small integer Int Smallint Numeric(p,d) P menunjukkan jumlah digit bilangan dan d menunjukkan jumlah digit di belakang decimal Date Tipe kalender Time Tipe hari dalam jam, menit, dan detik Membuat DB Baru Sintaks: CREATE DATABASE NamaDatabase Contoh: CREATE DATABASE Perkuliahan Mengaktifkan database yang akan dibuatkan tabelnya Sintaks: USE NamaDatabase Contoh: USE Perkuliahan Membuat Tabel Baru Sintaks: CREATE TABLE Nama_Tabel( Nama_Field1 TipeData1 (LebarData1) [Ket1], Nama_Field2 TipeData2 (LebarData2) [Ket2], .... Nama_FieldNTipeDataN(LebarDataN) [KetN] ) Tabel Mata_Kuliah Kolom Type Data Kode_MK Char(5) Nama_MK Varchar(20) SKS Integer Sintaks: CREATE TABLE Mata_kuliah ( Kode_MK Char(5), Nama_MK Varchar(20), Bobot Integer ) Mengisi Data pada Tabel Sintaks: INSERT INTO Nama_Tabel VALUES (Nilai1, Nilai2, …, Nilai-n); Contoh: INSERT INTO Mata_Kuliah VALUES (‘01’,’ Kalkulus’, 3); Menampilkan Tabel Sintaks: SELECT * FROM NameTable Contoh: SELECT * FROM Mata_Kuliah Menghapus Tabel Sintaks: DROP TABLE NameTable Contoh: DROP TABLE Mata_Kuliah Mengatur Supaya Data Selalu Diisi Tabel Mata_Kuliah Kolom Type Data Ket. Kode_MK Char(5) NOT NULL Nama_MK Varchar(20) NOT NULL SKS Integer NOT NULL Cara I Membuat konstrain NOT NULL pada saat tabel dibuat & merupakan bagian dari definisi tabel. Sintaks: CREATE TABLE Mata_kuliah ( Kode_MK Char(5) NOT NULL, Nama_MK Varchar(20) NOT NULL, Bobot Integer NOT NULL ) Cara II Menambahkan konstrain NOT NULL pada table yang sudah ada & belum mempunyai NOT NULL Sintaks: CREATE TABLE Mata_kuliah1 ( Kode_MK Char(5), Nama_MK Varchar(20), SKS Integer ) ALTER TABLE Mata_kuliah ALTER COLUMN Kode_MK Char(5) NOT NULL ALTER TABLE Mata_kuliah ALTER COLUMN Nama_MK Varchar(20) NOT NULL ALTER TABLE Mata_kuliah ALTER COLUMN SKS Integer NOT NULL Cara II Menambahkan Kolom Baru Tabel Mata_Kuliah Kolom Kode_MK Nama_MK SKS Kode_Dosen Type Data Ket. Char(5) NOT NULL Varchar(20) NOT NULL Integer NOT NULL Char(10) Menambah Kolom Baru Sintaks: ALTER TABLE NameTable ADD NameField TypeData Contoh: ALTER TABLE Mata_Kuliah ADD Kode_Dosen Char(10) Menghapus Kolom Tabel Mata_Kuliah Kolom Type Data Ket. Kode_MK Char(5) NOT NULL Nama_MK Varchar(20) NOT NULL SKS Integer NOT NULL Menghapus Kolom Sintaks: ALTER TABLE NameTable DROP COLUMN NameField Contoh: ALTER TABLE Mata_Kuliah DROP COLUMN Kode_dosen Mengganti Ukuran Kolom Tabel Mata_Kuliah Kolom Kode_MK Nama_MK Bobot Kode_Dosen Type Data Ket. Char(5) NOT NULL Varchar(30) NOT NULL Integer NOT NULL Char(10) Mengganti Ukuran Kolom Sintaks: ALTER TABLE NameTable ALTER COLUMN NameField TypeData Contoh: ALTER TABLE Mata_Kuliah ALTER COLUMN Nama_MK Varchar(30) Membuat Primary Key Tabel Mata_Kuliah Kolom Kode_MK Nama_MK SKS Kode_Dosen Type Data Ket. Char(5) Primary Key Varchar(30) NOT NULL Integer NOT NULL Char(10) Cara I Membuat konstrain PRIMARY KEY pada saat table dibuat dan merupakan bagian dari definisi table. Sintaks: CREATE TABLE Mata_kuliah ( Kode_MK Char(5) PRIMARY KEY, Nama_MK Varchar(30) NOT NULL, Bobot Integer NOT NULL, Kode_dosen Char(10) ) Cara II Menambahkan konstrain PRIMARY KEY pada table yang sudah ada dan belum mempunyai PRIMARY KEY. Sintaks: ALTER TABLE Mata_kuliah ADD CONSTRAINT PK_MtKuliah1 PRIMARY KEY (Kode_MK) Catatan: kode_mk sudah memiliki constraint NOT NULL Menentukan Foreign Key Tabel Dosen Kolom Kode_Dosen Nama_Dosen Gender Kode_Agama Nama_Jalan Kode_Pos Type Data Char(10) Varchar(30) Char Integer Varchar(50) Char(5) Ket. Primary Key NOT NULL Foreign Key Agama(Kode_Agama) Foreign Key Alamat(Kode_Pos) Cara I Membuat konstrain FOREIGN KEY pada saat table dibuat dan merupakan bagian dari definisi table. Sintaks: CREATE Table Dosen ( Kode_dosen Char(10) PRIMARY KEY, Nama_dosen Varchar(30) NOT NULL, Gender Char, Kode_agama Integer FOREIGN KEY REFERENCES Agama(Kode_agama), Nama_jalan Varchar(50), Kode_pos Char(5) FOREIGN KEY REFERENCES Alamat(Kode_pos) ) Cara II Menambahkan konstrain FOREIGN KEY pada table yang sudah ada dan belum mempunyai FOREIGN KEY dengan cara menghubungkan konstrain FOREIGN KEY kesebuah konstrain PRIMARY KEY yang ada di table yang sama atau table yang berbeda. Sintaks: ALTER TABLE Dosen ADD CONSTRAINT FK_Dosen1 FOREIGN KEY (Kode_agama) REFERENCES Agama(Kode_agama) ALTER TABLE Dosen ADD CONSTRAINT FK_Dosen2 FOREIGN KEY (Kode_pos) REFERENCES Alamat(Kode_pos) Memvalidasi Nilai Tabel Mahasiswa Kolom NIM Nama Gender Kode_agama Nama_jalan Kode_pos Kelas Type Data Char(10) Varchar(30) Char Integer Varchar(50) Char(5) Char(6) Ket. Primary Key NOT NULL CHECK (L/P) Foreign Key Agama(Kode_agama) Foreign Key Kelas(Kode_pos) Foreign Key Kelas(Kelas) Memvalidasi Data Sintaks: CREATE Table Mahasiswa( Nim Char(10) PRIMARY KEY, Nama Varchar(30) NOT NULL, Gender Char CHECK (Gender=’L’ OR Gender=’P’), Kode_agama Integer FOREIGN KEY REFERENCES Agama(Kode_agama), Nama_jalan Varchar(50), Kode_pos Char(5) FOREIGN KEY REFERENCES Alamat(Kode_pos), Kelas Char(6) FOREIGN KEY REFERENCES Kelas(Kelas) ) Memvalidasi Nilai Tabel KHS Kolom NIM Kode_MK Semester Tahun_Ajaran Nilai Type Data Ket. Char(10) Foreign Key Mahasiswa(NIM) Char(5) Foreign Key Mata_Kuliah(Kode_MK) Integer Char(9) Char CHECK (A/B/C/D/E) Memvalidasi Data Sintaks: CREATE Table KHS( Nim Char(6) FOREIGN KEY REFERENCES Mahasiswa(nim), Kode_MK Char(5) FOREIGN KEY REFERENCES Mata_kuliah(Kode_MK), Semester Integer, Tahun_ajaran Char(9), Nilai Char CHECK (Nilai=‘A’ OR Nilai=‘B’ OR Nilai=‘C’ OR Nilai=‘D’ OR Nilai=‘E’) ) Memvalidasi Data Sintaks: CREATE Table KHS( Nim Char(6) FOREIGN KEY REFERENCES Mahasiswa(nim), Kode_MK Char(5) FOREIGN KEY REFERENCES Mata_kuliah(Kode_MK), Semester Integer, Tahun_ajaran Char(9), Nilai Char CHECK (Nilai IN(‘A’,‘B’,‘C’,‘D’,‘E’)) ) Memberi Nilai Default Tabel KHS Kolom NIM Kode_MK Semester Tahun_Ajaran Nilai Type Data Ket. Char(10) Foreign Key Mahasiswa(NIM) Char(5) Foreign Key Mata_Kuliah(Kode_MK) Integer Char(9) Char CHECK (A/B/C/D/E) Default E Memvalidasi Data Sintaks: CREATE Table KHS( Nim Char(6) FOREIGN KEY REFERENCES Mahasiswa(nim), Kode_MK Char(5) FOREIGN KEY REFERENCES Mata_kuliah(Kode_MK), Semester Integer, Tahun_ajaran Char(9), Nilai Char CHECK (Nilai IN(‘A’,‘B’,‘C’,‘D’,‘E’)) DEFAULT ‘E’ ) Menambah Constraint Tabel Dosen Kolom Kode_Dosen Nama_Dosen Gender Kode_Agama Nama_Jalan Kode_Pos Type Data Char(10) Varchar(30) Char Integer Varchar(50) Char(5) Ket. Primary Key NOT NULL CHECK (L/P) Foreign Key Agama(Kode_Agama) Foreign Key Alamat(Kode_Pos) Menambah Constraint Sintaks: ALTER Table Dosen ADD CONSTRAINT Cek_gender CHECK (Gender=’L’ OR Gender=’P’) Menghapus Constrait Contoh: ALTER Table Dosen DROP CONSTRAINT Cek_gender Latihan Buatlah database dan tabel-tabel di dalamnya untuk Sistem Informasi Peminjaman Buku di Perpustakaan yang telah Anda buat normalisasinya!