Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara mengkodifikasi dan menyimpan batasan izin dinamis?

Nah, ini adalah salah satu area yang masih mengundang banyak diskusi. Seperti yang dikatakan beberapa orang [siapa? - pikir itu Atwood antara lain, tetapi tautan lolos dari saya], aplikasi yang dapat melakukan segalanya telah dibuat; itu disebut C. Apa yang ingin Anda lakukan hampir mendekati area 'terlalu umum', meskipun saya dapat melihat nilai dari tidak membutuhkan seorang programmer setiap kali aturan bisnis berubah.

Jika saya harus menerapkan sistem seperti itu, saya kira saya akan mencoba dan memecahnya menjadi domain. Anda telah melakukan pekerjaan yang relatif baik dengan tabel kedua. Cukup normalkan itu ke dalam domain terpisah yang digunakan untuk menggabungkan aturan bisnis. Anda membuat aturan bisnis yang terdiri dari 1 atau banyak kendala OR-ed bersama-sama. Setiap kendala membutuhkan properti yang dibatasi dengan operator terhadap suatu istilah. Istilah bisa jadi rumit, karena bisa berupa apa saja mulai dari properti hingga fungsi, hingga fungsi majemuk. Mungkin paling mudah untuk memeriksa aturan bisnis Anda untuk melihat apa yang Anda butuhkan. Mulailah dengan, katakanlah, properti, boolean, dan hal-hal biasa seperti 'SEKARANG'.

Jadi skema itu sendiri, misalnya, terdiri dari rules , yang berisi beberapa constraints (manfaat yang jelas adalah Anda dapat mengikat ini ke [grup pengguna/penawaran/rentang waktu/domain lain] yang Anda inginkan). Ini, pada gilirannya, terdiri dari properties , yang akan dibandingkan dengan salah satu operators (tabel referensi sebagian besar sehingga Anda dapat memasukkan nama deskriptif khusus untuk non-programmer, tetapi Anda dapat memilih untuk memasukkan fungsi khusus di dalamnya di beberapa titik) dan, tentu saja salah satu terms . Bagian terakhir adalah yang paling rumit, jadi Anda mungkin harus mengkualifikasikannya dengan ID di term_types jadi Anda akan tahu apakah Anda membandingkan dengan properti atau fungsi lain. Anda juga dapat VARCHAR itu dan buat bidang dengan PHP, yang seharusnya tidak terlalu sulit, mengingat bagaimana Anda memiliki semua opsi di properties dan/atau functions .

Ini adalah sistem yang sangat terbuka (dan mungkin ada cara yang lebih baik untuk melakukannya), jadi mungkin tidak layak dilakukan kecuali Anda tahu bahwa Anda akan memerlukan tingkat dinamisme yang tinggi dalam aturan bisnis.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Butuh bantuan dalam membuat menu dinamis

  2. Baris pencampuran fungsi MySQL Max

  3. Bagaimana cara memasukkan waktu 2009-09-22 18:09:37881 di MYSQL Jenis kolom saya adalah DateTime

  4. cara mengimpor data dari database mysql ke datagridview

  5. Apakah ada batasan untuk string yang dibatasi koma di find_in_set di kueri mysql