[Summary] Sistem Informasi Perusahaan Chapter 6

advertisement
[Summary]
Sistem Informasi Perusahaan
Chapter 6
I.
Bisnis
QUERYING RELATIONAL DATABASES
membutuhkan
banyak
informasi
dalam
menentukan
pengambilan keputusan. Informasi bisa didapatkan dari berbagai data
namun beberapa data bisa diagregasi dalam berbagai bentuk. Karena data
disimpan dalam beragam format
sesuai dengan kebutuhan, maka
dibutuhkan skill tertentu untuk bisa secara efektif memanipulasi data.
Beberapa
ketentuan
yang
dibutuhkan
untuk
menghasilkan
sebuah
informasi yang baik yaitu pertama sumber data harus didesain dengan
baik.. Kedua , data harus dibuat oleh ahli atau orang yang memiliki
pengetahuan baik bagaimana memanipulasi data dan yang terakhir
pemanipulasi data harus mengetahui output dari hasil olahan data.
Beberapa bahasa manipulasi data akan dijelaskan selanjutnya.
RELATIONAL ALGEBRA (Aljabar relasional)
Aljabar relasional adalah sebuah bahasa query prosedural yang terdiri
dari sekumpulan operasi dimana masukkannya adalah satu atau dua relasi
dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi
tersebut. Tiga operator utamanya adalah select, project dan join. Operator
ini
nantinya
akan
membantu
dalam
memanipulasi
tabel
relational
database. Project merupakan subset vertikal dari tabel, sementara select
merupakan
subset
tabel
horizontal.
JOIN,
adalah
operator
yang
menggabungkan hubungan antar operator aljabar Project dan Select.

Project Example
Di dalam contoh ini, Operasi Proyeksi menggambarkan suatu relasi
yang berisi hanya Atribut Staff yang ditunjuk staff number, first Name, last
name, dan salary di dalam order yang ditetapkan itu. Hasil dari operasi ini
diperlihatkan pada gambar :
Staff number
First Name
Last Name
Salary
SL21
SG37
SG14
SA9
SG5
SL41
John
Ann
David
Mary
Susan
Julie
White
Beech
Ford
Howe
Brand
Lee
30000
12000
18000
9000
24000
9000
Operasi Proyeksi bekerja pada relasi tunggal R dan menggambarkan
suatu relasi yang berisi suatu subset vertikal dari atribut yang ditetapkan
dan mengeliminir salinan.
Select Example

Di sini, relasi masukan adalah staff dan predikat adalah gaji (salary) >
10000. Operasi select menggambarkan suatu relasi hanya berisi Staff itu
tuples dengan suatu gaji lebih besar dari £ 10,000. Hasil dari operasi ini
ditunjukkan pada gambar.
Staff
Number
First
Name
Last
Name
SL21
SG37
SG14
John
Ann
David
White
Beech
Ford
SG5
Susan
Brand
position
Sex
DOB
salary
Branch
Manager
Assistant
Superviso
r
Manager
M
F
M
1-Oct-45
10-Nov-60
24-Mar58
3-Juni-40
30000
12000
18000
B005
B003
B003
24000
B003
F
Daftar semua staff dengan suatu gaji lebih besar dari£10,000
σ
salary
> 10000 (Staff)

