이번 포스팅에서는 오라클 SQL Developer를 활용한 데이터베이스 기초 학습 내용을 정리해 SQL 기본 문법부터 데이터 생성, 조회, 가공, 정렬까지 실습을 통해 익힌 내용을 기록하였습니다.
1. 오라클 프로그램 화면 기본 구성
오라클 SQL Developer는 사용자가 SQL 문을 작성하고 데이터베이스와 연동할 수 있는 GUI 환경을 제공합니다. SQL Developer에서는 명령어 작성 시 대소문자를 구분하지 않아도 됩니다. 하지만 코드 가독성과 표준화된 작성을 위해 일반적으로는 키워드는 대문자로 작성하는 것이 좋습니다.
2. 테이블 생성 및 데이터 입력 실습
다음은 members 테이블과 buy 테이블을 생성하고, 각각 데이터를 삽입한 예시입니다.
DROP TABLE members;
DROP TABLE buy;
-- 회원 테이블 생성
CREATE TABLE members (
mem_id VARCHAR2(8) NOT NULL PRIMARY KEY,
mem_name VARCHAR2(20) NOT NULL,
mem_number NUMBER(3) NOT NULL,
addr VARCHAR2(10) NOT NULL,
phone1 CHAR(3),
phone2 CHAR(8),
height NUMBER(3),
debut_date DATE
);
-- 구매 테이블 생성
CREATE TABLE buy (
num NUMBER(8) PRIMARY KEY,
mem_id VARCHAR2(8) NOT NULL,
prod_name VARCHAR2(20) NOT NULL,
group_name VARCHAR2(10),
price NUMBER NOT NULL,
amount NUMBER(5) NOT NULL,
CONSTRAINT fk_members FOREIGN KEY (mem_id) REFERENCES members(mem_id)
);
테이블이 생성된 후, 아래와 같이 데이터를 삽입합니다.
-- 예시: members 데이터 삽입
INSERT INTO members VALUES ('TWC', '트와이스', 9, '서울', '02', '11111111', 167, TO_DATE('2015-10-19', 'YYYY-MM-DD'));
-- 예시: buy 데이터 삽입
INSERT INTO buy VALUES (1, 'BLK', '지갑', NULL, 30000, 2);
3. SELECT 문으로 테이블 조회하기
SELECT * FROM members;
SELECT * FROM buy;
SELECT * 명령어는 모든 컬럼의 값을 출력해주는 기본적인 조회 방법입니다. 특정 컬럼만 조회하고자 할 때는 다음과 같이 작성합니다.
SELECT mem_name, phone1 FROM members;
4. 테이블 조인과 별칭 사용
여러 테이블에서 데이터를 조회할 때는 조인(JOIN)을 사용하거나, FROM절에 여러 테이블을 나열하여 데이터를 조합합니다.
-- 테이블 별칭 사용 예시
SELECT m.mem_name, b.prod_name
FROM members m, buy b
WHERE m.mem_id = b.mem_id;
테이블 별칭은 긴 테이블명을 줄여서 사용할 수 있어 가독성을 높여줍니다.
5. WHERE 조건절 사용
SELECT * FROM members WHERE addr = '서울';
SELECT * FROM members WHERE mem_name = '트와이스';
WHERE절을 통해 조건을 설정하여 원하는 데이터만 조회할 수 있습니다.
6. 정렬: ORDER BY
SELECT * FROM members ORDER BY mem_number DESC;
ORDER BY를 사용하면 데이터를 오름차순(ASC) 또는 내림차순(DESC)으로 정렬할 수 있습니다.
7. 중복 제거: DISTINCT
SELECT DISTINCT job_id FROM employees;
DISTINCT 키워드를 통해 중복된 데이터를 제거한 결과를 얻을 수 있습니다.
8. 열에 별칭 붙이기 (AS)
SELECT employee_id AS 사원번호, first_name AS 이름, last_name AS 성
FROM employees;
AS 키워드를 사용하면 열의 출력명을 변경할 수 있어 출력 결과가 더 직관적으로 보입니다.
9. 열 결합하여 출력
SELECT first_name || ' ' || last_name AS 전체이름 FROM employees;
|| 연산자를 사용하면 문자열을 이어 붙일 수 있습니다. 이메일이나 전체 이름을 구성할 때 유용하게 사용됩니다.
10. 산술 연산 처리
SELECT salary, salary+500, salary-100, (salary*1.1)/2 FROM employees;
SQL에서는 열 값에 대한 산술 연산도 가능합니다. 이 연산은 실제 데이터베이스 값에는 영향을 주지 않고 조회 결과에만 적용됩니다.
11. 복합 계산 예제
SELECT prod_name AS 제품이름,
price AS 가격,
amount AS 수량,
price * amount AS 합계,
(price * amount) * 0.85 AS "할인가격15%"
FROM buy
ORDER BY amount ASC, 합계 DESC;
다양한 계산식과 정렬 조건을 함께 적용하여 실전과 같은 데이터 분석이 가능합니다.
12. 데이터베이스와 DBMS 기본 개념
- DB (Database): 논리적으로 연관된 데이터를 일정한 구조로 저장한 집합
- DBMS (Database Management System): 데이터베이스를 관리하는 소프트웨어. 데이터를 입력, 수정, 삭제, 검색하는 기능 제공
13. ISOS 개념 정리
- 통합데이터: 중복 최소화된 데이터
- 저장데이터: 물리적으로 저장된 데이터
- 운영데이터: 실제 업무에 사용되는 데이터
- 공용데이터: 여러 시스템이 공유하는 데이터
14. 데이터베이스 구조 유형
계층형 DB
- 트리 구조의 부모-자식 관계
- 중복과 수정 어려움으로 현재는 거의 사용하지 않음
네트워크형 DB
- 노드 간 대등한 관계
- 구조가 복잡하여 유지보수가 어려움
키-값 DB (NoSQL)
- 비정형 데이터 저장에 유리
- 단순한 키-값 쌍으로 데이터를 저장
관계형 DB
- 행(Row)과 열(Column)로 구성된 테이블 형태
- 테이블 간 관계를 기반으로 데이터 관리
- SQL을 통해 데이터 조작
15. SQL의 분류
분류 | 이름 | 설명 |
DQL | Data Query Language | 데이터 조회 (SELECT) |
DML | Data Manipulation Language | 데이터 조작 (INSERT, UPDATE, DELETE) |
DDL | Data Definition Language | 데이터 구조 정의 (CREATE, ALTER, DROP) |
TCL | Transaction Control Language | 트랜잭션 제어 (COMMIT, ROLLBACK) |
DCL | Data Control Language | 권한 제어 (GRANT, REVOKE) |
16. 마무리하며
이번 학습을 통해 SQL의 기본적인 사용법부터 데이터베이스 개념까지 폭넓게 이해할 수 있었습니다. 오라클 SQL Developer를 활용한 실습을 통해 SQL 문법에 익숙해지고, 데이터를 자유롭게 조회하고 가공할 수 있는 능력을 향상시킬 수 있었습니다.
'1인칭 학습 시점_웹개발 > SQL' 카테고리의 다른 글
[SQL] SQL VIEW(뷰) 개념 정리와 실습 예제 (0) | 2024.06.28 |
---|---|
[SQL] SQL 데이터 무결성과 트랜잭션 개념 정리 + 파이썬으로 오라클 DB 연결하기 (0) | 2024.06.27 |
[SQL] 오라클 SQL 정리 | 서브쿼리, 다중행 연산자, DML, DDL 완전정복 (0) | 2024.06.26 |
[SQL]오라클 SQL 함수 및 조인 완전 정리 (NVL, DECODE, CASE, RANK, 조인 등) (0) | 2024.06.25 |
[SQL] 오라클 SQL 조건절과 함수 완벽 정리 | WHERE, 함수, 날짜, 형변환 (0) | 2024.06.24 |