Showing posts with label Database. Show all posts
Showing posts with label Database. Show all posts

Tuesday, January 24, 2023

Array Pada PostfreSQL

 



1. Buat Table

CREATE TABLE person_details (  
    id serial PRIMARY KEY,  
    person_name VARCHAR (200) ,  
    mobile_numbers TEXT []  
);

2. Insert 

2.1. Single Record

INSERT INTO person_details (person_name, mobile_number)  
VALUES('Maria Smith',ARRAY [ '(444)-333-1234','(555)-333-5432' ]);

2.2. Multi Record 

INSERT INTO person_details (person_name, mobile_number)  
VALUES('Mike Taylor','{"(444)-333-1234"}'),  
('Emma Garcia','{"(568)-333-5678"}'),  
('David Smith','{"(444)-333-7658","(308)-589-23458"}'); 


3. Select 

3.1. SELECT person_name, mobile_number  FROM person_details;  

3.2. SELECT person_name, mobile_number[1]  FROM person_details; 

3.3. SELECT person_name  FROM person_details  WHERE mobile_number[2]='(308)-589-23458'; 

3.4. Arrays data type : SELECT person_name,  unnest(mobile_number) FROM person_details;  

3.5. Search  : SELECT person_name, mobile_number  FROM person_details  
WHERE '(555)-333-5432' = ANY (mobile_number); 


4. Update

4.1. UPDATE person_details  SET mobile_number [2] = '(308)-859-54378'  WHERE ID = 4;  

4.2. UPDATE person_details  SET mobile_number = '{"(308)-859-54378"}'  WHERE ID = 4;  


Create Database Pada PostgreSQL

 

1. Create DB

Format :

CREATE DATABASE db_name  
OWNER =  role_name  
TEMPLATE = template           
ENCODING = encoding           
LC_COLLATE = collate              
LC_CTYPE = ctype  
TABLESPACE = tablespace_name  
CONNECTION LIMIT = max_concurrent_connection

Contoh :

CREATE DATABASE dbPostgre;


2. Select Database

2.1. Connect : postgres=# 

2.2. List Database : \l 

2.3. Connect ke database : postgres-# \c dbPostgre 



3. Drop DB
             
DROP DATABASE [ IF EXISTS] name;

REVOKE CONNECT ON DATABASE dbPostgre from public; 


3.1. Command SQL

dropdb [option...] dbname   

contoh :

dropdb -h localhost -p 5432 -U postgress dbPostgre
Password for user postgress: ****  


4. Akses Dalam Bentuk JSON

4.1. JSON

SELECT Purchase_description  -> 'purchaser' AS pruchaser  FROM Purchase; 

4.2.  JSON Condition

SELECT Purchase_description ->> 'purchaser' AS Purchaser  
FROM Purchase  WHERE Purchase_description-> 'items' ->> 'product' = 'ice cream'; 


4.3. Text

SELECT Purchase_description  ->> 'purchaser' AS pruchaser  FROM Purchase; 

4.4. JSON & Text

SELECT Purchase_description -> 'items' ->> 'product' as Product  FROM Purchase  
ORDER BY Product; 

4.5. json_object_keys function

SELECT json_object_keys (Purchase_description->'items')  FROM Purchase;   

4.6. json_each function

SELECT json_each (Purchase_description)  FROM Purchase;

4.7. json_each_text()

SELECT json_each_text(Purchase_description)  FROM Purchase; 

4.8. json_typeof function 

SELECT json_typeof(Purchase_description->'items')  FROM Purchase;


Table Pada PostgreSQL

 

1. Create Table

Format :

CREATE TABLE table_name(    

   column1 datatype,    

   column2 datatype,    

   .....    

   columnN datatype,    

   PRIMARY KEY(one or more columns )    

);

Contoh :

Create table department  

dept_no int constraint dept_details_pk primary key   

dept_name text NOT NULL,  

Location varchar(15),  

);


2. Drop Table

DROP TABLE table_name;


3. Show Table

3.1. SELECT * FROM pg_catalog.pg_tables  WHERE  schemaname != 'pg_catalog'  AND schemaname != 'information_schema';

3.2. select *   from information_schema.tables   where table_schema='public'; 

3.3. SELECT * FROM pg_catalog.pg_tables  WHERE schemaname = 'myschema'   AND schemaname != 'information_schema';


4. Describe Table

SELECT COLUMN_NAME  FROM information_schema.COLUMNS  WHERE TABLE_NAME = 'customer';


