일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 코드스테이츠 백엔드 후기
- 자바
- 해시
- codestates 국비지원 1기 합격 후기
- 코드스테이츠 합격
- Gamsgo
- 코테 합격후기
- 금융감독원 민원신청
- CodeState 후기
- 메서드
- 코드스테이츠 합격 후기
- Code States 백엔드 합격 후기
- 백내장 다초점렌즈 삽입술
- 에이치엘비
- 코드 스테이츠 백엔드 교육과정
- HLB
- 금감원
- 보험금 지급거절
- 코드스테이츠 부트캠프
- 코드스테이츠 부트캠프 합격 후기
- 금감원 백내장 민원
- Spring
- 코드스테이츠 백엔드 부트캠프 합격
- 백내장
- 백준 알고리즘
- Java
- 백내장 금감원
- 코드스테이츠 백엔드 교육과정
- 금융감독원
- 겜스고
Archives
- Today
- Total
개발하는 동그리
[SQL] 소개 본문
반응형
- In - Memory
- JavaScript에서 데이터를 다룰 때 프로그램이 실행될 떄만 존재하는 데이터
- JavaScript에서 변수를 만들어 저장한 후 프로그램을 종료하면 데이터도 함께 사라짐
- 변수나 데이터가 프로그램에 의존 ( 데이터의 수명, 프로그램 실행여부, 데이터 보호 )
- File I/O
- 장점
- 파일을 읽는 방식으로 작동하는 형태
- 엑셀 시트나 CSV 같은 파일에 적절한 방식
- 단점
- 데이터가 필요할때 전체 파일을 읽어야해서 파일이 커질 수록 비효율적
- 파일이 손상되거나 여러개 파일을 다룰 때 복잡해지고 비효율적
- 장점
- 관계형 데이터베이스
- 하나의 CSV 파일이나 엑셀 시트 한개의 테이블로 저장이 가능
- 한번에 여러개의 테이블을 가질 수 있어서 SQL을 활용해 데이터를 사용하기에 효율적
SQL 이란!?
SQL (Structured Query Language)은 데이터베이스 언어로 관계형 데이터베이스에서 사용된다.
Query 란!?
- 저장된 데이터를 검색어로 필터링 하는 것
- 따라서 데이터 베이스에 쿼리를 보내 원하는 데이터를 가져오거나 삽입할 수 있다.
- 구조화된 데이터만 SQL을 사용할 수 있다 ( NoSQL 같은경우 구조가 고정되어 있지 않아 사용 불가 )
트랜잭션 (Transaction)이란?
- 여러 개의 작업을 하나로 묶은 실행 유닛
- 각 트랜잭션은 하나의 특정 작업으로 시작해 묶여 있는 모든 작업을 완료하면 종료된다. 묶인 작업중 하나라도 실패하면 모든 작업은 실패한 것으로 판단한다. 성공 또는 실패 두가지 결과만 존재한다.
- 데이터베이스 트랜잭션은 ACID라는 특성을 가지고 있다.
ACID
- Atomicity (원자성) : 트랜잭션에 있는 작업이 실패했다면, 일부 성공한 작업에 대해서도 실패로 만들어 데이터 보호
- Consistency (일관성) : 기존의 상태(규약이나 규칙)를 유지해야 한다. ( 이름이 반드시 필요한 경우 이름 없이 추가하거나 삭제할 수 없다. )
- Isolation (격리성, 고립성) : 다른 트랜잭션과 독립되야 한다. ( 다른 트랜잭션의 내용을 할 수 없고, 순서에 무관 )
- Durability (지속성) : 트랜잭션이 성공시 로그가 남아야 함 ( 은행권에서 입금 후 데이터베이스 오류가 발생하도 입금한 로그를 확인할 수 있어야 함 )
SQL / NoSQL
데이터 베이스는 구조화 쿼리언어와 비구조화 쿼리언어로 구분할 수 있는데, 관계형은 SQL, 비관계형은 NoSQL로 데이터를 다룬다. 각각 만들어지는 방식, 정보의 종류, 저장 방법등의 차이가 있다. 관계형 데이터 베이스 (SQL)
- 테이블의 구조와 데이터 타입을 사전의 정의
- 테이블의 정의된 내용만 데이터 삽입 가능
- 행과 열로 구성된 테이블에 데이터 저장
- 각 열은 하나의 속성에 대한 정보
- 행은 각 열의데이터 형식에 맞는 데이터 저장
- 형식에 맞게 저장된 데이터베이스는 SQL을 활용해 원하는 정보를 쿼리할 수 있고, 이를 스키마가 뚜렷하다라고 표현한다.
- 테이블간의 관계를 직관적으로 파악할 수 있다.
대표적인 관계형 데이터 베이스 : MySQL, Oracle, SQLite, PostgresSQL, MariaDB
비관계형 데이터 베이스 (NoSQL)
- Key-Value 타입 : 속성과 데이터 값으로 연결된 데이터 값 (Redis, Dynamo)
- 문서형 데이터베이스 : 데이터를 문서처럼 저장 (MongoDB)
- Wide-Column 데이터베이스 : 데이터베이스의 열에 대한 데이터를 집중관리하는 데이터 베이스, 규모가 큰 데이터 분석에 주로 사용되며, 대표적으로 (Cassandra, HBase)
- 그래프 데이터베이스 : 자료구조의 그래프와 비슷한 형식으로 데이터의 관게를 구성 (Neo4J, InfiniteGraph)
반응형
'IT 정보 > 기타 정보' 카테고리의 다른 글
[SQL] ERD (Entity Relationship Diagram)설계 (14) | 2022.06.10 |
---|---|
[SQL] 명령어 모음 (9) | 2022.06.09 |
IntelliJ Plugin 추천 - (5가지) (13) | 2022.05.16 |
Git 기초 (1편) (10) | 2022.05.02 |
리눅스 [Linux] (0) | 2022.05.02 |