Apa itu database relasional? [Tutup]


9

Saya sebagian besar administrator sistem dan saya tidak langsung bekerja dengan database selain menginstalnya, mengatur akun, memberikan hak istimewa, dan sebagainya. Saya menyadari bahwa jika Bos menghampiri saya dan bertanya, "Apa itu database relasional?" Saya mungkin tidak bisa memberikan jawaban yang memuaskan ... Saya mungkin akan menggumamkan sesuatu tentang data yang disimpan dan diorganisir berdasarkan kategori yang dapat Anda query dengan bahasa pemrograman khusus (yaitu, SQL).

Jadi bisakah seseorang memberikan "Jawaban Bos" yang bagus untuk apa itu database relasional? Dan mungkin apa bedanya dengan hanya menyimpan data di server file? Poin bonus untuk analogi yang cerdas namun mudah diakses dan menjelaskan tabel, kolom, catatan, dan bidang. Saya akan mendefinisikan "Jawaban Bos" sebagai penjelasan paragraf cepat (mungkin dua) untuk orang-orang non-teknis ... sebagian besar Bos Anda, pada kesempatan langka mereka benar-benar bertanya kepada Anda apa yang Anda lakukan sepanjang hari.


2
Tidak yakin serverfault adalah tempat yang tepat untuk pertanyaan ini, meskipun bermanfaat. Mungkin DBA.SE atau Programmers.SE .
Orbling

1
Mengapa atasan Anda mengajukan pertanyaan seperti itu dan, yang lebih penting, apa hubungannya dengan administrasi sistem?
John Gardeniers

1
@ John Gardeniers, Mungkin ada di sini karena banyak 'admin sistem' memakai topi 'administrasi database', yang berarti mereka memiliki pemahaman yang baik tentang cara kerja RDBMS. Adapun mengapa bos mengajukan pertanyaan yang mereka lakukan, siapa yang tahu, tetapi mengetahui bagaimana mengkomunikasikan konsep dengan jelas adalah hal yang baik IMO.
Zoredache

1
@Zoredache, dalam pekerjaan saya, saya memakai banyak topi. Itu tidak berarti mereka semua pada topik untuk SF.
John Gardeniers

Jawaban di bawah ini sangat baik, tetapi perlu diingat bahwa Anda dapat memiliki database non-relasional (seperti btrieve) dan masih mempertahankan hubungan antara data yang dinormalisasi melalui logika aplikasi yang tepat.
Mark Henderson

Jawaban:


16

Database relasional tidak hanya menyimpan data : ia menyimpan hubungan antar data, dan membuatnya mudah (yah, lebih mudah) untuk menggunakan hubungan itu. Pada hari-hari awal terminologi basis data relasional, tabel disebut "hubungan" karena mereka menyimpan bit data terkait (bidang, sekarang kolom), bersama dengan hubungan antara hubungan itu dan hubungan lainnya.

Normalisasi adalah tindakan hubungan yang tidak menyulitkan: "Jadikan segalanya sesederhana mungkin, tetapi tidak lebih sederhana." (Alan Perlis) Kadang-kadang "... tapi tidak sederhana" berarti kita tidak menyimpan hal-hal yang dinormalisasi sepenuhnya, karena "sederhana" akhirnya menjadi lebih kompleks. (Anda dapat menurunkan status dari kode pos, tetapi mengapa repot-repot?)


10

Database relasional adalah metode penataan data sehingga satu fakta disimpan di satu tempat. Jadi jika John dan Jane Doe sama-sama bekerja untuk perusahaan yang sama, Anda hanya akan menyimpan detail yang unik untuk perusahaan di satu tempat (tabel). Anda akan menyimpan data yang unik untuk John dan Jane di tempat lain, dan Anda akan menyimpan hubungan John dan Jane dengan perusahaan di tempat ketiga. Dalam dunia ideal ini seharusnya berarti saya hanya perlu memodifikasi satu bidang / baris jika nomor faks perusahaan berubah.

Harap dipahami bahwa tidak semua database yang dihosting dalam RDBMS dinormalisasi dengan benar. Kompromi dibuat untuk kinerja dan alasan lain.

Lihat artikel tentang normalisasi basis data. http://en.wikipedia.org/wiki/Database_normalization


4

Ada dua konsep utama untuk membedakan sistem basis data hubungan. Yang pertama adalah bahwa hubungan antar item disimpan. Itulah model tabel data, dijelaskan melalui analogi spreadsheet. RDBMS mendapatkan lebih kompleks daripada spreadsheet, karena praktiknya yang lebih mudah dan umum memiliki banyak referensi antara tabel atau lembar kerja (tergantung pada sisi analogi yang Anda gunakan).

Yang kedua adalah bahwa RDBMS menerapkan gagasan transaksi, sifat ACID dari

  • atomitas,
  • konsistensi,
  • isolasi, dan
  • daya tahan

Model relasional memungkinkan banyak hubungan kompleks untuk dimasukkan, ditanyakan, diurutkan berdasarkan, dikelompokkan berdasarkan, dan seterusnya. Model transaksional memastikan bahwa transaksi terjadi sepenuhnya atau tidak sama sekali, menjaga model hubungan konsisten dan akurat. Yah, setidaknya memungkinkan pemrograman yang benar untuk mempertahankannya.


3

