-
Notifications
You must be signed in to change notification settings - Fork 3
Database design #94
Comments
This fits with #29 perfectly, or at least how I plan to implement the algorithm. I think #48 is just a naming issue. What I called Calendar is currently called Schedule. I actually agree to the word schedule over calendar. The only other change is the removal of available, which might fix performance issues from #48. #68 is taken care of in this design and is the reason for the user_name table. #69 is taken care of as terms of service is a integer. It's hard to see that detail in the diagram but all the information is included in the MySql Workbench file I created. |
I don't mean "impact" in a negative sense, just as a link to the relevant issues. |
In the event that the |
I wasn't sure if PHP had Bcrypt. If that's the case I will cut that from the user. |
What is the desired difference between |
user_name is the users display name and not username. We currently don't have a username. The issue with one column for certificate of conduct is how do people insert a non-dated certificate which is something we talked about doing. Though we can require the date. |
I think it would be best to require a date for each Certificate of Conduct, as I imagine that they have a date on the page itself -- in the event that is common to not know the date of receipt, this no longer works, but I do think this is worth looking into. It would also be in the best interest of the parent when looking for therapists to not have results show up without a date. Having a date on all certs. would also allow us (in future iterations) to notify a user with a cert. that is x years old. For the usernames/display names: if I understand correctly, we are currently using email addresses as the first half of the user's login credentials -- what usernames would be. Do we need to switch to usernames? I don't see it as having much benefit, as it is another field in the registration form and another thing for the user to remember. Thoughts? |
The only thing with requiring a date on the certificate is that it would exclude newer potential ABA therapists who haven't received them yet. With regard to usernames, as long as the email address doesn't identify the user (like mine [email protected]), I'd be just as cool with email as a user name as the rest. But how risky could this be? |
There was a username field in user that I didn't mean to add. I have renamed user_name to user_display_name I have renamed user_type to account_type and added a many-to-many relationship between user and account_type called user_account_type. Uploading the new image and file now. |
It would be possible to not have a certificate of conduct. What we are not sure about is when a person says yes to having one do we require a date? |
If yes, then require date. |
The email address is the best best to properly validate users when they register, so it's essentially a required field for us to have. The choice comes down to whether we want to have another parallel field, a username, that the user would use when logging in. But because nobody other than the user should ever see the email address, it's a fairly safe choice to have just that. About the Certificates, a value of |
Sounds good to me :) |
How would we feel about moving |
Sounds good. Would keep it out of the way until needed. |
Just as a follow up to our discussion on Tuesday, here are the changes I can remember. Names with a strikethrough are columns we decided to (re)move, all the other names are columns which we decided to add:
As an aside, I think we should rename the tables to plural versions of the items, e.g. Finally, I think that |
Related to #52 as well. |
How does this look: see Gist. |
Which IDs are UUIDs and which are integers? |
Does the i.e. How would one get all the intervals given only a schedule? The Edit: I think the current relationship is backwards. |
The only UUIDs are the account id and the user id. The current relationship between To get the intervals for a schedule you would do a query along the lines of:
It would be stored as an array in the I think you are thinking that It would be possible to make it a many-to-many relationship but for very little gain. I don't think it's really worth it as many-to-many relationships can be a pain to deal with. |
Fair points all around. My confusion came from where the array of intervals was to be stored, and as you clarified, it would be stored in the Schedule entity. |
@MitMaro did up a design for the database:
Workbench File: http://www.cs.mun.ca/~oram/ABADatabaseEER.mwb
The text was updated successfully, but these errors were encountered: