Anda di halaman 1dari 18

CHAPTER 3

Arsitektur Database danWeb

3.1 Multi-user DBMS Arsitektur


Pada bagian ini kita melihat arsitektur umum yang digunakan untuk mengimplementasikan sistem
manajemen database multi-user: teleprocessing, berkas-server, dan client-server.

3.1.1 Teleprocessing

Arsitektur tradisional untuk sistem multi-user adalah teleprocessing, dimana ada satu komputer
dengan satu unit central processing (CPU) dan sejumlah terminal. Terminal mengirim pesan melalui
subsistem kontrol komunikasi dari sistem operasi untuk program aplikasi pengguna, yang pada gilirannya
menggunakan jasa . Sayangnya, arsitektur ini menempatkan beban luar biasa pada komputer pusat, yang
harus tidak hanya menjalankan program aplikasi dan DBMS, tetapi juga melaksanakan sejumlah besar
pekerjaan atas nama terminal (seperti data format untuk ditampilkan di layar ). Sekarang ada tren
diidentifikasi dalam industri menuju perampingan, yaitu, menggantikan komputer mainframe mahal
dengan jaringan lebih hemat biaya dari komputer pribadi yang mencapai hal yang sama, atau bahkan
lebih baik, hasil. Tren ini telah melahirkan dua arsitektur berikutnya: File-server dan client-server.

3.1.2 File-Server Architecture

Sebuah komputer terpasang ke jaringan dengan tujuan utama memberikan penyimpanan bersama
file komputer seperti dokumen, spreadsheet, gambar, dan database.
File Server
Dalam lingkungan server-file, pengolahan didistribusikan tentang jaringan, biasanya jaringan area lokal
(LAN). File-server memegang file yang dibutuhkan oleh aplikasi dan DBMS. Namun, aplikasi dan
DBMS dijalankan pada masing-masing workstation, meminta file dari file-server bila diperlukan,

Arsitektur file-server, karena itu, memiliki tiga kelemahan utama:


(1) Ada sejumlah besar lalu lintas jaringan.
(2) Sebuah salinan lengkap dari DBMS diperlukan pada setiap workstation.
(3) Concurrency, pemulihan, dan kontrol integritas yang lebih kompleks, karena akan ada beberapa
DBMSs mengakses file yang sama.

3.1.3 Dua-Tier Arsitektur Client-Server Tradisional

Client-server mengacu pada cara di mana komponen software berinteraksi untuk membentuk suatu
sistem. Seperti namanya, ada proses klien, yang membutuhkan beberapa sumber daya, dan server, yang
menyediakan sumber daya. Tidak ada persyaratan bahwa klien dan server harus berada pada mesin yang
sama. Dalam prakteknya, sangat umum untuk menempatkan server di salah satu situs di LAN dan klien di
situs lain.

Tabel 3.1 Ringkasan Fungsi client-server.


Client Server
- Mengatur user interface - Menerima dan memproses basis data
- Menerima dan memeriksa sintaks permintaan dari klien
pengguna - Cek input otorisasi
- Proses aplikasi logika - Memastikan integritas kendala tidak
- Menghasilkan database permintaan dan dilanggar
mengirimkan ke server - Melakukan permintaan /update
- Passes respon kembali untuk pengguna pengolahan dan mengirimkan respon ke
klien
- Menjaga sistem katalog
- Menyediakan bersamaan database akses
- Menyediakan recovery kontrol

3.1.4 Tiga-Tier client-Server Arsitektur

Pada tahun 1995, variasi baru dari model client-server dua-tier tradisional muncul untuk memecahkan
masalah perusahaan skalabilitas.Arsitektur baru ini diusulkan tiga lapisan, masing-masing berpotensi
berjalan pada platform yang berbeda:

(1) Pengguna lapisan antarmuka, yang berjalan pada komputer pengguna akhir (klien).
(2) Logika bisnis dan lapisan pengolahan data. Tingkat menengah ini berjalan pada server dan sering
disebut server aplikasi.
(3) A DBMS, yang menyimpan data yang dibutuhkan oleh tingkat menengah. Lapis ini dapat dijalankan
pada server terpisah yang disebut database server

Desain three-tier memiliki banyak keuntungan lebih dari dua-tier atau single-tier desain tradisional, yang
meliputi:

• ". Thin"Kebutuhan hardware lebih murah karena klien adalah

• pemeliharaan Aplikasi ini terpusat dengan transfer logika bisnis bagi banyak pengguna akhir ke server
aplikasi tunggal. Ini menghilangkan kekhawatiran distribusi software yang bermasalah dalam model
client-server dua-tier tradisional.

• modularitas menambahkan membuatnya lebih mudah untuk memodifikasi atau mengganti satu lapis
tanpa mempengaruhi tingkatan lainnya.

• Load balancing lebih mudah dengan pemisahan logika bisnis inti dari fungsi database. Keuntungan
tambahan adalah bahwa arsitektur three-tier peta secara alamiah dengan lingkungan Web, dengan browser
Web yang bertindak sebagai klien "tipis", dan server Web bertindak sebagai server aplikasi.

3.1.6 Middleware

Software Komputer yang menghubungkan komponen perangkat lunak atau applications.Middleware


adalah istilah umum yang digunakan untuk menjelaskan perangkat lunak yang menengahi dengan
perangkat lunak lain dan memungkinkan untuk komunikasi antara aplikasi yang berbeda.

3.2.1 Web Services

