본문 바로가기
개발 공부 Today I Learned

[국비 1일차 TIL] 오라클 SQL 데이터베이스 기초 공부

by 개발자신입 2023. 11. 21.
반응형

데이터베이스 순위

 

당당하게 1위를 차지하고 있는 오라클(Oracle)

 

데이터 저장 방법

효율적인 데이터 관리를 위한 조건

- 데이터를 통합하여 관리

- 일관된 방법으로 관리

- 데이터 누락 및 중복 제거

- 여러 사용자(응용 프로그램 포함)가 공동으로 실시간 사용 가능

 

DBMS를 통한 데이터 관리

- 데이터 중복을 피할 수 있음

- 데이터를 동시에 공유할 수 있음

- 데이터 관리 방식 통합됨

- 업데이트 또는 변경과 관계없이 데이터 사용 가능

 

데이터 모델

- 계층형  : 나뭇가지 형태의 트리 구조를 활용하여 부모 자식 같은 관계를 정의하고 데이터를 관리함.

- 네트워크형 : 망형 데이터 모델이라고도 하며 그래프(graph) 구조를 기반으로 연결함.

- 객체 지향형 : 데이터를 독립된 객체로 구성하고 관리하며 상속, 오버라이드 등 강력한 기능 활용 가능.

- 관계형 : 현대에 가장 많이 사용하는 모델

 

용어 설명

- 개체 (entity) : 데이터베이스에서 데이터화하려는 사물, 개념의 정보 단위.

- 속성 (attribute) : 개체를 구성하는 데이터의 가장 작은 논리적 단위로서 데이터의 종류, 특성, 상태 등을 정의함.

- 관계 (relationship) : 개체와 개체 또는 속성 간의 연관성을 나타내기 위해 사용.

 

- DBMS = DataBase Management System

- RDBMS = Relational DataBase Management System (Oracle, MySQL, MS-SQL, MariaDB, PostgeSQL)

 

SQL

SQL(Structured Query Language)은 RDBMS에서 데이터를 다루고 관리하는 데 사용하는 데이터베이스 질의 언어

 

SQL의 특징

- DBMS 제작회사와 독립적

- 다른 시스템으로 이식성이 좋음

- 표준이 계속 발전함

- 대화식 언어

- 분산형 클라이언트/서버 구조

 

관계형 데이터베이스의 구성 요소

- 테이블 (table) = 표, relation, entity

- 가로줄 = 행(row), tuple 투플, record 레코드, obs observations

- 세로줄 = 열(calumn), variable 변수, attribute, field

 

오라클 데이터베이스

가장 많이 쓰이는 버전은 2007년의 Oracle 11g. 일반적으로 현업에서 데이터베이스를 한번 구축하면 문제가 있지 않는 이상 업그레이드 및 업데이트를 하지 않기 때문. 오래동안 문제 없이 돌아가는 데이터베이스는 안정적이기 때문.

 

오라클 데이터베이스 접속

- ALTER USER SCOTT : SCOTT 계정을 변경

- IDENTIFIED BY tiger : 비밀번호를 tiger로 지정

- ACCOUNT UNLOCK : 계정을 사용 가능 상태로 전환

 

실습용 테이블

- DESC (DESCRIBE) : 테이블 구조 확인 

 

SQL의 기본

**SELECT [조회할 열1 이름], [열2 이름], ..., [열N 이름] FROM [조회할 테이블 이름];

 

EMP 테이블 열 전체 조회

SELECT * FROM EMP;

 

SELECT EMPNO, ENAME, DEPTNO

    FROM EMP;

 

- DISTINCT : 중복 데이터 삭제

SELECT DISTINCT DEPTNO

    FROM EMP;

 

별칭 설정

- COMM XXXX : 연산 및 가공된 문장 이후 한 칸 띄우고 별칭 지정

- COMM "XXXX" : 연산 및 가공된 문장 이후 한 칸 띄우고 별칭을 큰따옴표로 묶어서 지정

- COMM AS XXXX : 연산 및 가공된 문장 이후 한 칸 띄운 후 'AS', 한 칸 뒤에 별칭 지정

- COMM AS "XXXX" : 연산 및 가공된 문장 이후 한 칸 띄운 후 'AS', 한 칸 뒤에 별칭을 큰 따옴표로 묶어서 지정

 

테이블 정렬 (ORDER BY)

SELECT [조회할 열1 이름], [열2 이름], ..., [열N 이름] FROM [조회할 테이블 이름]

...

ORDERY BY [정렬하려는 열 이름];'

 

ASC 오름차순 어센딩

DESC 내림차순 디센딩

 

* ORDER BY절은 꼭 필요한 경우가 아니면 사용하지 않는 것이 권장됨. 비용을 소모하기 때문.

 

원하는 행 출력 (WHERE)

SELECT * FROM EMP;

    WHERE DEPTNO = 30;

 

조건식 (AND / OR)

SELECT * FROM EMP;

    WHERE DEPTNO = 30

      AND JOB = 'SALESMAN';

 

비교 연산자

- A = B : A값이 B값과 같을 경우 true, 다를 경우 false 반환

- A <> B :  A값이 B값과 다를 경우 true, 다를 경우 false 반환

 

논리 부정 연산자 (NOT)

IN 연산자

여러 개의 조건 앞에 IN 연산자를 사용

 

대소 비교 연산자 (BETWEEN A AND B)

 

일부 문자열 포함 연산자 (LIKE)

S로 시작하는 = LIKE 'S%';

S로 끝나는     = LIKE '%S';

두 번째 글자가 L = LIKE '_L%';

AM이 포함된 = LIKE '%AM%';

 

IS NULL 연산자

- 값이 존재하지 않음, 해당 사항 없음, 노출할 수 없는 값, 확정되지 않은 값

 

집합 연산자 (UNION)

- UNION : 합집합으로 묶어주고 중복은 제거됨

- UNION ALL : 합집합으로 묶어주고, 중복도 제거 없이 모두 출력

- MINUS : 차집합 처리

- INTERSECT : 결과 값이 같은 데이터만 출력, 교집합

 

 

반응형

댓글