반응형

 

 

1절 : 관계형 데이터베이스 개요

데이터들의 집합에서 필요로 하는 데이터를 꺼내서 조회하고.. 입력/수정/삭제 하는 행위를 통해사용자는 데이터베이스와 대화하게 된다(?!). SQL (Structured Query Language) 은 이러한 대화를 가능하도록매개 역할을 한다. SQL 은 관계형 데이터베이스의 데이터 정의, 조작, 제어 를 위해 사용하는 언어이다

 

 

 

2절 : DDL

테이블은 CREATE TABLE 생성, ALTER TABLE 수정, DROP TABLE 삭제, RENAME TABLE 재명명.

 

 

 

3절 : DML

INSERT INTO 입력, UPDATE 수정, DELETE 삭제, SELECT 조회

 

 

 

4절 : 대량 데이터에 따른 성능

트랜잭션은 ALL or NOTHING. COMMIT 트랜잭션 완료, ROLLBACK 트랜잭션 철회,SAVEPOINT 트랜잭션 저장점. 일부만 ROLLBACK 가능

 

 

 

5절 : WHERE 절

WHERE 조건절에 제한을 두어 원하는 자료만 조회할 수 있다.사용되는 연산자는 비교연산자, SQL연산자, 논리연산자 가 있다.

 

 

 

6절 : 함수 (FUNCTION)

벤더에서 제공되는 내장함수를 통해 데이터값을 간편하게 조작할 수 있다. 
단일행 함수는 처리하는 데이터의 형식에 따라 문자형, 숫자형, 날짜형, 변환형, NULL 관련 함수로 나뉜다.
 

 

 
 

7절 : GROUP BY, HAVING 절

집계 함수는 여러 행들이 모여서 그룹당 단 하나의 결과를 돌려주는 다중행 함수의 일부.
COUNT, SUM, AVG, MAX, MIN 함수가 있다. GROUP BY 절은 소규모 그룹 짓기
HAVING 절은 그룹에 대한 조건을 만족하는 내용만 출력

 

 

8절 : ORDER BY 절

ORDER BY 절은 조회된 자료를 원하는 칼럼 순으로 정렬하는 기능
SELECT 문장의 제일 마지막에 위치하고. SELECT 문장은 FROM -> WHERE -> GROUP BY -> HAVING
-> SELECT -> ORDER BY 절로 실행된다.

 

 

 

9절 : 조인(JOIN)

두 개 이상의 테이블들을 연결하여 원하는 데이터를 출력.WHERE 절의 JOIN 조건에 대해서 EQUI JOIN 과 NON EQUI JOIN 으로 나뉜다.

 

 

 

❏ 3장 연습문제

 

문제1. 다음 설명 중 맞는 것은 무엇인가?
1 데이터베이스에는 단 한 개의 테이블만 존재할 수 있다.
2 데이터베이스 내에 테이블이란 존재하지 않는다.
3 아주 복잡한 자료도 태이블은 하나만 만드는 것이 바람직하다.
4 모든 자료는 실질적으로 테이블에 저장이 되며 테이블에 있는 자료들을 꺼내 볼 수 있다.

문제2. 데이터 유형에 대한 설명 중 틀린 것은 무엇인가?
1 CHAR 유형은 고정 길이 문자형이다
2 VARCHAR 유형은 가변 길이 숫자형이다
3 NUMERIC 유형은 숫자형 데이터를 표현한다.
4 DATE 유형은 날짜 데이터를 다룰 때 사용한다.

문제3. 다음 중 테이블 명으로 가능한 것은 무엇인가?
1 EMP100
2 100EMP
3 EMP-100
4 100_EMP

문제4. 데이터를 입력하기 위해 사용하는 SQL 명렁어는 무엇인가?
1 CREATE
2 UPDATE
3 INSERT
4 ALTER

문제5. Commit과 Rollback의 장점으로 적합하지 않은 것은 무엇인가?
1 데이터 무결성을 보장한다.
2 영구적인 변경을 하기 전에 데이터의 변경 사항 확인 가능
3 영구적인 변경을 할 수 없게 한다.
4 논리적으로 연관된 작업을 그룹핑하여 처리 가능

문제6. 다음 SQL 문장의 결과 출력되는 데이터는 무엇인가?

