Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Desain basis data dan pemodelan hubungan khusus

Agaknya truk dan/atau sopir truk memiliki tugas yang melibatkan melalui serangkaian peristiwa yang termasuk mengikuti jalan dan melakukan pengiriman dan transaksi, dll. Agaknya pekerjaan adalah peristiwa yang ada beberapa macam, misalnya penjemputan, transfer dan penurunan.

Tabel dalam database relasional menggambarkan keadaan aplikasi. Setiap tabel memiliki pernyataan fill-in-the-(named-)blanks terkait (predikat). Predikat tabel dasar diberikan oleh desainer:

// truck [truck_id] has code [truck_code] and ...
TRUCK (truck_id, truck_code, ...)
// product [product_id] has code [product_code] and name [product_name] ...
PRODUCT (product_id, product_code, product_name, ...) 

(Predikat mencirikan hubungan aplikasi, alias relasi, diwakili oleh tabel, alias relasi, maka "model relatonal".)

Parameter dari predikat adalah kolom dari tabel. Saat Anda memberikan nilai untuk setiap parameter, Anda mendapatkan pernyataan (proposisi) yang benar atau salah tentang aplikasi Anda. Baris nilai untuk kolom memberikan nilai seperti itu untuk setiap nama kosong. Baris yang membuat predikat tabel menjadi benar masuk ke dalam tabel. Baris yang membuat jika salah tetap di luar. Begitulah keadaan database menggambarkan situasi aplikasi. Anda harus mengetahui pernyataan tabel untuk membaca atau menanyakan database untuk mengetahui per barisnya apa yang benar dan salah tentang suatu situasi dan untuk memperbarui database dengan menempatkan persis baris yang membuat proposisi benar ke dalamnya setelah mengamati situasi .

Setiap kueri juga memiliki predikat yang dibangun dari predikat tabelnya. JOIN dari dua tabel memberikan baris yang memenuhi AND dari predikatnya, UNION the OR, dll. Dan hasil kueri juga menyimpan baris yang memenuhi predikatnya .

(Kendala tidak relevan dengan ini; mereka hanya secara kolektif menggambarkan status basis data yang dapat muncul dengan predikat dan status aplikasi yang dapat muncul.)

Anda perlu memutuskan predikat yang cukup untuk dapat sepenuhnya menggambarkan situasi aplikasi Anda. Ini termasuk hal-hal abstrak seperti rute dan transaksi dan acara dan jadwal dan tugas, dll. (Setelah kami memiliki predikat/tabel yang memadai, kami meningkatkannya melalui teknik seperti normalisasi.)

Ketika ada berbagai macam hal yang kita bicarakan tentang supertipe dan subtipe dan melihat predikat seperti (saya akan menggunakan "pekerjaan" yang saya anggap sebagai suatu peristiwa):

// job [job_id] for trucker [trucker_id] is ... stuff about all jobs ...
JOB(job_id, trucker_id...)
// job [job_id] is a pickup with ... stuff about pickups ...
PICKUP(job_id, container_id...)
// job [job_id] is a transfer with ... stuff about transfers
TRANSFER(job_id,...)
...

(Anda mungkin atau mungkin tidak memiliki gagasan transfer yang berbeda atau tambahan sebagai peristiwa dengan dua atau lebih wadah terkait, dll.) (Telusuri "subtipe". Misalnya )




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hitung (*) tidak berfungsi dengan benar

  2. Bagaimana Mengedit Prosedur Tersimpan di Oracle SQL Developer?

  3. perilaku gabungan dalam di dalam ada sql

  4. Hubungkan OEM Anda ke Grafana menggunakan Aplikasi Manajer Perusahaan untuk Grafana

  5. ORA-00119:spesifikasi tidak valid ORA-00132:kesalahan sintaksis