5. ALTER table

Format :

ALTER TABLE table_name action;

5.1. ADD Column

ALTER TABLE Station  ADD COLUMN Latitude REAL;

5.2. Drop column

ALTER TABLE Station  DROP COLUMN Latitude;

5.3. Rename Column

ALTER TABLE Station  RENAME COLUMN St_Name TO Name;

5.4. Alter Column 

ALTER TABLE Station1  

ALTER COLUMN St_City TYPE Varchar(30),  

ALTER COLUMN St_State TYPE Varchar(20);

5.5. Add NOT NULL constraint

ALTER TABLE Station1 ALTER COLUMN St_City SET NOT NULL; 

5.6. Remove NOT NULL constraint 

ALTER TABLE Station1   ALTER COLUMN St_City DROP NOT NULL;

5.7. Add PRIMARY KEY 

ALTER TABLE Station1 ADD PRIMARY KEY (St_id);


6. Change Column Type

6.1. Single 

ALTER TABLE table_name  ALTER COLUMN column_name [SET DATA] TYPE new_data_type; 

6.2. Multi

ALTER TABLE table_name  

ALTER COLUMN column_name_1 [SET DATA] TYPE new_data_type,  

ALTER COLUMN column_name_2 [SET DATA] TYPE new_data_type; 


7. Truncate table

Format :

TRUNCATE TABLE table_name;  [ RESTART IDENTITY | CONTINUE IDENTITY ] [ CASCADE | RESTRICT ] 

7.1. truncate table student_information;  

7.2. TRUNCATE TABLE table_name   RESTART IDENTITY;  

7.3. TRUNCATE TABLE student_information   RESTART IDENTITY; 

7.4. TRUNCATE TABLE table_name1, table_name2 ...;  

7.5. Delete all Record

TRUNCATE TABLE table_name   CASCADE; 


8. temporary table

CREATE TEMPORARY TABLE temp_table_name(...); 


9. Column Alias

SELECT column_name AS alias_name  FROM table_name Conditions...;


10. Sequence

Format :

CREATE SEQUENCE [ IF NOT EXISTS ] sequence_name  

    [ AS { SMALLINT | INT | BIGINT } ]  

    [ INCREMENT [ BY ] increment ]  

    [ MINVALUE minvalue | NO MINVALUE ]   

    [ MAXVALUE maxvalue | NO MAXVALUE ]  

    [ START [ WITH ] start ]   

    [ CACHE cache ]   

    [ [ NO ] CYCLE ]  

    [ OWNED BY { table_name.column_name | NONE } ]


10.1. CREATE SEQUENCE jtpsequence  INCREMENT 3  START 20;

10.2. CREATE SEQUENCE Purchase_module_id  START 5  

INCREMENT 5  MINVALUE 5 OWNED BY Purchase_details.Module_id; 


11. Identity Column

column_name type GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY[ ( sequence_option ) ]


12. Upsert

12.1. INSERT INTO table_name(column_list)   VALUES(value_list) ON CONFLICT target action; 

12.2.  INSERT INTO officers (officers_name, officers_addrerss )  VALUES('Olivia','Florida')  

ON CONFLICT ON CONSTRAINT officers_name  

DO NOTHING; 

12.3. INSERT INTO officers   VALUES(102,'Olivia','olivia22@gmail.com','Florida')  

ON CONFLICT (officers_name)   DO NOTHING;

12.4. INSERT INTO officers   VALUES(102,'Olivia','olivia22@gmail.com','Florida')  

ON CONFLICT (officers_name)  DO UPDATE SET officers_address =   

EXCLUDED.officers_address || ',' || officers.officers_address;


13. Subquery

13.1.  Kondisi Subquery

SELECT c1.car_name, c1.car_model,  

    (SELECT MIN (car_id)  

     FROM car c2  

     WHERE c1.car_id = c2.car_id) Subquery1  

FROM car c1;


13.2. Dalam Kategori

SELECT course.course_name, Subquery2.course_category_id  

FROM course,  

    (SELECT course_categories.course_category_id, course_categories.course_category,   

    COUNT (course_category_id) AS total  

    FROM course_categories  

    GROUP BY course_categories.course_category_id, course_categories.course_category) Subquery2  

WHERE Subquery2.course_category_id = course.course_id; 


13.3. Kondisi Where 

SELECT c.client_id, c.client_name, c.client_profession  

FROM client c  

