Coder Social home page Coder Social logo

Data model design about nextsis HOT 3 CLOSED

Kosudo avatar Kosudo commented on July 17, 2024
Data model design

from nextsis.

Comments (3)

Kosudo avatar Kosudo commented on July 17, 2024

I'm having a rethink about this. Originally intended to pragmatically define entities essentially on the basis of roles - student, teacher, etc. - but am now coming around to the idea of generically defining people as an entity. It probably doesn't have profound end-user implications but it does have more significantly more impact on the design. Want to get this right as it's not easy to go back from here.

from nextsis.

lkozloff avatar lkozloff commented on July 17, 2024

I think it makes sense to having a generic 'person' entity - but how do you foresee it working in terms of defining the relationships between people and permissions? That hammered down, I think it's more extensible and will allow for your parent/teacher combos (or our administrator/teacher combos).

from nextsis.

Kosudo avatar Kosudo commented on July 17, 2024

It's tempting to see this as logically leading to role as a job which is an entity within the entity-relationship diagram, and seeing the job as having permissions as attributes, but in reality it's better to support the flexibility of inheriting a role into which individual permissions can be allowed in an extensible modular system, so a person has permissions as a separate table. The data model has to be able to support combinations of roles definitely.

from nextsis.

Related Issues (15)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.