Vous êtes sur la page 1sur 16

Database Design and Programming with

SQL
Virtual Training
Welcome to the Oracle Academy Virtual Training for Database Design and Programming
with SQL. This document will guide you through your 9 week program. For each week
of virtual training weeks you will need to review the curriculum outlined, complete and
submit the homework assignments to your adjunct, listen to the audio review of specific
topics, and attend a chat session with your adjunct to gain clarity on any of the topics
covered and to review homework assignments.

Database Design

Mid Term exam should be completed prior 25.04.2010;

Final exam should be completed prior 9.05.2010;

Programming with SQL

Mid Term exam should be completed prior 23.05.2010;

Final exam should be completed prior 4.06.2010;

Virtual Training Week 1 5.04-11.04

Curriculum Review the lessons in Sections 1-3 of the Oracle Academy Database Design -
Teacher course available on Oracle iLearning. Reviewing this information
will provide you with:

• an overview of the course flow and course resources


• an opportunity to experience the materials that your students will be
working with throughout the year
• the technical information needed to master the subject

Review the Chat session setup instructions listed in the Chat section below to
ensure that you can connect effectively.

All quizzes for Sections 1-3 should be completed prior to the Week 1 Chat
session.
Homework Complete the homework assignments listed below.

1. Write ERDish sentences for each relationship documented in the DJs on


Demand ERD. Refer to Section 0, Database Design Instructor Course
Resources.

Example:
Each CLIENT may be the owner of one or more EVENTs. Each EVENT
must be owned by one CLIENT

