Home » Software » DBMS » Mysql » Pengertian SQL: Schema – Tipe Data – dan Querynya

Pengertian SQL: Schema – Tipe Data – dan Querynya

by syifaul fuadi
by syifaul fuadi

Structured Query Language atau SQL merupakan sebuah kalimat yang tidak asing lagi bagi kita anak IT. SQL merupakan poin penting dalam sebuah studi teknik komputer. Keberadaan SQL sebagai sebuah bahasa pemrograman memiliki sejarah dan perkembangan yang panjang.

Tentu saja perkembangan tersebut dipengaruhi oleh perkembangan dunia teknologi yang dari tahun ke tahun semakin membaik dan terus diperbaharui. Nama SQL sendiri diperluas sebagai bahasa Query yang terstruktur. Awalnya, SQL disebut SEQUEL (Structured English Query Language).

Pengertian SQL

Pengertian SQl secara umum dalam dunia IT bisa diartikan sebagai bahasa yang digunakan dalam mengakses sebuah data. Khususnya untuk data yang memiliki basis relasional.

Tentu saja bahasa komputer dalam data basis relasional ini berdasarkan standar yang dikeluarkan oleh American National Standard Institute (ANSI).

Tipe Data SQL

Di dalam SQL sendiri kita harus mengenal tipe-tipe yang ada dalam SQL, berikut adalah tipe-tipe dalam SQL :

  1. Numeric
  2. Character-string
  3. Bit-string(image)
  4. Dataline

Dengan kita tau tipe-tipe yang ada di SQL kita dipermudah dalam mengelola data di SQL tersebut.

1. Tipe Data Numeric

Tipe data numeric ada 2 yaitu bilangan integer, dan bilangan real.

  • Bilangan-bilangan integer :
Tipe DataUkuran TempatRentang Nilai
Byte1 byte0 s/d +225
Shortint1 byte-28 s/d +127
Integer2 bytes-32768 s/d 32767
Word2 bytes0 s/d 65535
Longint4 bytes2147483648 s/d 2147483647
  • Bilangan-bilangan real
Tipe DataUkurangan TempatRentang Nilai
Real6 bytes2.9 x 10-39 s/d 1.7×1038
Single4 bytes1.5 x 1045 s/d 3.4 x 1038
Double8 bytes5.0 x 10-324 s/d 1.7 x 10308
Extended10 bytes3.4 x 10-4932 s/d 1.1 x 104932
Comp8 bytes-9.2 x 1018 s/d 9.2 x 1018

Format number di deklarasi : DECIMA (i,j) atau DEC (i,j) atau Numeric (i,j)].

  • i -> presisi (jml. Decimal digit)
  • j-> scale (jml. Digit pecahan)

2. TIPE DATA CHARACTER-STRING :

  • Fixed Length  : CHAR(n) atau CHARACTER(n)
  • Varying Length  : VARCHAR(n) atau CHAR VARYING(n) Atau     CHARACTER VARYING(n)
  • n à jml. Maksimum dari CHARACTER (default n = 1)
  • Nilai-nilai yang termasuk karakter adalah:
    a) Karakter huruf    : ‘a’..’z’,’A’..’Z’
    b) Karakter angka : ‘0’..’9’
    c) Karakter tanda baca  : titik, koma, titik koma, titik dua dan sebagainya
    d) Karakter khusus : $, %, #, @ dan sebagainya.

3. TIPE DATA BIT-STRING

  • Fixed Length  : BIT(n) , n = jml bit
  • Varying Length  : BIT VARYING(n) , n = jml bit maksimum (default n = 1)
  • Disebut juga BLOB (Binary Large Object)

4. TIPE DATA DATE & TIME

  • DATE mempunyai 10 posisi dengan format untuk komponen YEAR-MONT-DAY : YYYY-MM-DD
  • TIME paling sedikit mempunyai 8 posisi untuk komponen HOUR-MINUTE-SECOND dengan format : HH-MM-SS
  • Detail mengenai manipulasi dari tipe data DATE & TIME dapat mengacu pada Reference Manual SQL yang di pakai.
  • Format oracle : DD-MON-YYYY HH:MI:SS

Schema dan Konsep Katalog di SQL

Schema SQL dapat di identifikasi dengan nama schema, dan menyertakan pengenal otorisasi untuk menunjukkan pengguna atau akun yang memiliki schema tersebut, serta deskriptor untuk setiap elemen dalam schema.
Elemen Schema mencakup tabel, batasan, tampilan, domain, dan konstruksi lain (seperti pemberian otorisasi) yang menjelaskan tentang schema.

SCHEMA

