3회독 헷갈리는 문항 정리
페이지 | 문제번호 | 선택지 |
7 | 10 | 2 |
12 | 27 | 4 |
21 | 37 | 1 |
24 | 41 | 1 |
57 | 42 | 1 |
75 | 63 | 1,2,4 |
81 | 69 | CUME_DISK .. OVER()의 정의 |
1. 데이터 모델링의 이해
8번 선택지 1~ 3 | 1) 피터첸에 의해 erm 표기법 생성 2) entity 도출 -> 배치 -> 관계 설정 -> 관계명 기술 |
10번 선택지 2 ~ 3 | 2) 통계성 엔터티나 코드성 엔터티는 관계를 생략할 수 있다 3) 엔터티는 두개 이상의 인스턴스를 가져야 한다. " 한 엔터티는 두 개 이상의 인스턴스를 가지고, 하나의 인스턴스는 두 개 이상의 속성을 가진다. 또한 하나의 속성은 하나의 속성값을 가진다" |
15번 선택지 1 | 엔터티의 구체적이고 자세한 정보를 나타냄 (상대적으로 접근) |
18번 1번, 3번 | (1) 시스템 카탈로그 - 사용자 테이블과 별개로 시스템 자체에 관련 있는 데이터 (3) 속성 사전 - DB 검색을 용이하게 하기 위한 색인용 사전, 속성명에 이용 |
20번 전체 | [데이터 모델링 관계] (1) ERD 관계 표시 - 존재/행위에 의한 관계 구분하지 않고 단일화된 표기법 사용 (4) 연관관계는 멤버변수로, 의존관계는 파라미터로 이용 ※ 표기법 - 식별자 관계는 실선 표현 - 비식별자 관계는 점선 표현 |
27번 4번 | [식별자 대체 여부에 따른 종유] - 원조식별자 / 본질식별자 : 가공 x - 대리식별자 / 인조식별자 :주식별자 속성이 두개 이상일때 하나로 믹스 |
2. 데이터 모델과 SQL p.20
37번 1번 선택지 | 정규화를 수행하면 데이터에 대한 중복성을 제거할 수 있어( 중복 속성을 제거하여 ) 용량을 최소화시킬 수 있다. |
38번 | 前 : 한테이블에 밀어넣었더나 각 칼럼에 null이 빈번히 들어감 - 1차 정규화-> 後 : 두 테이블로 나누어 위 문제를 해결 |
40번 | [정규화 순서 정리 : 비정규 ~ 3NF 까지] ① 도메인이 원자값 : 비정규 -> 1NF ② 부분적 함수 종속 제거 : 1NF -> 2NF ③ 이행적 함수 종속 제거 : 2NF -> 3NF |
41번 | 정규화는 논리 데이터 단계에서 시행한다. |
49번 | [NULL] - NULL 값에 비교 연산자를 쓴다면 항상 값은 unknown 또는 false이다. (NULL 아님) - 집계 함수를 계산할 때 NULL의 값은 배제된다 (0으로 처리 되지 않음) |
3. SQL 기본 (p.32)
8번 | WHERE절은 GROUP BY 전에 시행되기 때문에, 집계함수를 사용할 수 없다. |
11번 | INSERT INTO TABLE(COL1) VALUES(''); 입력시 오라클은 COL1에 NULL을 SQL server 에서는 COL1에 ''이 들어간다. |
15번 | 다시 풀기 |
17번 ~ 18번 | 다시풀기 ORACLE CASE 구문 [1] CASE 속성 WHEN '값' THEN '반환값' {ELSE '디폴트값'} END [2] CASE WHEN '속성' = '값' THEN '반환값' {ELSE '디폴트값'} END [3] DECODE (속성,'값1','반환값1',[,'디폴트값]) |
20번 | NULL 구문 [1] NVL(n1,n2) = n1이 널이면 n2로 [2] NULLIF(n1,n2) = n1 = n2 이면 null로 [3] NVL2(n1,n2,n3) = n1이 널이면 n2, n2가 널이면 n3 |
22번 | %x% : x가 문자열에 포함됨 %x : 맨뒤에 x로 끝남 x% : x로 시작 x%y : x로 시작하여 y로 문장이 끝남 |
29번 3번, 4번 | group by를 한 순간 새로운 view로 만들어지므로, 본래의 칼럼은 select절에 정의하지 않는 이상 order by 절에서는 사용할 수 없다. + group by로 도출될 수 있는 집계함수는 select절에 정의되어 있지 않아도, order by 절에 올 수 있다. |
34번 1번과 4번 | 조인의 중심이 되는 테이블명(조인이 필요없는, Main table)은 속성명 앞에 테이블을 지정해주지 않는다. |
35번 | (나) DBMS 옵티마이저는 FROM 절에 나열된 테이블을 항상 2개로 짝을 지어 JOIN 한다. (라) EQUI JOIN 은 (=)조건으로 JOIN / NON EQUI JOIN 은 그 외의 조건으로 JOIN |
40번 | 다시풀기 |
42번 | [JOIN... USING(칼럼명)] : using의 매개값인 칼럼의 값이 일치하면 natural join 한다. |
4. SQL 활용 (p.66)
60번 | 다시풀기 |
62번, 63번,64번 | 계층쿼리 |
66번 | self-join A.일자 >=B.일자 |
69번 | - Ratio_To_Report : 전체의 몇퍼센트 차지? - Percent_Rank : 1이면 꼴등 - Cume_Disk : 누적비율 - NTILE |
71번 | (이해안되서 향후 다시 볼 것) HAVING 절로 인해 메일 발송이 안된 회원으로 좁혀짐. 다시 봐볼 것 |
74번 | 문제 의도 재파악 및 다시 풀어볼것 (2번 + 4번) |
77번 | MAX(칼럼) OVER(ORDER BY 칼럼 DESC ROWS CURRENT ROW) rows current row = rows between current row and current row |
78번 | GROUPING(DATE WHEN '1' THEN '합계') GROUPING 결과가 1인게 집계된 결과이다. |
88번 | RANGE between "10 Preceding" and current row : 10 前 ~ 현재행 Rows between current Row And "5 FOLLOWING" : 현재행 ~ 5 後 |
91번 2번 | [GRANT 시스템 권한명 ON 테이블명 TO PUBLIC] - PUBLIC : 시스템권한, 또는 데이터베이스 역할을 모든 사용자에게 부여할 수 있다. [GRANT 권한 명 ON 테이블명 TO USERNAME WITH GRANT OPTION] - 특정 권한과 그 권한을 부여할 수 있는 권한까지 준다. 이를 부여한 사람이 REVOKE를 하면 권한을 받은사람이 권한을 GRANT한건 다 취소된다. - WITH ADMIN OPTION : 권한을 부여 받은 사용자도 부여 받은 권한을 다른 사용자 또는 역할로 부여할 수 있게된다. |
93번 4번 | DROP Schema EMP RESTRICT RESTRICT - EMP를 삭제할 때 참조하는 개체가 있으면 삭제를 취소한다. DROP Schema EMP CASCADE CASCADE - EMP를 삭제할 때 참조하는 개체가 있으면 같이 삭제한다. |
96번 | INTERSACT는 중복된 값을 없앤다. |
5. 관리구문 (p.112)
100번 | 칼럼의 타입과 Contraints를 바꿀 때는 각각 따로 ALTER문을 사용해야한다. ALTER TABLE 기관분류 ALTER COLUMN (분류명 VARCHAR(30) NOT NULL, 등록일자 DATE NOT NULL) 은 오류나는 구문 § 옳은 표현 ALTER TABLE 기관분류 ALTER COLUMN (분류명 VARCHAR(30) NOT NULL) ALTER TABLE 기관분류 ALTER COLUMN (등록일자 DATE NOT NULL) |
102번 | [① 테이블 설정] [S테이블] ① Delete CASCADE [R테이블] ① DELETE SET NULL [② T테이블 DROP TABLE ] [S테이블] ②-1. FK 참조 및 CASCADE로 테이블 T를 참조하는 인스턴스 삭제 [R테이블] ②-2. Cascade 옵션인 C를 참조했다면 해당 인스턴스 자체가 사라질텐데, B를 참조하면서, 삭제할때 단순히 NULL로 변경됨을 명시했으므로 B행만 NULL로 변경, A는 변경 없음 잘정리된 관련 블로그 포스팅 - https://blog.naver.com/PostView.nhn?blogId=ebzzang1905&logNo=222313954749 |
107번 | § Count() - count(*) = NULL값을 포함하여 count - count(특정컬럼) = 특정컬럼이 NULL이면 count에서 제외 |
113번 | ● 관계형 DB 제약 조건 - INSERT 제약 1. DEPENDENT : 참조대상인 부모테이블 인스턴스가 없으면(PK가 없음) 자식테이블 INSERT 불가 2. AUTOMATIC : 참조대상인 부모테이블 인스턴스가 없다면 부모PK를 자동 생성해서라도 자식테이블 INSERT - UPDATE, DELETE 제약 1. RESTRICT : 참조하는 자식테이블이 있다면 부모테이블의 인스턴스 UPDATE, DELETE 불가 2. CASCADE : 부모테이블 UPDATE, DELETE시, 참조하는 자식테이블의 참조 인스턴스 삭제 |
118번 | 113번 제약 조건들 위치 (= 외래키 설정 뒤에 ON D/U/I 제약조건) 「Foreign eky(컬럼) references 참조대상테이블(컬럼) ON DELETE CASCADE」 |
125번 | SELECT TOP(3) 순위 FROM 팀별성적 ORDER BY 승리건수 DESC; -> 팀별로 승리건수가 많은 순서대로 3등까지 출력한다. (동점자있을때는 동일하게 보지않고 테이블에 출력된 다음 순서로 넘겨버림 SELECT TOP(3) WITH TIES 순위 FROM 팀별성적 ORDER BY 승리건수 DESC; -> 팀별로 승리건수가 많은 순서대로 3등까지 출력하는데, 동점자가 있다면 같은 순위로 본다. |
기출변형
페이지 | 번호 | |
348 | 4 | § 복합속성 : 속성값을 세부 의미로 쪼갤 수 있는 속성 - 주소 ( ~시 ~군/구 ~동/읍...) § 더이상 쪼갤 수 없으면 단순속성 |
350 | 9 | § 모델링의 세 가지 관점 - 데이터 관점 - 프로세스 관점 - 데이터와 프로세스 상관 관점 |
'SQL' 카테고리의 다른 글
프로그래머스 SQL - 상위 퍼센트 대로 나누기 / percent_rank() (0) | 2025.03.27 |
---|---|
[DB]NULL값 허용과 관계테이블 (0) | 2024.11.20 |
SQL 깜지 (0) | 2024.10.25 |
[Oracle] 비율함수 (0) | 2024.10.25 |
[oracle sql] 의사 컬럼, 분석 함수, 계층 쿼리 (0) | 2024.10.22 |