WHERE c.client_id IN  

    (SELECT cd.client_id  

        FROM client_details cd  

        WHERE cd.client_id < 6  

    AND c.client_name LIKE 'M%'); 


Select Dengan Condition Pada PostgreSQL

 

1. Where

Format :

SELECT column1, column2, ..... columnN   FROM table_name    WHERE [search_condition]    ORDER BY sort_expression 

1.1.  sama dengan ( = )

SELECT first_name,last_name  FROM employee WHERE last_name = 'Tan'; 

1.2. And

SELECT first_name, last_name  FROM   employee  WHERE   first_name = 'John' AND last_name = 'Tan';

1.3. OR

SELECT first_name, last_name  FROM employee  WHERE   first_name = 'John' OR last_name = 'Tan';

1.4. Like 

SELECT first_name,last_name  FROM employee  WHERE last_name LIKE 'Joh%';

1.5.  IN

SELECT first_name,last_name  FROM employee  WHERE last_name IN ('John','Mike'); 

1.6. LENGTH

SELECT last_name, LENGTH(last_name) name_length  FROM employee  
WHERE last_name LIKE '%an' AND LENGTH(last_name) BETWEEN 2 AND 6  
ORDER BY name_length;

1.7. Tidak sama dengan ( <> )

SELECT first_name, last_name, address  FROM employee  WHERE address LIKE 'New%' AND first_name <> 'Oli';



2. Order By

Format :

SELECT column-list    FROM table_name    [WHERE condition]    
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

2.1 Ascending 

SELECT first_name, last_name  FROM employee ORDER BY first_name ASC;

2.2. Desending

SELECT first_name, last_name  FROM employee  ORDER BY first_name desc ;

2.3. Null

ORDER BY sort_expresssion [ASC | DESC] [NULLS FIRST | NULLS LAST] 

Contoh :

SELECT num  FROM demo ORDER BY num NULLS LAST;

SELECT num FROM demo ORDER BY num NULLS FIRST;


3. Group By

Format :

SELECT column-list    FROM table_name    WHERE [conditions ]    
GROUP BY column1, column2....columnN   ORDER BY column1, column2....columnN

Contoh :

SELECT first_name || ' ' || last_name as full_name,  SUM (salary) salary  
FROM employee  INNER JOIN employee_details USING (emp_id)        
GROUP BY full_name ORDER BY salary;  

SELECT first_name,  COUNT (emp_id) FROM employee  GROUP BY first_name;


4. Having

Format :

SELECT column1, aggregate_function (column2)  FROM table1, table2    
WHERE [ conditions ]    GROUP BY column1, column2 HAVING [ conditions ]    
ORDER BY column1, column2 


Contoh :

SELECT emp_id, first_name, SUM (salary)  FROM employee  
GROUP BY first_name, emp_id   HAVING SUM (salary) > 20000  order by first_name DESC;



5. Distinct

Format :  Select Distinct column1  FROM table_name;

Contoh :

SELECT DISTINCT column1, column2  FROM table_name;

SELECT DISTINCT ON (column1) column_alias, column2  
FROM table_name  ORDER BY column1, column2 ;



6. Limit

Format :

SELECT select_list   FROM table_name ORDER BY sort_expression LIMIT row_count 

6.1 skip :

SELECT select_list FROM table_name  LIMIT row_count OFFSET row_to_skip;

6.2. Limit 

SELECT Car_id, Car_name, Body_Style  FROM CAR  ORDER BY Car_id  LIMIT 6;

6.3. OFFSET

SELECT Car_id, Car_name, Body_Style  FROM CAR  ORDER BY Car_id  LIMIT 5 OFFSET 2;



7. Fetch

Format :

OFFSET start { ROW | ROWS }  FETCH { FIRST | NEXT } [ row_count ] { ROW | ROWS } ONLY 

Contoh :

SELECT car_id, car_name, car_model  FROM Car  ORDER BY car_name   FETCH FIRST ROW ONLY;

SELECT car_id, car_name, car_model  FROM Car  ORDER BY car_name   FETCH first 1 ROW ONLY;


CRUD Pada PostgreSQL

 


Berikut adalah CRUD  pada PostgreSQL :

1. Insert

Format :

INSERT INTO TABLE_NAME   

(column1,   column2, column3, ……columnN)    VALUES (value1, value2, value3, ….. valueN);

1.1. Insert Single

Format :

INSERT INTO table  (column1, column2, ... )  DEFAULT VALUES;