Berikut merupakan sintaks untuk CREATE SCHEMA adalah:

BUAT SCHEMA AUTHORIZATION schema_name

[create_table_statement]
[create_view_statement]
[pernyataan_hibahan];

Parameter atau Argumen :

  • schema_name. Nama skema (yang sama dengan nama pengguna Oracle yang Anda gunakan untuk masuk).
  • create_table_statement. Pilihan. Ini adalah pernyataan CREATE TABLE yang valid.
  • create_view_statement. Pilihan. Ini adalah pernyataan CREATE VIEW yang valid.
  • grant_statement. Pilihan. Ini adalah pernyataan GRANT yang valid.

Contoh :

CREATE SCHEMA AUTHORIZATION smithj

CREATE TABLE products
( 
  product_id number(10) not null,
  product_name varchar2(50) not null, 
  category varchar2(50),
  CONSTRAINT products_pk PRIMARY KEY (product_id)
 );

USER

USER sendiri adalah yang menjalankan SQL tersebut. Untuk membuat sebuah User baru :

  • Sintax :
CREATE USER UserName IDENTIFIED BY UserPassword ; 
  • Membuka/Menutup Lock User :
ALTER USER UserName ACCOUNT LOCK ;
ALTER USER UserName ACCOUNT UNLOCK ; 
  • Mengubah Password User :
ALTER USER UserName IDENTIFIED BY NewUserPassword ;

Privileges (Hak Akses)

Untuk privileges sendiri ada dua jenis untuk pengguna yaitu :
Sistem: Memungkinkan pengguna untuk melakukan tindakan tertentu dalam database.
Objek: Memungkinkan pengguna untuk mengakses dan memanipulasi objek tertentu.

Perintah SQL

Perintah atau instruksi tersebut umumnya ditentukan oleh user, adapun bahasa yang digunakan dibagi kedalam 2 (dua) macam, diantaranya sebagaimana yang ada di bawah ini :

1. DDL (Data Definition Language)

Yang pertama adalah bahasa DDL atau kepanjangannya Data Definition Language, yaitu dipakai untuk menggambarkan desain dari basis data secara menyuruh. DDL (Data Definition Language) dapat dipakai untuk membuat tabel baru, memuat indeks, maupun mengubah tabel. Hasil dari kompilasi DDL akan disimpan di kamus data. Itulah definisi dari DDL. Untuk syntax DDL biasanya menggunakan :

  • CREATE
  • ALTER
  • DROP

Contoh :

CREATE TABLE [schema.] table
         (column datatype [DEAFULT expr][, ...]);
  • Schema : sama dengan nama pemilik
  • Table : nama tabel
  • DEFAULT expr : menentukan suatu nilai default suatu nilai dihilangkan dalam pernyataan INSERT
  • Column : nama kolom
  • Datatype : tipe data dan panjang kolom

Menyertakan Constraint

Constraint – constraint menjalankan aturan – aturan (rules)pada tingkat tabel.

Constraint – constraint mencegah penghapusan suatu tabel jika ada Ketergantungan – ketergantungan (dependencies).

Berikut ini adalah tipe-tipe Constraint yang valid :

  • NOT NULL
  • UNIQUE
  • PRIMARY KEY
  • FOREIGN KEY
  • CHECK

Contoh :

CREATE TABLE EMPLOYEE
 (  
    FNAME  VARCHAR(9)  NOT NULL,
   MINIT  CHAR, 
   LNAME  VARCHAR(15)  NOT NULL,
   SSN  CHAR(9)  NOT NULL,
    BDATE  DATE,
   ADDRESS  VARCHAR(30),
   SEX  CHAR,
   SALARY  DECIMAL(10,2),
    SUPERSSN  CHAR(9),
   DNO  INT  NOT NULL DEFAULT 1,
   CONSTRAINT EMPPK PRIMARY KEY (SSN)
    ) 

Contoh :

Sintax Create Table

1. CREATE TABLE SUPPLIER

Create Table supp
(
  KD_SUPP CHAR(5) PRIMARY KEY,
  NM_SUPP VARCHAR(50) NOT NULL ,
  ALMT_SUPP VARCHAR(100),
  TELP_SUPP VARCHAR(12),
  STATUS CHAR(1) CONSTRAINT SUPP_STS_CK CHECK  (STATUS IN ('A','T')),
  KTP CHAR(12) UNIQUE
);

2. CREATE TABLE BARANG

Create Table brg
(
  KD_BRG CHAR(5) PRIMARY KEY,
  NM_BRG VARCHAR(50) NOT NULL,
  JENIS VARCHAR(25),
  STOK NUMBER(5),
  KD_SUPP CHAR(5) CONSTRAINT  BRG_KD_FK REFERENCES SUPPLIER(KD_SUPP)
);