SELECT PLAYER_NAME 선수명, E_PLAYER_NAME 선수영문명
FROM PLAYER
WHERE E_PLAYER_NAME LIKE '_A%'; 

1 선수의 영문 이름이 A로 시작하는 선수들의 이름
2 선수의 영문 이름이 A나 a로 시작하는 선수들의 이름
3 선수의 영문 이름의 두번째 문자가 A인 선수들의 이름
4 위치에 상관없이 선수의 영문 이름에 A를 포함하는 선수들의 이름

문제7. 어떠한 데이터 타입도 사용이 가능한 집계 함수는 어느 것인가?
1 COUNT
2 SUM
3 AVG
4 STDDEV

문제8. SQL 문장에서 집합별로 집계된 데이터에 대한 조회 조건을 제한하기 위해서 사용하는 절은 어느 것인가?
1 WHERE 절
2 GROUP BY 절
3 HAVING 절
4 FROM 절

문제9. 다음과 같은 SQL 문장이 있다. 예제의 ORDER BY 절과 같은 결과를 갖는 구문은 어떤 것인가?

SELECT PLAYER_NAME 선수명, POSITION 포지션, BACK_NO 백넘버
FROM PLAYER
ORDER BY PLAYER_NAME, POSITION, BACK_NO DESC;

1 ORDER BY 1 DESC, 2, 백넘버
2 ORDER BY 선수명, 2, DESC 백넘버
3 ORDER BY PLAYER_NAME ASC, 2, 3
4 ORDER BY 선수명 ASG, 포지션, 3 DESC

문제10. 다음 SQL 문장에서 틀린 부분은 어디인가?
1 SELECT PLAYER.PLAYER_NAME 선수명 TEAM, TEAM_NAME 팀명
2 FROM PLAYER P, TEAM T
3 WHERE P.TEAM_ID = T.TEAM_ID
4 ORDER BY 선수명 ;

 

정답 및 해설

문제번호  정답  해설 
④  데이 터 베이스에는 자료의 성격에 따라 N개의 테이블을 생성한다. 모든 자료들은 테이블에 입력되며,조회, 수정, 삭제 할 수 있다. 
②  VARCHAR 유형은 가변 길이 문자형이다. 
①  테이블명과 칼럼명은 반드시 문자로 시작해야 한다. A- Z, a - z, 0-9, _, $, # 만 허용함 
③  데 이터를 업력하기 위해서 "INSERT" 명령어를 사용한다. 
③  Commi t과 Rollback의 장점 : 데이터 무결성 보장/영구적인 변경을 하기 전에 데 이터의 변경 사항 확인 가능/논리적으로 연관된 작업을 그룹핑하여 처리 가능 
③  "_"와 "%"는 와일드카드(WILD CARD)로 하나의 글자, 또는 모든 문자를 대신하여 사용이 되므로 두 번째 문자가 대문자 A 인 경우만 출력하게 된다. 
①  집계 함수는 집합에 대한 정보를 제공하므로 주로 숫자 유형에 사용된다. 추가로 MAX, MIN, COUNT 함수는 숫자 유형만 아니라 문자 유형, 날짜 유형에도 적용이 가능한 함수이다. 
③  일반적인 SQL 문장에서 조회하는 데이터를 제한하기 위해서는 WHERE 절을 사용하지만,그룹별로 조회할 때 집계 데이터 에 대 한 제한 조건을 사용하기 위해서는 HAVING 절을 사용한다. 
④  ORDER BY 절에서 정렬 기준이 생략되면 Default로 ASC(오름차순) 정렬이 되며, ORDER BY 절에는 칼럼 (Column) 명 대신에 SELECT 절에 기술한 칼럼 (Column) 의 순서 번호나 칼럼 (Column) 의 ALIAS 명을 대신해서 사용할 수 있다. 
10  ①  FROM 절에 테이블에 대한 ALIAS를 사용했을 경우에, 중복된 이름이 있는 경우 SELECT 절에서는 반드시 ALIAS 명을 사용해야 한다. 

 

 

반응형
도움이 되셨다면 공감 클릭 부탁드리며
출처만 남겨주시면 글 내용은 마음껏 퍼가셔도 좋습니다 :)