Contoh :

INSERT INTO myschema."Student"(  

"St_id", "St_Name", "St_age", "St_address", "St_blood_group")  


1.2. Insert Multi Record

Format :

INSERT INTO table_name  (column1, column2, ... )  

SELECT expression1, expression2, ...  FROM source_table  [WHERE conditions];

Contoh :

INSERT INTO myschema."Student"(  

"St_id", "St_Name", "St_age", "St_address", "St_blood_group")  

VALUES(101, 'John', 24, 'New York', 'A+')  

(102, 'Mike', 22, 'Chicago', 'B-'),  

(103, 'Emily', 24, 'Boston', 'A-'),  

(104, 'James', 20, 'Philadelphia', 'O+'),  

(105, 'Sophia', 21, 'New York', 'B+'); 


2. Select

Format : SELECT select_list  FROM table_name;   

Contoh :

SELECT column1, column2,  ……columnN  FROM table_name;


3. Update

Format :

UPDATE table_name    SET column1 = value1, column2 = value2....,   

columnN = valueN   WHERE condition;

Contoh :

UPDATE department  SET last_update = DEFAULT  

WHERE  last_update IS NULL;


4. Delete

Format : 

DELETE FROM table_name   WHERE [condition];

DELETE FROM table USING another_table  WHERE table.id = another_table.id AND

DELETE FROM table  WHERE table.id = (SELECT id FROM another_table);

Contoh :

DELETE FROM department  WHERE dept_id = 6; 


Sunday, December 18, 2022

Pengunaaan Inner, Left, Right Join Pada SQL

 


Fungsi JOIN  dalam SQL berguna untuk menggabungkan lebih dari satu tabel dimana tabel - tabel tersebut memiliki keterkaitan dan relasi yang berhubungan. Primary Key merupakan sebuah kolom yang merepresentasikan sebuah kolom unik yang ada pada satu tabel agar suatu tabel mampu berelasi dengan tabel yang lain. Kegunaan penggabungan tabel merupakan penyatuan tabel - tabel yang berhubungan sehingga mampu memberikan detil pada setiap field - field didalamnya.

Ada beberapa tipe JOIN :

1. INNER JOIN

Inner Join berguna untuk menggabungkan tabel dan harus membutuhkan satu kolom unik yang ada pada primary key maupun foreign key. Apabila ada foreign key maupun primary key yang kosong, penggunaan fungsi ini hanya akan memunculkan data yang foreign key memiliki record yang isi sama.

Sintaks:

SELECT * FROM tabel1 INNER JOIN tabel2  ON tabel1.PK = tabel2.FK

Contoh :


 2. LEFT JOIN

Left Join merupakan penggabungan tabel dimana data akan ditampilkan secara keseluruhan pada tabel pertama (kiri) namun record pada tabel kedua (kanan) yang kosong akan ditampilkan dengan isi NULL.


Sintaks:

SELECT * FROM tabel1 LEFT JOIN tabel2 ON tabel1.PK = tabel2.FK

Contoh :



 3. RIGHT JOIN

Right Join memiliki fungsi yang bertolak belakang dengan left join, dimana right join akan menampilkan data secara keseluruhan pada tabel kedua (kanan), namun NULL pada tabel pertama (kiri).

Sintax :

SELECT * FROM tabel1 RIGHT JOIN tabel2 ON tabel1.PK = tabel2.FK

Contoh :



Wednesday, December 14, 2022

Membuat Method Pada DB2 - II [ Select Condition ]

 

1. Membuat Method :

1.1. Table karyawan L Field nama, id, dan gaji.


1.2. Tulis kode berikut untuk membuat seleksi kondisi di dalam method:

Format :

Create or replace procedure “nama_method” (parameter input)

Begin

If “kondisi jika benar” then

//kode query jika memenuhi kondisi diatas

Else if “kondisi kedua” then

//kode query jika memenuhi kondisi diatas

Else

//kode query jika tidak memenuhi semua kondisi sebelumnya

End if;

End


Contoh :

Create or replace procedure update_gaji ( in id1 char(3), in ratting smallint )

Begin

If rattiing = 1 then

Update pegawai

Set gaji = gaji * 1.05

Where id = id1;

Else if ratting = 2 then

Update pegawai

Set gaji = gaji * 1.10

Where id = id1;

Else

Update pegawai

Set gaji = gaji * 1.20

Where id = id1;

End if;

end