3. CREATE TABLE PASOKAN BARANG

Create Tabel Pbrg
(
  KD_SUPP CHAR(5) CONSTRAINT PBRG_SUPP_FK REFERENCES SUPPLIER(KD_SUPP),
  KD_BRG CHAR(5) CONSTRAINT PBRG_BRG_FK REFERENCES BARANG(KD_BRG),
  TGL_PASOK DATE DEFAULT SYSDATE,
  JML_PASOK NUMBER(5) NOT NULL,
  CONSTRAINT PBRG_PK PRIMARY KEY (KD_SUPP,KD_BRG)
);

2. DML (Data Manipulation Language)

Dan yang kedua adalah DML atau kepanjangannya Data Manipulation Language, yaitu dipakai untuk memanipulasi daan pengambilan data pada suatu basis data, misalnya seperti penambahan data yang baru ke dalam suatu basis data, menghapus data pada suatu basis data dan mengubah data pada suatu basis data. Itulah definisi dar DML. Untuk syntax DML yaitu :

Untuk contoh sebagai berikut :

INSERT

Insert adalah memasukkan data kedalam table yang sudah kita buat. Contoh :

INSERT into <table_name|column1, column2, column3,.., columnN> VALUES (val_col1,val_col2,val_col3,…,val_coln)

Keterangan :

Table_name adalah nama dari suatu tabel column adalah nama dari kolom dalam tabel yang ditambah values adalah nilai yang sesuai untuk kolom

Contoh :

INSERT INTO Barang (kd_brg,nm_brg,jenis,stok)  VALUES ('B001','Pepsodent','Pasta Gigi',500);
INSERT INTO Barang (kd_brg,jenis,stok,nm_brg) VALUES ('B002', 'Pasta Gigi',200,'Ciptadent');
INSERT INTO Barang (kd_brg,jenis,stok,nm_brg)VALUES ('B003','Shampo',100,'Dove');
INSERT INTO Barang (kd_brg, nm_brg)  VALUES ('B004','Sunsilk');

Contoh :

INSERT INTO Barang1 SELECT * FROM Barang ;

INSERT INTO Barang2 (kd_brg,nm_brg,jenis,stok) SELECT * FROM Barang ;

INSERT INTO Barang2  SELECT kd_brg,stok,nm_brg,jenis  FROM Barang ;

UPDATE

Update yaitu menrubah atau mengupdate data yang telah kita buat di suatu table. Syntax sebagai berikut :

UPDATE <table_name>
SET <column_name> = <value>
[WHERE] <condition>

Keterangan :

  • Table_name adalah nama dari suatu tabel.
  • Column adalah nama dari kolom dalam tabel yang nilainya akan diubah
  • Value adalah nilai baru yang sesuai untuk kolom
  • Condition Barisbaris yang diidentifikasi untuk diupdate dan terdiri dari nama-nama kolom, ekspresi, konstanta, subqueries, dan operatoroperator pembanding
BARANG
KOLOMTIPEDATACONSTRAINT
KD_BRGCHAR(5)PRIMARY KEY
NM_BRGVARCHAR(50)NOT NULL
JENISVARCHAR(25) 
STOKNUMBER(5) 
UPDATE Barang SET jenis = 'Pasta Gigi' ;
UPDATE Barang SET stok = 200 WHERE kd_brg = 'B001' ;
UPDATE Barang SET stok = 200,jenis = 'Shampo' WHERE kd_brg = 'B002' ;

DELETE

Delete yaitu menghapus data sesuai table yang kita pilih. Berikut syntax dari delete :

DELETE [from] <table_name> [WHERE] <condition>

Keterangan :

  • Table_name adalah nama dari suatu tabel
  • condition Barisbaris yang diidentifikasi untuk diupdate dan terdiri dari nama-nama kolom, ekspresi, konstanta, subqueries, dan operatoroperator pembanding
BARANG
KOLOMTIPEDATACONSTRAINT
KD_BRGCHAR(5)PRIMARY KEY
NM_BRGVARCHAR(50)NOT NULL
JENISVARCHAR(25) 
STOKNUMBER(5) 

DELETE [FROM] Barang ;

DELETE Barang WHERE kd_brg = 'B001' ;
DELETE Barang
WHERE jenis = 'Pasta Gigi' AND stok = 200 ;

Pengenalan SQL dan cara memanipulasi data yang dapat memanfaatkan Query untuk kebutuhan bisnis lainnya

You may also like

Leave a Comment