Join Example
Operasi Join, yang dikombinasikan dua relasi untuk membentuk
suatu relasi baru, adalah salah satu dari operasi yang penting di dalam
algebra/aljabar relasional.
Operasi join terdiri dari dua maksudnya:
1.
Inner join (atau equi-join)
Hanya mengikutsertakan records dari kedua tabel yang memiliki nilai
yang sama pada field yang digabungkan.
Client
Number
First
Name
Last
Name
Viewing.client
Number
Property Number
CR76
CR76
CR76
CR76
CR76
CR56
CR56
CR56
CR56
CR56
CR74
CR74
CR74
CR74
CR74
CR62
CR62
CR62
CR62
CR62
John
John
John
John
John
Aline
Aline
Aline
Aline
Aline
Mike
Mike
Mike
Mike
Mike
Mary
Mary
Mary
Mary
Mary
Kay
Kay
Kay
Kay
Kay
Stewart
Stewart
Stewart
Stewart
Stewart
Ritchie
Ritchie
Ritchie
Ritchie
Ritchie
Tregar
Tregar
Tregar
Tregar
Tregar
CR56
CR76
CR56
CR62
CR56
CR56
CR56
CR76
CR62
CR56
CR56
CR76
CR56
CR62
CR56
CR56
CR76
CR56
CR62
CR56
PA14
PG4
PG4
PA14
PG36
PA14
PG4
PG4
PA14
PG36
PA14
PG4
PG4
PA14
PG36
PG14
PG4
PG4
PA14
PG36
Client.clientNo
fName
lName
Viewing.clientNo
propertyNo
CR76
CR56
CR56
CR56
CR76
John
Aline
Aline
Aline
Mary
Kay
Stewart
Stewart
Stewart
Tregar
CR76
CR56
CR56
CR56
CR62
PG4
PA14
PG4
PG36
PA36
(Π
clientNo,fName, Name(Client))
 (Π
clientNo, propertyNo, comment(Viewing))
Result ← TempClient  TempViewing
Client
Number
First
Name
Last
Name
Viewing.client Property
Number
Number
CR76
CR56
CR56
CR56
John
Aline
Aline
Aline
Kay
Stewart
Stewart
Stewart
CR76
CR56
CR56
CR56
2.
PG4
PA14
PG4
PG36
Outer join
Mengikutsertakan semua records dari satu tabel, dan mencocokkan
records dari tabel lain yang nilai pada field yang digabungkannya adalah
sama.
Client
Number
View
Date
PropertyNo Street
city
PA14
16 Holhead
Aberdeen CR56
PA14
16 Holhead
Aberdeen CR62
PL94
PG4
London
Glasgow
Null
CR76
Glasgow
CR56
PG36
6 Argyl St
6
Lowerence
St
6
Lowerence
St
2 Manor Rd
Glasgow
CR56
PG21
18 Dale Rd
Glasgow
Null
24-May01
14-May01
Null
20-Apr01
26-May01
28-Apr01
Null
PG16
5 Novar Dr
Glasgow
Null
Null
PG4
Contoh left outer join
II.
STRUCTURED QUERY LANGUAGE
Meskipun aljabar relasional (relational algebra) dikembangkan
sebagai bagian dari model relasional, tapi itu bukan data manipulation
language yang paling umum digunakan saat ini. Salah satu kelemahan
dari aljabar relasional (relational algebra) adalah bahwa setiap operator
harus diselesaikan dalam query yang terpisah. Yang artinya, proyeksi dan
seleksi tidak dilakukan dalam query yang sama atau untuk mudahnya
berarti dua pertanyaan yang perlu dilakukan untuk mencapai dua operasi.
Structured Query Language (SQL) dikembangkan untuk memungkinkan
kinerja beberapa operasi dalam satu query. Dipercaya juga bahwa
penggunaan format standar untuk setiap query akan menyederhanakan
tugas pembangunan query, yang telah terbukti sangat sulit bagi banyak
pengguna. Untuk aljabar relasional, pengguna harus belajar syntax yang
berbeda untuk masing-masing dari berbagai operator aljabar relasional
(termasuk tiga yang telah kita bahas serta beberapa orang lain). Dalam
SQL, setiap query pencarian informasi mengikuti, sintaks yang telah
ditetapkan terstruktur sebagai berikut:
a.
SELECT – Attribute name(s)
b.
FROM – Table name(s)
c.
WHERE – Condition criteria is met;
Perlu
pernyataan
diperhatikan
SQL
sangat
bahwa
titik
penting
koma
jika
(semicolon)
sistem
yang
pada
akhir
digunakan
memungkinkan pernyataan lebih dari satu SQL yang akan dieksekusi
dalam panggilan yang sama ke server database. Jika hal itu dibiarkan,
pertanyaan tidak akan dieksekusi. Sebagian besar relational database
software packages saat ini secara otomatis menempatkan titik koma pada
akhir pernyataan untuk membantu menghindari kesalahan syntax yang
mungkin terjadi saat itu hilang.
Untuk beberapa permintaan tidak setiap komponen dalam syntax ini
diperlukan, dan untuk pertanyaan lain komponen tambahan harus
disertakan, tetapi secara umum setiap pernyataan SQL harus sesuai
dengan format ini. Meskipun sebagian besar perusahaan dan sebagian
besar paket perangkat lunak database tidak menggunakan langsung syntax
aljabar relasional, akan sangat membantu ketika query digunakan untuk
mempertimbangkan tiga operator aljabar relasional utama dan menentukan
bagaimana menyelesaikannya, entah menggunakan SQL ataupun QBE.
Untuk memulai kita meneliti bagaimana pemilihan, proyeksi, dan
bergabung operator yang dicapai dalam SQL.
Relational
Algebra
Operator
SQL Statement Component(s)
PROJECT
SELECT attribute name(s)
SELECT
WHERE criteria are met
FROM table names
JOIN
WHERE posted key field data
values match
TABLE 7-1. Correspondence of Relational Algebra Operators and SQL
Statement Components
Komponen pertama dari setiap pernyataan SQL (yaitu, SELECT
komponen) menentukan mana atribut harus dimasukkan dalam jawaban
atas pertanyaan tersebut. Ingat bahwa atribut adalah kolom tabel. Jadi
komponen ini pernyataan SQL menyelesaikan operator proyeksi relasional
aljabar. Komponen kedua dari setiap pernyataan SQL (yaitu, FROM
komponen) menentukan tabel yang berisi data yang akan disertakan dalam
jawabannya. Jika hanya ada satu meja, komponen ini dari pernyataan SQL
hanya mengidentifikasi tabel yang itu. Jika beberapa tabel yang diperlukan
untuk memenuhi permintaan informasi, komponen ini membantu untuk
mencapai aljabar relasional JOIN operasi (tetapi tidak mencapai bergabung
tanpa komponen berikutnya). Komponen ketiga dari pernyataan SQL dapat
melayani dua tujuan.
Dalam kombinasi dengan FROM komponen, hal ini membantu untuk
mencapai aljabar relasional JOIN dengan menentukan kolom untuk dua
tabel yang bergabung harus memiliki nilai yang sama. Atau komponen
WHERE menentukan kriteria yang harus dipenuhi oleh catatan dalam
rangka untuk dimasukkan dalam jawabannya. Dengan demikian komponen
WHERE dari pernyataan SQL menyelesaikan operator pilihan aljabar
relasional.
PROJECT Example
Pertanyaan pertama yang dihasilkan daftar nama karyawan dan
nomor telepon yang akan digunakan untuk pohon telepon darurat. Query
hanya dibutuhkan operator proyeksi saja. Dalam SQL query dinyatakan
sebagai berikut:
SELECT – LastName; FirstName, Telephone
FROM – Employee;
Perhatikan bahwa ketika kita tidak mencoba untuk menyelesaikan
aljabar relasional JOIN maupun aljabar relasional SELECT operator, tidak
ada kriteria yang harus dipenuhi sehingga tidak ada komponen WHERE
dalam pernyataan.
 SELECT Example
