Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

You are to design and implement the database schema for TinyPiazza, which is a course forum website provides simple functions, main functions of TinyPiazza are

You are to design and implement the database schema for TinyPiazza, which is a course forum website provides simple functions, main functions of TinyPiazza are as the following: User management: user sign up, user login/logout. Course management: course basic information. Post management: managing posts in courses. User-Course relationship management: users can create/update or register courses. User-Post relationship management: users can create/update/delete posts.

image text in transcribedimage text in transcribed

equirements of functionS The specific requirements for each function of TinyPiazza are given in this sec tion. Note that you need to analyze and design the entity types, at- tributes and relationship types by yourself, while this project description only gives some of them for clarifying the system requirements. 3.1 User management . User sign up: Users sign up using their email addresses, users need to set their passwords and display names, where: Email addresses uniquely represent the users. Email address, password and display name are strings and can not be one display name corresponds to only one emai address . Type of users: TinyPiazza manages two types of users, namely Student users and Teaching users. A user can be both a student user and a teaching user, e.g., a TA 3.2 Course management As a course forum, TinyPiazza also store information of courses provided by different universities. The basic information of courses including . University name: e.g., University at Buffalo. . Course number: e.g., CSE560. . Course name: e.g., Data Models and Query Languages. .Year: e.g., 2019. . Semester: e.g., Spring semester University name, Year, Semester and Course number together form the key of courses. All of the attributes can not be null. 3.3 Post management Users can post posts in a course. There are two types of posts in TinyPiazza, namely question posts and answer posts. The information of each type of posts are as the following: .Question posts: users post question posts when they need to ask a question in a course. For question posts, we store the following basic information: - PostId: within a course, each question post has a unique postId, - Title: the title of the post, which is a string consists up to 100 - Description: the question post's content, description is stored as a e.g., 1, 2, 3, etc charaters. Title can not be null. string Time: the posted time of a question post, can not be mull. . Answer posts: users can answer questions in question posts by posting answer posts for the question post. Note that as answers are for questions, each answer post is associated with a question post, i.e., an answer post contains an answer for a question post. We store the following basic information of an answer post: - Answer: the answer post's content, answer is stored as a string, can not be null. Time: the posted time of an answer post, can notb 3.4 User-Course relationship management Teaching users can create and update many courses, a course can be created by exactly one teaching user, but can be updated by many teaching users. Student users can register for many courses. A course can have many students equirements of functionS The specific requirements for each function of TinyPiazza are given in this sec tion. Note that you need to analyze and design the entity types, at- tributes and relationship types by yourself, while this project description only gives some of them for clarifying the system requirements. 3.1 User management . User sign up: Users sign up using their email addresses, users need to set their passwords and display names, where: Email addresses uniquely represent the users. Email address, password and display name are strings and can not be one display name corresponds to only one emai address . Type of users: TinyPiazza manages two types of users, namely Student users and Teaching users. A user can be both a student user and a teaching user, e.g., a TA 3.2 Course management As a course forum, TinyPiazza also store information of courses provided by different universities. The basic information of courses including . University name: e.g., University at Buffalo. . Course number: e.g., CSE560. . Course name: e.g., Data Models and Query Languages. .Year: e.g., 2019. . Semester: e.g., Spring semester University name, Year, Semester and Course number together form the key of courses. All of the attributes can not be null. 3.3 Post management Users can post posts in a course. There are two types of posts in TinyPiazza, namely question posts and answer posts. The information of each type of posts are as the following: .Question posts: users post question posts when they need to ask a question in a course. For question posts, we store the following basic information: - PostId: within a course, each question post has a unique postId, - Title: the title of the post, which is a string consists up to 100 - Description: the question post's content, description is stored as a e.g., 1, 2, 3, etc charaters. Title can not be null. string Time: the posted time of a question post, can not be mull. . Answer posts: users can answer questions in question posts by posting answer posts for the question post. Note that as answers are for questions, each answer post is associated with a question post, i.e., an answer post contains an answer for a question post. We store the following basic information of an answer post: - Answer: the answer post's content, answer is stored as a string, can not be null. Time: the posted time of an answer post, can notb 3.4 User-Course relationship management Teaching users can create and update many courses, a course can be created by exactly one teaching user, but can be updated by many teaching users. Student users can register for many courses. A course can have many students

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Visual Basic Net Database Programming

Authors: Rod Stephens

1st Edition

0789726815, 978-0789726810

More Books

Students also viewed these Databases questions

Question

2. What recommendations will you make to the city council?

Answered: 1 week ago

Question

3. The group answers the questions.

Answered: 1 week ago