Sebuah sistem software yang dirancang untuk mendukung interaksi mesin-tomachine interoperable lebih
layanan network.
. Contoh layanan Web meliputi :
• Maps Bing Microsoft dan Google Maps layanan Web menyediakan akses ke layanan locationbased,
seperti peta, arah mengemudi, pencarian kedekatan, dan geocoding (yaitu, mengubah alamat ke
koordinat geografis) dan reverse geocoding.
• Amazon Simple Storage Service (Amazon S3) adalah antarmuka layanan Web sederhana yang dapat
digunakan untuk menyimpan dan mengambil sejumlah besar data, setiap saat, dari mana saja di Web.
Ini memberikan setiap akses pengembang untuk yang sangat scalable, handal, cepat, infrastruktur
penyimpanan data yang murah yang sama yang menggunakan Amazon untuk menjalankan jaringan
global sendiri situs Web. Tuduhan didasarkan pada kebijakan "pay-as-you-go", saat ini $ 0,125 per GB
untuk pertama 50TB / bulan penyimpanan yang digunakan.
• GeoNames menyediakan sejumlah layanan Web terkait lokasi; misalnya, untuk kembali satu set entri
Wikipedia sebagai dokumen XML untuk nama tempat tertentu atau untuk mengembalikan zona waktu
untuk diberikan lintang / bujur.
• layanan DOTS Web dari Layanan Objects Inc, adopter awal layanan Web, menyediakan berbagai
layanan seperti informasi perusahaan, reverse lookup nomor telepon, validasi alamat email, informasi
cuaca, IP address-to-penentuan lokasi.
• Xignite adalah layanan Web B2B yang memungkinkan perusahaan untuk menggabungkan informasi
keuangan ke dalam aplikasi mereka. Layanan mencakup US informasi ekuitas, real-time quotes
sekuritas, harga ekuitas AS, dan berita keuangan.

Kunci pendekatan layanan Web adalah penggunaan teknologi diterima secara luas dan standar, seperti:

• XML (extensible Markup Language).


• SOAP (Simple Object Access Protocol) adalah protokol komunikasi untuk bertukar informasi
terstruktur melalui Internet dan menggunakan format pesan berbasis XML. Hal ini baik platform-dan
bahasa-independen.

• WSDL (Web Services Description Language) Protokol, Lagi berdasarkan XML, digunakan untuk
menggambarkan Dan menemukan layanan Web.
• UDDI (Universal Discovery, Deskripsi, Dan Integrasi) Protokol Adalah platformindependent, Berbasis
XML registry Bisnis PT Diri di Internet. Penyanyi dirancang diinterogasi Oleh Pesan SOAP Dan
untuk memberikan Akses Ke Dokumen WSDL menggambarkan mengikat protokol Format Dan Pesan
Yang diperlukan interact dengan layanan Web Yang tercantum direktorinya.

3.2.2 Layanan Berorientasi Arsitektur (SOA)

SOA: Sebuah Arsitektur software-centric Bisnis untuk Membangun Aplikasi Yang


Mengimplementasikan Proses Bisnis sebagai mengatur Layanan Diterbitkan pada granularity Yang
relevan dengan layanan konsumen . Layanan dapat dipanggil, diterbitkan, dan menemukan, dan disarikan
dari implementasi menggunakan bentuk berbasis standar tunggal antarmuka.

Berikut ini adalah serangkaian prinsip SOA umum yang memberikan pendekatan desain yang unik untuk
membangun layanan Web untuk SOA:
• Loose coupling:Jasa harus dirancang untuk berinteraksi secara longgar ditambah
• Reusability: Logika yang dapat berpotensi digunakan kembali dirancang sebagai layanan terpisah
• Contract: Jasa mematuhi kontrak komunikasi yang mendefinisikan pertukaran informasi dan
informasi deskripsi layanan tambahan, ditentukan oleh satu atau lebih layanan dokumen deskripsi
• Abstraction: Beyond apa yang dijelaskan dalam kontrak layanan, layanan menyembunyikan
logika dari dunia luar
• Composability:Layanan dapat menulis layanan lainnya, sehingga logika yang dapat diwakili pada
tingkat yang berbeda dari granularity sehingga meningkatkan usabilitas dan penciptaan lapisan
abstraksi;
• Autonomy:Jasa memiliki kendali atas logika mereka merangkum dan tidak tergantung pada
layanan lain untuk melaksanakan pemerintahan ini;
• Stateless: Jasa seharusnya tidak diperlukan untuk mengelola informasi negara, karena hal ini dapat
mempengaruhi kemampuan mereka untuk tetap longgar digabungkan;
• Discoverability: Layanan dirancang untuk menjadi lahiriah deskriptif sehingga mereka dapat
ditemukan dan dinilai melalui mekanisme penemuan yang tersedia.

3.3 Distributed DBMS

Distributed
Sebuah koleksi logis saling terkait data bersama (dan deskripsi data ini), secara fisik didistribusikan
melalui jaringan komputer.

Didistribusikan DBMS
Databasesistem perangkat lunak yang memungkinkan pengelolaan database terdistribusi dan membuat
distribusi transparan kepada pengguna.

Sebuah sistem manajemen database terdistribusi (DDBMS) terdiri dari database logis tunggal yang dibagi
menjadi beberapa fragmen. Setiap fragmen disimpan pada satu atau lebih komputer (replika) di bawah
kendali DBMS yang terpisah, dengan komputer yang terhubung dengan jaringan komunikasi. Setiap situs
yang mampu secara mandiri memproses permintaan pengguna yang membutuhkan akses ke data lokal
(yaitu, setiap situs memiliki beberapa tingkat otonomi daerah) dan juga mampu mengolah data yang
tersimpan di komputer lain dalam jaringan. Pengguna mengakses database didistribusikan melalui
aplikasi. Aplikasi diklasifikasikan sebagai orang-orang yang tidak memerlukan data dari situs lain
(aplikasi lokal) dan orang-orang yang memang membutuhkan data dari situs lain (aplikasi global). Kami
memerlukan DDBMS memiliki setidaknya satu aplikasi global. Oleh karena itu A DDBMS memiliki
karakteristik sebagai berikut:
• koleksi data bersama secara logis terkait
• Data dibagi menjadi beberapa fragmen
• fragmen dapat direplikasi
• fragmen / replika dialokasikan ke situs
• situs yang dihubungkan oleh jaringan komunikasi
• data pada setiap situs adalah di bawah kendali DBMS
• DBMS pada setiap situs dapat menangani aplikasi lokal, secara otonomi
• setiap DBMS berpartisipasi dalam sedikitnya satu aplikasi global.

