Normalisasi Database 1NF, 2NF & 3NF (Cara dan Contoh)

 

Pengertian Normalisasi Database

Normalisasi database adalah proses pengelompokan atribut data yang membentuk entitas sederhana, nonredundant, fleksibel, dan mudah beradaptasi. 

Tujuan Normalisasi Database

\


Inti dari normalisasi 1NF adalah tidak boleh ada grouping data ataupun duplikasi data. Sekarang lanjut pada tahap normalisasi 2NF.

Syarat 2NF, adalah tidak diperkenankan adanya partial “functional dependency” kepada primary key dalam sebuah tabel.(YANG KD_BARANG SAMA NM_BARANG SAJA)

 3NF ini, jika terdapat suatu atribut yang tidak bergantung pada primary key tapi bergantung pada field yang lain maka atribut-atribut tersebut perlu dipisah ke tabel baru.

Contohnya ada pada atribut qty, kolom tersebut tidak bergantung langsung pada primary key kode_faktur melainkan bergantung pada kolom kode_barang. Jadi setelah dinormalisasi 3NF akan menghasilkan tabel berikut:   


 Kolom harga pada tabel detail barang digunakan untuk menyimpan harga barang pada saat proses transaksi. Jadi, meskipun kolom harga pada tabel barang berubah (naik/turun), harga barang yang ada pada tabel detail barang tidak ikut berubah (fixed). Bayangkan jika kita tidak menambahkan kolom harga pada pada tabel detail barang, maka yang terjadi total invoice dari transaksi akan berubah seiring berubahnya harga barang.


PENGERTIAN DDL ,DML, DCL

 



1. DDL (Data Definition Language)


Data Definition Language (DDL) merupakan sub bahasa SQL yang digunakan untuk membangun kerangka database.  Atau juga merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut database, table, atribut kolom, batasan-batasan terhadap suatu atribut serta hubungan antar table.
Yang termasuk kelompok DDL ini adalah :
  • CREATE : Perintah ini digunakan untuk membuat, termasuk di antaranya membuat database baru, tabel baru, view baru, dan kolom.

