데이터베이스 순위

당당하게 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 : 결과 값이 같은 데이터만 출력, 교집합
'개발 공부 Today I Learned' 카테고리의 다른 글
[국비 5일차 TIL] 뷰, 시퀀스, 동의어, 제약 조건 (0) | 2023.11.27 |
---|---|
[국비 4일차 TIL] 서브쿼리, DML, DDL, DCL (0) | 2023.11.24 |
[국비 3일차 TIL] SQL 함수 - 그룹화, 조인, 서브쿼리 (1) | 2023.11.23 |
[국비 2일차 TIL] 오라클 데이터베이스 함수 (내장, 숫자, 다중행) (1) | 2023.11.22 |
[2023. 11] 비전공자 개발자가 되기 위해 국비 학원 시작 (1) | 2023.11.21 |
댓글