- Distributed processing
Hal ini penting untuk membuat perbedaan antara DBMS terdistribusi dan pemrosesan terdistribusi:

Sebuah database terpusat yang dapat diakses melalui komputer network.Distributed pengolahan

Titik kunci dengan definisi DBMS terdistribusi adalah bahwa sistem terdiri dari data yang didistribusikan
secara fisik di sejumlah situs dalam jaringan.

3.4 Data Warehousing

Data warehouse : Sebuah konsolidasi / tampilan data perusahaan yang diambil dari sumber data
operasional yang berbeda dan berbagai akses alat akhir pengguna mampu mendukung untuk pertanyaan
yang sangat kompleks untuk mendukung pengambilan keputusan.
Data diadakan di sebuah gudang data digambarkan sebagai subject-oriented, integrated, time-variant , dan
nonvolatile (Inmon, 1993).

• Subject-oriented, sebagai gudang yang diselenggarakan di sekitar mata pelajaran utama dari organisasi
(seperti pelanggan, produk, dan penjualan) daripada area aplikasi utama (seperti faktur pelanggan, kontrol
stok, dan penjualan produk). Hal ini tercermin dalam kebutuhan untuk menyimpan data pendukung
keputusan bukan data applicationoriented.

• Integrated,, karena datang bersama-sama dari sumber data organisasi sistem aplikasi yang berbeda.
Sumber data sering tidak konsisten, menggunakan, misalnya, jenis data yang berbeda dan / atau format.
Sumber data yang terintegrasi harus dibuat konsisten untuk menyajikan pandangan terpadu dari data ke
pengguna.

• Time-variant, karena data di gudang akurat dan hanya berlaku di beberapa titik waktu atau lebih dari
beberapa interval waktu.

• Nonvolatile, karena data tidak diperbarui secara real time tetapi di-refresh dari sistem operasional
secara teratur. Data baru selalu ditambahkan sebagai suplemen untuk database, bukan pengganti.
Arsitektur khas dari gudang data ditunjukkan pada Gambar 3.13. Sumber data operasional untuk data
warehouse disuplai dari mainframe, sistem file proprietary, workstation pribadi dan server, dan sistem
eksternal seperti Internet. Sebuah menyimpan data operasional (BPO) adalah gudang data operasional
saat ini dan terintegrasi yang digunakan untuk analisis. Hal ini sering terstruktur dan disertakan dengan
data dalam cara yang sama seperti data warehouse, tetapi mungkin sebenarnya bertindak hanya sebagai
area pementasan untuk data yang akan dipindahkan ke gudang. Manajer beban melakukan semua

3.5 Cloud Computing

Cloud computing adalah istilah yang diberikan untuk penggunaan beberapa server melalui jaringan digital
seolah-olah mereka satu komputer. The 'Cloud' itu sendiri adalah virtualisasi sumber daya-jaringan,
server, aplikasi, penyimpanan data, dan layanan-yang akhir-pengguna memiliki akses on-demand untuk.
Virtualisasi adalah penciptaan versi virtual dari sesuatu, seperti server, sistem operasi, perangkat
penyimpanan, atau sumber daya jaringan. Tujuannya adalah untuk menyediakan sumber daya ini dengan
manajemen yang minimal atau interaksi penyedia layanan. Cloud computing menawarkan sumber
pengguna tanpa persyaratan memiliki pengetahuan tentang sistem atau lokasi sistem yang memberikan
mereka. Selain itu, awan dapat memberikan pengguna dengan berbagai jauh lebih besar dari aplikasi dan
layanan. Oleh karena itu, tujuan dari awan adalah untuk menyediakan pengguna dan bisnis dengan
layanan scalable dan disesuaikan. NIST memandang model cloud sebagai terdiri dari lima karakteristik
penting, tiga model layanan, dan empat model penyebaran. Karakteristik penting adalah sebagai berikut:

• On-demand self-service. Konsumen dapat memperoleh, mengkonfigurasi, dan menyebarkan


layanan cloud sendiri menggunakan katalog layanan awan, tanpa memerlukan bantuan dari siapa pun dari
penyedia awan

• akses jaringan luas. Karakteristik yang paling penting dari komputasi awan, yaitu bahwa hal itu
didasarkan jaringan, dan dapat diakses dari mana saja, dari setiap platform standar (misalnya, komputer
desktop, laptop, perangkat mobile).
• Sumber Daya pooling. Sumber penyedia awan komputasi dikumpulkan untuk melayani
beberapa konsumen, dengan sumber daya yang berbeda fisik dan virtual yang ditetapkan secara dinamis
dan dipindahkan sesuai dengan permintaan konsumen. Contoh sumber daya termasuk penyimpanan,
pemrosesan, memori, dan bandwidth jaringan.

• elastisitas cepat. Sumber daya pooling menghindari belanja modal yang diperlukan untuk
pembentukan jaringan dan infrastruktur komputasi. Dengan outsourcing ke awan, konsumen dapat
memenuhi lonjakan permintaan untuk layanan mereka dengan menggunakan kapasitas komputasi
penyedia awan, dan risiko pemadaman dan gangguan layanan secara signifikan berkurang. Selain itu,
kemampuan dapat elastis ditetapkan dan dirilis, dalam beberapa kasus secara otomatis, skala cepat
berdasarkan permintaan. Untuk konsumen, kemampuan tersedia untuk penyediaan sering muncul menjadi
tidak terbatas dan dapat dipanggil dalam jumlah setiap saat.

• Measured servic.(Layanan Terukur). Sistem cloud secara otomatis mengontrol dan


mengoptimalkan penggunaan sumber daya dengan memanfaatkan kemampuan metering sesuai dengan
jenis layanan (misalnya, penyimpanan, pengolahan, bandwidth, dan account pengguna aktif). Penggunaan
sumber daya dapat dipantau, dikendalikan, dan dikenakan biaya untuk.

