DB (DataBase)
- 특징
- 공유 데이터
- 통합 데이터
- 운용(운영) 데이터
- 저장 데이터
- 응용프로그램(python등) ↔ DBMS ↔ DB
SQL (Structured Query Language)
: RDBMS에서 데이터를 다루고 관리하는 데 사용하는 데이터베이스 질의 언어
- DDL(데이터 정의어) : 스키마 구조 단위 - DB관리자,개발자 -
Create, Alter, Drop
- DML(데이터 조작어) : 행 단위 - 개발자,관리자 -
Select~From, Insert into~values , Delete~From, Update~Set
- DCL(데이터 제어어) : 관리자 -
Commit, Rollback, Revoke
RDB (Relational Database Management System)
: 관계형 데이터 모델 개념을 바탕으로 데이터를 저장/관리하는 데이터베이스
관계형 데이터 모델
- 1970년 에드거 프랭크 커드가 제안한 모델
- 현대에 가장 많이 사용하는 관계형 데이터베이스의 바탕이 되는 모델
- 데이터 간 관계에 초점을 둠
- 핵심 구성 요소 : 개체, 속성, 관계
- 개체(Entity) : DB에서 데이터화하려는 사물/개념의 정보 단위 (RDB의 테이블 개념에 대응)
- 속성(Attribute) : 개체를 구성하는 데이터의 가장 작은 논리적 단위 (RDB의 열 개념에 대응)
- 관계(Relationship) : 객체/속성 간 연관성을 나타내기 위해 사용 (RDB에서 테이블 간 관계를 외래키 등으로 구현)
관계형 데이터베이스(RDB)의 구성요소
- 테이블 : RDB는 기본적으로 데이터를 2차원 표 형태(행과 열)로 저장/관리
- 행(=로우=레코드=튜플) : 저장하려는 하나의 개체를 구성하는 여러 값을 가로로 늘어뜨린 형태 (ex. 학생 한 명의 데이터)
- 열(=칼럼=필드=아이템) : 저장하려는 데치터를 대표하는 이름과 공통 특성 정의 (ex. 학번, 이름, 학과 코드 등)
- 도메인 : 각 필드의 집합 (ex.이름들의 집합=이름 도메인)
- 키(특별한 의미를 지닌 열)
- 기본키(PK, Primary Key) : 레코드들을 구분하기 위한 열
- 대체키/보조키 : 기본키를 대체할 수 있는 키
- 후보키 = 기본키 + 대체키
- 외래키(FK, Foreign Key) : 다른 테이블에서 정보를 가져올 수 있는 키
- 복합키 : 둘 이상의 열을 사용하는 키
오라클 DB
: 대표적인 상용 관계형 데이터베이스 제품
자료형 (DATA TYPE)
- VARCHAR2(길이) : 가변 길이 문자열 데이터
- NUMBER(전체자릿수,소수점이하자릿수) : 숫자 데이터
- DATE : 날짜 데이터
- CHAR(길이) : 고정 길이 문자열 데이터
- BLOB : 대용량 이진 데이터 저장
- CLOB : 대용량 텍스트 데이터
객체 : 오라클 DB 내에서 데이터를 저장하고 관리하기 위한 논리 구조를 가진 구성요소
- 테이블 (TABLE) : 데이터를 저장하는 장소
- 인덱스 (INDEX) : 검색효율 높이기 위해 사용
- 뷰 (VIEW) : 여러 데이터를 논리적으로 연결하여 하나의 테이블처럼 사용
- 시퀀스 (SEQUENCE) : 일련번호 생성
- 시노님 (SYNONYM) : 오라클 객체의 별칭 지정
- 프로시저 (PROCEDURE) : 프로그래밍 연산/기능 수행, 반환값X
- 함수 (FUNCTION) : 프로그래밍 연산/기능 수행, 반환값O
- 패키지 (PACKAGE) : 관련 있는 프로시저와 함수 보관
- 트리거 (TRIGGER) : 데이터 관련 작업 연결/방지 관련 기능 제공
알고리즘 요건
- 정확성 (정답이 나와야함)
- 시간복잡도(=실행시간=명령어실행횟수) (⇒반복문보다는 공식을 사용해라)
- 공간복잡도(=메모리사용량)
- 소스간결성
- 최적화(=더 이상 고치지 않아도 되는 코드)