0% found this document useful (0 votes)
16 views

Project Phase3

The document outlines the development of a database model for the Oracle Baseball League store, which sells baseball equipment to individual customers and teams. It details the steps for creating a logical data model using Oracle SQL Developer Data Modeler, including defining entities, attributes, relationships, and constraints. Additionally, it describes the process of engineering the relational model from the logical model to prepare for physical database design.

Uploaded by

ريوف .
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Project Phase3

The document outlines the development of a database model for the Oracle Baseball League store, which sells baseball equipment to individual customers and teams. It details the steps for creating a logical data model using Oracle SQL Developer Data Modeler, including defining entities, attributes, relationships, and constraints. Additionally, it describes the process of engineering the relational model from the logical model to prepare for physical database design.

Uploaded by

ريوف .
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Database Design Project

Oracle Baseball League Store Database

Project Scenario:

You are a small consulting company specializing in database development. You have just been awarded the contract to develop a data model for a database
application system for a small retail store called Oracle Baseball League (OBL).

The Oracle Baseball League store serves the entire surrounding community selling baseball kit. The OBL has two types of customer, there are individuals who
purchase items like balls, cleats, gloves, shirts, screen printed t-shirts, and shorts. Additionally customers can represent a team when they purchase uniforms and
equipment on behalf of the team.

Teams and individual customers are free to purchase any item from the inventory list, but teams get a discount on the list price depending on the number of players.
When a customer places an order we record the order items for that order in our database.

OBL has a team of three sales representatives that officially only call on teams but have been known to handle individual customer complaints.

Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Section 4 Lesson 1 Exercise : Oracle SQL Developer Data Modeler

Creating a Logical Data Model (S4L1 Objective 1)

Oracle SQL Developer Data Modeler allows you to create Entities, attributes, and UIDs with correct optionality and cardinality, Supertype and subtype entities as
well as Arcs, hierarchical, barred, and recursive relationships.

1. The first step in building a logical model (ERD) in Oracle SQL Developer Data Modeler is to click the Logical tab.
a. If you do not see the Logical tab, then perform the following steps:
b. Right-click the Logical Model in the browser.
c. Select Show.

2. Create entities.

3. Create UIDs for each entity.


a. Click the entity for which you want to define the UID.
b. With Attributes selected in the left navigator of the Entity Properties window, select the attribute that you want to assign as the UID.
c. Select the Primary UID check box.

4. Create mandatory or optional attributes for each entity (at this stage don’t apply any data types to the attributes). Add comments to explain the attribute
where necessary. Do not include any foreign key attributes as these are added through the relationships.

5. Create the relationship between the entities. You can create M:N Relation (many-to-many), 1:N Relation (one-to-many), 1:N Relation identifying (one-to-
many barred) or 1:1 Relation (one-to-one).
a. Set the source entity and target entity for the relationship.
b. Name the relationship following the convention of naming the entity on the one side followed by a colon and naming the second entity in the
relationship (customer : customer address).
c. Use name on source and name on target to add the labels to the relationships. These won’t be displayed on the logical model but will be shown on
the physical model.

6. A subtype entity inherits the properties of the supertype.


a. To define an entity as a subtype in Oracle SQL Developer Data Modeler you need to ensure that the supertype exists.
b. When you create the entity choose the super drop down and identify the supertype entity.

7. Save your work.

Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

2
Database Design Project
Oracle Baseball League Store Database

Project Scenario:

You are a small consulting company specializing in database development. You have just been awarded the contract to
develop a data model for a database application system for a small retail store called Oracle Baseball League (OBL).

The Oracle Baseball League store serves the entire surrounding community selling baseball kit. The OBL has two types of
customer, there are individuals who purchase items like balls, cleats, gloves, shirts, screen printed t-shirts, and shorts.
Additionally customers can represent a team when they purchase uniforms and equipment on behalf of the team.

Teams and individual customers are free to purchase any item from the inventory list, but teams get a discount on the
list price depending on the number of players. When a customer places an order we record the order items for that
order in our database.

OBL has a team of three sales representatives that officially only call on teams but have been known to handle individual
customer complaints.

Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Section 4 Lesson 2 Exercise : Oracle SQL Developer Data Modeler

Engineer the Relational Model from the Logical Data Model (S4L2 Objective 3)
Part 1:

In this exercise you will take your completed logical data model that was created using Oracle SQL Data Modeler and
engineer it to a Relational Model. The relational model forms the basis for the physical database design.