2. Given the following scenario, choose the entities and attributes. Draw the
soft boxes with the entities and list the attributes underneath. Mark UNIQUE
attributes with a hash mark (#), and try to determine optionality of each
attribute.

Moonlight Coffees is a fast growing chain of high quality coffee shops with
currently over 500 shops in 12 countries of the world. Shops are located at
first-class locations, such as major shopping, entertainment and business
areas, airports, railway stations, and museums. Moonlight Coffees has some
9,000 employees.

All shops serve coffees, teas, soft drinks, and various kinds of pastries. Most
shops sell nonfoods, like postcards and sometimes even theater tickets. Shop
management reports sales figures on a daily basis to Headquarters, in local
currency. Moonlight uses an internal exchange rates list that is changed
monthly. Since January 1, 1999, the European Community countries must
report in Euros.

3. Copy and paste the Summit Sporting Goods scenario (below) into a text
document and underline all nouns before the chat session. Have this ready to
use during that chat.

“I’m a manager of a sporting-goods wholesale company that operates


worldwide to fill orders from retail sporting-goods stores. The stores are our
customers (some of our people prefer to call them our clients). Right now we
have 15 customers worldwide, but we’re trying to expand our customer base
by about 10% each year starting this year. Our two biggest customers are Big
John’s Sports Emporium in San Francisco and Womansports in Seattle. For
each customer, we must track an ID and a name.

We may track an address (including the city, state, zip code, and country)
and phone number. We maintain warehouses in different regions to best fill
the order of our customers. For each order, we must track an ID. We may
track the date ordered, date shipped, and payment type when the information
is available.”

“Right now we have the world divided into five regions: North America,
South America, Africa/Middle East, Asia, and Europe. That’s all we track;
just the ID and name. We try to assign each customer to a region so we’ll
generally know the best location from which to fill each order. Each
warehouse must have an ID. We may track an address (including the city,
state, zip code, and country) and phone number. We currently have only one
warehouse per region, but we’re hoping to have more soon.

I manage the order-entry functions for our wholesale sporting-goods


business. My department is responsible for placing and tracking the orders
when our customers call. For each department, we must track the ID and
name. Sometimes, our customers just mail us the orders when they are not in
a rush, but most often they call us or fax us an order. We are hoping to
expand our business by providing immediate turnaround of order information
to our clients. Do you think we can put this application on the Web?”

“We can promise to ship by the next day as long as the goods are in stock (or
inventory) at one of our warehouse locations. When the information is
available, we track the amount in stock, the reorder point, maximum stock, a
reason as to why we are out of stock, and the date we restocked the item.
When the goods are shipped, we fax the shipping information automatically
through our shipping system. No, I don’t manage that area. My department
just ensures that our customers have the correct billing information and
verifies that their account is in good credit standing. We may also record
general comments about a customer.

We do make sure that all the items they have requested are in stock. For each
item we track an ID. We may also track the item price, quantity, and quantity
shipped if the information is available. If they are in stock, we want to
process the order and tell our clients what the order ID is and how much their
order total is. If the goods are not in stock, the customer tells us whether we
should hold the order for a full shipment or process the partial order.”

“The accounting department is responsible for maintaining the customer


information, especially for assigning new customer IDs. My department is
allowed to update the customer information only when an order is placed and
the billing or ship-to address has changed. No, we are not responsible for
collections. That’s all handled by accounts receivable. I also think that the
sales reps get involved because their commission depends on customers who
pay! For each sales rep, or employee, we must know the ID and last name.
Occasionally we need to know the first name, user ID, start date, title, and
salary. We may also track the employee’s commission percent and any
comments about the individual.

Our order-entry personnel are well versed in our product line. We hold
frequent meetings with marketing so they can inform us of new products.
This results in greater customer satisfaction because our order-entry
operators can answer a lot of questions. This is possible because we deal with
a few select customers and maintain a specialty product line. For each
product, we must know the ID and name. Occasionally we must also know
the description, suggested price, and unit of sale. We would also like the
ability to track very long descriptions of our products and pictures of our
products, when it is necessary.”
Audio The Virtual Training Week 1 Audio will review specific slides in Sections 1-
Review 3 of the Oracle Academy Database Design - Teacher course. Each section,
lesson, and slide number containing an audio review are listed below. To
print the list of topics reviewed for Virtual Training click here. You should
review the topics in the order indicated prior to attending the weekly chat
session. Simply click on the play button for the slide specified to hear the
audio. Only the Teacher version of the course contains slides with audio.
You can locate the slides with audio as the transcription of the audio can be
found on the notes page.

Database Design Conceptual & Physical 1, 6, 7, 8


Section 2 Models

Database Design Entities, Instances, 7, 8, 10, 11, 12, 14,


Section 2 Attributes and 17
Identifiers

Database Design Entity Relationship 5


Section 2 Modeling and ERDs

Database Design Identifying 5, 6, 7, 8, 10, 11, 12,


Section 3 Relationships 15,

16, 17

Database Design ER Diagramming 6, 8, 9


Section 3 Conventions

Database Design Speaking ERDish and 6, 7, 8


Section 3 Drawing Relationships

Chat weekly

Virtual Training Week 2 12.04-18.04

Curriculum Review the lessons in Sections 4 - 6.2 of the Oracle Academy Database
Design - Teacher course available on Oracle iLearning. You will also need a
set of index cards and a printout of the Summit Sporting Goods scenario.

All quizzes for Sections 4 & 5 should be completed prior to the Week 2 Chat
session.
Homework Complete the homework assignments listed below. Note all Practice Guides
are located in Section 0 - Database Design Instructor Course Resources.

1. Database Design - Section 5, Practice Guide Relationship Transferability,


Try It/Solve It Exercise 1 (b, d, f, h, j, l, n)

2. Database Design - Section 5, Practice Guide Resolving Many to Many


Relationships, Try It/ Solve It Exercise 1

3. Database Design - Section 6, Practice Guide Normalization and First


Normal Form, Try It/Solve It Exercise 3 (a, b, c)

4. Using the “Summit Sporting Goods” scenario described above, draw an


ERD using the entities and attributes discussed on your last chat. Try to
resolve any many-to-many relationships with intersection entities.
Audio The Virtual Training Week 2 Audio will review specific slides in Sections 4
Review - 6.2 of the Oracle Academy Database Design - Teacher course. Each
section, lesson, and slide number containing an audio review are listed
below. To print the list of topics reviewed for Virtual Training click here.
You should review the topics in the order indicated prior to attending the
weekly chat session.

Database Design Supertypes and 4, 6, 7, 10


Section 4 Subtypes

Database Design Documenting Business 7


Section 4 Rules

Database Design Relationship 4, 5


Section 5 Transferability

Database Design Relationship Types 4, 5, 6, 7


Section 5

Database Design Resolving Many-to- 4, 6, 7


Section 5 Many Relationships

Database Design Normalization and First 5, 6, 7


Section 6 Normal Form

Chat Attend the weekly session with your adjunct.

Virtual Training Week 3 19.04-25.04


Curriculum Review the lessons in Sections 6.3, 6.4, 7, and 9 of the Oracle Academy
Database Design - Teacher course available on Oracle iLearning.

All quizzes for Sections 6, 7, and 9 should be completed prior to the Week 3
Chat session .

Mid Term exam should be completed prior 25.04.2010.


Homework Complete the homework assignments listed below.

1. Do the following “Try it/Solve it” exercises:

• Database Design – Section 6, Practice Guide Second Normal Form,


Try It/Solve It Exercise 2

• Database Design – Section 7, Practice Guide Arcs, Try It/Solve It


Exercise 1

• Database Design – Section 7, Practice Guide Modeling Historical


Data, Try It/Solve It Exercise 3

2. Develop a hierarchical model and a recursive model for the following


company scenario. Draw the ERD for each.

Our company sells products throughout the World. So we’ve divided our
company into four major sales regions: Region 1, Region 2, Region 3, and
Region 4. Each sales region has a unique region code. Each sales region is
then divided into sales districts. For example, Region 1 is divided into the
U.S, Canadian, and Southern districts. Each district has a unique district
code. Each district is made up of sales territories. The Southern District is
composed of three territories: Mexico, South America, and U.S. Territories.
The U.S. District is made up of three territories: the West, Middle, and East.
The Canadian District is composed of two territories East and West. Each
territory has a unique territory code.

Each sales territory is then broken down into sales areas. For example, South
America is made up of two sales areas: Brazil, and the Coastal sales areas.
Each sales area has a unique sales area code. The Brazil area includes
Uruguay, Paraguay, and Ecuador.

Each salesperson is responsible for one or more sales areas, and has a
specific sales quota. We also have sales managers who are responsible for
one or more sales districts and sales directors who are responsible for one or
more sales regions. Each sales manager is responsible for the territories with
his districts. We don’t overlap our employees’ responsibilities. Sales area is
always the responsibility of a single salesperson, and our managers and
director’s responsibilities don’t overlap. Sometimes our salespersons,
manager, and directors will be on leave or special assignments and will not
have sales turf responsibilities. We identify all our sales personnel by their
employee ids.
Audio The Virtual Training Week 3 Audio will review specific slides in Sections 6,
Review 7 of the Oracle Academy Database Design – Teacher course. Each section,
lesson, and slide number containing an audio review are listed below. This
section reviews the steps for capturing the business requirements of a
company onto an entity relationship diagram. The first step is to analyze the
source documents that describe the business. After analyzing the documents
you draw entities and attributes and then define the relationships that occur
between the entities. To print the list of topics reviewed for Virtual Training
click here. You should review the topics in the order indicated prior to
attending the weekly chat session.

Database Design Second Normal Form 5, 6, 7, 9


Section 6

Database Design Third Normal Form 4, 5


Section 6

Database Design Arcs 5, 8, 9, 11


Section 7

Database Design Hierarchies and 5, 6, 7, 8


Section 7 Recursive Relationships

Database Design Modeling Historical 4, 5, 6, 7, 8


Section 7 Data

Chat Attend the weekly session with your adjunct.

Virtual Training Week 4 24.04-2.05

Curriculum Review the lessons in Sections 15-17 of the Oracle Academy Database
Design – Teacher course available on Oracle iLearning.

All quizzes for Sections 15-17 should be completed prior to the Week 4 Chat
session.

Final exam should be completed prior 9.05.2010


Homework Complete the homework assignments listed below.

Run the following queries in Oracle Application Express. Paste a copy of


each query on a Microsoft Word document or notepad .txt file, save and
upload your homework solutions to your chat session each week, or as
instructed by your Adjunct.

Complete the following Exercises:

• Database Design - Section 15, Practice Guide Anatomy of a SQL


Statement, Try It/Solve It Exercises 2 and 3

• Database Design - Section 16, Practice Guide Working With


Columns, Characters, and Rows, Try It/Solve It Exercises 1, 3, 5, and
7

• Database Design - Section 16, Practice Guide Limit Rows Selected,


Try It/Solve It Exercises 1, 2, 5, 8, and 11

• Database Design - Section 16, Practice Guide Comparison Operators,


Try It/Solve It Exercises 1, 3, 6, and 8

• Database Design - Section 17, Practice Guide Logical Comparisons


and Precedence Rules, Try It/Solve It Exercises 2, 4, 5, and 7

• Database Design - Section 17, Practice Guide Sorting Rows, Try


It/Solve It Exercises 1, 3, and 4
Audio The Virtual Training Week 4 Audio will review specific slides in Sections
Review 15-17 of the Oracle Academy Database Design - Teacher course. Each
section, lesson, and slide number containing an audio review are listed
below. To print the list of topics reviewed for Virtual Training click here.
You should review the topics in the order indicated prior to attending the
weekly chat session.

Watch the recorded demos for each topic. A transcript of the demo is also
provided.

Database Design Anatomy of a SQL 5, 8, 10, 14, 17, 20,


Section 15 Statement 21,

23, 24, 25
Demo
Database Design Working With Columns, 6, 7, 10, 13, 14
Section 16 Characters and Rows

Database Design Limit Rows Selected 4, 5, 7, 10


Section 16

Database Design Comparison Operators 6, 8, 11, 15


Section 16

Database Design Logical Comparisons 7, 8, 9, 12, 13


Section 17 and Precedence Rules

Database Design Sorting Rows 5, 9


Section 17

Select Statement Transcript


Describe Command Transcript
Null Values Transcript
Rename Column Transcript
Object Browser Transcript
Concatenation Transcript
Literal Text Transcript
Wild Cards Transcript
Order By Transcript
Attend the weekly session with your adjunct. Even if you don't have
questions, your colleagues may have questions that you may be interested in
Chat
seeing. Seeing questions from other teachers on the chat screen can help you
get better prepared to answer questions from your students.

Virtual Training Week 5 3.05-9.05

CurriculumReview the lessons in Sections 1-2 of the Oracle Academy Database Programming -
Teacher course available on Oracle iLearning.

All quizzes for SQL Sections 1 & 2 should be completed prior to the Week 5 Chat session.
Homework Complete the homework assignments listed below.

Run the following queries in Oracle Application Express. Paste a copy of each query on a
Microsoft Word document or notepad text file, save and return to your adjunct via email:

• Database Programming - Section 1, Practice Guide Case and Character


Manipulation, Try It/Solve It Exercises 1, 4, 6, 11

• Database Programming - Section 1, Practice Guide Number Functions, Try


It/Solve It Exercises 1, 2, 5

• Database Programming - Section 1, Practice Guide Date Functions, Try It/Solve It


Exercises 2, 4, 6, 8

• Database Programming - Section 2, Practice Guide Conversion Functions, Try


It/Solve It Exercises 1, 3, 6, 9

• Database Programming - Section 2, Practice Guide NULL Functions, Try It/Solve


It Exercises 1, 3, 8

• Database Programming - Section 2, Practice Guide Conditional Expressions, Try


It/Solve It Exercises 1, 2, 3
Audio The Virtual Training Week 5 Audio will review specific slides in Sections 1-2 of the
Review Oracle Academy Database Programming - Teacher course. Each section, lesson, and slide
number containing an audio review are listed below. To print the list of topics reviewed
for Virtual Training click here. You should review the topics in the order indicated prior to
attending the weekly chat session.

Database Programming Case and Character 6, 7, 9, 10, 11, 12, 13,


Section 1 Manipulation
14, 15, 20

Database Programming Number Functions 6, 9, 11


Section 1

Database Programming Date Functions 4, 5, 8, 10


Section 1

Database Programming Conversion Functions 5, 6, 7, 8, 9, 10, 11, 12,


Section 2
13, 15, 16, 17, 19, 22

Database Programming Null Functions 7, 8, 11, 12, 13, 15


Section 2

Database Programming Conditional Expressions 5, 6, 7, 8


Section 2

Chat Attend the weekly session with your adjunct.

Virtual Training Week 6 10.05-16.05

Curriculum Review the lessons in Section 3-4 of the Oracle Academy Database Programming -
Teacher course available on Oracle iLearning.

All quizzes for SQL Section 3-4 should be completed prior to the Week 6 Chat session.
Homework Complete the homework assignments listed below.

Run the following queries in Oracle Application Express. Paste a copy of each query on
a Microsoft Word document or notepad text file, save and return to your adjunct via
email:

• Database Programming - Section 3, Practice Guide Cross Joins and Natural


Joins Lesson 2, Try It / Solve It 1, 3, 5

• Database Programming - Section 3, Practice Guide Join Clauses, Try It / Solve


It 1, 4, 7, 9

• Database Programming - Section 3, Practice Guide Inner Versus Outer Joins,


Try It / Solve It 5

• Database Programming - Section 4, Practice Guide Group Functions, Try It /


Solve It 2, 3

• Database Programming - Section 4, Practice Guide COUNT, DISTINCT, NVL,


Try It / Solve It 1, 2
Audio The Virtual Training Week 6 Audio will review specific slides in Sections 3-4 of the
Review Oracle Academy Database Programming - Teacher course. Each section, lesson, and
slide number containing an audio review are listed below. This week reviews joining
and obtaining data from multiple tables and group functions . To print the list of topics
reviewed for Virtual Training click here. You should review the topics in the order
indicated prior to attending the weekly chat session.

Database Programming Cross Joins and Natural 4, 8, 11


Section 3 Joins

Database Programming Join Clauses 4, 5, 8, 11


Section 3

Database Programming Inner Versus Outer Joins 4, 5, 6, 8


Section 3

Database Programming Self Joins and Hierarchical 4, 5, 7, 10, 13


Section 3 Queries

Database Programming Group Functions 5, 6, 7, 11


Section 4

Database Programming Count, Distinct, NVL 4, 5, 12


Section 4

Watch the recorded demos for each topic. A transcript of the demo is also provided.

Demo Outer Join Transcript


Hierarchical Query Transcript
Recursive Relationship Transcript
Left Outer Join Transcript
Group By Transcript
Count Function Transcript

Chat Attend the weekly session with your adjunct.

Virtual Training Week 7 17.05-23.05

Curriculum Review the lessons in Sections 5-6 of the Oracle Academy Database
Programming - Teacher course available on Oracle iLearning.

All quizzes for SQL Sections 5& 6 should be completed prior to the Week 7
Chat session.
Complete the homework assignments listed below.

Run the following queries in Oracle Application Express. Paste a copy of


each query on a Microsoft Word document or notepad text file, save and
return via email:

• Database Programming - Section 6, Practice Guide GROUP BY and


HAVING Clauses, Try It / Solve It 2, 7

• Database Programming - Section 6, Practice Guide Subqueries, Try


It / Solve It 3, 4
Homework
• Database Programming - Section 6, Practice Guide Single Row
Subqueries, Try It / Solve It 4

• Database Programming - Section 6, Practice Guide Multiple-row


Subqueries, Try It / Solve It 3, 4

• Database Programming - Section 6, Practice Guide Correlated


Subqueries, Try It / Solve It 4

• Database Programming - Section 6, Practice Guide Using SET


Operators, Try It / Solve It 2
Audio The Virtual Training Week 7 Audio will review specific slides in Sections 5-
Review 6 of the Oracle Academy Database Programming - Teacher course. Each
section, lesson, and slide number containing an audio review are listed
below. To print the list of topics reviewed for Virtual Training click here.
You should review the topics in the order indicated prior to attending the
weekly chat session.
Database Using Group By and 4, 12, 14, 15, 16
Programming Section Having Clauses
5

Database Using Rollup and Cube 6, 9, 11


Programming Section Operations, and
5 Grouping Sets

Database Using SET Operators 6, 13


Programming Section
5

Database Fundamentals of 5, 6, 7, 8, 10, 11


Programming Section Subqueries
6

Database Single Row Subqueries 8, 10


Programming Section
6

Database Multiple-Row 5, 6, 7, 8, 9
Programming Section Subqueries
6

Database Correlated Subqueries 5, 6, 10


Programming Section
6

Watch the recorded demos for each topic. A transcript of the demo is also
provided.
Demo
Multi-column Subquery Transcript
Having Clause Transcript
Chat Attend the weekly session with your adjunct.

Virtual Training Week 8 24.05-30.05

Curriculum Review the lessons in Sections 7-10 of the Oracle Academy Database
Programming - Teacher course available on Oracle iLearning.

All quizzes for SQL Sections 7-10 and the Mid Term exam should be
completed prior to the Week 8 Chat session.

Mid Term exam should be completed prior 23.05.2010.


Homework Complete the homework assignments listed below.

First, create copies of the following tables, naming each table with the prefix
"copy_": d_cds, d_songs, f_food_items, f_customers, f_staffs,
f_promotional_menus. Additionally, create the table o_employees from the
employees tables.

Run the following queries in Oracle Application Express Paste a copy of


each query on a Microsoft Word document or notepad text file, save and
return via email:

• Database Programming - Section 7, Practice Guide Insert Statements,


Try It / Solve It 2, 3
• Database Programming - Section 7, Practice Updating Column
Values and Deleting Rows, Try It / Solve It 1, 4, 5
• Database Programming - Section 7, Practice Guide DEFAULT
Values, MERGE, and Multi-Table Inserts, Try It / Solve It 1
• Database Programming - Section 8, Practice Guide Creating Tables,
Try It / Solve It 1, 2, 3
• Database Programming - Section 8, Practice Guide Modifying a
Table, Try It / Solve It 3, 4
• Database Programming - Section 10, Practice Guide DML
Operations and Views, Try It / Solve It 2
Audio The Virtual Training Week 8 Audio will review specific slides in Sections 7-
Review 10 of the Oracle Academy Database Programming - Teacher course. Each
section, lesson, and slide number containing an audio review are listed
below. This week will review Data Manipulation Language or DML. It will
also review default values and how to use them in INSERT statements.
We’ll review how to merge two database tables together, how to use the
Data Definition Language or DDL, and how to use and manage constraints.
To print the list of topics reviewed for Virtual Training click here. You
should review the topics in the order indicated prior to attending the weekly
chat session.

Database Programming Insert Statements 5, 7, 9, 12, 14, 15,


Section 7 18

Database Programming Updating Column 4, 5, 9, 13, 14, 17


Section 7 Values and Deleting
Rows

Database Programming Default Values, 5, 6, 7, 9, 11, 18


Section 7 Merge, and Multi-
Table Inserts
Database Programming Creating Tables 10, 13, 14, 16
Section 8

Database Programming Using Data Types 5, 7, 12, 13


Section 8

Database Programming Modifying a Table 5, 6, 9, 10, 12, 15,


Section 8
16, 19, 20, 22

Database Programming Defining Not Null and 5, 7, 9, 10, 13


Section 10 Unique Constraints

Database Programming Primary Key, Foreign 10, 15, 20


Section 10 Key, and Check
Constraints

Database Programming Managing Constraints 5, 6, 8, 10, 12, 14,


Section 10
16, 21

Watch the recorded demos for each topic. A transcript of the demo is also
provided.

Demo Explicit Insert Transcript


Date and SYSDATE Transcript
User_constraints Transcript
Named Constraint Transcript

Chat Attend the weekly session with your adjunct.

Virtual Training Week 9 31.05-4.06

Curriculum Review the lessons in Sections 11-13 of the Oracle Academy Database Programming -
Teacher course available on Oracle iLearning.

All quizzes for SQL Sections 11-13 should be completed prior to the Week 9 Chat
session.

The Final Exam should be completed prior 4.06.2010.


Homework Take and pass the Database Programming Final Exam with a passing grade (60%) or
better. It is located on Oracle iLearning in the last section under Final Exam - Database
Programming with SQL. You have three attempts to take and pass this exam.
Audio The Virtual Training Week 9 Audio will review specific slides in Sections 11-13 of the
Review Oracle Academy Database Programming - Teacher course. Each section, lesson, and slide
number containing an audio review are listed below. To print the list of topics reviewed
for Virtual Training click here. You should review the topics in the order indicated prior to
attending the weekly chat session.

Database Programming Creating Views 5, 6, 8, 9, 10, 12,


Section 11
14, 16

Database Programming DML Operations and Views 5, 8, 9, 11, 12, 13


Section 11

Database Programming Managing Views 4, 5, 6, 7


Section 11

Database Programming Working with Sequences 6, 7, 10, 11, 20


Section 12

Database Programming Indexes and Synonyms 5, 9, 10, 29


Section 12

Database Programming Controlling User Access 4, 9, 14


Section 13

Database Programming Creating and Revoking 4, 7, 16


Section 13 Object Privileges

Database Programming Regular Expressions 5, 6, 10


Section 13

Watch the recorded demos for each topic. A transcript of the demo is also provided.

Demo View Constraints Transcript


Check Option Transcript
Chat Attend the weekly session with your adjunct.

Vous aimerez peut-être aussi