티스토리 뷰

SQL

SQL 뽀개기 - 1

세댕댕이 2021. 7. 21. 14:37

데이터베이스란? - 자료의 집합 또는 자료를 관리하는 기술

- 컴퓨터의 기억 능력을 활용하여 자료를 가공, 저장 및 활용하는 일체의 기술

 

자료 그 자체로는 유용하지 않음. 

자료를 활용하기 위해 합산, 집계 등의 알고리즘을 활용하여 정보로 가공하여야 한다.

-> 데이터베이스는 방대한 자료를 집약하여 저장할 뿐만 아니라 모아놓은 자료를 가공하여 유용한 정보를 뽑아내는 기술.

 

DBMS (DataBase Management System) - 사람과 HW의 중간에서 요청을 번역하여 데이터의 입출력을 관리하는 SW

- 데이터 관리만을 전담하는 소프트웨어 레이어. 

- 데이터를 다루는 방법이 획일화되어 재사용성 증가, 이식성 굳.. API같은 느낌? 중간다리

 

관계형 데이터베이스 (Relational Database / RDBMS)

- 모든 데이터를 표 형태의 테이블에 저장

- 직관적, 정보 탐색에 용이, 제약조건으로 무결성 확보

- 여러개의 테이블을 만들고 관계를 정의하여 복잡한 정보를 간결하게 저장할 수 있다

+

관계형 모델이란, 테이블이라는 2차원 구조에 데이터를 성격에 맞게 분리하여 가급적 중복되지 않게 저장하고, 필요한 데이터는 테이블간에 관계를 맺어 추출하는 것을 의미한다.

 

또한, CRUD가 서로 잘 동작해야 한다!

[Create, Read, Update, Delete]

 

 

SQL (Structed Query Language)

1. 대화식 언어이다! (질의언어)

- 일반적인 코딩 : 한번에 통으로 컴파일 하고 실행

- SQL : 단편적인 질문(질의), 명령을 내리는 즉시 실행하여 결과를 리턴 -> 짧고 간결

- 단독으로 쓰기보다는 자바같은 고수준 언어랑 섞어 쓰는경우가 많음, SQL은 질의만 처리하는 서브언어 담당으로

 

2. 선언적인 언어이다!

- 문제 푸는과정, 절차는 필요없고 내 요구사항만 전달(선언). 

- 요구만 하면 절차는 DBMS가 알아서 한다. 

 

+) SQL은 집합적인 언어이다

- SQL은 데이터를 한 건씩 처리하는게 아니라 임의의 조건에 부합하는 데이터 전체를 한번에 처리하기 때문에 SQL은 집합적 언어이다

 

테이블 : 책상

엔티티(Entity) : 테이블이 표현하는 대상, 세상의 모든것이 엔티티가 될 수 있다(유형, 무형 모두)

레코드(Record) / row : 테이블에 저장된 엔티티 하나(컬럼들의 묶음), 테이블의 >>가로줄<<에 해당

필드(Field) / column : 레코드의 세부속성(attribute), 테이블의 >>세로줄<<에 해당

 

필드 여러개가 모여 레코드가 되고, 레코드 여러개가 모여 테이블을 이룬다.

 

레코드 = Row = 행 = Tuple

필드 = Column = 열 = Attribute

 

데이터베이스에 저장되는 모든 것 -> DB 오브젝트, Object

(테이블, 인덱스, 뷰, 제약조건, 프로시저 등등등...)

 

명명규칙

- 대소문자는 구분하지 않음. 그렇다고 남발하면 안됨;;

- DB : 첫 자만 대문자

- 키워드 : 모두 대문자, SELECT, CREATE, DELETE...

- 테이블 : 첫자는 대문자, 구분을 위해 접두에 t를 붙이기도 함

- 필드 : camel 스타일인가? 어근은 대문자로

 

데이터 타입 Top 5

INT : 정수

DECIMAL : 실수

(특별한 경우가 아닌 이상 숫자 컬럼은 NUMBER형을 사용한다 - 정수, 실수 다 됨)

CHAR : 고정길이 문자열

VARCHAR : 가변길이 문자열

(특별한 경우가 아닌 이상 문자 컬럼은 VARCHAR2형을 사용한다)

(VARCHAR와 VARCHAR2의 차이는... 없다고 한다;;)

DATE : 날짜

 

NUMBER[(p, [s])]

p값: 유효숫자 갯수

s값: 소수점 이하 유효숫자 자릿수. 고정 소수점 숫자를 지정할때 사용 (생략가능)

 

[123.45를 표현하고 싶은데]

NUMBER(3) 일때 -> 123

NUMBER(3, 1) -> 123.5

NUMBER(3, 2) -> 123.45

NUMBER(3, -1) -> 120

 

'SQL' 카테고리의 다른 글

SQL 뽀개기 - 6 | 제약조건  (0) 2021.07.24
SQL 뽀개기 - 5 | 삽입, 삭제, 갱신  (0) 2021.07.23
SQL 뽀개기 - 4 | 데이터 집계  (0) 2021.07.23
SQL 뽀개기 - 3 | SELECT  (0) 2021.07.22
SQL 뽀개기 - 2 | SQL의 종류  (0) 2021.07.22
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
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
글 보관함