Permintaan kedua kami diformulasikan dengan aljabar relasional
adalah daftar karyawan (termasuk semua atribut) yang upah kurang bahwa
$ 15 per jam. Query ini diperlukan relasional Operator pilihan aljabar tapi
tidak ada proyeksi atau bergabung operator. Pernyataan SQL untuk query
ini adalah sebagai berikut:
SELECT – *
FROM – Employee
WHERE – PayRate <15.00;
Perhatikan bahwa tanda bintang (*) adalah simbol wildcard dan hanya
memberitahu database software package untuk memasukkan semua
atribut dalam hasil query.
 Combining SELECT and PROJECT in SQL
Perlu diperhatikan bahwa sangat mudah untuk menggabungkan
operator relational algebra selection dengan operator proyeksi dalam sebuah
pernyataan SQL tunggal. Katakanlah sebuah perusahan ingin mengambil
nama dan nomor telepon dari karyawan yang memiliki upah kurang dari
$15 sehingga perusahaan bisa menelepon karyawan untuk memberitahu
mereka kalau mereka mendapatkan biaya kenaikan hidup. Berikut
pernyataan SQL menyelesaikan semuanya dua pernyataan sebelumnya itu.
SELECT – LastName, FirstName, Telephone
FROM – Employee
WHERE – PayRate <15.00;
III.
JOIN EXAMPLES
JOIN operation pada SQL sama dengan JOIN statement pada algebra.
Operasi ini digunakan untuk mendapatkan informasi gabungan. Statementnya adalah:
SELECT *
FROM Employee, Department
WHERE Employee.DeptID=Department.DepartmentID
Dalam contoh agebra, kita harus mengeksekusi query kedua untuk
memenuhi PROJECT operation. SQL statement dapat diubah untuk
memenuhi JOIN dan PROJECT hanya dalam satu query, seperti:
SELECT LastName, FirstName, Name
FROM Employee, Department
WHERE Employee.DeptID=Department.DepartmentID
Perlu diingat bahwa dalam relational algebra kita harus menggunakan
dua query terpisah untuk memenuhi dua operasi berbeda. Namun pada
SQL kita mengombinasikan keduanya dalam satu query.
Untuk menentukan apakah sebuah JOIN harus menjadi outer join
(untuk mengambil seluruh data pada table yang tidak ada sebelumnya
dalam table gabungan), syntax perlu bervariasi. Outer JOIN harus
dispesifikasi sebagai Left Join maupun Right Join pada klausa From dalam
SQL statement. Penggunaan kanan atau kiri tergantung pada informasi
yang kita inginkan pada SQL statement tersebut. Contoh:
SELECT DeptName, LastName, FirstName, Name
FROM Department LeftJoin Employee
On Department.DepartmentID=Employee.DeptID
Klausa lain kita butuhkan untuk memenuhi query lain untuk
pengambilan keputusan. Misalnya, kita membutuhkan kemampuan untuk
menghitung jumlah berdasarkan bidang pada database, lebih baik kita
tidak menyimpan derivable attributes yang nilainya dapat berubah jika
dimasukkan data baru.
 Using Mathematical, Special Comparison, and Logical Operators in SQL