Manfaat dan Risiko komputasi Cloud Computing Cloud menawarkan sejumlah manfaat yang berbeda
untuk perusahaan dibandingkan dengan pendekatan yang lebih tradisional: Biaya-reduksi. Cloud
computing memungkinkan organisasi untuk menghindari belanja modal muka yang terkait dengan server
mahal, lisensi perangkat lunak, dan personil IT, menggeser tanggung jawab ini ke penyedia awan. Hal ini
memungkinkan perusahaan-perusahaan kecil untuk memiliki akses ke infrastruktur komputasi yang kuat
bahwa mereka mungkin sebaliknya tidak mampu membayar. Selain itu, organisasi hanya membayar
untuk fasilitas komputasi yang mereka gunakan daripada membayar terlepas dari apakah atau tidak
fasilitas yang digunakan untuk kapasitas penuh.

3.5.2 Cloud Berbasis aaS, solusi database berbasis cloud jatuh ke dalam dua kategori dasar: Data sebagai
Service (DaaS) dan Database sebagai Service (DBaaS). Perbedaan utama antara keduanya adalah
terutama bagaimana data dikelola:

• DaaS. Daas menawarkan kemampuan untuk mendefinisikan data di awan dan kemudian query data
yang on demand. Tidak seperti solusi database tradisional, DaaS tidak mengimplementasikan interface
DBMS khas seperti SQL (lihat Bab 6). Sebaliknya, data tersebut diakses melalui seperangkat API. DaaS
memungkinkan organisasi dengan data berharga untuk membuat garis pendapatan baru berdasarkan data
mereka sudah sendiri. Contoh DaaS yang Perkotaan Pemetaan, layanan geografi data, yang menyediakan
data bagi pelanggan untuk menanamkan ke dalam situs web mereka sendiri dan aplikasi; Xignite, yang
membuat data keuangan tersedia untuk pelanggan; dan Hoovers, sebuah Dun & Bradstreet perusahaan,
yang menyediakan data bisnis di berbagai organisasi.

• DBaaS. DBaaS menawarkan fungsionalitas database lengkap untuk pengembang aplikasi. Dalam
DBaaS, lapisan manajemen bertanggung jawab untuk pemantauan terus menerus dan mengkonfigurasi
database untuk mencapai skala dioptimalkan, ketersediaan tinggi, multi-tenancy (yaitu, melayani
beberapa organisasi klien), dan alokasi sumber daya yang efektif di awan, sehingga hemat pengembang
dari tugas-tugas administrasi database yang sedang berlangsung.
Ada sejumlah isu arsitektur yang terkait dengan DBaaS hubungannya dengan bagaimana data satu
organisasi diisolasi dari data organisasi lain . Kami mempertimbangkan pilihan berikut:
•server terpisah
•Shared server, proses database server terpisah
•database server bersama, database yang terpisah
•Bersama basis data, skema
•terpisah,Database Bersama bersama skema

Server Terpisah Arsitektur

Dengan arsitektur server terpisah, masing-masing tenant memiliki host mesin server yang hanya berfungsi
database mereka. Arsitektur ini mungkin tepat untuk organisasi yang membutuhkan tingkat tinggi isolasi,
memiliki database besar, sejumlah besar pengguna, atau yang memiliki persyaratan kinerja yang sangat
spesifik. Pendekatan ini cenderung mengarah ke biaya yang lebih tinggi untuk menjaga peralatan dan
back up data penyewa. Arsitektur diilustrasikan pada Gambar 3.15.

Server bersama, database server proses arsitektur


terpisah Dengan arsitektur ini, masing-masing tenant memiliki database mereka sendiri, namun, beberapa
penyewa berbagi mesin server tunggal, masing-masing dengan proses server sendiri. Arsitektur ini.

Server database bersama, database terpisah

Dengan arsitektur ini, masing-masing tenant memiliki database yang terpisah mereka sendiri tetapi
berbagi server database tunggal (dan proses server tunggal) dengan semua penyewa lainnya. Perbaikan
atas pendekatan sebelumnya adalah bahwa proses server database tunggal dapat berbagi sumber daya
seperti cache database efektif antara penyewa, mendukung penggunaan sumber daya mesin. Arsitektur ini
diilustrasikan pada Gambar 3.17.

Server Database bersama, arsitektur skema terpisah

Dengan arsitektur ini, ada server database tunggal bersama dan masing-masing tenant memiliki data
dikelompokkan ke dalam skema yang dibuat khusus untuk penyewa. DBMS harus database yang
memiliki struktur izin untuk memastikan bahwa pengguna hanya memiliki akses ke data yang mereka
berhak.

Database bersama, berbagi skema arsitektur

Dengan arsitektur ini, ada server database tunggal bersama dan masing-masing tenant memiliki data
dikelompokkan ke dalam skema bersama tunggal. Setiap tabel database harus memiliki kolom yang
digunakan untuk mengidentifikasi pemilik baris. Setiap aplikasi mengakses baris harus mengacu pada
kolom ini di setiap query untuk memastikan bahwa salah satu penyewa tidak dapat melihat data lain
penyewa. Pendekatan ini memiliki biaya hardware dan cadangan terendah, karena mendukung jumlah
terbesar dari penyewa per server database. Namun, karena beberapa penyewa berbagi tabel database yang
sama, pendekatan ini mungkin menimbulkan upaya pengembangan tambahan dalam keamanan, untuk
memastikan bahwa penyewa tidak dapat mengakses data penyewa lain. Pendekatan ini sesuai jika penting
bahwa aplikasi harus melayani sejumlah besar penyewa dengan sejumlah kecil server, dan calon
pelanggan bersedia untuk menyerah isolasi data dalam pertukaran untuk biaya yang lebih rendah bahwa
pendekatan ini memungkinkan.

3.6 Komponen DBMS