Keterangan :
ketika method tersebut dijalankan maka akan dilakukan seleksi terlebih dahulu, jika ratting yang diinputkan adalah 1, maka akan dilakukan update terhadap tabel pegawai ddengan id sesuai inputan dan gaji ditambah 5%. Ketika ratting yang diinputkan adalah 2, maka gaji akan ditambah 10%. Dan ketika ratting yang diinputkan selain angka 1 dan 2,  maka gaji akan ditambah 20%.


2. Memanggil Method

2.1. Tulis kode dibawah ini untuk memanggil method.

Format :

Call “nama_method”(parameter inputan)

Contoh :

Call update_gaji ( 001, 3 )#


2.2. Jalankan dengan menakan tombol play dijok kanan atas

2.3. Tampilkan tabel pegawai dan terlihat pegawai dengan id 001 gajinya bertambah 20%, karena ratting yang diinputkan adalah 3.



Membuat Method Pada DB2 - I [ Insert ]

 

Method terdiri dari : Procedure dan Function 

1. Membuat Method  

1.1. Menggunakan Table Mahasiswa.




1.2. Method Insert

Format :

Create or replace procedure “nama_method”(Parameter input)

Begin

// Isi bagian ini sebagai isi method;

End;

Contoh :

Create or replace procedure tambahmhs(in nama1 varchar (20), in nim1 varchar(20), in no_tlp1 varchar(13), in umur integer)
Begin
Insert into mahasiswa (nama, nim, no_tlp, umur)
Values (nama1, nim1, no_tlp1, umur1);
End;



1.3. Penulis kode tersebut, akan terjadi error. Error ini hanya terjadi di DBMS DB2. Sedangkan pada DBMS lain tidak akan terjadi.  Hal ini terjadi karena DBMS tidak bisa membedakan pentup antara statement dan query, karena keduanya menggunakan tanda titik koma. Hal ini terjadi hanya pada penggunaan method. Untuk mengatasinya, harus mengganti kode penutup dari statement, sehingga penutup statement dan query akan berbeda. Klik kanan di kode


1.4. Pilih set statement terminator