Create a relational model in Oracle SQL Data Modeler by following these steps:
1. Update the attributes in your entities to include their data type and size.
a. Double click the entity to access the properties.
b. Choose attributes from the left menu
c. Select each attribute and choose logical from the properties window to activate the data type
drop down.
d. Choose the appropriate data type (VARCHAR to represent text, there is no VARCHAR2 option).
e. Place the size in the size box.
f. Any attributes that have been brought in as foreign keys can be renamed in the relational
model by double clicking them and setting their preferred abbreviation.
g. Any attributes are names using keywords should have a preferred abbreviation assigned.
h. You cannot assign unique keys at this stage.
i. For any supertype entities set the subtree generation to single table in the subtype property.

2. Click the Engineer to Relational Model icon.

3. Ensure that all values are as expected by comparing the logical and relational information in tree view. Correct
the values as necessary.

4. In the general option tab click engineer co-ordinates to lock the diagram in place and avoid overlap.

5. When you are happy click Engineer.

6. Expand the Relational Model node in the object browser to view the objects that you created.

7. Move the node objects to ensure that all information is visible on your diagram.

8. Check the result matches your table map and Save your work.

Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

2
Task Instructions
Use the completed table mapping document produced in a previous exercise to assign the data types and
sizes.

Table Name Table Short Name


customers ctr
Key Type Optionality Column Name Data Type Size
pk * ctr_number VARCHAR2 6
uk * email VARCHAR2 50
* first_name VARCHAR2 20
* last_name VARCHAR2 30
* phone_number VARCHAR2 11
* current_balance NUMBER 6,2
o loyalty_card_number VARCHAR2 6
fk1 o tem_id VARCHAR2 4
fk2 o sre_id VARCHAR2 4

Table Name Table Short Name


customers_addresses cas
Key Type Optionality Column Name Data Type Size
pk * id VARCHAR2 8
* address_line_1 VARCHAR2 30
o address_line_2 VARCHAR2 30
* city VARCHAR2 15
* postal_code VARCHAR2 7
fk * ctr_number VARCHAR2 6

Table Name Table Short Name


teams tem
Key Type Optionality Column Name Data Type Size
pk * id VARCHAR2 4
* name VARCHAR2 20
* number_of_players NUMBER 2
o discount NUMBER 2

Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

3
Table Name Table Short Name
sales_representatives sre
Key Type Optionality Column Name Data Type Size
pk * id VARCHAR2 4
uk * email VARCHAR2 50
* first_name VARCHAR2 20
* last_name VARCHAR2 30
* phone_number VARCHAR2 11
* commission_rate NUMBER 2
fk * supervisor_id VARCHAR2 4

Table Name Table Short Name


sales_representatives_address sas
Key Type Optionality Column Name Data Type Size
Pk, fk * id VARCHAR2 4
* address_line_1 VARCHAR2 30
o address_line_2 VARCHAR2 30
* city VARCHAR2 15
* postal_code VARCHAR2 7

Table Name Table Short Name


orders odr
Key Type Optionality Column Name Data Type Size
pk * id VARCHAR2 9
* odr_date DATE
* odr_time TIMESTAMP 0
* number_of_units NUMBER 2
fk * ctr_number VARCHAR2 6

Table Name Table Short Name


ordered_items oim
Key Type Optionality Column Name Data Type Size
* quantity_ordered NUMBER 3
* quantity_shipped NUMBER 3
pk, fk1 * odr_id VARCHAR2 9
pk, fk2 * itm_number VARCHAR2 10

Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

4
Table Name Table Short Name
items itm
Key Type Optionality Column Name Data Type Size
pk * itm_number VARCHAR2 10
* name VARCHAR2 20
* description VARCHAR2 50
* category VARCHAR2 25
o color VARCHAR2 15
o size CHAR 1
fk * ilt_id VARCHAR2 11

Table Name Table Short Name


inventory_list ilt
Key Type Optionality Column Name Data Type Size
pk * id VARCHAR2 11
* cost NUMBER 7,2
* units NUMBER 4

Table Name Table Short Name


price_history phy
Key Type Optionality Column Name Data Type Size
pk * start_date DATE
pk * start_time TIMESTAMP 0
* price NUMBER 7,2
o end_date DATE
o end_time TIMESTAMP 0
pk, fk1 * itm_number VARCHAR2 10

Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

5
Engineer the Relational Model from the Logical Data Model (S4L2 Objective 3)
Part 2:

In this exercise you will take your completed relational model and create the remaining constraints.

