본문 바로가기

전체 글

(275)
[DBMS] 11 ● GROUP BY - ~별(예 : 포지션 별 평균 키) - SELECT [컬럼명] FROM [테이블명] WHERE [조건식] GROUP BY [컬럼명] HAVING [조건식] ※ WHERE 절에서 조건을 처리할 수 있다면 반드시 WHERE 절에서 먼저 처리해준다. ​ ​(ex) 1. PLAYER 테이블에서 포지션 검색(NULL 제외) SELECT "POSITION" FROM PLAYER WHERE "POSITION" IS NOT NULL GROUP BY "POSITION"; ​ 2. PLAYER 테이블에서 몸무게가 80 이상인 선수들의 평균 키가 180 이상인 포지션 검색 SELECT "POSITION" FROM PLAYER WHERE WEIGHT >= 80 GROUP BY "POSITION" HAVI..
[DBMS] 10 ● 집계함수 - NULL은 포함하지 않는다. - WHERE 절에서는 사용할 수 없다. - 여러 개의 값을 하나로 집계하여 나타낸다. ​ ​ ​● 집계함수 종류 - AVG() : 평균 - MAX() : 최대값 - MIN() : 최소값 - SUM() : 총 합 - COUNT() : 개수 ​ (ex) 1. PLAYER 테이블에서 HEIGHT의 평균, 최대값, 최소값, 총 합, 개수 검색(평균은 소수점 두번째 자리까지 반올림 하기) SELECT ROUND(AVG(HEIGHT), 2), MAX(HEIGHT), MIN(HEIGHT), SUM(HEIGHT), COUNT(HEIGHT) FROM PLAYER; ​ 2. PLAYER 테이블에서 HEIGHT 개수 검색(NULL 포함해서 COUNT 하기) SELECT COUN..
[DBMS] 09 NULL ​ ● NULL - 정의되지 않은 값 - 빈 값 대신 미정 값을 부여할 때 사용(PK는 불가능, FK는 가능) ​ ​ ​● NOT NULL 제약조건 ALTER TABLE 테이블명 MODIFY 컬럼명 NOT NULL; ​ ​ ​● 제약조건 삭제 ALTER TABLE 테이블명 MODIFY 컬럼명 NOT NULL; (ex) TBL_CAR 테이블에서 BRAND 컬럼의 제약조건을 삭제한다. ALTER TABLE TBL_CAR MODIFY BRAND NOT NULL; ​● 조건식 1. 컬럼명 IS NULL : 컬럼 값이 NULL이면 참 (ex) PLAYER 테이블에서 POSITION이 NULL이면 '미정'으로 결과 출력 SELECT NVL("POSITION", '미정') FROM PLAYER WHERE "..
[DBMS] 08 ​● 정규화 - 삽입/수정/삭제의 이상현상을 제거 - 데이터의 중복 최소화 - 대부분 3차 정규화까지만 진행 ​ ​ ​● 1차 정규화(1NF) - 하나의 컬럼에 값이 1개씩만 있어야 한다. - 반복적인 컬럼 값이 나타나는 경우 ​ (ex) 1. 반복적인 컬럼 값(검색이 힘들다) ​ 2. 정규화 진행 ​ ​ ​● 2차 정규화(2NF) - 테이블의 모든 컬럼이 서로 관계가 있어야 한다. - 모든 컬럼이 서로 관계가 없는 경우 ​ (ex) 1. 서로 관계가 없는 컬럼 ​ 2. 정규화 진행 ​ ​ ​● 3차 정규화(3NF) ​ (ex) 1. 중복 데이터 발생 가능 - 우편번호로 시, 구, 동을 알 수 있다. - 중복된 데이터가 생길 가능성이 있다. ​ 2. 정규화 진행 ​ ​ ※ 데이터베이스에서 정규화가 필요한..
[DBMS] 07 ● TCL(Transaction Control Language) : DML을 위한 명령 ​ ​● 트랜젝션 - 하나의 작업 단위 ​ ​● COMMIT - 모든 작업을 확정하는 명령어 ​ ​● ROLLBACK - 이전 COMMIT 지점으로 이동 - 'T' 버튼을 클릭하여 ROLLBACK을 Auto/None 모드로 전환할 수 있다. ​ ​● AS(ALIAS) : 별칭 - SELECT절 : AS 뒤에 별칭 작성, 한 칸 띄우고 작성(AS 생략 가능) - FROM절 : 한 칸 띄우고 작성 - 공백이 있는 경우 "" 안에 컬럼명 작성 ​ ​● CONCATENATION(연결) : || ​ ​● LIKE : 포함된 문자열의 값을 찾음, 문자의 개수도 제한을 줄 수 있음 - % : 모든 것 - '%A' : A로 끝나는 ..
[DBMS] 06 실습 - PLAYER 테이블에서 TEAM_ID가 'K01'인 선수 검색 SELECT * FROM PLAYER WHERE TEAM_ID = 'K01'; ​ - PLAYER 테이블에서 TEAM_ID가 'K01'이 아닌 선수 검색 SELECT * FROM PLAYER WHERE TEAM_ID != 'K01'; ​ - PLAYER 테이블에서 WEIGHT가 70 이상이고 80 이하인 선수 검색 SELECT * FROM PLAYER WHERE WEIGHT >= 70 AND WEIGHT = 170 AND WEIGHT >= 80; ​ - STADIUM 테이블에서 SEAT_COUNT가 30000 초과 41000 이하인 경기장 검색 SELECT * FROM STADIUM WHERE SEAT_COUNT > 30000 AND..
[DBMS] 05 ​● DML(Data Manipulation Language) 1. SELECT : 조회(검색) SELECT 컬럼명1, 컬럼명2ㅡ,... FROM 테이블명 WHERE 조건식; - FLOWER 테이블에서 'FLOWERCOLOR, 'FLOWERNAME,'FLOWERPRICE'를 조회한다. SELECT FLOWERNAME, FLOWERCOLOR, FLOWERPRICE FROM FLOWER; 2. INSERT : 추가 1) DEFAULT 값이 존재하는 경우 INSERT INTO 테이블명 (컬럼명1, 컬럼명2,...) VALUES(값1, 값2,...); - POT 테이블 각각의 컬럼에 VALUES안의 값들을 추가한다. INSERT INTO POT (POTID, POTCOLOR, POTSHAPE, NAME) VAL..
[DBMS] 04 ​● 모델링 - 추상적인 주제를 DB에 맞게 설계하는 것 ​ 1. 요구사항 분석 2. 개념적 설계(개념 모델링) 3. 논리적 설계(논리 모델링) 4. 물리적 설계(물리 모델링) 5. 구현 실습 1 1. 요구사항 분석 꽃 테이블과 화분 테이블 2개가 필요하고, 꽃을 구매할 때 화분도 같이 구매한다. 꽃은 이름과 색깔, 가격이 있고 화분은 제품 번호, 색깔, 모양, 꽃 이름이 있다. ​ 2. 개념적 설계(개념 모델링) 3. 논리적 설계(논리 모델링) 4. 물리적 설계(물리 모델링) 5. 구현 ※ 부모 : ◇ , 자식 : ● - 꽃 테이블 구현 CREATE TABLE FLOWER( FLOWERNAME VARCHAR2(200), FLOWERCOLOR VARCHAR2(100), FLOWERPRICE NUMBER,..