4.1 Pengenalan
SQL
SQL (structur query language) : SQL adalah sarana Anda untuk
mengakses database
Perintah2 SQL:
-SELECT, bertugas untuk mengakses data dari
suatu tabel dalam database
-UPDATE, bertugas untuk mengupdate (merubah) data dalam suatu tabel pada database
-DELETE, bertugas untuk menghapus data dari suatu tabel dalam database
-INSERT, bertugas untuk menambahkan data ke dalam suatu tabel dalam database
-UPDATE, bertugas untuk mengupdate (merubah) data dalam suatu tabel pada database
-DELETE, bertugas untuk menghapus data dari suatu tabel dalam database
-INSERT, bertugas untuk menambahkan data ke dalam suatu tabel dalam database
4.2 Pengelompokan perintah SQL dan contoh kasus.
DDL - Data Definition Language
merupakan kumpulan perintah SQL yang digunakan untuk membuat, mengubah dan menghapus struktur dan definisi metadata dari objek-objek database.
merupakan kumpulan perintah SQL yang digunakan untuk membuat, mengubah dan menghapus struktur dan definisi metadata dari objek-objek database.
DML - Data Manipulation Language
merupakan kumpulan perintah SQL yang digunakan untuk proses pengolahan isi data di dalam table seperti memasukkan, merubah dan menghapus isi data - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database.
merupakan kumpulan perintah SQL yang digunakan untuk proses pengolahan isi data di dalam table seperti memasukkan, merubah dan menghapus isi data - dan tidak terkait dengan perubahan struktur dan definisi tipe data dari objek database.
DCL - Data Control Language
merupakan
sebuah metode query untuk memberikan otorisasi hak mengakses database,
mengalokasikan space, pendefinisian space, dan penggunaan database. DCL antara
lain:
DDL
I. DATA DEFINITION LANGUAGE
A. PERINTAH
CREATE
Digunakan untuk
mendefinisikan satu relasi baru yang berisikan :
-
Nama
Relasi
-
Nama
atribut-atributnya disertai dengan tipe-tipe datanya dan domain constrain /
value
-
Key,
entity integrity dan referential integrity constraint
Syntax Umum :
CREATE TABLE
<Table Name>
( <Column name>
<Column Type> [ <attribute constraint>]
{,<Column name> <Column Type>
[<Attribute constraint>]}
[ < Table Constraint> {, <Table
Constraint>}]
);
Dari Syntax diatas
ada definisi yang optional :
-
<
Attribute Constraint> : Not null yang dapat diikuti dengan Default value
dari attribute
-
<Table
Constraint> : Untuk menspesifikan Primary Key dan Key Constraint dan Foreign
Key (Referential Integerity Constraint)
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),
Constraint EmpSuperFK
Foreign Key
(SuperSSN) References Employee (SSN)
On Delete set null
On Update Cascade,
Constraint EmpDeptFK
Foreign Key (DNo)
References Department (Dnumber)
On Delete Set Default
On Update Cascade
B. PERINTAH DROP SCHEMA DAN DROP TABLE
Digunakan untuk
menghapus schema atau sejumlah table dari basis data, keduanya boleh diikuti
dengan option : Cascade atau Restrict
Syntax :
DROP SCHEMA
<Schema name>
DROP TABLE <Table
name>
Contoh :
DROP SCHEMA Company
Cascade
Ket : Menghapus schema basis data company dan semua
tabel, domain dan elemen-elemen lain didalamnya,
Option Restrict
digunakan apabila diinginkan untuk menghapus jika dan hanya jika schema tidak
mempunyai elemen didalamnya
DROP TABLE Dependent
Cascade
C. PERINTAH ALTER
Digunakan untuk
mengganti atau merubah definisi dari base table yang telah dibuat
Tindakan atau action
yang diakibatkan oleh perintah ini dapat meliputi :
-
Adding
atau dropping suatu kolom atau attribute
-
Mengganti
definisi suatu attribute
-
Adding
atau dropping table constraint
Contoh :
ALTER Table
Company.Employee DROP Address Cascade;
Menghapus satu kolom
dari suatu table, harus diikuti oleh salah satu pilihan : Cascade atau
Restrict.
Dengan Cascade, maka
semua constraint dan views yang mengacu pada kolom akan dihapus secara otomatis
dari schema
Jika Restrict
dipilih, maka perinta akan sukses bilamana tidak ada constraint atau view yang
mengacu pada kolom yang akan dihapus.
ALTER Table
Company.Department Alter MgrSSN
DROP Default;
ALTER Table
Company.Department ALTER MgrSSN
Set Default “333445555”;
Merubah definisi satu
kolom dengan cara menghapus default Clause yang ada, atau mengganti nilai dari
default clause
ALTER Table
Company.Employee
DROP Constraint
EmpSuperFK Cascade;
Mengganti constraint
yang telah didefinisikan dalam suatu table dengan menambah (adding) atau
menghapus (dropping) constraint.
Untuk tindakan
dropping suatu constraint, maka constraint tersebut harus diberi nama pada saat
didefinisikan. Contoh constraint Foreign Key “EmpSuperFK” dalam table Employee.
Constraint dapat
didefinisikan kembali dengan menambahkan (adding) satu constraint baru kedalam
relasi
Dapat digunakan untuk
menyingkat penulisan qualifier suatu attribute dalam kasus untuk menghindari
ambiquity,contoh berikut merupakan penulisan yang lain untuk query yang sama
dengan Q2A
SELECT E.Fname,
E.Name, E.Address
FROM employee E, Department D
Where D.Name =
‘Research’ And
D.Dnumber = E.Dnumber
II. UPDATE STATEMENT
Digunakan untuk
melakukan modifikasi database yang meliputi :
-
Insert
-
Delete (berlaku 1 tabel)
-
Update
DML
C. SELECT
Bentuk dasar dari
SELECT statement disebut dengan ‘SELECT FROM WHERE Blok’ yang mempunyai bentuk
umum :
Contoh :
Retrieve birthdate
dan address dari employee yang bernama ‘John B. Smith’
SELECT Bdate, Address
FROM Employee
WHERE Fname = ‘John’
And Minit = ‘B’ And LnAme = ‘Smith’
Retrieve name dan
address dari semua employee yang bekerja pada departemen ‘Research’ :
SELECT Fname, Lname,
Address
FROM Employee,
Department
WHERE Dname =
‘Research’ and Dnumber = DNo
Untuk setiap project
yang berlokasi di ‘Stafford’, dapatkan daftar nomor project, nomor department
pengendalinya, dan nama, alamt serta tanggal lahir dari manajer department
pengendali.
SELECT Pnumber, Dnum,
Lname, Address, Bdate
FROM Project,
Department, Employee
WHERE Dnum = Dnumber
and MgrSSN = SSN and Plocation = ‘Stafford’
A. INSERT COMMAND
Digunakan untuk
menyisipkan/menambahkan satu (single) tuple kedalam suatu relasi
INSERT Into employee
Values (‘Richard’,
‘K’, ‘Marini’, ‘653298653’, ’30-dec-52’, ’98 oak forest, katy’, ‘M’, 37000,
‘987654321’, 4)
INSERT Into Employee
(Fname, Lname, SSN)
Values (‘Richard’, ‘Marini’, ‘653298653’)
VARIATION
Menyisipkan multiple
tuples kedalam suatu relasi sehubungan dengan Creating Relation dan Loading
relasi yang dibuat dengan hasil suatu query dari relasi yang telah ada.
CREATE Temporary
table dengan heading berupa nama, jumlah employee, dan total salaries dari
setiap department :
CREATE Table
Depts-Info ( Dept-Name Varchar (15),
No-Of-Emps
Integer,
Total-Sal
Integer
);
INSERT Into
Depts-Info (Dept-name, No-Of-Emps, Total-Sal)
SELECT Dname, Count(*),
Sum (Salary)
FROM Department, employee
WHERE Dnumber = DNo
GROUP BY Dname;
Catatan : untuk
variasi ini tabel sementara yang dihasilkan tidak berubah akibat adanya
perubahan-perubahan pada tabel Department atau employee
C. UPDATE COMMAND
Digunakan untuk memodifikasi
nilai-nilai attribute dari satu atau lebih tuple yang dipilih
UPDATE Project
SET Plocation =
‘Bellaire’, Dnum = 5
WHERE Pnumber = 10
UPDATE employee
SET Salary = Salary *
1.15
WHERE DNo In ( Select Dnumber
From Department
Where Dname = ‘Research’
)
Setiap perintah
update secara eksplisit hanya boleh menspesifikasikan satu relasi saja
B. DELETE COMMAND
Digunakan untuk
menghapus sejumlah tuple dari suatu relasi.
Tergantung dari
kondisi penghapusan yang dinyatakan dalam Where Clause, maka jumlah tuple yang
dihapus akan bervariasi
Tanpa Where clause,
berarti menghapus semua tuple yang ada dalam tabel.
DELETE From Employee
WHERE Lname = ‘Brown’
DELETE From Employee
WHERE SSN =
‘123456789’
DELETE From Employee
WHERE Dno In ( Select
Dnumber
From Department
Where Dname = ‘Research’
)
DELETE From employee
DCL
GRANT :
untuk mengijinkan user untuk mengakses database
REVOKE GRANT
: untuk membatalkan hak akses user
B. MENDEFINISIKAN
QUERY DALAM SQL
Syntax Umum :
SELECT [Distinct]
<Attribute List>
FROM ( <Table
name>{ <alias>} | <joined table>)
{, <table name> {<alias>} | <jpined table>)}
[ WHERE
<condition>]
[ GROUP BY
<grouping attribute>
[HAVING <group
selection condition>]]
[ OREDER BY
<column name> [<order>]
{, <column name>
[<order>] } ]
<attribute
list> ::= (* | (<column name> | <function>
((
[Distinct] <column name> | * )))
{,
<column name> | <function>
((
[Distinct] <column name> | * )) }
))
<grouping
attribute> := <column name> { , <column name> }
<Order> := (ASC
| Desc)
www.stafsite.gunadarma.ac.id
materi sidang comprehensi Wisnu Ajie Supardi S.Kom
www.gunadarma.ac.id
No comments:
Post a Comment