This demo will introduce various basic SQL concepts and statements via example. The tables we will be building in this demo are:
Office | Phone Number | Description |
---|---|---|
CASA | (415) 422-5050 | Office |
SLE | (415) 422-7256 | Office |
HPS | (415) 422-5797 | Office |
HPS | (888) 471-2290 | Fax |
CAPS | (415) 422-6351 | Office |
CAPS | (415) 422-6352 | Office |
CAPS | (855) 531-0761 | After Hours |
Database Design
Notice how an office could have between 1 to 3 numbers associated with it? That is a “one to many” (one office to many phone numbers) relationship.
We will often split those values into separate tables so we can have exactly 1 row per item (one row per office in an offices
table, and one row per number in an phones
table).
The first table offices
will capture the unique offices:
office_id | office |
---|---|
1 | HPS |
2 | SLE |
3 | CASA |
4 | CAPS |
And then the next table phones
will capture the office numbers:
phone_id | area | phone | description | office_id |
---|---|---|---|---|
1 | 415 | 422-5050 | Office | 3 |
2 | 415 | 422-7256 | Office | 2 |
3 | 415 | 422-5797 | Office | 1 |
4 | 888 | 471-2290 | Fax | 1 |
5 | 415 | 422-6351 | Office | 4 |
6 | 415 | 422-6352 | Office | 4 |
7 | 855 | 531-0761 | After Hours | 4 |
The exact tables will depend on which point you are at in the demo script.