In completing this assignment you MAY use/access the following resources:
- Examples and sample code found here:
https://josephus.hsutx.edu/classes/db/source/
- The SQL handout provided in class and also available here:
https://josephus.hsutx.edu/classes/db/source/sql.pdf
- A text editor (or VSCode) that provides syntax highlighting. You MAY
NOT USE an extensions to such editors/IDEs that produce code.
- The phpPgAdmin front end to your personal database (login is here:
https://csci.hsutx.edu/phpPgAdmin/
- Video instructions provided in Canvas as part of this course. You MAY
NOT USE any other video resources.
- Any handouts provided by the instructor as part of this course.
- Your own course notes
- Your instructor
- Discussions about the assignment with other students as long as you
never look at the code produced by another student and you never receive
instructions about solving the homework. That is, discussions need to
be about concepts and understanding the technologies and not about
how to solve the particular problem posed in this assignment.
You may NOT use/access:
- Resources not expressly listed above, including, but not limited to,
the following ...
- Source code not provided as part of this assignment. (Obviously, this
includes, but is not limited to, source code written by other students
whether current or in the past).
- Code-generating tools (of which ChatGPT is one example).
Failure to abide by these guidelines will result in a zero for the assignment
and the incident will be reported to the university provost as a violation of
the university academic integrity policy. A second incident of academic
dishonesty (whether from this course or another computer science course) will
result in an F in the course.
For this assignment use the free online tool https://app.diagrams.net to
create a single document that provides UML diagrams of two databases from
the previous assignment: the candy database and the hotel reservations
database. The diagrams should include table name, field names, and field-level
relationships between tables including cardinality.
Here are some specific guidelines that may be helpful when using draw.io:
- Use the “UML” tools. In that set of tools the “Class 2”
box is fairly easy to work with.
- To add a new row to a class box, double click on an existing row to
select it and the use CTRL-D to duplicate that row and automatically
add it to the class. Pressing DEL when a row is highlighted will delete it.
- When indicating relationships you will most often use the “1 to many”
line. When attaching the line to fields there are two things to remember:
- It matters which end goes where!
- Drag the line to the middle of the field rather than to one of
the attach points on the edge of it (to get better line routing when
you move the tables).
- With the arrow selected you can choose what each end should look like.
Use the three-pronged end to represent “many” and a plain end to
represent “one”.
- Don't forget to designate primary keys by underlining the field names.
Once you have completed the document containing both diagrams export it to
SVG format and upload that document to Canvas. This assignment counts as 16
points (8 points for each diagram).