1.5. Ubah penutup statement selain titik koma. Contoh digunakan tanda pagar(#), maka Error akan hilang.


1.6. Blok kode yang sudah kamu buat, dan jalankan dengan menekan tombol play di pojok kanan atas.




2. Memanggil Method

2.1. Tulis kode berikut untuk memanggil method

Fromat :

Call “nama_method”(parameter input)#

Contoh:
Call tambahmhs(‘susanti’, ‘165150707111030’, ‘081330317331’, 21)#


2.2. Jalankan dengan menekan tombol play di pojok kanan atas.



Update & Delete Pada DB2

 



1. Update Data Pada Table

1.1. Table mahasiswa yang memiliki kolom nama, nim, no telepon, dan umur.



1.2. Untuk mengupdate data pada tabel, tulis kode berikut :

Format : 

Update “nama_table’(tanpa petik) 

Set “nama_kolom” (tanpa petik)= nilai yang akan diupdate

Where “nama_kolom” (tanpa petik)= data yang akan diganti

Contoh :

Update Mahasiswa 
Set umur = 20
Where nim = 165150707111019;



1.3. Blok kode, lalu jalankan dengan menekan tombol play dipojok kanan atas. Jika statusnya sukses, maka tabel berhasil diupdate




2. Delete Data Pada Table

2.1. Tulis kode berikut untuk menghapus data pada tabel

Format :

Delete from “nama_tabel”(tanpa tanda petik)

Where “nama_kolom” (tanpa tanda petik) = nilai yang akan dihapus

Contoh :
Delete from mahasiswa
Where nama = ‘RAHA’;


2.2. Blok kode, lalu jalankan dengan menekan tombol play dipojok kanan atas. Jika statusnya sukses, maka data berhasil dihapus.



Membuat dan Menampilkan Table Pada DB2

 

Database merupakan sebuah hal yang sangat penting dalam membuat sebuah aplikasi maupun sebuah sistem. Database berfungsi untuk menyimpan semua data-data yang berhubungan dengan aplikasi tersebut. Cara kerja database adalah membuat table untuk setiap entitas dan relasi yang ada di dalam aplikasi.   
Sebelum melanjutkan artikel ini, perlu melakukan installasi DB2, untuk itu bisa baca artikel : Install Database DB2 Pada OS Windows


1. Membuat & Menampilkan Table

1.1. Tentukan nama tabel dan kolom yang akan kamu buat.

1.2. Tuliskan kode berikut untuk membuat tabel.

Format :

Create table “nama_tabel”(tanpa petik)(

Nama_kolom tipe_data,

Nama_kolom tipe_data

);

Contoh :

Create table Mahasiswa(

Nama varchar(20),

Nim varchar(20),

NO_TLP varchar(13),

Umur Integer

);


1.3. Blok kode yang telah ditulis, lalu klik run untuk menjalankan. 



2. Insert Data Pada Table

2.1. Siapkan data yang akan kamu masukkan ke dalam tabel.

2.2. Tuliskan kode berikut untuk menginputkan data ke dalam tabel.

Format :

Insert into “nama_tabel” (Nama_kolom, Nama_kolom)

Contoh 

Insert into Mahasiswa (Nama, Nim, No_tlp, Umur)

Values (‘ABI’, ‘165150707111019’, ‘081330317333’, 25),

                (‘SUSAN’, ‘165150707111020’, ‘081330317334’, 26),

                (‘RAHA’, ‘165150707111018’, ‘081330317335’, 25);


2.3. Blok kode, lalu klik tombol run. 



3.  Menampilkan Data Table

3.1. Untuk menampilkan kolom tertentu

Format : 

Select “Nama_Kolom”(tanpa kutip) from “Nama_tabel”;

Contoh:

Select Nama, Nim, Umur from Mahasiswa;

Keterangan : 
Untuk menampilkan kolom nama, nim, dan umur dari tabel mahasiswa

3.2. Untuk menampilkan semua kolom

Format :

Select * from “Nama_tabel”;

Contoh:

Select * from Mahasiswa;

Keterangan :
Menampilkan semua kolom dari tabel Mahasiswa.


Catatan : Untuk tipe data adalah varchar, integer, dan char.


Monday, December 12, 2022

Install MongoDB Pada Linux Centos 7

 


MongoDB merupakan database open source berbasis dokumen (Document-Oriented Database) yang awalnya dibuat dengan bahasa C++. MongoDB sendiri sudah dikembangkan oleh 10gen sejak Oktober 2007, namun baru dipublikasikan pada Februari 2009

Keunggulan Yang Dihadirkan Oleh MongoDB

  • Performa yang ditawarkan MongoDB lebih cepat dibandingkan MySQL ini disebabkan oleh memcached dan format dokumennya yang berbentuk seperti JSON
  • Replikasi, fitur yang sangat bermanfaat untuk backup data secara realtime. MongoDB sangat cocok digunakan untuk portal berita ataupun blog, namun belum cocok untuk digunakan pada sistem informasi yang berkaitan dengan keuangan karena MongoDB tidak mendukung transaction SQL
  • Auto-sharding, fitur untuk memecah database yang besar menjadi beberapa bagian demi optimalisasi performa database. Penggunaannya sangat berguna ketika memiliki website dengan database yang jutaan baris, sharding akan membantu memecahnya menjadi beberapa bagian
  • MongoDB : mendukung C, C++, C#, Erlang, Haskell, Java, JavaScript, .NET(C# F#, PowerShell), Lips, Perl, PHP, Python, Ruby dan Scala
  • Cross-platform : Windows, Linux, OS X dan Solaris
  • Proses CRUD (Create, Read, Update, Delete) terasa sangat ringan
  • Map/Reduce, akan sangat membantu ketika melakukan operasi agregasi. Dimana semua entry datangnya dari collection dan outputnya pun akan menjadi collection juga. Kalau di MySQL menggunakan query GROUP BY
  • GridFS, spesifikasi yang digunakan untuk menyimpan data yang sangat besar

Berikut adalah langkah-langkah install mongodb secara cepat di server centos.

1. Buat file repo

1.1. Nama file: /etc/yum.repos.d/mongodb-org-4.2.repo

1.2. Isikan file tersebut kode di bawah ini

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

2. Install repository 

yum install -y mongodb-org

Tunggu sampai selesai dan mongodb sudah siap digunakan.

3. Start service mongodb

Sintak : systemctl start mongod

Untuk mengetahui status mongodb : systemctl status mongod

Jika start mongodb gagal, karena servis tidak ditemukan :  systemctl daemon-reload

Untuk menghentikan mongodb : systemctl stop mongod

untuk restart : systemctl restart mongod

Lokasi log file mongodb ada di /var/log/mongodb/mongod.log


Catatan: 

Jika menggunakan mongodb versi 5, buat file /etc/yum.repos.d/mongodb-org-5.0.repo
Isikan kode di bawah ini:

[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc


Install MongoDB Pada Windows

 


MongoDB merupakan database open source berbasis dokumen (Document-Oriented Database) yang awalnya dibuat dengan bahasa C++. MongoDB sendiri sudah dikembangkan oleh 10gen sejak Oktober 2007, namun baru dipublikasikan pada Februari 2009. Selain karena performanya 4 kali lebih cepat dibandingkan MySQL serta mudah diaplikasikan, karena telah tergabung juga sebagai modul PHP.

Konsep pada MongoDB tidak ada yang namanya tabel, kolom ataupun baris yang ada hanyalah collection (ibaratnya tabel), document (ibaratnya record). Data modelnya sendiri disebut BSON dengan struktur mirip dengan JSON. 

Contoh Struktur .

{

       "nama" : "agus",

       "kontak" : {

           "alamat" : "Jl. Pemandangan No. 15",

           "kota" : "Jakarta",

           "kodepos" : "56733",

   "telp" : "0821909090"

       }

}

Dengan konsep key-value yang ada pada MongoDB, setiap document otomatis memiliki index id yang unik. Hal ini membantu mempercepat proses pencarian data secara global.

Keunggulan Yang Dihadirkan Oleh MongoDB

  • Performa yang ditawarkan MongoDB lebih cepat dibandingkan MySQL ini disebabkan oleh memcached dan format dokumennya yang berbentuk seperti JSON
  • Replikasi, fitur yang sangat bermanfaat untuk backup data secara realtime. MongoDB sangat cocok digunakan untuk portal berita ataupun blog, namun belum cocok untuk digunakan pada sistem informasi yang berkaitan dengan keuangan karena MongoDB tidak mendukung transaction SQL
  • Auto-sharding, fitur untuk memecah database yang besar menjadi beberapa bagian demi optimalisasi performa database. Penggunaannya sangat berguna ketika memiliki website dengan database yang jutaan baris, sharding akan membantu memecahnya menjadi beberapa bagian
  • MongoDB : mendukung C, C++, C#, Erlang, Haskell, Java, JavaScript, .NET(C# F#, PowerShell), Lips, Perl, PHP, Python, Ruby dan Scala
  • Cross-platform : Windows, Linux, OS X dan Solaris
  • Proses CRUD (Create, Read, Update, Delete) terasa sangat ringan
  • Map/Reduce, akan sangat membantu ketika melakukan operasi agregasi. Dimana semua entry datangnya dari collection dan outputnya pun akan menjadi collection juga. Kalau di MySQL menggunakan query GROUP BY
  • GridFS, spesifikasi yang digunakan untuk menyimpan data yang sangat besar


Instal MongoDB Pada Windows

1. Download mongoDB, kemudian 2x klik pada file installer yang telah didownload, lalu klik Next


2. Klik Install 


3. Pilih custom


4. Pilih partisi C  ( partisi lain yang akan menjadi lokasi melakukan instalasi MongoDB pada sistem operasi windows ), selanjutnya buatlah sebuah folder dengan nama mongodb dan pilihlah folder tersebut, kemudian klik OK


5. Tunggu sampai proses instalasi mongoDB selesai.


5. Klik finish



Menjalankan Server Mogodb

Buka CMD, kemudian masuk ke lokasi/ path mongoDB yang ada pad direktori C:\mongodb\bin.

mongod.exe --dbpath=c:\mongodb\data


Membuat Service MongoDB

Mengatur service yang dibuat dijalankan otomatis ketika komputer di gunakan melalui service manager.

mongod.exe –install –journal –logpath c:\mongodb\ mongo.log –dbpath=c:\mongodb\data

lalu restart komputer/ PC anda setelah proses pembuatan service berhasil.


Management Service MongoDB Pada OS Windows

seperti layaknya service pada sistem operasi windows, bisa juga dilakukan management service MogonDB melalui CMD ataupun Service Manager Windows. 

Merunning/ mengaktifkan service mongoDB

net start mongodb


Mengstop/ menghentikan service MongoDB : net stop mongodb

Merestart service MongoDB : C:\monogdb\mongod.exe --remove


Baca juga artikel yang berkaitan :

Sintax Basic Query MongoDB

 


Berikut adalah perintah menggunakan  query CRUD ( select, insert, update, & delete).

Untuk memudahkan pemahaman istilah di mongoDB,  maka diilustrasikan :

database = database

table = collection

rows = document


Masuk ke CLI mongoDB

1. localhost dengan port default 27017 :  mongo

2. menentukan port  : mongo --port 28015

3. List database : db

4. Membuat atau menggunakan database : use dbmongo

Catatan :  dbmongo akan dibuat jika belum ada

5. list database dan ukuran : show dbs

6. menampilkan collections pada database : show collections

7. insert dan membuat collection

db.users.insertOne( { nama:"agus",umur: 28,status:"pria" } );

Catatan : otomatis membuat collection users jika belum ada

8. menampilkan isi dari users collection : db.users.find();

menampilkan isi dari users dengan format json yg pretty : db.users.find().pretty();

9. Select menggunakan limit : db.users.find().limit(10).pretty();

10. Select menggunakan limit dan offset : db.users.find().skip(1).limit(10).pretty();

11. insert dokumen banyak sekaligus

db.users.insertMany( [

{ nama:"wati",umur: 14,status:"wanita" },

{ nama:"budi",umur: 28,status:"pria" },

{ nama:"tuti",umur: 24,status:"wanita" }

]);

12. update satu dokumen

db.users.updateOne(

    {"nama":"budi"},

    {$set: {"umur": 27} }

);

13. update banyak dokumen sekaligus

db.users.updateMany(

  {"umur":30, "nama":"budi"},

  { $set: { "Dewasa" : true } }

);

db.users.updateMany(

  { umur: { $gt: 30 } },

  { $set: { "Dewasa" : true } }

);

db.users.updateMany(

  { umur: { $lt: 30 } },

  { $set: { "Dewasa" : false, "lastUpdate": ISODate("2020-03-24T17:31:01.670Z") } }

);

db.users.updateMany(

  { umur: { $gt: 30 } },

  { $set: { "Dewasa" : true, "lastUpdate": new Date() } }

);

db.users.updateMany(

  { umur: { $gt: 30 } },

  { $set: { "Dewasa" : true, "lastUpdate": new Date("2020-04-04") } }

);


Catatan :

Pada mongodb, dokumen dapat memiliki struktur data yang berbeda

db.users.updateMany(

  { umur: { $gt: 30 } },

  { $set: { "Dewasa" : true } }

);

db.users.updateMany(

  { umur: { $lt: 30 } },

  { $set: { "Dewasa" : false, "lastUpdate": ISODate("2020-03-24T17:31:01.670Z") } }

);

db.users.updateMany(

  { umur: { $gt: 30 } },

  { $set: { "Dewasa" : true, "lastUpdate": new Date() } }

);

db.users.updateMany(

  { umur: { $gt: 30 } },

  { $set: { "Dewasa" : true, "lastUpdate": new Date("2020-04-04") } }

);


14. insert  kembali

db.users.insertMany( [

{ nama:"joni",umur: 24,status:"wanita" },

{ nama:"rudi",umur: 38,status:"pria" },

{ nama:"ardi",umur: 34,status:"wanita" }

]);


15. menghitung baris : db.users.count();

16. delete dokumen

db.users.deleteOne(

    {"nama":"ardi"}

);

//delete banyak dokumen dengan OR

db.users.deleteMany(

    {$or: [{"nama":"joni"},{"nama":"rudi"}]}

);


17. empty collection, semua dokumen dalam colection users dihapus : db.users.remove( { } );

18. menghapus collections : db.users.drop();

19. keluar CLI mongoDB : quit();


Baca juga artikel yang berkaitan :

Export - Import Database Mongodb

 


Berikut adalah cara export collection mongodb format json.

1. Export

mongoexport –-db=namadatabase –-collection=namacollection –-out=/path/to/namacollection.json


2. Import

mongoimport –-db=namadatabase –-collection=namacollection –-file=/path/to/namacollection.json


Catatan : 

Perintah di atas perhatikan tanda “–“, jika tidak sejajar ubah tanda tersebut secara manual “–“.

Perintah mongoexport dan mongoimport di atas dijalankan di command line putty, langsung di cursor command, bukan di shell mongo.


Baca juga artikel yang berkaitan :


Memunculkan Simbol & Emoji Pada OS Mac

  Memunculkan Simbol & Emoji  1. Buka aplikasi Pages / Notes pada Macbook. 2. Klik pada Menubar Edit --> Pilih Emoji and Symbols a...