Queries
Operator Komparasi Matematis terkadang dibutuhkan sebagai kriteria
dimana nilai data dipilih untuk dicantumkan dalam hasil query. Contoh
operator komparasi matematis adalah:
= sama dengan
< kurang dari
> lebih dari
<=
kurang dari sama dengan
>=
lebih dari sama dengan
<>
tidak sama dengan (dalam beberapa software di notasikan
dengan !)
Operator komparasi tersebut dapat diaplikasikan pada berbagai tipe
bidang.
Karena
operator
komparasi
membantu
dalam
memisahkan
beberapa baris, maka operator tersebut terdapat pada WHERE clause dari
SQL statement. Contoh, SELECT * FROM Employee WHERE PayRate <
15.00.
Operator komparasi special diantaranya adalah BETWEEN, yang
mengidentifikasi permintaan dalam range nilai tertentu. Penggunaanya
sama seperti penggunaan kombinasi dari kurang dari atau lebih dari.
Contoh:
WHERE SaleDate >=6/1/2005 AND SaleDate <=6/30/2005
atau dapat dituliskan dengan:
WHERE Sale Date BETWEEN 6/1/2005 and 6/30/2005
Selain itu, terdapat operasi IS NULL, yang mengidentifikasi permintaan
dimana
nilai atribut
tidak ada. Sebaliknya, EXIST mengidentifikasi
permintaan dimana nilai atribut ada.
Queries dapat mengandung logical operator, yang dikenal dengan
operator pencari Boolean, seperti AND, OR, dan NOT. AND menunjukkan
intersepsi,
OR
menunjukkan
seperangkat
union,
sedangkan
NOT
mengidentifikasi permintaan yang tidak memenuhi satu atau lebih kondisi.
 Using Calculation and Aggregation Function in SQL Queries
Terdapat dua jenis kalkulasi yang dibutuhkan dalam queries. Salah
satunya adalah menggunakan operasi matematika seperti rata-rata atau
jumlah dari nilai pada satu kolom. Perhitungan dalam kolom adalah
aggregation function. Untuk menghitung rata-rata, dapat menggunakan
perintah AVG didepan field name pada SELECT clause. Contoh:
SELECT AVG(PayRate)
FROM Employee
Aggregation
function
lainnya
adalah
SUM (jumlah), MAX (nilai
terbesar), MIN (nilai terkecil), dan COUNT (menghitung banyak data pada
kolom). Untuk mengelompokkan data yang dihitung berdasarkan kombinasi
tertentu, dapat digunakan perintah GROUP BY yang ditambahkan setelah
komponen WHERE. Contoh:
SELECT Date, SUM(Amount)
FROM Sale
GROUP BY Date
Jenis perhitungan lain yang dibutuhkan dalam queries adalah
perhitungan matematis menggunakan nilai data dari dua bidang dalam
informasi.
Misalkan,
ingin
mengetahui
hubungan
Inventory. Maka digunakan formula seperti berikut:
SELECT QtySold*UnitSellPrice As SaleLineExtension
FROM Stockflow
antara
Sale
dan
VI. Query by example (QBE) in MS Access
•
Suatu interface yang dikembangkan agar query dapat dilakukan dengan
lebih mudah (point-click)
•
Pengguna tidak harus mempelajari kode SQL untuk melakukan query,
program MS Access mampu memberikan jawaban semestinya
•
Namun demikian pada saat membuat suatu query, harus dipahami apa
yang akan dihasilkan oleh berbagai elemen QBE interface yang berbeda
– bila pertanyaannya salah  jawabannya akan salah
MS Access juga menyediakan SQL View
Contoh Penggunaan MS Access :
Relational
Algebra
Cash Receipts from Customer C-2
SELECT
in
QBE
Relational
Algebra
“Select”
QBE
Example:
Cash Receipts from Customer C-2
Relational
Algebra
SELECT
in
QBE
SELECT
in
QBE
Cash Receipts from Customer C-2
Relational
Algebra
Cash Receipts from Customer C-2
Relational
Algebra
Cash Receipts from Customer C-2
SELECT
in
QBE
Familiarization with Data Base
•
Relational
Algebra
Inner
Join
For Instance; All details of customers and their salespeople
in
QBE:
Kesimpulan:
•
SDM sebagai operator pemograman ini, idealnya familiar terhadap design
view dalam Ms Access karena setiap data akan mempunyai relasi yang
memiliki nilai informasi untuk pengambilan keputusan suatu entitas.
Oleh:
1.
2.
Dewi Indira – 1206214734 Eva Septiana – 1206215283 -
3. Fahmi Muhammad – 1206246130 4.
5.
Fatimah Shafiyyah -1206215485 –
Yudhistira Kurniadi – 1206215390 -
Download