CUSTOMER(cnumber, name, address) PK = (cnumber) ORDERS(onumber, cnumber, total) PK =(onumber), FK = (cnumber)
SELECT COUNT(*)
FROM ORDERS JOIN CUSTOMER
ON ORDERS.cnumber = CUSTOMER.cnumber
WHERE CUSTOMER.cnumber = 007;
SELECT COUNT(*) FROM ORDERS WHERE ORDERS.cnumber = 007;
for customer in CUSTOMER do for order in ORDERS do if customer.cnumber = order.cnumber and order.total > 1000 then display customer.name
SELECT name
FROM ORDERS JOIN CUSTOMER
ON ORDERS.cnumber = CUSTOMER.cnumber
WHERE total > 1000;
SELECT *
FROM ORDERS
WHERE ORDERS.total = ( SELECT MAX(total)
FROM ORDERS
WHERE total <> ( SELECT MAX(total)
FROM ORDERS ) );
while not eot(ORDERS) read(ORDERS.total); write(ORDERS.total+1); end COMMIT;
read(ORDERS.total, onumber = 777) write(ORDERS.total-20); COMMIT;
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
UPDATE ORDERS SET TOTAL = TOTAL + 0.1 * TOTAL; COMMIT;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
UPDATE ORDERS SET TOTAL = TOTAL + 0.1 * TOTAL; COMMIT;
R(driver, truck, capacity) driver → truck, truck → capacity
D(driver, truck) T(truck, capacity)
SELECT driver
FROM D JOIN T
ON D.truck = T.truck
WHERE capacity > 100;
R(driver, truck, capacity) driver → truck, truck → capacity
D(driver, truck) C(driver, capacity)
SELECT driver FROM C WHERE capacity > 100;
ORDERS(onumber, cnumber, total) PK =(onumber), FK = (cnumber)
SELECT * FROM ORDERS WHERE total = 1000;
STREETS(street, zcode) CITIES(city, zcode) PK =(street, zcode) PK = (zcode) BCNF BCNF
SELECT street
FROM STREETS JOIN CITIES
ON STREETS.zcode = CITIES.zcode
WHERE city = 'Sydney';
LOCATION(city,street,zcode) PK =(city,street), CK = (zcode,street) city,street → zcode zcode → city
SELECT street FROM LOCATION WHERE city = 'Sydney';
BUILDING(bID, campus, bnumber, type) PK = (bID), CK = (campus, bnumber) ROOM(bID, rnumber, area) PK =(bID, rnumber), FK = (bID)
SELECT campus, bnumber
FROM BUILDING JOIN ROOM
ON BUILDING.bID = ROOM.bID
WHERE area > 100;
BUILDING(campus, bnumber, type) PK = (campus, bnumber)
ROOM(campus, bnumber, rnumber, area) PK =(campus, bnumber, rnumber),
FK = (campus, bnumber)
SELECT campus, bnumber FROM ROOM WHERE area > 100;


