Spatial Database
Bahasa Query Spasial
1. Bahasa Queryy Basisdata Standar
2. Dasar Utama SQL
3.
3 Memperluas SQL untuk Data Spasial
4. Contoh Queries yang menekankan
aspek spasial
Spatial Database
Tujuan
1. Memahami konsep bahasa query
◦ Apa itu bahasa query?
◦ Mengapa menggunakan bahasa query?
2. Belajar menggunakan bahasa query standar (SQL)
◦ B
Bagaimana
i membuat
b t dan
d mengisii i tabel?
t b l?
◦ Bagaimana melakukan query pada tabel?
3. Belajar menggunakan jenis data abstrak (ADT)
dengan SQL
◦ Belajar tentang operasi dan jenis data spasial standar
OGIS
◦ Belajar menggunakan ADT spasial OGIS dengan SQL
4. Belajar mengenai tren dalam bahasa query
◦ Fasilitas untuk jenis data yg ditentukan user dalam SQL3
Spatial Database
1 Bahasa Query Basisdata Standar
1.
Apa itu Query ?
◦ Query adalah sebuah “pertanyaan”
pertanyaan yang diajukan pada
basis data
◦ Query dinyatakan dalam aturan deklarasi tingkat tinggi.
Untuk menjawab query yang tidak dispesifikasikan dalam query,
query
diperlukan Algoritma
Contoh :
◦ Klik mouse pada simbol peta (mis. jalan) mungkin berarti
Apa nama jalan yang ditunjukkan oleh kursor mouse?
◦ Pengetikan kata kunci pada mesin pencari (mis. Google,
yyahoo)) berarti
Dokumen mana saja di web yang meiliki kata kunci tersebut?
◦ SELECT S.name FROM Student S WHERE S.gender = ‘F’
berarti
Siswa
S manakah
k h yang perempuan??
Spatial Database
Apakah bahasa query itu
itu??
Apa itu bahasa query?
◦ Sebuah bahasa untuk mengekspresikan pertanyaan menarik
tentang data
◦ Sebuah bahasa membatasi sekumpulan kemungkinan query
Contoh:
◦ Bahasa alami, mis. Inggeris, dapat mengekpreasikan hampir semua
query
◦ Bahasa permograman Komputer, mis. Java,
Dapat mengekspresikan query yang bisa dihitung
Tetapi diperlukan algoritma untuk menjawab query
◦ Structured Query Language(SQL) – Bahasa Query Terstruktur
Dapat mengekspresikan query data umum
SQL standar (1 & 2)tidak cocok untuk query yang berulang
◦ Antarmuka grafis ms.. web-search, klik mouse pada peta
Dapat mengekspresikan query yang sedikit berbeda.
http://www.google.com Jakarta map
Spatial Database
UAS
POPULATION POPULATION
CAPITAL
NAME
CAPITAL-OF ORIGINATES
CITY COUNTRY RIVER
GDP LENGTH
NAME
Spatial Database
UAS
Spatial Database
Tabel Data Basis Data Dunia
(“World database)
Spatial Database
Apa itu SQL?
SQL?
SQL – Informasi Umum
◦ Adalah sebuah bahasa query standar untuk basis
data relasional
◦ Mendukung konsep model data logis, seperti
relasi, kunci, ...
◦ Didukung oleh merk-merk utama seperti IBM
DB2, Oracle, MS SQL Server, Sybase, ...
◦ Ada tiga versi: SQL1 (1986), SQL2 (1992), SQL
3 (1999)
◦ Bisa mengekspresikan query untuk data umum
Spatial Database
Apa itu SQL?
SQL?
SQL
Q dan p
pengelolaan
g data spasial
p
◦ ESRI Arc/Info memasukkan sebuah DBMS
relasional yang disesuaikan bernama Info
◦ Software GIS lain dapat berinteraksi dengan
DBMS menggunakan SQL
Menggunakan protokol open database connectivity
(ODBC) atau yang lainnya.
◦ Kenyataannya, banyak software memakai SQL
untuk mengelola data pada back-end DBMS
◦ Dan mayoritas query SQL dibuat oleh software
lain
Spatial Database
UAS
Spatial Database
UAS
Spatial Database
UAS
Spatial Database
UAS
Spatial Database
UAS
Spatial Database
UAS
Spatial Database
Pernyataan SELECT – Informasi Umum
Clauses
◦ SELECT menentukan kolom yang diinginkan
◦ FROM menentukan tabel yang terkait
◦ WHERE menentukan kondisi yang memenuhi syarat untuk baris
◦ ORDER BY menentukan kolom yang diurutkan pada hasil
◦ GROUP BY, HAVING menentukan agregasi dan statistik
Operator dan fungsi
◦ Operator aritmetik,
aritmetik mis.
mis +,
+ -,
- …
◦ Operator perbandingan, mis. =, <, >, BETWEEN, LIKE…
◦ Operator logika, mis. AND, OR, NOT, EXISTS,
◦ Operator set, mis.
mis UNION, IN, ALL, ANY, …
◦ Fungsi statistik, mis. SUM, COUNT, ...
◦ Operator lainnya pada strings, tanggal, mata uang, ...
Spatial Database
SELECT Contoh1.
Contoh1
Query paling sederhana memiliki SELECT dan clauses FROM
Query: Buat daftar kota dan negara tempat kota tersebut
berada
◦ SELECT Name, Country FROM CITY
Name Country
Havana Cuba
Washington, D.C. USA
Hasilnya Monterney Mexico
Toronto Canada
Brasilia Brazil
Rosario Argentina
Ottawa Canada
M i Cit
Mexico City M i
Mexico
Buenos Aires Argentina
Spatial Database
SELECT Contoh 2.
2
Umumnya 3 clauses (SELECT, FROM, WHERE) digunakan
Query: Buat daftar nama ibukota dalam tabel CITY
◦ SELECT * FROM CITY WHERE CAPITAL=‘Y ’
Name Country Pops(mill) Capital Shape
Spatial Database
Tabel Data Basis Data Dunia
(“World database)
Spatial Database
Contoh Query…Where
Query Where clause
Query: Buat daftar atribut pada negara pada relasi
country dimana life-expectancy
life expectancy (angka harapan hidup)
kurang dari 70 tahun.
◦ SELECT Co.Name, Co.Life-Exp FROM Country Co
WHERE Co.Life-Exp
Co Life Exp <70
◦ Catatan: penggunaan alias ‘Co’ untuk Tabel ‘Country’
Name Life-exp
Hasilnya Mexico 69.36
Brazil 65.60
Spatial Database
Contoh Query Multi
Multi--table
Query: Buat daftar ibukota dan populasi negara yang
angka GDPnya melebihi satu trilyun dollar.
dollar
◦ Catatan : Tabel City dan Country digabung dengan
mencocokkan “City.Country = Country.Name”. Ini
mensimulasikan operator
p relational “join”
j
SELECT Ci.Name,Co.Pop
FROM City Ci,Country Co
WHERE Ci.Country =Co.Name
AND Co.GDP >1000.0
AND Ci.Capital
Ci.Capital=‘Y
Y’
Ci.Name Co.Pop
Hasilnya
y Brasilia 183.3
Washington, D.C. 270.0
Spatial Database
Contoh Query Multi
Multi--table
Query: Apakah nama dan populasi ibukota
negara dimana sungai St. Lawrence berasal?
SELECT Ci.Name,
Ci N Ci
Ci.Pop
P
FROM City Ci, Country Co, River R
WHERE R.Origin =Co.Name
AND Co.
Co.Name
a e =Ci.Country
C .Cou t y
AND R.Name =‘St.Lawrence ’
AND Ci.Capital=‘Y ’
Spatial Database
Tabel Data Basis Data Dunia
(“World database)
Spatial Database
Contoh Query …
…Agregat
Agregat Statistik
SELECT AVG(Ci.Pop)
AVG(Ci Pop)
FROM City Ci
WHERE Ci.Capital=‘N ’
Spatial Database
Contoh Query..Having
Query..Having clause, Nested queries
Q
Query:y Untuk tiap p negara
g yyangg minimal berasal dua sungai,
g , temukan
panjang dari sungai terkecil.
Query: Buat daftar negara yang GDP nya lebih besar dari Canada.
SELECT Co.Name
Co Name
FROM Country Co
WHERE Co.GDP >ANY(SELECT Co1.GDP
FROM Country Co1
WHERE Co1.Name =‘Canada ’)
Spatial Database
Bahasa Query Spasial
11. B
Bahasa
h Q
Query B
Basisdata
i d t St
Standar
d
2. Dasar Utama SQL
3. Memperluas SQL untuk Data Spasial
4. Contoh Queries yang menekankan
aspek spasial
Spatial Database
3. Memperluas SQL untuk Data Spasial
Alasan
◦ SQL memiliki jenis data atomik yang sederhana,
sederhana seperti
integer, tanggal dan string
◦ Tidak cocok untuk data spasial dan query
Data spasial (mis. poligon) rumit
Operasi
O i spasial
i l : topologi,
l i directional,
di i l metric
i
SQL 3 memungkinkan user menentukan jenis data
dan operasi
◦ Jenis data spasial dan operasi dapat ditambahkan pada
SQL3
Open Geodata Interchange Standard (OGIS)
◦ Setengah
g lusin jjenis data spasial
p menggunakan
gg konsepp ini.
◦ Mendukung beberapa operasi spasial
◦ Didukung oleh “pemain” utama sperti ESRI, Intergraph,
Oracle, IBM,...
Spatial Database
Model Data Spasial OGIS
Terdiri atas kelas dasar Geometri dan empat
sub-kelas:
bk l
◦ Point, Curve, Surface dan Geometry Collection
◦ Gambar berikut menunjukkanj jjenis data spasial
p
dalam OGIS
Operasi memiliki tiga kategori:
◦ Berlaku
B l k untuk
t k semua jenis
j i geometri
ti
Spatial Reference, Envelope, Export, IsSimple, Boundary
◦ Sebutan untuk relasi Topologi
Equal, Disjoint, Intersect,Touch, Cross,Within, Contains
◦ Analisa Data Spasial
Distance, Buffer, Union, Intersection, ConvexHull, SymDiff
Spatial Database
Model Data Spasial OGIS
Spatial Database
Spatial Database
Query Spasial dengan SQL/OGIS
SQL/OGIS – Informasi Umum
◦ Kedua standar diadopsi oleh banyak vendor
◦ Pilihan jenis data spasial dan operasi adalah mirip.
◦ S
Syntax b b d dari
berbeda d i vendor
d kek vendor
d
◦ Pembaca mungkin perlu mengubah query
SQL/OGIS
SQ /OG S dalam
a a ttekss u
untuk
tu b
bisa
sa dijalankan
ja a a papadaa
produk komersial tertentu
Penggunaan OGIS dengan SQL
◦ Jenis data spasial dapat digunakan dalam DML
untuk jenis kolom
◦ Operasi spasial dapat digunakan dalam DML
Spatial Database
Bahasa Query Spasial
1. Bahasa Query Basisdata Standar
2. Dasar Utama SQL
3. Memperluas SQL untuk Data Spasial
4. Contoh Queries yang menekankan
aspek spasial
Spatial Database
4 Contoh
4. C hQQuery yg Menekankan
M k k A Aspekk Spasial
S l
Spatial Database
Contoh Daftar Query Spasial
• Contoh SQL SELECT_FROM_WHERE sederhana
•Operasi spasial Boolean Topologi -
WHERE clause
•Touch
•Cross
Cross
Contoh : Touch
Q : Temukan nama semua negara yang bertetangga dengan USA pada tabel
Country.
Country
SELECT C1.name AS “Neighbor of USA”
FROM Country C1, Country C2
WHERE Touch (C1.Shape, C2.Shape) = 1 AND
C2 name = “USA”
C2.name USA
Contoh: Cross
Q : Untuk semua sungai yang ada pada tabel river, temukan negara-negara yang
dilaluinya.
SELECT R R.name,
name CC.name
name
FROM River R, Country C
WHERE Cross (R.Shape, C.Shape) = 1
Spatial Database
Contoh
C hDDaftar
f Query
Q Spasial
S i l
• Contoh SQL SELECT_FROM_WHERE sederhana
•Penggunaan analisa spasial dan operasi topologi
•Buffer, overlap ()
Contoh: Buffer
Q: Sungai St. Lawrence dapat menyediakan air ke kota yang jaraknya kurang 300
km. Buat daftar kota
kota-kota
kota yang bisa menggunakan air dari sungai St. Lawrence
SELECT Ci.name
FROM City Ci, River R
WHERE Overlap(Ci.Shape, Buffer(R.Shape, 300)) = 1 AND
R.name = “St.
St. Lawrence
Lawrence”
Spatial Database
UAS
SELECT C.Name,
CN C P Area(C.Shape)AS
C.Pop, A (C Sh )AS "A
"Area""
FROM Country C
Catatan:
Query ini menggunakan operasi spasial, Area().
Spatial Database
UAS
Spatial Database
Menggunakan operator spasial WHERE
clause
l
Query: Temukan
Q T k nama semua negara yang bertetangga
b d
dengan USA dalam
d l
tabel country.
Spatial Database
Query Spasial dengan multiple tables
Query: Untuk semua sungai yang ada pada tabel River,
River temukan
negara-negara yang dilaluinya.
Spatial Database
Contoh Query Spasial…Buffer
Spasial…Buffer dan Overlap
Query: Sungai
Q S i St.
S LLawrence dapat
d menyediakan
di k air i ke
k kota
k b j k 300
berjarak
km. Buat daftar kota yang bis amenggunakan air dari St. Lawrence.
SELECT Ci.Name
Ci N
FROM City Ci, River R
WHERE Overlap(Ci.Shape, Buffer(R.Shape,300))=1
AND R.Name
R Name ==‘St
St.Lawrence
Lawrence ’
Spatial Database
Ingat Contoh Daftar Query Spasial
• Contoh SQL SELECT_FROM_WHERE
SELECT FROM WHERE sederhana
•Operasi analisa spasial
• Operator unary : Area
• Operator
p binaryy : Distance
•Operasi spasial topologi Boolean - WHERE clause
•Touch
•Cross
•Penggunaan operasi analisa spasial dan topologi
•Buffer, overlap
Spatial Database
Ringkasan
Query pada basis data dinyatakan dengan aturan deklaratif tingkat tinggi.
SQL merupakan “lingua-franca” dalam basis data dunia yang komersial.
SQL standar beroperasi pada jenis data sederhana.
SQL3/OGIS supports several spatial data types and operations
Operasi dan jenis data spasial tambahan dapat didefinisikan
Spatial Database