Navigating with Path Expressions
Assume two tables are given as follows:
CREATE TABLE company (
companyID INT NOT NULL,
name VARCHAR NOT NULL,
street VARCHAR NOT NULL,
location VARCHAR NOT NULL,
president INT NOT NULL,
PRIMARY KEY ( companyID ),
FOREIGN KEY ( president ) REFERENCES employee ( emplno ) );
|
CREATE TABLE vehicle
vehicleID INT NOT NULL,
model VARCHAR NOT NULL,
manufacturer INT NOT NULL,
color VARCHAR NOT NULL,
PRIMARY KEY ( vehicleID ),
Foreign KEY ( manufacturer ) REFERENCES company ( companyID ) );
|
Determine the president of the company manufacturing the car with number 93:
SELECT c.president FROM vehicle v, company c
WHERE v.vehicleID = 93 AND v.manufacturer = c.companyID
|
company: [
name: STRING,
headoffice: address,
president: employee ]
|
|
|
vehicle: [
model: STRING,
manufacturer: company,
color: STRING ]
|
|
president( manufacturer( v ) ), or name( president( manufacturer( v ) )
|
OODB languages use expressions (path expressions) which allow evaluation from left to right:
v.manufacturer.president.name
|
The dot-notation renders bracketing superfluous.
Boss: What’s your biggest weakness?
Me: Honesty.
Boss: I don’t consider that a weakness.
Me: I don’t give a f*ck what you think.
|