모두CBT

음식점 관리 시스템에서 고객(customer), 주문(order), 음… | [7급 국가직 데이터베이스론] 23년 1회차 기출문제 상세 페이지

1[7급 국가직 데이터베이스론] 23년 1회차
음식점 관리 시스템에서 고객(customer), 주문(order), 음식(food)을 관리하기 위해 릴레이션을 다음과 같이 설계하였다. 이 릴레이션에 대하여, SQL문에 대응하는 관계대수식으로 옳지 않은 것은? (단, 밑줄 친 속성은 기본 키이고, 관계대수 연산자 중에서 ρ\rho는 재명명(rename) 연산자이며, I\mathfrak{I}은 집계함수(aggregate function) 연산을 정의하는 연산자이다)
customer(name, gender, phone, address, year)
order(cname, fname, price, date)
food(name, price, stock)
1
SQL:
SELECT name
FROM food AS f
WHERE f.stock < 10 OR f.price > 20000;
관계대수:
πname(σf.stock<10 OR f.price>20000(ρf(food)))\pi_{name}(\sigma_{f.stock \lt 10\ OR\ f.price \gt 20000}(\rho_f(food)))
2
SQL:
SELECT c.name, c.phone
FROM customer AS c, order AS o, food AS f
WHERE o.fname = f.name AND c.name = o.cname
AND f.price > 10000;
관계대수:
πc.name, c.phone(σo.fname=f.nameAND c.name=o.cname(ρc(customer)×ρo(order)×ρf(food)))\pi_{c.name,\ c.phone}\left(\sigma_{\substack{o.fname = f.name\\ AND\ c.name = o.cname}}\left(\begin{array}{l}\rho_c(customer)\\ \times \rho_o(order)\\ \times \rho_f(food)\end{array}\right)\right)
3
SQL:
SELECT name, SUM(price) AS orderPrice
FROM customer, order
WHERE name = cname
GROUP BY name;
관계대수:
ρ(name,orderPrice)(nameISUM(price)(customer⋈name=cnameorder))\rho_{(name,orderPrice)}({}_{name}\mathfrak{I}_{SUM(price)}(customer \bowtie_{name = cname} order))
4
SQL:
SELECT name, AVG(food.price) AS avgPrice
FROM food, order
GROUP BY name;
관계대수:
ρ(name,avgPrice)(nameIAVG(food.price)(food×order))\rho_{(name,avgPrice)}({}_{name}\mathfrak{I}_{AVG(food.price)}(food \times order))
해설

옳지 않은 것은 가격이 10000을 넘는 음식을 주문한 고객의 이름·전화번호를 구하는 SQL에 대응시킨 관계대수식이다.

SQL의 WHERE 절에는 조인 조건 외에 f.price > 10000이 있는데, 관계대수식의 선택 조건에는 o.fname = f.name AND c.name = o.cname만 있어 가격 조건이 빠져 있다.

  • 재고 10 미만 또는 가격 20000 초과인 음식 이름 질의는 재명명 후 OR 조건 선택과 name 추출로 정확히 대응한다.
  • 고객별 주문 금액 합계 질의는 name = cname 조인 후 name으로 그룹화해 SUM(price)를 구하고 재명명하므로 대응한다.
  • 조인 조건이 없는 FROM food, order는 카티션 곱이므로, 곱 결과를 name으로 그룹화해 AVG(food.price)를 구하는 식과 대응한다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 데이터베이스론] 23년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 데이터베이스론 기출문제 암기장 전체 보기