DBMS adalah potongan-potongan yang sangat kompleks dan canggih dari perangkat lunak yang
bertujuan untuk menyediakan layanan yang dibahas dalam Bagian 2.4. Sebuah DBMS dibagi menjadi
beberapa komponen software (atau modul), yang masing-masing diberikan sebuah operasi tertentu.
Seperti yang dinyatakan sebelumnya, beberapa fungsi dari DBMS yang didukung oleh sistem operasi
yang mendasarinya. Namun, sistem operasi hanya menyediakan layanan dasar dan DBMS harus dibangun
di atasnya.

Komponen dari DBMS :

• prosesor Query. Ini adalah komponen DBMS utama yang mengubah query ke dalam serangkaian
instruksi tingkat rendah diarahkan ke database manager. Kami membahas pemrosesan query dalam Bab
23.

•database manager (DM). DM interface dengan program aplikasi yang dikirimkan pengguna dan
permintaan. DM menerima query dan menguji skema eksternal dan konseptual untuk menentukan apa
catatan konseptual yang diperlukan untuk memenuhi permintaan tersebut. DM kemudian menempatkan
panggilan ke file manager untuk melakukan permintaan. Komponen DM ditunjukkan pada Gambar 3.21.

•Manajer file. File manager memanipulasi penyimpanan file yang mendasari dan mengelola alokasi
ruang penyimpanan pada disk. Ini membangun dan mempertahankan daftar struktur dan indeks
didefinisikan dalam skema internal. Jika file hash yang digunakan, itu panggilan pada fungsi hashing
untuk menghasilkan alamat record. Namun, file manager tidak langsung mengelola input fisik dan output
data. Sebaliknya, melewati permintaan ke metode akses yang sesuai, yang baik membaca data dari atau
menulis data ke dalam sistem penyangga (atau Cache).

•DML preprocessor. Modul ini mengubah pernyataan DML tertanam dalam sebuah program aplikasi ke
dalam fungsi panggilan standar dalam bahasa tuan rumah. DML preprocessor harus berinteraksi dengan
query processor untuk menghasilkan kode yang sesuai.

•DDL compiler. DDL compiler mengkonversi pernyataan DDL ke dalam satu set tabel yang berisi
metadata. Tabel ini kemudian disimpan dalam katalog sistem sedangkan informasi kontrol disimpan
dalam header

• Manajer Katalog. Manajer katalog mengelola akses ke dan memelihara sistem katalog. Sistem katalog
diakses oleh sebagian besar komponen DBMS.

3.7. Arsitektur oracle


Oracle didasarkan pada arsitektur client-server diperiksa dalam bagian 3.1.3. Oracle Server terdiri dari
database (data mentah, termasuk log dan kontrol file) dan contoh (proses dan sistem memori pada server
yang memberikan akses ke database). Sebuah contoh dapat terhubung ke hanya satu database. Database
terdiri dari struktur logis, seperti skema database, dan struktur fisik, yang berisi file yang membentuk
database Oracle.
Chapter 4
Model Relasional

4.1 Sejarah Singkat Model Relasional

Model relasional pertama kali diusulkan oleh EF Codd dalam makalah mani'Sebuah


model relasional data untuk besar bank data bersama' (Codd, 1970).Tulisan ini sekarang
umumnya diterima sebagai tengara dalam sistem database, meskipun model set-berorientasi 

telah diusulkan sebelumnya(Childs, 1968). 

Proyek kedua telah signifikan dalam pengembangan model relasional adalah


Ingres (Interactive Graphics Retrieval System) proyek di University of California di Berkeley,
yang aktif pada waktu yang sama dengan proyek R Sistem. Proyek Ingres melibatkan
pengembangan prototipe RDBMS, dengan penelitian berkonsentrasi pada tujuan keseluruhan sama
dengan proyek R  Sistem. Penelitian ini dipimpin ke versi akademik Ingres, yang memberikan kontribusi
terhadap apresiasi umum konsep relasional, dan menelurkan produk Ingres komersial dari Relasional
Technology Inc (sekarang Keuntungan Ingres Relational Database Enterprisedari Computer Associates)
dan Database Machine Cerdas dari Britton Lee Inc.

Proyek ketiga adalah Uji Kendaraan Peterlee Relasional di Pusat Inggris IBMI lmiah


di Peterlee (Todd, 1976). Proyek ini memiliki orientasi yang lebih teoritisdaripada R Sistem dan
proyek Ingres dan signifikan, terutama untuk penelitianmasalah-masalah seperti pemrosesan query dan
optimasi, dan perluasan fungsional.

Sistem komersial berbasis pada model relasional mulai muncul di akhir 1970an dan awal tahun


1980. Sekarang ada beberapa ratus RDBMSs baik untuk lingkungan mainframe dan PC,
meskipun banyak yang tidak benar-benar mengikuti definisi model relasional. Contoh berbasis
PC RDBMSs adalahOffice Access dan Visual FoxPro dari Microsoft, Interbase dan JDataStore dari
Borland, dan R: Base dari R: DASAR Technologies.

Karena popularitas dari model relasional, banyak non-relasional system sekarang menyediakan


antarmuka pengguna relasional, terlepas dari model yang mendasari. IDMS Computer Associates ',
jaringan utama DBMS, telah menjadi Keuntungan CA-IDMS,
mendukung pandangan relasional data. DBMSmainframe lain yang mendukung beberapa fitur relasional
adalah Computer Corporation of America Model 204 dan Software AG Adabas.

4.2 Terminologi

Model relasional didasarkan pada konsep matematika hubungan, yang secara


fisik direpresentasikan sebagai sebuah tabel. Codd, seorang matematikawanterlatih, menggunakan
istilah yang diambil dari matematika, terutama teorimengatur dan logika predikat. Pada bagian ini
kita menjelaskan konsepterminologi dan struktural dari model relasional.
4.2.1 Struktur Data Relasional

Hubungan  Relasi adalah tabel dengan kolom dan baris.

