By 04PTT (30%) PG 15 Soal (30%) Essay 3 Soal (@a,b) [Relation

advertisement
By 04PTT
(30%) PG 15 Soal
(30%) Essay 3 Soal (@a,b) [Relation Aljabar, Relational Model, DB Environtment]
(40%) Kasus 4 Soal (@a,b) [DML,DDL]
Yang kasus katanya bentuknya coding².. kaya waktu kita praktikum..
Rel Algebra (Pert 4,5)
Rel Model (Pert 3)
DB Environtment (Pert 2)
DML(Pert 7,8)
DDL (Pert 9)
- komponen dalam DBMS
• Major components of a DBMS:
– Query processor
– Database manager (DM)
– File manager
– DML preprocessor
– DDL compiler
– Catalog manager
• Major software components for database manager
– Authorization control
– Command processor
– Integrity checker
– Query optimizer
– Transaction manager
– Scheduler
– Recovery manager
– Buffer manager
- menjelaskan (external, conceptual, internal level)
1. External level : Pandangan(view) pemakai terhadap database. Level ini menggambarkan bagian database yang relevan
untuk pemakai tertentu.
External level berisi sejumlah external view yang berbeda terhadap database.
Setiap user mempunyai suatu pandangan dari ‘real world’ disajikan dalam bentuk yang familiar untuk user tersebut.
2. Conceptual level : Komunitas view dari database. Level ini menggambarkan apa yang disimpan dalam suatu database dan
hubungan sejumlah data.
Level menengah dalam arsitektur 3 leval adalah conceptual level.
Level ini berisi struktur logikal dari database keseluruhan
Conceptual level menyajikan:
a.
semua entity, atribut dan hubungannya
b. batasan pada data
c.
informasi semantic tentang data
d. informasi keamanan dan integritas
Conceptual level mendukung setiap external view
3. Internal level : Representasi fisik database pada suatu computer. Level ini menggambarkan bagaimana data disimpan
dalam suatu database.
Internal level meliputi implementasi fisikal dari database untuk mencapai hasil run-time yang optimal dan utility tempat
penyimpanan.
Hal ini meliputi stuktur data dan organisasi file yang digunakan untuk menyimpan data pada media penyimpanan.
Internal level dikonsentrasikan pada:
a.
alokasi tempat penyimpanan terhadap data dan index
b. gambaran terhadap penyimpanan record (ukuran untuk item data yang disimpan)
c.
penempatan record
d. teknik kompresi data dan enkripsi data
Apa yang dimaksud dengan security dan administration ? Berikan contohnya ?
Credits: Surianto, Ryan F, Benediktus L, Werrianky A, Idham
By 04PTT
Security artinya mengontrol pengaksesan data dalam database terhadap orang-orang yang tidak berwenang, sehingga
mencegah :
- Penyingkapan rahasia.
- Perubahan data.
- Perusakan / penghapusan data.
Data Administration
- Teknologi database dominan
- Muncul fungsi baru (administrasi data) yaitu merencanakan kebutuhan dan pembagian
data pada para user.
- User merasa sebagai pemilik data, I/S terpadu berfungsi membagi data yang
berkepentingan.
Contoh :
Ada 3 kelompok yang berhubungan dengan Database :
a. USER : User adalah pemilik data, user sesuai dengan departemennya hanya berwenang untuk sekumpulan data
tertentu, kontrol pengaksesan data oleh user ini dapat dilakukan dengan memakai PASSWORD. Password ini
mempunyai 2 fungsi :
- Memberi identifikasi seorang user
- Memberi kewenangan (authorized) dan hak (privilege)
Macam-macam hak pada sistem database adalah :
1. Hak retrieval : Mencari dan melaporkan
2. Hak Update pada record meliputi :
- Append (Menambah)
- Insert (Menyisipi)
- Modifikasi (Merubah)
- Delete (Menghapus)
3. Hak Definition File meliputi :
- Create (Mendefinisikan file baru)
- Revision (Merevisi definisi yang ada)
- Delete (Menghapus seluruh file)
- Memberi indeks
4. Hak GRANT (memberi) hak pada user.
Hak definition dan Grant hanya dimiliki oleh DBA.
Pembuatan Password harus mengingat hal-hal :
1. Mudah diingat
2. Sulit ditebak
3. Cukup sering diubah
4. Kerahasiaannya terlindungi.
b. Programer : Ada 2 macam programer
- Aplication Programer : Programer yang membuat program-program aplikasi
- System programer : Programer yang membuat program-program sistem yang memadukan dan mengontrol programprogram aplikasi. misal : membuat menu untuk masing-masing user, membuat log
transaction pemakaian program dan database dari para User dan sebagainya, dan harus
mentaati prosedur password.
c. Operation staff : Sering kerusakan data disebabkan operator yang kurang terlatih atau petunjuk yang kurang memadai
atau sulit dipahami. Operator yang berhubungan dengan database adalah operator program aplikasi.
Pengamanan data baginya antara lain berupa :
- Validasi yang cukup pada data entry
- Pengecekan jumlah counter dengan formulir data
- Operator database (staff DBA)
- Pada saat backup, data harus mendapat perhatian.
Apakah Database Enviroment itu ? Jelaskan !
Database Environment (Lingkungan Basis Data) adalah infrastruktur teknologi yang diperlukan untuk mendukung pelaksanaan
DBMS (Database Management System) dan penyimpanan dari database yang dikelola, termasuk perangkat keras komputer,
mass storage, sistem operasi, perangkat lunak DBMS, data aktual, dan deskripsi data.
Komponen-komponen dari Database Environment :
- CASE Tools (alat bantu rekayasa piranti lunak)
Credits: Surianto, Ryan F, Benediktus L, Werrianky A, Idham
By 04PTT
- Repository (pusat penampungan metadata / gudang data)
- Database Management System (software untuk memanage database)
- Database (tempat penampungan data)
- Application Programs (software yang akan memakai data dari database)
- User Interface (desain teks dan grafis yang akan ditampilkan kepada user)
- Data Administrators (orang yang bertanggung jawab dalam melakukan perawatan pada database)
- System Developers (orang yang bertanggung jawab dalam mendesain database dan software)
- End Users (orang yang menggunakan aplikasi dan database)
Sebutkan jenis-jenis key yang Anda ketahui dan berikan penjelasan secara singkat !
a. Super Key
Super key merupakan sebuah atribut data atau kumplan atribut yang secara unik dapat mengindentifikasi sebuah tupel.
contoh : misalnya database akademik maka super key yang digunakan adalah : npm,nama_mhs,tgllahir, alamat, dst
b. Candidate Key
Candidate key merupakan super key yang minal dapat mengindentifikasi tupel secara unik.
contoh : npm dan nama_mhs
c. Primary Key
Primary key merupakan candidat key yang terpilih yang secara unik yang dapat mengindentifikasi tupel
contoh : npm
d. Alternate key
Alternate key merupakan key yang tidak terpilih
contoh : nama_mhs
e. Composite key
Composite key merupakan gabungan dua key atau lebih yang secara unik dapat menidentiifikasi sebuah tupel.
Contoh : npm, dan kode_matkul
f. Foreign Key
Foreign Key merupakan atribut yang merupakan key pada relasi lain.
Contoh : npm, kode_matkul pada relasi ambil_matkul
Apa perbedaan antara Relasi Aljabar dengan Calculus ?
Relasi Aljabar adalah suatu bahasa penulisan dengan operasi-operasi didalamnya yang digunakan untuk melakukan satu atau
lebih relasi tanpa harus mengubah relasi awalnya dan menghasilkan relasi yang baru sehingga nantinya digunakan untuk
mendapatkan informasi yang diperlukan.
Operasi dasar relasi Aljabar:
1. relasi unary
- Selection (σ) untuk memilih baris satu sub-set record dalam suatu relasi yang memenihu kondisi pemilihan (dengan
syarat).
Contoh:
List all staff with a salary greater than £10,000.
salary > 10000 (Staff)
Credits: Surianto, Ryan F, Benediktus L, Werrianky A, Idham
By 04PTT
Select *
From staff
Where salary>10000
- Projection (∏) untuk memilih atribut vertikal atu kolom tertentu dari himpunan/sub himpunan dan membuang anggota
yang duplikat.
Produce a list of salaries for all staff, showing only staffNo, fName, lName, and salary details.
staffNo, fName, lName, salary(Staff)
Select staffNo, fname, Iname, salary
From staff
2. Relasi Binary
- Union (∪) untuk menggabungkan semua anggota relasi (R) saja atau (S) saja atau kedua-duanya dan membuang
anggota yang sama.
• List all cities where there is either a branch office or a property for rent.
city(Branch)  city(PropertyForRent)
- Intersection (∩) untuk menggabungkan semua anggota relasi (R) dan (S) yang sama.
List all cities where there is both a branch office and at least one property for rent.
city(Branch)  city(PropertyForRent)
- Set Difference (−) untuk memilih anggota R yang bukan anggota S.
List all cities where there is a branch office but no properties for rent.
city(Branch) – city(PropertyForRent)
Credits: Surianto, Ryan F, Benediktus L, Werrianky A, Idham
By 04PTT
- Cartesian Product (×) untuk menghubungkan setiap record (R) dengan setiap record yang ada di (S).
List the names and comments of all clients who have viewed a property for rent.
(clientNo, fName, lName(Client)) X (clientNo, propertyNo, comment (Viewing))
- Cross-Product ( |x| ) operasi equijoin yang mana yang mana pasangan attribut-atribut yang di’join’kan memiliki nama
yang sama
Contoh Rumus:
Client |x| viewing.clientNo=client.clientNo Viewing
-
Divison ( ÷ ) untuk menggabungkan attribut C (himpunan A - B) yang terdiri dari himpunan yang berada di R yang
menghubungkan kombinasi dari setiap anggota yang ada di S.
Relasi Kalkulus adalah relasi yang lebih menspesifikasikan apa yang harus ditampilkan daripada bagaimana menampilkannya.
Operasi dasar relasi kalkulus:
- Existensial Quantifier(∃)
digunakan pada formula yang harus bernilai benar untuk paling sedikit satu instance.
- Universal Quantifier (∀)
digunakan untuk formula yang harus bernilai benar untuk semua instance.
Apakah fungsi dari query processing ?
Query processing adalah proses pada DBMS ketika menerima query sampai menghasilkan tupple-tupple sesuai query yang
diminta
ada 3 tahap yaitu:
1. parsing dan translation --> pada tahap ini diperiksa apakah input yang masuk sesuai atau tidak dan juga akan diubah kode
dari sintaks deklaratif ke bentuk intrenal yang procedural (contoh: aljabar relational)
2. optimization --> aljabar relasional akan di detailkan yaitu detail plan setiap eksekusi
3. execution --> mengeksekusi execution plan hasil optimasi dan mengembalikan outputnya sesuai query
Jadi, fungsi dari query processing adalah mengubah query dalam high level language ke low level language sesuai dengan
yang diminta oleh user
Berikan contoh2 Advanced SQL !
1. SQL UNION
SELECT TanggalPenjualan from TrPenjualan
UNION
SELECT TanggalPembelian from TrPembelian
---> union untuk menggabungkan tanggalpenjualan dari TrPenjualan dengan
tanggalpembelian dari TrPembelian
menjadi 1 table dan membuang tanggal yang sama
seperti memakai fungsi distinct
2. SQL UNION ALL
SELECT TanggalPenjualan from TrPenjualan
UNION ALL
SELECT TanggalPembelian from TrPembelian
---> union all untuk menggabungkan tanggalpenjualan dari TrPenjualan dengan tanggalpembelian dari
TrPembelian menjadi 1 table tanpa membuang tanggal yang sama
3. INTERSECT
Credits: Surianto, Ryan F, Benediktus L, Werrianky A, Idham
By 04PTT
SELECT TanggalPenjualan from TrPenjualan
INTERSECT
SELECT TanggalPembelian from TrPembelian
--> untuk menampilkan hanya tanggal yang sama antara TanggalPenjualan dengan
4. MINUS
SELECT TanggalPenjualan from TrPenjualan
MINUS
SELECT TanggalPembelian from TrPembelian
--> untuk menampilkan TanggalPenjualan dari TrPenjualan yang tidak ada di
TanggalPembelian
TanggalPembelian TrPembelian
5. LIMIT
SELECT ID_Penjualan,TanggalPenjualan, Harga from TrPenjualan
ORDER BY Harga DESC
LIMIT 2
--> untuk menampilkan 2 harga terbesar pada TrPenjualan
6. TOP
SELECT TOP 2 ID_Penjualan,TanggalPenjualan, Harga from TrPenjualan
ORDER BY Harga DESC
--> untuk menampilakn 2 harga terbesar pada TrPenjualan
7. IN
SELECT * from TrPenjualan
where NamaKaryawan in
(
SELECT NamaKaryawan from MsKaryawan
where ID_Karyawan like '%a'
)
--> untuk menghasilkan data pada table yang diinginkan yang jika syarat nya terdapat
pada table lain
8. EXISTS
SELECT * from TrPenjualan tp
where exists
(
SELECT * from MsKaryawan mk
where tp.ID_Karyawan=mk.ID_Karyawan
and ID__Karyawan like '%a'
)
--> sama seperti in tetapi dalam exists harus digabungkan 2 table
9. CASE
SELECT ID_Penjualan,CASE NamaKaryawan
WHEN 'Ani' then Harga*2
WHEN 'Ari' then Harga*3
ELSE Harga
END
"Harga Baru",
TanggalPenjualan
FROM TrPenjualan
--> untuk menjalankan syarat pada query sesuai yang diingkan user
Apakah DML itu ? Sebutkan contoh2 sintaks yang digunakan dalam DML !
DML (Data Manipulation Language) merupakan komponen utama dalam bahasa SQL yang digunakan untuk pengambilan dan
perubahan data pada sistem basis data. DML dibuat berdasarkan aljabar relasi dan kalkulus relasi tuple.
Sintaks pada DML
1. SELECT
Digunakan untuk mencari data dalam basis data.
Credits: Surianto, Ryan F, Benediktus L, Werrianky A, Idham
By 04PTT
Select mempunyai banyak sintaks lagi yang dibagi ke dalam Select Statement. Yang merupakan Select Statement adalah :
 SELECT
Digunakan untuk menspesifikasikan kolom mana yang akan ditampilkan
 FROM
Digunakan untuk menspesifikasikan table yang akan digunakan
 WHERE
Digunakan untuk memfilter baris
 GROUP BY
Digunakan untuk membentuk kelompok baris yang memiliki nilai sama
 HAVING
Digunakan untuk memfilter subjek grup menjadi sebuah kondisi
 ORDER BY
Digunakan untuk menspesifikasikan order dari sebuah kondisi
Format Sintaksnya:
SELECT [DISTINCT | ALL]
{* | [columnExpression[AS newName]][,...]}
FROM TableName [alias] [,...]
WHERE [condition]
GROUP BY [columnList] HAVING [condition]
ORDER BY [columnList]
2. INSERT
Digunakan untuk menambah data kedalam basis data.
Format Sintaksnya :
INSERT [INTO] table_or_view [(columnList)] data_values
3. UPDATE
Digunakan untuk mengubah data pada basis data
Format Sintaksnya :
UPDATE (column)
4. DELETE
Digunakan untuk menghapus data pada basis data
Format Sintaksnya :
DELETE FROM (column)
Apakah DDL itu ? Sebutkan contoh2 sintaks yang digunakan dalam DDL !
Data Definition Language (DDL) adalah bahasa dalam DBMS yang digunakan untuk membuat atau mendefinisikan obyekobyek di dalam database. Hasil kompilasi dari perintah DDL adalah satu set dari tabel yang disimpan dalam file khusus disebut
data dictionary/directory.
Contoh sintaks DDL dalam pembuatan database/table,index dan view :
1. Pembuatan Database
Bentuk umumnya : CREATE DATABASE nama_db
Contoh : Buat database dengan nama organisasi PT. ABC
Sintaks : CREATE DATABASE PT.ABC
2. Pembuatan Tabel
Bentuk umumnya : CREATE TABLE nama_table(nama_kolom1 jenis_kolom1, nama_kolom2 jenis_kolom2, ...)
Contoh : Buat tabel mahasiswa yang terdiri dari NIM dengan panjang 8 char, Nama dengan panjang 30 char, Alamat dengan
panjang 40 char, Jenkel dengan panjang 1 char
Sintaks : CREATE TABLE Mahasiswa(NIM char(8) NOT NULL, Nama char(30) NOT NULL, Alamat char(40) NOT NULL,
JenKel char(1) NOT NULL)
3. Pembuatan Index
Bentuk umumnya : CREATE [UNIQUE] INDEX nama_index ON nama_table (nama_kolom)
Contoh : Buat index data mahasiswa berdasarkan NIM dengan nama MHSIN dimana NIM tidak boleh sama
Credits: Surianto, Ryan F, Benediktus L, Werrianky A, Idham
By 04PTT
Sintaks : CREATE UNIQUE INDEX MHSIN ON MHS(NIM)
4. Pembuatan View
Bentuk umumnya : CREATE VIEW [(nama_kolom1, ...)] AS SELECT statement [WITH CHECK OPTION]
Contoh : Buat view dengan nama MHSVIEW yang berisi semua data mahasiswa
Sintaks : CREATE VIEW MHSVIEW AS SELECT * FROM MHS
Contoh sintaks DDL untuk menghapus database/table,index dan view :
1. Menghapus Database
Bentuk umumnya : DROP DATABASE nama_db
2. Menghapus Tabel
Bentuk umumnya : DROP TABLE nama_table
3. Menghapus Index
Bentuk umumnya : DROP INDEX nama_index
4. Menghapus View
Bentuk umumnya : DROP VIEW nama_view
Contoh sintaks DDL untuk mengubah struktur tabel :
1. Menambahkan kolom
Bentuk umumnya : ALTER TABLE nama_table> ADD (nama_kolom jenis_kolom)
Contoh : Tambahkan kolom NoTelp dengan panjang 8 char pada tabel mahasiswa
Sintaks : ALTER TABLE Mahasiswa ADD (NoTelp char(8))
2. Mengubah panjang kolom
Bentuk umumnya : ALTER TABLE nama_table MODIFY (nama_kolom jenis_kolom)
Contoh : Ubah panjang kolom alamat menjadi 50 char
Sintaks : ALTER TABLE Mahasiswa MODIFY (Alamat char(50))
3. Menghapus kolom
Bentuk umumnya : ALTER TABLE nama_table> DROP (nama_kolom jenis_kolom)
Contoh : Hapus kolom JenKel dari tabel mahasiswa
Sintaks : ALTER TABLE Mahasiswa DROP
Apakah FBS itu?
FBS adalah sistem database yang berdasarkan pada suatu file, dimana kita secara manual melalui inputan komputer untuk
meng-update, menyisipkan, menghapus, menambah data baru ke databse, dan lain-lain.
Contoh : database toko-toko kecil
Keuntungan FBS adalah :
(1)Kapasitas memori kecil
(2)Tidak memerlukan teknisi databse untuk mengelolanya
(3)Proses berjalan lebih cepat daripada DBMS
Kekurangan FBS adalah:
(1)Memiliki tingkat keamanan yang rendah
(2)Integritas antar database rendah
(3)Tingkat kerumitan yang cukup kompleks untuk mengupdate suatu data karena harus mengupdate data yang lain
Credits: Surianto, Ryan F, Benediktus L, Werrianky A, Idham
Download