1. Identify the tables that have unique columns that have still to be created.
a. Right click the table and choose properties.
b. Select Unique Constraints from the menu.
c. Click the green cross to add a new unique constraint.
d. Use the table short name_column_name_constraint type format to name your constraints.
e. Select the column that is to be set as unique and click the arrow to add it to the selected column.
f. Click OK.

2. Identify any tables that have a recursive relationship


a. Right click the table and choose properties.
b. Select Foreign Keys from the menu.
c. Click the green cross to add a new foreign key.
d. Select the referenced column (pk) and the column that is to be used to create the link.
e. Click OK.

3. Check that all names satisfy naming conventions.


a. Go to each table and choose the Foreign Keys option in the properties dialog.
b. Click on the name and choose the edit icon to shorten the name
c. Click ok.

4. Save your work.

Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

6
Task Instructions
Use the completed table mapping document produced in a previous exercise to assign the constraints.

Table Name Table Short Name


customers ctr
Key Type Optionality Column Name Data Type Size
pk * ctr_number VARCHAR2 6
uk * email VARCHAR2 50
* first_name VARCHAR2 20
* last_name VARCHAR2 30
* phone_number VARCHAR2 11
* current_balance NUMBER 6,2
uk o loyalty_card_number VARCHAR2 6
fk1 o tem_id VARCHAR2 4
fk2 o sre_id VARCHAR2 4

Table Name Table Short Name


customers_addresses cas
Key Type Optionality Column Name Data Type Size
pk * id VARCHAR2 8
* address_line_1 VARCHAR2 30
o address_line_2 VARCHAR2 30
* city VARCHAR2 15
* postal_code VARCHAR2 7
fk * ctr_number VARCHAR2 6

Table Name Table Short Name


teams tem
Key Type Optionality Column Name Data Type Size
pk * id VARCHAR2 4
* name VARCHAR2 20
* number_of_players NUMBER 2
o discount NUMBER 2

Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

7
Table Name Table Short Name
sales_representatives sre
Key Type Optionality Column Name Data Type Size
pk * id VARCHAR2 4
uk * email VARCHAR2 50
* first_name VARCHAR2 20
* last_name VARCHAR2 30
* phone_number VARCHAR2 11
* commission_rate NUMBER 2
fk * supervisor_id VARCHAR2 4

Table Name Table Short Name


sales_representatives_address sas
Key Type Optionality Column Name Data Type Size
Pk, fk * id VARCHAR2 4
* address_line_1 VARCHAR2 30
o address_line_2 VARCHAR2 30
* city VARCHAR2 15
* postal_code VARCHAR2 7

Table Name Table Short Name


orders odr
Key Type Optionality Column Name Data Type Size
pk * id VARCHAR2 9
* odr_date DATE
* odr_time TIMESTAMP 0
* number_of_units NUMBER 2
fk * ctr_number VARCHAR2 6

Table Name Table Short Name


ordered_items oim
Key Type Optionality Column Name Data Type Size
* quantity_ordered NUMBER 3
* quantity_shipped NUMBER 3
pk, fk1 * odr_id VARCHAR2 9
pk, fk2 * itm_number VARCHAR2 10

Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

8
Table Name Table Short Name
items itm
Key Type Optionality Column Name Data Type Size
pk * itm_number VARCHAR2 10
* name VARCHAR2 20
* description VARCHAR2 50
* category VARCHAR2 25
o color VARCHAR2 15
o size CHAR 1
fk * ilt_id VARCHAR2 11

Table Name Table Short Name


inventory_list ilt
Key Type Optionality Column Name Data Type Size
pk * id VARCHAR2 11
* cost NUMBER 7,2
* units NUMBER 4

Table Name Table Short Name


price_history phy
Key Type Optionality Column Name Data Type Size
pk * start_date DATE
pk * start_time TIMESTAMP 0
* price NUMBER 7,2
o end_date DATE
o end_time TIMESTAMP 0
pk, fk1 * itm_number VARCHAR2 10

Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

9
Engineer the Relational Model from the Logical Data Model (S4L2 Objective 3)
Part 3 : Create a SQL script file

In this exercise you will take your completed relational model that you created in the previous exercise and create the
SQL script that will generate your tables in APEX.

Task - Creating DDL scripts


1. Ensure that you are in the relational view.
a. Click on the Generate DDL button on the toolbar.
b. Choose the environment you want to create the script for (11g is fine).
c. Click Generate.
d. In the Generation Options window double check that everything is as it should be.
e. Click OK.
f. Save your file locally as “Sports Script.ddl”.
g. If any errors are identified then you will have to go back to your model to resolve them before
regenerating the script.

Copyright © 2020, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

10

You might also like