RDBMS hanya memerlukan bahwa database dirasakan oleh pengguna sebagai


tabel. Namun, perlu diketahui bahwa persepsi ini hanya berlaku untuk struktur logis

Atribut  Atribut adalah kolom bernama relasi.

Sebagai contoh, informasi pada kantor cabang diwakili oleh hubungan Cabang,dengan


kolom untuk Tidak ada cabang atribut (jumlah cabang), jalan, kota, dankode
pos. Demikian pula, informasi mengenai staf diwakili oleh hubungan Staf, dengan
kolom atribut untuk bukan staf atribut (jumlah staf), fname, lname, posisi, jenis kelamin,
DOB (tanggal lahir), gaji, dan cabang Tidak (jumlah cabang karya anggota staf
di). Gambar 3.1 menunjukkan contoh dari hubungan Cabang dan Staf. Seperti yang Anda
lihat dari contoh ini, kolom berisi nilai-nilai atribut tunggal, misalnya,cabang Tidak
ada kolom berisi angka saja dari kantor cabang yang ada.

Domain Domain adalah himpunan nilai yang diijinkan untuk satu atau lebih atribut.

Domain adalah fitur yang sangat kuat dari model relasional. Setiap atribut dalam suatu


relasi yang didefinisikan pada domain.

Konsep domain adalah penting karena memungkinkan pengguna untuk menentukan di


satu tempat makna dan sumber nilai-nilai bahwa atribut dapat terus.

Tuple Tuple adalah baris dari relasi.

Elemen-elemen dari relasi adalah baris atau tupel dalam


tabel. Dalam hubunganCabang, setiap baris berisi empat nilai, satu untuk setiap
atribut. Tupel dapat muncul dalam urutan apapun dan hubungan akan tetap relasi yang
sama, dan karena itu menyampaikan makna yang sama.

Derajat Derajat relasi adalah jumlah atribut yang dikandungnya.

Relasi dengan hanya satu atribut akan memiliki satu derajat dan disebutrelasi unary atau


satu-tupel. Sebuah hubungan dengan dua atribut disebut biner, satu dengan tiga
atribut disebut ternary, dan setelah itu istilah n-ary biasanya
digunakan. Derajat relasi adalah properti dari kehebatan dari relasi.

Kardinalitas Kardinalitas relasi adalah jumlah tuple yang dikandungnya

Sebaliknya, jumlah tupel disebut kardinalitas relasi dan ini perubahan


sebagai tuple yang ditambahkan atau dihapus. Kardinalitas adalah
milik perluasan hubungan dan ditentukan dari contoh tertentu dari
relasi pada suatu waktu tertentu
Relational Basis Data Kumpulan dari hubungan normalisasi dengan nama relasi yang berbeda.

Sebuah database relasional terdiri dari hubungan yang tepat terstruktur. 

Alternatif Terminology

Terminologi untuk model relasional bisa sangat membingungkan. Kami telah


Memperkenalkan dua set istilah. Bahkan, set ketiga istilah kadang-kadang digunakan: relasi
dapat disebut sebagai file, tupel sebagai catatan, dan atributsebagai bidang. Istilah ini berasal
dari kenyataan bahwa, secara fisik, RDBMS dapat menyimpan setiap relasi dalam file.

Tabel 3.1 Alternatif istilah untuk istilah model relasional.

Hal Formal Alternativ1 Alternativ2


Relasi Table Berkas
Tupel Baris Catatan
Attribute Kolom Bidang

Relasi Matematika
Untuk memahami arti sebenarnya dari hubungan panjang, kita harus meninjau beberapa
konsep dari matematika. Misalkan kita memiliki dua set, D1 dan D2, dimana D1={2, 4} dan D2 = {1, 3,
5}. Produk Cartesian dua set, ditulis D1x D2, adalah himpunan semua pasangan terurut seperti bahwa
elemen cemara adalah od anggota D1 dan elemen keduaadalah anggota D2. alternatif
cara mengekspresikan ini adalah untuk mencari semua kombinasi elemen dengan yang pertama dari D1
dan yang kedua dari D2. dalam kasus yang kami miliki :
D1 x D2 = {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)}

Beberapa subset dari Cartesian produk ini adalah relasi.Sebagai contoh, kita bisa


menghasilkan sebuah relasi R sedemikian rupa sehingga:

R = {(2, 1), (4, 1)}

Kita mungkin menentukan memerintahkan pasang akan berada dalam relasi dengan


memberikan beberapa kondisiuntuk pemilihan mereka. Sebagai contoh, jika kita amatibahwa
R mencakup semua pasangan terurut yang elemen kedua adalah 1, maka kita bisa menulis R sebagai:

R {(x, y) x ∈D1, y ∈D2, and y 1}

Dengan menggunakan set yang sama, kita bisa membentuk hubungan lain S di mana elemen


pertamaselalu dua kali yang kedua. Jadi, kita bisa menulis S sebagai:

S {(x, y) x ∈D1, y ∈D2, and x 2y}

atau, dalam hal ini,

S ={(2, 1)}

karena hanya ada satu pasang memerintahkan dalam produk Cartesian yang memenuhi kondisi ini. Kita


dapat dengan mudah memperluas gagasan tentang hubungannya dengan tiga set. biarkan D1, D2, dan
D3 menjadi tiga set . Cartesian produk D1× D2 x D3 dari ketiga set adalahhimpunan semua tiga kali
lipat memerintahkan sedemikian rupa sehingga elemen pertama adalah dari D, elemen kedua adalah
dari D2, dan elemet ketiga adalah dari D3, setiap subset dari Cartesian produk
ini adalah relasi.Misalnya, kita memiliki:

D1 = {1, 3} D2 = {2, 4} D3 = {5, 6}

D1 × D2 × D3 = {(1, 2, 5), (1, 2, 6), (1, 4, 5), (1, 4, 6), (3, 2, 5), (3, 2, 6), (3, 4, 5), (3, 4, 6)}

