Minggu, 07 Maret 2021

BASIS DATA

 Konsep Basis Data

v  Basis Data

Sistem manajemen basis data (DBMS) adalah kumpulan data yang saling terkait dan satu set program untuk mengakses data tersebut

Database adalah kumpulan data yang berisi informasi yang relevan dengan suatu perusahaan

DBMS menyediakan cara untuk menyimpan dan mengambil informasi database yang keduanya

nyaman dan efisien

v  Aplikasi Sistem Basis Data

·         Informasi Perusahaan

o    Penjualan: Untuk informasi pelanggan, produk, dan pembelian.

o    Akuntansi: Untuk pembayaran, penerimaan, saldo akun, aset, dan lainnya informasi akuntan.

o    Sumber daya manusia: Untuk informasi tentang karyawan, gaji, pajak gaji, dan tunjangan, dan untuk menghasilkan gaji.

o    Manufaktur: Untuk manajemen rantai pasokan dan untuk melacak produksi barang di pabrik, persediaan barang di gudang dan toko, dan pesanan barang.

o    Perbankan: Untuk informasi pelanggan, rekening, pinjaman, dan transaksi perbankan.

o    Transaksi kartu kredit: Untuk pembelian dengan kartu kredit dan pembuatan laporan bulanan.

o    Keuangan: Untuk menyimpan informasi tentang kepemilikan, penjualan, dan pembelian instrumen keuangan seperti saham dan obligasi; juga untuk menyimpan waktu nyata data pasar untuk memungkinkan perdagangan online oleh pelanggan dan perdagangan otomatis oleh perusahaan.


v  Sistem Basis Data vs Sistem Pemrosesan File

·         Redundansi & inkonsistensi data

Programmer yang berbeda membuat file dan program aplikasi dalam jangka waktu yang lama, berbagai file cenderung memiliki struktur yang berbeda dan program dapat ditulis dalam beberapa bahasa pemrograman. Selain itu, informasi yang sama dapat digandakan di beberapa tempat (file)

·         Kesulitan dalam mengakses data

Lingkungan pemrosesan file konvensional tidak mengizinkan data yang diperlukan diambil dari cara yang nyaman dan efisien




·         Isolasi data

Data tersebar di berbagai file, dan file mungkin dalam format yang berbeda, sulit menulis program aplikasi baru untuk mengambil data yang sesuai

·         Masalah integritas

Nilai data yang disimpan dalam database harus memenuhi jenis batasan konsistensi tertentu Batasan dalam tipe data, referensi, dll.

·         Masalah atomisitas

Sistem komputer, seperti perangkat lainnya, dapat mengalami kegagalan. Dalam banyak aplikasi, sangat penting bahwa, jika terjadi kegagalan, data dipulihkan ke status konsisten yang ada sebelum kegagalan

·         Anomali akses-bersamaan

Demi kinerja sistem secara keseluruhan dan respons yang lebih cepat, banyak sistem memungkinkan banyak pengguna untuk memperbarui data secara bersamaan.

·         Masalah keamanan

Tidak setiap pengguna sistem database dapat mengakses semua data.

v  Abstraksi data

·         Tingkat Fisik

Tingkat abstraksi terendah menjelaskan bagaimana data sebenarnya disimpan. Tingkat fisik menggambarkan struktur data tingkat rendah yang kompleks secara mendetail

·         Tingkat Logis

Tingkat abstraksi berikutnya yang lebih tinggi menjelaskan data apa yang disimpan dalam database, dan hubungan apa yang ada di antara data tersebut

·         Lihat Level

Tingkat abstraksi tertinggi hanya menjelaskan sebagian dari keseluruhan database


v  Database Relasional

Menggunakan kumpulan tabel untuk merepresentasikan data dan hubungan di antara data tersebut.Setiap tabel memiliki beberapa kolom, dan setiap kolom memiliki nama yang unik, Tabel juga dikenal sebagai relasi Model berbasis rekaman dinamai demikian karena database terstruktur dalam beberapa tipe rekaman format tetap. Setiap tabel berisi record dari tipe tertentu. Setiap tipe rekaman mendefinisikan sejumlah tetap bidang, atau atribut. Kolom tabel sesuai dengan atribut tipe record. Model data relasional adalah model data yang paling banyak digunakan, dan sebagian besar sistem database saat ini didasarkan pada model relasional.


v  Struktur Database Relasional                                                              

·         Setiap tabel diberi nama unik

·         Setiap tabel memiliki kolom untuk merepresentasikan atribut datanya

·         Setiap tabel memiliki catatan data

·         Setiap record memiliki nilai untuk setiap kolom

·         Baris / record dalam tabel merepresentasikan hubungan antara sekumpulan nilai


v  Hubungan instruktur

·         ID                    : kunci utama

·         nama                : nama instruktur

·         dept_name       : Nama dept tersebut.

·         gaji                   : gaji instruktur

·         Relasi               : table

·         Tuple                : baris

·         Atribut              : kolom dari sebuah tabel


v  Orde Tuple

Urutan tidak relevan, Karena relasi adalah sekumpulan tupel dan juga bisa diurutkan berdasarkan query dan index


v Jenis Atribut

Himpunan nilai yang diperbolehkan untuk setiap atribut disebut domain atribut, nilai atribut (biasanya) diperlukan untuk menjadi atom; artinya, tak terpisahkan. Nilai khusus null adalah anggota setiap domain, nilai nol menyebabkan komplikasi dalam definisi banyak


