Your browser may not support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience you may consider using the latest Chrome, Safari or Firefox browser.

On tablets and smartphones, you may try switching to the desktop version.

ERD commitment issues joke

— What's up with Jo?

— Can't stay in a relationship…

EERD in 9+2 easy steps

Database Principles


3rd lecture

October 12, 2017

Modeling

picture by: Nick Royer title: Captain America's Jet Fighter: Figure Shot uri: https://www.flickr.com/photos/hjmediastudios/7303643282/
toy model jet
model fighter jet
fighter jet 3d model
picture: screenshot of Google Maps uri: http://maps.google.com
map around Portsmouth Gunwharf Quays
picture: from Portsmouth City Council public transport information map
map of bus lines around Portsmouth Gunwharf Quays
picture: 3d buildings screenshot from Google Earth
3d view around Portsmouth Gunwharf Quays

ERD

EERD instructions page 1
EERD instructions page 2

Template

EERD instructions page 2

1. identify entities

Online Recruitment Agency

This case study is about a recruitment agency that matches prospective candidates with jobs from client companies and specializes in the computing industry. The agency stores its data in a variety of MS Office files on a SharePoint file server.

The agency has asked you to design and develop a database system that will enable them to improve the service they offer both to the candidates looking for a job and to the client companies who advertise their job vacancies.

The small agency consists of two directors, five recruitment consultants who market the agency to clients and candidates, and seven administrators who manage the day to day operations and provide reception duties such as answering the phone.

Each candidate that registers with the agency must provide the following information:

A candidate can only have one registration with the agency.

When a client company places a vacancy with the agency, they provide the following information:

A client may advertise one or more jobs with the agency. Jobs are divided into the following categories:

Using the information provided by the candidate and the client the agency can then match suitable candidates to suitable vacancies and they then arrange an interview.

The client company may select one or more candidates for an interview but they may not select anyone at all if nobody has the skills and qualifications required. Candidates can attend interviews for one or more jobs if they match the criteria for the job. The system records all interviews attended by a candidate.

If the candidate is successful and accepts the job this is recorded on the system so that they are not put forward for any more interviews. The system also records that the vacancy has been filled so that the job is no longer advertised. This also allows the agency to keep a record of which candidate got which job.

If a candidate is successful in the interview, the client that is going to employ them will pay the agency a fee for their service. There is no charge to candidates at any time. The agency sends the client an invoice, which is recorded on the system.

If the candidate is unsuccessful in the interview this is recorded on the system with a brief reason why, e.g. unsuitable location, insufficient salary, job given to a better candidate etc.

The agency needs to produce the following reports:

Client List: a list of all the clients the agency has
Candidate List: a list of all the candidates registered with the agency (who are available for interviews).
Interview List: for each vacancy a list of candidates who have been selected for interview with the date and time of each interview.
Payment List: a list of all the clients who have not paid their fee
Outstanding Payments: a total of all the money owed to the agency from their clients
Success Summary: the total number of vacancies filled in the last month

2. put them on diagram

3. draw relationships

3'. check for recursive relationships

4. check all entities are connected

5. check all reports are covered

6. squash most 1-to-1s

7. break most cycles

9. add attributes?

Enhanced ERD

1. inheritance

    1a. specialization

    1b. generalization

2. weak/strong entities

3. aggregation and composition

Kittens image/svg+xml Cat Mouse Cat Cat Cat Owner Leg Collar eats > lives with > has > has > < cares for 1 * 1..* 1..* 1 4 0..1 0..1

Modeling traps

1. fan trap

Use a spacebar or arrow keys to navigate