Академический Документы
Профессиональный Документы
Культура Документы
Data Modeling
Data modeling is a technique to document a software system using diagrams and symbols. It is used to
represent communication of data.
CS215 Home The highest level of abstraction for the data model is called the Entity Relationship Diagram (ERD). It is
a graphical representation of data requirements for a database.
Data Modeling
Relationships
Relationships are the associations between the entities. Verbs often describe relationships between
entities. We will use Crow's Foot Symbols to represent the relationships. Three types of relationships are
discussed in this lab. If you read or hear cardinality ratios, it also refers to types of relationships.
For example:
Each student fills one seat and one seat is assigned to only one student.
Each professor has one office space.
A single entity instance in one entity class (parent) is related to multiple entity instances in another entity
CS215 Home class (child)
For example:
Data Modeling
One instructor can teach many courses, but one course can only be taught by one instructor.
ERD One instructor may teach many students in one class, but all the students have one instructor for
that class.
Entities
Many to Many Relationship (M:M)
Relationships Each entity instance in one entity class is related to multiple entity instances in another entity class; and
vice versa.
Attributes
For example:
Example Each student can take many classes, and each class can be taken by many students.
Each consumer can buy many products, and each product can be bought by many consumers.
Draw.io Software
The detailed Crow's Foot Relationship symbols can be found here. Crow's Foot Relationship Symbols
Lab Assignment Many to many relationships are difficult to represent. We need to decompose a many to many (M:M)
relationship into two one-to-many (1:M) relationships.
MySQL Account
Attributes
Attributes are facts or description of entities. They are also often nouns and become the columns of the
table. For example, for entity student, the attributes can be first name, last name, email, address and
phone numbers.
Primary Key
Primary Key* or identifier is an attribute or a set of attributes that uniquely identifies an instance of the
entity. For example, for a student entity, student number is the primary key since no two students have
the same student number. We can have only one primary key in a table. It identify uniquely every row
and it cannot be null.
Foreign key
A foreign key+ (sometimes called a referencing key) is a key used to link two tables together. Typically
you take the primary key field from one table and insert it into the other table where it becomes a foreign
key (it remains a primary key in the original table). We can have more than one foreign key in a table.
An example
The following document is a quick guide for the Crow's foot ERD symbol guide.
Data Modeling
ERD
Entities
Relationships
Attributes
Example
Draw.io Software
You can use this free software to draw ERD diagram online. Draw.io
Once Draw.io page is loaded, make sure to choose Entity Relation on the left hand side.
Lab Assignment
Description
Create an appropriate Entity Relationship Diagram (ERD) for the data associated with an online
application. This ERD should include the user accounts, posts and re-posts tables. To get you started, you
can follow the example given below.
User table
The User table collect attributes: user_id(*primary key), user_email, user_name, user_password
user_DOB, User_image and etc.
Post table
The post table collect attributes: post_id(*primary key), user_id (+foreign key), post_detail, post_date,
URL and etc.
Re-post table
CS215 Home
Data Modeling
ERD
Entities
Relationships
Attributes
Upload the ERD on URcourses and link the ERD on the index.html
Draw.io Software
Zero will be given if lab assignment link is not provided on the index.html
Lab Assignment
MySQL Account Be ready for next week, get your MySQL account setup.
Marks will be deducted if your MySQL account is not ready by next week's lab.
Data Modeling
ERD
4. Select your MySQL password (must be different from your CS password)
Entities 5. Please make a note (on your phone or otherwise) of this password because you will be using it in a
later lab
Relationships 6. If an account already exists, you can reset or drop your database
Attributes
Example
Draw.io Software
Lab Assignment
MySQL Account