Contoh :
> create table mahasiswa (nim  char(8) primary key,nama_mahasiswa  varchar(20),nilai integer(3),alamat  varchar(25);
  • ALTER : Perintah ini digunakan untuk mengubah struktur tabel yang telah dibuat. Pekerjaannya mencakup mengganti nama tabel, menambah kolom, mengubah kolom, menghapus kolom, maupun memberikan atribut pada kolom.

Contoh :
>alter table mahasiswa rename wisudawan;

  • DROP : Perintah ini digunakan untuk menghapus database dan tabel.

Contoh :
>Alter table ‘mahasiswa’ drop ‘alamat’;

2. DML (Data Manipulation Language )

Data Manipulation Language (DML) merupakan sub bahasa SQL yang digunakan untuk memanipulasi data dalam database yang telah terbuat.

Perintah yang digunakan, di antaranya

INSERT : Perintah ini digunakan untuk menyisipkan atau memasukkan data baru ke dalam tabel. Penggunaannya setelah database dan tabel selesai dibuat.
Contoh :
Insert into mahasiswa values (“08052926”, “Frenky”,”70”);

SELECT : Perintah ini digunakan untuk mengambil data atau menampilkan data dari satu tabel atau beberapa tabel dalam relasi. Data yang diambil dapat kita tampilkan dalam layar prompt MySQL secara langsung maupun ditampilkan pada tampilan aplikasi.
Contoh :
Select nama_mahasiswa from mahasiswa where nilai = 70;

UPDATE : Perintah ini digunakan untuk memperbarui data lama menjadi data terkini. Jika Anda memiliki data yang salah atau kurang up to date dengan kondisi sekarang, maka dapat diubah isi datanya menggunakan perintah UPDATE.
Contoh:
>mahasiswa set nim = ‘08052926’ = 08052927;
DELETE : Perintah ini digunakan untuk menghapus data dari tabel. Biasanya data yang dihapus merupakan data yang sudah tidak diperlukan lagi. Pada saat menghapus data, perintah yang telah dijalankan tidak dapat digagalkan, sehingga data yang telah hilang tidak dapat dikembalikan lagi
Contoh :
>delete form mahasiswa;

3. Data Control Language (DCL)

Data Control Language (DCL) merupakan sub bahasa SQL yang digunakan untuk melakukan pengontrolan data dan server databasenya.
Perintah DCL, di antaranya:
GRANT : Perintah ini digunakan untuk memberikan hak/ijin akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (CREATE), mengambil (SELECT), menghapus (DELETE), mengubah (UPDATE), dan hak khusus berkenaan dengan sistem databasenya.

REVOKE : Perintah ini memiliki kegunaan terbalik dengan GRAND, yaitu untuk menghilangkan atau mencabut hak akses yang telah diberikan kepada user oleh administrator.

PEGERTIAN 

Pengenalan singkat tentang MySQL sebagai sistem manajemen basis data (DBMS) membawa pemahaman awal yang penting bagi pengguna database. MySQL, sebagai salah satu DBMS yang paling banyak digunakan di dunia, memberikan kemudahan dalam pengelolaan dan manipulasi data. Dalam hal ini yaitu, pengetahuan tentang Data Manipulation Language (DML), Data Definition Language (DDL), dan Data Control Language (DCL).


Definisi Dasar

Data Manipulation Language (DML)

DML, atau Data Manipulation Language, merupakan bagian integral dari SQL yang memungkinkan pengguna untuk melakukan manipulasi data dalam suatu basis data. Salah satu perintah utama dalam DML adalah SELECT, yang memungkinkan pengguna untuk mengambil data yang dibutuhkan dari tabel.

Data Definition Language (DDL)

DDL, atau Data Definition Language, berfokus pada definisi struktur basis data. Perintah-perintah dalam DDL berfungsi untuk membuat, mengubah, dan menghapus objek dalam basis data. Sebagai contoh, perintah CREATE memungkinkan pengguna untuk membuat tabel baru.

Data Control Language (DCL)

DCL, atau Data Control Language, bertanggung jawab untuk mengelola hak akses pengguna terhadap objek dalam basis data. Dua perintah utama dalam DCL adalah GRANT dan REVOKE.

Selanjutnya melalui pemahaman singkat ini, kita telah merinci peran masing-masing DML, DDL, dan DCL dalam konteks MySQL. Selanjutnya, kita akan mengulas lebih dalam perintah-perintah kunci dari masing-masing kelompok ini untuk memperdalam pemahaman kita.

Baca juga: Mengenal Handling Missing Values dalam Identifikasi Data

Data Manipulation Language (DML)

Data Manipulation Language (DML) dalam MySQL menyediakan perintah-perintah yang memungkinkan pengguna untuk memanipulasi data dalam basis data. Terdapat empat perintah utama dalam DML yang sering digunakan, yaitu SELECTINSERTUPDATE, dan DELETE. Mari kita bahas masing-masing perintah secara rinci:

SELECT

Perintah SELECT berfungsi untuk mengambil data dari satu atau lebih tabel dalam basis data. Dengan menggunakan klausa WHERE, kita dapat memfilter data yang ingin diambil. Contoh penggunaan:

SELECT nama, usia FROM karyawan WHERE departemen = ‘IT’;

Perintah ini mengambil nama dan usia dari karyawan yang bekerja di departemen IT.

INSERT

Perintah INSERT memungkinkan penambahan data baru ke dalam tabel. Pengguna dapat menentukan nilai untuk setiap kolom sesuai dengan struktur tabel. Contoh penggunaan:

INSERT INTO karyawan (nama, usia, gaji) VALUES (‘John Doe’, 30, 6000);

Perintah ini menambahkan data karyawan baru dengan nama John Doe, usia 30 tahun, dan gaji 6000 ke dalam tabel karyawan.

UPDATE

Perintah UPDATE berfungsi untuk memperbarui nilai kolom dalam satu atau lebih baris data. Kondisi WHERE dapat berfungsi untuk menentukan subset data yang akan diubah. Contoh penggunaan:

UPDATE karyawan SET gaji = gaji + 500 WHERE departemen = ‘IT’;

Perintah ini memperbarui nilai kolom gaji untuk semua karyawan di departemen IT dengan menambahkan 500 ke nilai gaji mereka.

DELETE

Perintah DELETE menghapus satu atau lebih baris data dari sebuah tabel. Seperti UPDATEDELETE juga dapat menggunakan kondisi WHERE untuk menentukan data yang akan dihapus. Contoh penggunaan yaitu:

DELETE FROM karyawan WHERE usia < 25;

Perintah ini menghapus semua karyawan yang berusia di bawah 25 tahun dari tabel karyawan.

Dengan pemahaman terhadap perintah-perintah DML ini, pengguna MySQL dapat secara efektif memanipulasi data sesuai dengan kebutuhan aplikasi mereka. Setiap perintah memiliki peran khususnya masing-masing dalam proses pengelolaan dan pengolahan data dalam basis data MySQL.

Data Definition Language (DDL)

Data Definition Language (DDL) merupakan bagian dari SQL yang memungkinkan pengguna untuk mendefinisikan dan mengelola struktur basis data. DDL terdiri dari beberapa perintah utama, termasuk CREATEALTER, dan DROP. Mari kita jelajahi masing-masing perintah untuk memahami cara mereka berkontribusi dalam mengelola struktur basis data.

CREATE

Perintah CREATE berfungsi untuk membuat objek baru dalam basis data, seperti tabel, indeks, atau tampilan. Contoh penggunaan CREATE untuk membuat tabel baru yaitu:

CREATE TABLE pelanggan (
id INT PRIMARY KEY,
nama VARCHAR(50),
alamat VARCHAR(100)
);

Perintah ini membuat tabel baru bernama ‘pelanggan’ dengan kolom id, nama, dan alamat.

ALTER

Perintah ALTER memungkinkan pengguna untuk mengubah struktur objek yang sudah ada dalam basis data. Contoh penggunaan ALTER untuk menambahkan kolom ke dalam tabel yaitu:

ALTER TABLE karyawan ADD COLUMN email VARCHAR(100);

Perintah ini menambahkan kolom ’email’ ke dalam tabel ‘karyawan’.

DROP

Perintah DROP digunakan untuk menghapus objek dari basis data, seperti tabel atau indeks. Contoh penggunaan DROP untuk menghapus tabel yaitu:

DROP TABLE pelanggan;

Perintah ini menghapus tabel ‘pelanggan’ beserta seluruh data dan struktur yang terkait.

Dengan perintah-perintah DDL ini, pengguna MySQL dapat secara fleksibel mengelola dan mengubah struktur basis data sesuai dengan kebutuhan aplikasi dan perubahan bisnis. Pemahaman yang baik terhadap DDL memainkan peran kunci dalam desain dan evolusi basis data.

Data Control Language (DCL)

Data Control Language (DCL) memegang peranan penting dalam pengaturan hak akses pengguna terhadap objek dalam basis data MySQL. DCL terdiri dari dua perintah utama, yaitu GRANT dan REVOKE, yang memberikan dan mencabut hak akses secara berturut-turut. Mari kita eksplorasi kedua perintah ini untuk memahami bagaimana pengguna dapat diberikan dan diambil hak akses pada tingkat basis data.

GRANT

Perintah GRANT digunakan untuk memberikan hak akses tertentu kepada pengguna atau peran dalam basis data. Contoh penggunaan GRANT untuk memberikan hak akses SELECT pada tabel karyawan kepada pengguna1 yang terhubung dari localhost yaitu:

GRANT SELECT ON karyawan TO ‘pengguna1’@’localhost’;

Perintah ini memberikan hak akses SELECT pada tabel ‘karyawan’ kepada pengguna1 yang terhubung dari localhost.

REVOKE

Sebaliknya, perintah REVOKE berfungsi untuk mencabut hak akses. Contoh penggunaan REVOKE untuk mencabut hak akses SELECT dari pengguna1 yaitu:

REVOKE SELECT ON karyawan FROM ‘pengguna1’@’localhost’;

Perintah ini mencabut hak akses SELECT  kepada pengguna1.

Dengan perintah-perintah DCL, administrator basis data dapat dengan hati-hati mengelola hak akses pengguna untuk memastikan keamanan dan integritas data. Kemudian melalui kombinasi yang bijak antara DML, DDL, dan DCL, pengguna MySQL dapat mengoptimalkan kinerja dan keamanan basis data mereka sesuai dengan kebutuhan aplikasi

Kesimpulan

Kesimpulannya kita telah menjelaskan konsep dasar dari Data Manipulation Language (DML), Data Definition Language (DDL), dan Data Control Language (DCL) pada MySQL. Selanjutnya DML memungkinkan pengguna untuk memanipulasi data dengan perintah seperti SELECTINSERTUPDATE, dan DELETE. Kemudian DDL berfungsi untuk mengelola struktur basis data melalui perintah CREATEALTER, dan DROP. Sementara itu, DCL menyediakan perintah GRANT untuk memberikan hak akses dan REVOKE untuk mencabutnya.

Pemahaman yang baik terhadap perbedaan dan penggunaan masing-masing perintah DML, DDL, dan DCL juga menjadi kunci dalam pengelolaan efektif dan keamanan basis data MySQL. Kemudian dengan kombinasi yang tepat dari perintah-perintah ini, pengguna dapat mengoptimalkan kinerja basis data sesuai dengan kebutuhan aplikasi dan menjaga integritas serta keamanannya.


Tugas Data base penjualan

 

step 1 buat tabel dulu yaa

step 2 : ini contoh tabel yang sudah dibuat 
step3: membuat data base penjualan