v Operasi Skema Database

Skema database: desain logis dari database Misalnya, hubungan departemen, departemen (nama_departemen, gedung, anggaran) Contoh database: snapshot dari data dalam database pada saat tertentu. Misalnya, meja samping kanan


v Key (kunci)

Harus memiliki cara untuk menentukan bagaimana tupel dalam relasi tertentu dibedakan, dinyatakan dalam atribut mereka. nilai dari nilai atribut tupel harus sedemikian rupa sehingga mereka dapat mengidentifikasi tupel secara unik dan tidak ada dua tupel dalam suatu relasi yang diizinkan memiliki nilai yang persis sama untuk semua atribut


v Superkey

Superkey: sekumpulan satu atau lebih atribut yang, diambil secara kolektif, memungkinkan kita untuk mengidentifikasi secara unik tupel dalam relasi. Misalnya atribut ID dari relasi instruktur cukup untuk membedakan satu tupel instruktur dari yang lain. Jadi, ID adalah kunci super. Atribut nama instruktur, sebaliknya, bukanlah kunci super, karena beberapa instruktur mungkin memiliki nama yang sama


v Superkey

Secara formal, misalkan R menunjukkan himpunan atribut dalam skema relasi r. Jika kita mengatakan bahwa subset K dari R adalah superkey untuk r, kami membatasi pertimbangan ke contoh relasi r di mana tidak ada dua tupel berbeda yang memiliki nilai yang sama pada semua atribut di K Artinya, jika t1 dan t2 berada di r dan t1! = T2, maka t1.K! = T2.K. 



v Candidate Key (Kunci Kandidat)

    Superkey mungkin berisi atribut asing. Misalnya. kombinasi ID dan nama adalah kunci super untuk instruktur relasi. Jika K adalah kunci super, maka begitu juga superset dari K kunci kandidat: kunci super minimal

    Ada kemungkinan bahwa beberapa set atribut yang berbeda dapat berfungsi sebagai kunci kandidat, Misalkan kombinasi nama dan nama dept cukup untuk membedakan antara anggota relasi instruktur. Kemudian, {ID} dan {name, dept name} adalah kunci kandidat. Meskipun atribut ID dan name bersama-sama dapat membedakan tupel instruktur, kombinasinya, {ID, name}, tidak membentuk kunci kandidat karena ID atribut sendiri adalah kunci kandidat.

v Primary Key (Kunci utama)

Kunci kandidat yang dipilih oleh perancang database sebagai cara utama untuk mengidentifikasi tupel dalam suatu relasi, kunci (baik primer, kandidat, atau super) adalah properti seluruh relasi, bukan dari tupel individual. Dua tupel individu dalam relasi dilarang memiliki nilai yang sama pada atribut kunci pada waktu yang bersamaan. 

Penunjukan kunci merupakan kendala dalam perusahaan dunia nyata yang dimodelkan harus dipilih dengan hati-hati. Nama seseorang jelas tidak cukup, karena mungkin ada banyak orang dengan nama yang sama, di Amerika Serikat, atribut nomor jaminan sosial seseorang akan menjadi kunci kandidat. Karena penduduk non-AS biasanya tidak memiliki nomor jaminan sosial, perusahaan internasional harus membuat pengenal unik mereka sendiri, alternatifnya adalah dengan menggunakan beberapa kombinasi unik dari atribut lain sebagai kunci. Kunci utama harus dipilih sedemikian rupa sehingga nilai atributnya tidak pernah, atau sangat jarang, berubah. Misalnya, bidang alamat seseorang tidak boleh menjadi bagian dari kunci utama, karena kemungkinan akan berubah. Nomor jaminan sosial, sebaliknya, dijamin tidak akan pernah berubah. Pengidentifikasi unik yang dibuat oleh perusahaan umumnya tidak berubah, kecuali jika dua perusahaan bergabung. Dalam kasus seperti itu, pengenal yang sama mungkin telah dikeluarkan oleh kedua perusahaan, dan realokasi pengenal mungkin diperlukan untuk memastikan pengenal itu unik.

v Foreign Key (Kunci asing)

    Suatu relasi, katakanlah r1, dapat menyertakan di antara atributnya kunci primer dari relasi lain, katakanlah r2. Memanggil kunci asing dari r1, mereferensikan r2, Relasi r1 juga disebut relasi referensi dari dependensi kunci asing. r2 disebut relasi yang direferensikan dari kunci asing, Batasan integritas referensial. nilai yang muncul dalam atribut tertentu dari setiap tupel dalam relasi referensi juga muncul dalam atribut tertentu dari setidaknya satu tupel dalam relasi yang direferensikan.



v Bahasa Query Relasional

Bahasa query adalah bahasa di mana pengguna meminta informasi dari database, bahasa ini adalah bahasa dimana pengguna meminta informasi dari database. Bahasa-bahasa ini biasanya memiliki level yang lebih tinggi daripada bahasa pemrograman standar, bahasa query dapat dikategorikan sebagai prosedural atau nonprocedural.

Prosedural: pengguna menginstruksikan sistem untuk melakukan urutan operasi pada database untuk menghitung hasil yang diinginkan. Misalnya. Aljabar Relasional. 

Nonprocedural: pengguna mendeskripsikan informasi yang diinginkan tanpa memberikan prosedur khusus untuk memperoleh informasi tersebut. Misalnya kalkulus relasional tupel, kalkulus relasional domain