▶목차
▶ SQL 정의
Structured Query Language 구조화된 Query 언어
데이터베이스 용 프로그래밍 언어
데이터베이스에 쿼리를 보내 원하는 데이터만 뽑아올 수 있음
▶ 데이터베이스가 필요한 이유
- 클라이언트 쪽의 인메모리는 전원이 꺼지면 사라짐
- 서버에서 File로 저장
1. 각각의 프로그램별로 데이터 파일을 가지고 있다보니 데이터 종속성(데이터의 구성 방법이나 접근 방법을 변경할 때 이것을 기초로 한 응용 프로그램도 변경해야 함) 이 발생
2. 원하는 데이터만 가져올 수 없고 항상 모든 데이터를 가져온 뒤 서버에서 필터링 필요
- 데이터베이스
필터링 외에도 File I/O로 구현이 힘든 데이터 관리를 위한 기능들을 적용할 수 있는 데이터 집합
▶ SQL 기본 문법
- Select
- Where
- And, Or, Not
- Order By
- Insert Into
- Null Values
- Update
- Delete
- Count
- Like
- Wildcards
- Aliases
- Joins
- Inner Join
- Left Join
- Right Join
- Group By
- Having
실습사이트
SQL Exercises
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
▶ SELECT 실행 순서
- FROM
- WHERE
- GROUP BY
- HAVING
- SELECT
- ORDER BY
▶ ACID
Atomicity ( 원자성 )
하나의 트랜잭션에 속해있는 모든 작업이 전부 성공하거나 전부 실패
Consistency ( 일관성 )
하나의 트랜잭션 이전과 이후, 데이터베이스 상태는 이전과 같이 유효해야 함
Isolation ( 격리성, 고립성 )
모든 트랜잭션은 다른 트랜잭션으로부터 독립되어야 함
Durability ( 지속성 )
하나의 트랜잭션이 성공적으로 수행됐다면, 해당 트랜잭션에 대한 로그가 남아야 하고, 해당 기록이 영구적이어야 함
▶ SQL (구조화 쿼리 언어) vs NoSQL(비구조화 쿼리 언어)
- SQL
- 데이저 저장: 테이블에 데이터 저장
- 스키마: 고정된 형식의 스키마, 처리하려는 데이터 속성별로 열에 대한 정보를 미리 정해둬야 함. 나중에 스키마를 변경할 땐 데이터베이스 전체를 수정하거나 오프라인으로 전환해야 함
- 쿼리: 데이터베이스에 대해 정보를 요청하는 질의문
- 확장성: 수직적 확장
- ACID를 준수해야 하는 경우, 소프트웨어에 사용되는 데이터가 구조적이고 일관적인 경우
- MySQL, Oracle, SQLite, PostgresSQL, MariaDB
- NoSQL
- 데이터 저장: key-value, document, wide-column, graph 등의 방식
- 스키마: 비교적 동적으로 관리 가능. 행을 추가할 때 즉시 새로운 열 추가 가능, 개별 속성에 대해서 모든 열에 대한 데이터를 반드시 입력하지 않아도 됨
- 쿼리: 데이터 그룹 자체를 조회
- 확정성: 수평적 확장
- 데이터의 구조가 거의 또는 전혀 없는 대용량인 경우, 클라우드 컴퓨팅 및 저장공간을 최대한 활용하는 경우, 빠르게 서비스를 구축하는 과정에서 데이터 구조를 자주 업데이트 하는 경우
- Key-Value 타입: Redis, Dynamo
- 문서형 DB: MongoDB
- Wide-Column DB : Cassandra, HBase
- 그래프 DB: Neo4J, InfiniteGraph
참고
1) INNER 조인과 OUTER 조인 차이
[SQL] INNER 조인과 OUTER조인이 무엇인가요?
[광고] HWP 를 웹페이지에서 바로 열고, 편집하고, 저장하고 싶다면? 온라인으로-한글-HWP-파일-편집하기-폴라리스-오피스 폴라리스오피스 웹 한글 - 브라우저에서 무료로 사용하는 한글 한글 뷰어
stanleykou.tistory.com
2) DBMS 필요성
데이터 베이스 관리 시스템(DBMS) - 필요성, 정의, 기능, 장점, 단점
공부하고 이해한 내용을 줄글로 요약 정리하고 있습니다. 부족한 내용은 지속적으로 추가, 수정될 수 있습니다. 데이터베이스 관리 시스템의 필요성 데이터베이스(Database)는 데이터들을 묶어
daimhada.tistory.com
'부트캠프 기록 > Serction2' 카테고리의 다른 글
[데이터베이스] 이상현상과 정규화 (1) | 2022.10.08 |
---|---|
[데이터베이스] SQL DB Schema (0) | 2022.10.07 |
[네트워크]HTTP통신 (0) | 2022.10.05 |
[네트워크] 웹 애플리케이션 작동원리 (0) | 2022.10.01 |
[JAVA] Collectors 와 Collections 차이 (0) | 2022.09.28 |