Setiap subset dari tiga kali lipat memerintahkan adalahrelasi. Kita bisa memperpanjang tiga set dan


menetapkan umum relasi pada domain n. Misalkan D1, D2, . . . ., Dn adalah set n . Cartesian
produk mereka didefinisikan sebagai:

D1 × D2 × . . . × Dn = {(d1, d2, . . . , dn) | d1 ∈D1, d2 ∈D2, . . . , dn ∈Dn}

dan biasanya ditulis sebagai:

X Di

I=1

Setiap himpunan n-tuple dari Cartesian produk adalah relasipada set n. Perhatikan bahwa dalam


mendefinisikanhubungan ini kita harus menentukan set, atau domain, dari mana kita memilih nilai.

4.2.3 Hubungan Relasi

Menerapkan konsep-konsep di atas untuk database, kita dapat mendefinisikan skema relasi.

Skema Relasi Suatu relasi bernama didefinisikan oleh satu set atribut danpasangan nama


domain.

Lihat A1, A2, . . . . ., An menjadi atribut dengan domain D1, D2, . . . ., Dn . Kemudian set

{A1:D1, A2:D2, . . . An:Dn} adalah sebuah skema relasi . Sebuah relasi R didefinisikan oleh

relasi skema S adalah satu set pemetaan dari nama-nama atribut ke domain yang

berhubungan. Jadi, relasi R adalah set n-tuple.


Relasi Skema BasisData satu set skema relasi, masing-masing dengan nama yang
berbeda.

If R1, R2, . . ., Rn adalah seperangkat skema relasi, maka kita dapat menulisskema

database relasional, atau hanya skema relasional,R, sebagai:

R = {R1, R2, . . ., Rn}

4.2.4 Sifat Hubungan

Suatu relasi memiliki properti berikut:

 relasi memiliki nama yang berbeda dari semua namahubungan lain dalam skema relasional;

 setiap sel dari relasi berisi tepat satu atom (tunggal) nilai;

 setiap atribut memiliki nama yang berbeda;

 nilai-nilai atribut semua dari domain yang sama;

 tupel masing-masing berbeda, tidak ada duplikat tupel;

 urutan atribut tidak memiliki makna;

 urutan tuple tidak memiliki makna, secara teoritis.(Namun, dalam


prakteknya, agar dapat mempengaruhi efisiensi tupel mengakses.)

Sebagian besar sifat yang ditentukan untuk hasil hubungan dari sifat hubungan matematis:

 Ketika kita berasal produk Cartesian set dengan sederhana, nilai-tunggal elemen seperti bilangan


bulat, setiap elemen dalam tuple masing-masing bernilai tunggal.Demikian pula, setiap
sel dari relasi berisi tepat satu nilai.Namun, hubungan matematika tidak
perlu dinormalisasi.Codd memilih untuk kelompok mengulangi melarang untuk
menyederhanakan model data relasional.
 Dalam relasi, nilai yang mungkin untuk posisi tertentuditentukan oleh himpunan, atau domain, di
mana posisididefinisikan. Dalam sebuah tabel, nilai-nilai dalam setiap kolom harus datang dari
domain atribut yang sama.
  Dalam satu set, ada elemen yang berulang. Demikian pula, dalam suatu relasi, tidak
ada tupel duplikat.
 Sejak relasi adalah satu set, urutan elemen tidak memiliki makna. Oleh karena itu, dalam suatu
relasi urutan tupletidak material.
Namun, dalam relasi matematika, urutan elemen dalam sebuah tuple adalah penting.

4.2.5 Kunci Rasional

Sebagaimana dinyatakan di atas, ada tupel ada duplikatdalam relasi. Karena itu, kita harus mampu untuk


mengidentifikasi satu atau lebih atribut (disebut kuncirelasional) yang secara unik
mengidentifikasi setiap tupledalam suatu relasi. Pada bagian ini, kami akan menjelaskan terminologi yang
digunakan untuk kunci relasional.

Superkey Atribut, atau seperangkat atribut, yang secara unik mengidentifikasi sebuah tupel di


dalam relasi.

Superkey dengan unik mengenali setiap tupel dalam relasi.Namun, superkey mungkin

berisi atribut tambahan yang tidak perlu untuk identifikasi unik, dan kami tertarik dalam

mengidentifikasi superkeys yang hanya berisijumlah minimum atribut yang


diperlukan untuk identifikasiunik.

Candidate key Sebuah superkey sehingga tidak ada subset yang tepat


adalah superkey dalam relasi.

Kunci kandidat, K, untuk relasi R memiliki dua sifat:

 keunikan - di setiap tuple R, nilai K secara unik mengidentifikasi tuple itu;


 irreducibility - tidak ada subset K memiliki sifat keunikan.

Primary key Kunci kandidat yang dipilih untuk mengidentifikasi tupel secara unik dalam


hubungan.

Karena relasi tidak memiliki tupel duplikat, itu selalu mungkin untuk

mengidentifikasi setiap baris unik. Ini berarti bahwa hubungan selalu memiliki


kunci primer.

Foreign Key Atribut , atau set atribut , dalam satu hubungan yang cocok dengan kunci
kandidat dari beberapa (mungkin sama ) hubungan .
Ketika sebuah atribut muncul di lebih dari satu relasi, penampilan biasanya
merupakan hubungan antara tuple dari dua relasi. Misalnya, masuknya
cabang dalam hubungan kedua Cabang dan Staf sangat disengaja dan
menghubungkan setiap cabang ke rincian staf yang bekerja di cabang. Dalam
hubungan Cabang, branchNo adalah primaryKey tersebut. 
4.2.6 Mewakili Schemas Relational Database

Sebuah database relasional terdiri dari sejumlah hubungan normal. pararelasional


skema untuk bagian dari studi kasus DreamHome adalah:

Cabang (NoCabang, jalan, kota, kode pos)

Staf (NoStaff, fnama, lnama, posisi, jenis kelamin, DOB, gaji, NoCabang)

