2023. 4. 14. 12:21ㆍDataBase/DB 문제풀이
[DataBase System] ch06 - SQL
책정보, 데이터베이스 시스템 : 네이버 책 (naver.com)
데이타베이스 시스템 : 네이버 도서
네이버 도서 상세정보를 제공합니다.
search.shopping.naver.com
문제 풀이
1 ) SQL에서 정의되는 테이블과 관계 데이터 모델에서 정의된 릴레이션과의 차이점을 설명하라
- 추상적 개념과 그 개념의 구체화가 큰 차이로 볼 수 있다. 릴레이션의 경우 추상적으로 표현된 하나의 개념이라면 테이블은 그 릴레이션을 구체적으로 표현한 것이라 볼 수 있다.
2 ) 커서란 무엇이고 삽입 SQL에서 어떻게 사용되는가를 설명하라
- 특정 SQL 문장을 처리한 결과를 담고 있는 영역을 가리키는 일종의 포인터
- 삽입하려는 데이터가 대량이고, 각 데이터가 다른 테이블에 의존하는 경우
- 대량의 데이터를 삽입할 때 일괄 처리를 수행하려는 경우
3 ) SQL에서 뷰는 어떻게 정의되는가? 뷰를 갱신할 때 일어나는 문제점은 무엇인지 설명하라.
- 다른 테이블로부터 유도된 이름을 가진 가상의 테이블
- 문제점
- 여러 테이블을 조합한 것이기에 뷰에서 데이터를 갱신하면 실제 테이블에서 데이터 일관성 유지에 어려움 존재
- 데이터 일관성 유지를 위해 트랜잭션 처리를 하는 것이 좋음
- 뷰를 구성할 때 join, function 등의 연산이 있을 경우 뷰를 갱신하는데 시간이 오래 걸릴 수 있음
- 여러 테이블을 조합한 것이기에 뷰에서 데이터를 갱신하면 실제 테이블에서 데이터 일관성 유지에 어려움 존재
4 ) SQL문에서 테이블 이름과 열 이름을 별도로 지정하는 AS에 대해 설명해 보라. 투플 변수와는 어떻게 구별할 수 있는가?
- As : [SQL] 테이블 별칭(ALIAS) (tistory.com)
[SQL] 테이블 별칭(ALIAS)
[SQL] 테이블 별칭(ALIAS) 프로그래머스의 SQL 고득점 키트를 풀어보다가 테이블 별칭을 정하고 입력하는 부분에서 막히는 경우가 많아 한번 정리를 하려고 적게 되었다. ALIAS 테이블 or 테이블의 컬
skyriv312079.tistory.com
- 튜플 변수
DB 레코드에 대한 참조를 저장하는 변수
As는 해당 열 이름에 대해 별칭을 지정하여 사용할 때 쓰는 것이며, 튜플 변수는 해당 레코드를 저장하거나 불러올 때 DB에 정식으로 지정되는 이름이다.
5 ) 다음과 같은 릴에이션이 있을 때 아래 질의문을 SQL로 표현해보라
학생 | ||
학번 | 이름 | 학년 |
과목 | ||
과목번호 | 과목이름 | 교수 |
등록 | ||
과목번호 | 학번 | 점수 |
5 - 1 ) 과목 'DBMS'를 수강한 4학년 학생의 이름을 검색하라
- select s. 이름
- from 학생 s, 과목 c
- where c. 과목이름 = 'DBMS' and s. 학년 = 4;
5 - 2 ) 'DBMS' 과목을 삭제하라
- delete
- from 과목
- where 과목. 과목이름 = 'DBMS';
5 - 3 ) 'AI'과목을 과목 릴레이션에 삽입하라 (단, 과목 번호는 'C419'이다)
- insert
- into 과목
- values ('C419', 'AI', 'OOO');
교수이름은 아직 정해지지 않았기에 기본값이 OOO라 생각하고 지정
5 - 4 ) 학번이 12345인 학생의 학년을 4로 변경하라
- update 학생
- set 학년 = 4
- where 학번 = 12345;
6 ) 다음과 같은 S ( suppliers , 납품업자 ) , P ( product , 제품 ) , SP ( shipmenets , 발송 ) 릴레이션 스키마가 있다.
- S ( Sno , Sname , Status , City )
- P ( Pno , Pname , Colour , Weight )
- SP ( Sno , Pno , Qty )
다음 질의문을 SQL로 표현해 보라.
(가) 모든 납품업자의 Sname과 CIty를 검색하라
- select Sname, City
- from S;
(나) "Pno"가 123인 제품을 발송한 납품업자의 Sname을 검색하라
- select S.Sname
- form S, SP
- where S.Sno = Sp.sno and SP.Pno = 123;
(다) 제품의 색(Colour)이 red인 Pname을 검색하라
- select Pname
- from P
- where Colour = 'red';
(라) Nut이라는 이름(Pname)의 제품을 발송한 제품업자의 Sname을 검색하라
- select S.Sname
- from S, P, SP
- where P.Pno = SP.Pno and Pname = Nut;
'DataBase > DB 문제풀이' 카테고리의 다른 글
[DataBase System] ch08 - 데이터 모델링 (0) | 2023.04.18 |
---|---|
[DataBase System] ch07 - 데이터 종속성과 정규화 (0) | 2023.04.18 |
[DataBase System] ch04 - 관계 데이터베이스 (0) | 2022.04.23 |
[DataBase System] ch03 - 데이터베이스 시스템의 구성 (0) | 2022.04.11 |
[DataBase System] ch02 - 데이터베이스 관리 시스템 연습문제 풀이 (0) | 2022.03.30 |