Database relasional seperti Buku Kerja Excel dengan banyak lembar kerja, dan lingkungan perangkat lunak di sekitarnya untuk melakukan optimalisasi kinerja seperti pengindeksan dan caching, memberlakukan akses yang aman oleh banyak pengguna pada saat yang sama, dan memungkinkan Anda untuk secara efisien melihat data yang mungkin tersebar lebih dari banyak lembar kerja yang berbeda.


1

Abase data relasional adalah alat untuk menyimpan dan mengambil data yang disimpan dalam model relasional.

Model data relasional dibangun berdasarkan sejumlah kecil (tergantung pada buku mana yang Anda baca, 4 atau 5 aturan) yang memastikan bahwa data dapat diakses secara konsisten, yang memungkinkan kebenaran desain untuk dibuktikan dan yang memungkinkan sistem manajemen basis data (DBMS) untuk melakukan sebagian besar pekerjaan dalam mengambil data dengan cepat. Ini juga menyediakan alat untuk secara formal mendokumentasikan struktur data - mengimplementasikan database secara intrinsik mengimplementasikan sebagian besar dokumentasi.

Sebagian besar orang tidak mengerti mengapa kebenaran itu penting - itu artinya bug lebih kecil kemungkinannya untuk diperkenalkan dalam pengembangan solusi - dan bahwa (e.hg) 2 programmer berbeda yang bekerja di area yang sama lebih kecil kemungkinannya menggandakan upaya.

Sebagai entitas terpisah dari ujung depan aplikasi, dan dengan tampilan struktur data yang konsisten, penggunaan sistem manajemen basis data memungkinkan berbagai alat digunakan di ujung depan untuk tujuan yang berbeda - sehingga Anda dapat menggunakan lebih banyak lagi komponen off-the-shelf ketika membangun solusi.

Ada model lain selain yang relasional untuk menyimpan data - tetapi tidak ada model lain (menurut pengalaman saya) yang mendekati kesederhanaan, fleksibilitas, dan ketersediaan alat untuk mengembangkan dan mengelola data Anda.


1

100% jawaban non teknis:

Database relasional adalah tempat untuk menyimpan data sedemikian rupa untuk meminimalkan redundansi dan memungkinkan Anda untuk mencari data dengan mudah.

Misalkan database untuk toko hewan peliharaan. Toko itu memiliki barang, ada pelanggan, dan ada penjualan. Jika kami meletakkannya di Excel, Anda bisa memiliki ini untuk kolom:

Nama Pelanggan | Nomor telepon pelanggan | Alamat pelanggan | Barang yang dibeli | Harga | Tanggal

Pelanggan pertama, Ny. Smith, membeli makanan kucing:

Nama Pelanggan | Nomor telepon pelanggan | Alamat pelanggan | Barang yang dibeli | Harga | Tanggal
Nyonya Smith | 123-555-1234 | 10 Main St | Makanan kucing | $ 15 | 2011-03-11

Dan kemudian Nyonya Smith juga ingin mainan kucing:

Nama Pelanggan | Nomor telepon pelanggan | Alamat pelanggan | Barang yang dibeli | Harga | Tanggal
Nyonya Smith | 123-555-1234 | 10 Main St | Makanan kucing | $ 15 | 2011-03-11
Nyonya Smith | 123-555-1234 | 10 Main St | Mainan kucing | $ 1 | 2011-03-11

Dan dia pada dasarnya kembali setiap 2 minggu atau lebih dan membeli barang yang sama. Dengan metode ini, Anda menggandakan banyak informasi, dan itu dapat menyebabkan kesalahan. Anda juga tidak dapat menyimpan inventaris di sini, itu harus berupa lembar Excel lainnya, dan yang harus diperbarui pada setiap penjualan.

Dengan basis data, kami dapat memiliki tiga entitas terpisah: Pelanggan (dengan informasinya), Barang (dengan deskripsi dan harga), dan Penjualan (tautan antara pelanggan dan barang, dengan tanggal dan jumlah).


Juga, ini sangat penting untuk disebutkan: pinaldave.com/blogfolder/dilbert5.jpg
MPelletier

1

Beberapa jawaban teknis yang bagus di sini. Tapi bos saya tidak akan mengerti satupun dari mereka!

Saya akan mulai dengan penjelasan yang sangat sederhana - 'Jika Anda menyimpan data Anda dalam file, itu muncul sebagai satu daftar panjang. Basis data relasional menyimpan data lebih seperti peta atau grafik, sehingga bagian-bagian berbeda dari tautan peta satu sama lain .... '

Dan contoh - '.... misalnya nama Anda terhubung ke alamat Anda, yang pada gilirannya mungkin terhubung ke kota Anda.'

Diikuti oleh keuntungan bisnis yang dia pedulikan - 'Keuntungan dari ini adalah membuatnya jauh lebih murah untuk menulis kode untuk mendapatkan data yang rumit, misalnya "temukan saya semua orang yang tinggal di Seattle yang nama belakangnya adalah Smith". Juga basis data relasional sangat andal dan cepat. '

Dan akhiri dengan pernyataan kredibilitas - 'Database relasional telah ada selama bertahun-tahun, adalah teknologi yang sangat matang. Produk khusus kami adalah [nama produk di sini] '.


0

Bos saya adalah DBA, tetapi dalam istilah awam:

Pikirkan tentang dua tabel di Excel, dan fungsi LOOKUP untuk merujuk item dalam satu tabel ke yang lain. Sekarang skalakan setidaknya dengan faktor 10.

Itu tentang tingkat komputer beberapa orang dan bekerja.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.