Staf (staffNo, fnama, lNamaPropertaForRent (propertyNo, jalan, kota, kode pos, jenis,


ruang,sewa, Nopemilik, Nostaff,NoCabang), posisi, seks, DOB, gaji, Nocabang)

Klien (Noklien, fnama, lnama, telNo, prefTipe, maxsewa)

PrivateOwner (ownerNo, fname, lname, alamat, telNo)

Viewing (clientNo, propertyNo, viewDate, comment)

Registration (clientNo, branchNo, staffNo, dateJoined)

Konvensi umum untuk mewakili skema relasi adalah memberikan nama relasidiikuti dengan nama


atribut dalam tanda kurung. Biasanya, kunci utamadigarisbawahi. 

Model konseptual atau skema konseptual, adalah himpunan semua skema tersebut


untuk database. Gambar 3.3 menunjukkan sebuah contoh dari ini skema relasional.

4.3 Integritas Kendala

Pada bagian sebelumnya kita membahas bagian struktural dari model datarelasional. Sebagaimana


dinyatakan dalam Bagian 2.3, model data memiliki dua bagian lain: bagian manipulatif,
menentukan jenis operasi yang diperbolehkan pada data, dan satu set batasan integritas, yang memastikan
bahwa data tersebut akurat. Pada bagian ini kita membahas kendala integritasrelasional dan pada bab
berikutnya kita membahas operasi 

manipulasirelasional.

4.3.1 NULLS

Null Merupakan nilai untuk atribut yang saat ini tidak diketahui atau tidak berlaku


untuk tupel ini.

Nol dapat diartikan 'tidak diketahui' nilai logis. Hal ini dapat berarti bahwa nilai isnot berlaku


untuk tupel tertentu, atau itu hanya bisa berarti bahwa nilai belum ada disediakan. Nulls adalah cara
untuk menangani data tidak lengkap atau luar biasa. Namun, null adalah tidak sama dengan nilai
angka nol atau string teksdiisi dengan spasi; nol dan ruang adalah nilai-nilai,
tetapi nol mewakili ketiadaannilai. Oleh karena itu, nulls harus diperlakukan berbeda dari nilai-nilai
lain.Beberapa penulis menggunakan 'nilai null' istilah, namun sebagai null bukan
nilaitetapi merupakan ketiadaan nilai, 'nilai null' istilah sudah ditinggalkan.

4.3.2 Badan Integritas

Badan integritas  Dalam hubungan dasar, tidak ada atribut dari primary keydapat null.

Menurut definisi, primary key adalah identifier minimal yang digunakan untuk


mengidentifikasi tupel secara unik. Ini berarti bahwa tidak ada subset dari kunci
primer cukup untuk menyediakan identifikasi unik dari tupel. 

4.3.3 Integritas referensial

Aturan integritas kedua berlaku untuk kunci asing.

Intergritas referensial Jika kunci asing ada dalam hubungan , baik nilai kunci asing harus sesuai
dengan nilai candidate key dari beberapa tuple dalam kaitannya rumah
atau nilai foreign key harus sepenuhnya nol .

4.3.4 Kendala umum

Kendala umum Tambahan aturan yang ditetapkan oleh pengguna


atau administrator databasendatabase yang
mendefinisikan atau membatasi beberapa aspek dari perusahaan.

Hal ini juga mungkin bagi pengguna untuk menentukan batasan tambahanbahwa data harus

memenuhi. Misalnya, jika batas atas 20 telah ditempatkanpada jumlah staf yang dapat bekerja di


kantor cabang, maka pengguna harus dapat menentukan ini kendala umum dan

mengharapkan DBMS untuk menegakkannya. Dalam hal ini, seharusnya tidak mungkin untuk


menambahkan anggota baru staf di cabang diberikan kepada hubungan Staf jika jumlah

staf saat ini ditugaskan untuk cabang yang 20. Sayangnya, tingkat dukungan untuk kendala

umum bervariasi dari sistem ke sistem.

4.4 Tampilan

Dalam arsitektur tiga tingkat ANSI-SPARC disajikan dalam Bab 2, kita


menggambarkan pandangan eksternal sebagai struktur database seperti yang muncul untuk pengguna
tertentu. Dalam model relasional, 'view' kata memiliki makna yang sedikit berbeda. Alih-alih
menjadi model eksternal seluruh pandangpengguna, maksud adalah hubungan virtual atau yang
diturunkan: hubunganyang tidak selalu ada dalam dirinya sendiri, tetapi dapat secara dinamis berasaldari
satu atau lebih relasi dasar. Dengan demikian, model eksternal dapat terdiri dari kedua relasi dasar
(konseptual-tingkat) dan pandangan yang berasal darihubungan dasar. Pada bagian ini, kita secara
singkat membahas pandangandalam sistem relasional. Pada Bagian 6.4 kita meneliti pandangan secara
lebih rinci dan menunjukkan bagaimana mereka dapat dibuat dan digunakan dalamSQL.

4.4.1 Terminology

Hubungan kami telah berurusan dengan begitu jauh dalam bab ini dikenal sebagai hubungan dasar.

Basis Hubungan Suatu relasi bernama sesuai dengan entitas dalam skema konseptual , yang tupel
secara fisik disimpan dalam database .
Kita dapat menentukan pandangan dalam hal hubungan dasar

Tinjauan Hasil dinamis dari satu atau lebih operasi relasional yang beroperasi di pangkalan


hubungan untuk menghasilkan relasi lainnya. View View adalah relasi maya yang tidak
selalu ada dalam database tetapi dapat diproduksi atas permintaanoleh
tertentu pengguna, pada saat permintaan.

View View adalah relasi yang muncul ke pengguna untuk ada, dapat dimanipulasi seolah


olah hubungan dasar, tetapi tidak selalu ada dipenyimpanan dalam arti bahwa
hubungan dasar lakukan (meskipun definisiyang disimpan dalam katalog sistem) .

Anda mungkin juga menyukai