빅데이터를 어떻게 처리하는 지에 대해 알아보고 단계별로 어떤 기술이 적용되는지에 대해 공부한 내용을 정리
목차
데이터베이스(Database)
1. 데이터베이스와 DBMS
DB : 여러 숫자 데이터의 집합체이고 특정 데이터를 확인하고 싶을 때 쉽게 찾을 수 있도록 정리된 형태
DBMS(Database management system) : 데이터들을 관리하는 시스템을 제공하는 소프트웨어
1.1. DBMS 사용목적
-
- 생산성
- 시스템 개발과정에서 데이터 검색, 추가, 삭제, 갱신 등의 업무는 빈번함
- 이러한 기능을 DBMS가 제공함으로써 생산성 향상에 기
- 기능성
- 데이터베이스를 다루는 많은 기능을 제공
- 복수 사용자의 대응하거나 대용량의 데이터를 저장하고 고속으로 검색
- Multi User Multi Tasking
- 기능 확장을 위한 다양한 Interface 제
- 신뢰성
- 대규모 데이터를 안전하게 처리하기 위한 멀티 노드를 이용한 확장성(Scalbaility)과 부하분산(Load Balancing)
- 이러한 DBMS의 구성을 Clustering 또는 Scale Out이라 부름
- DBMS는 Import/Export 기능을 이용하여 데이터베이스를 활용하거나 백
- 생산성
1.2. SQL
- 사용자와 DBMS간의 대화에 필요한 언어가 SQL
- SQL은 RDBMS에서 사용
SQL을 통해 데이터 조작, 데이터 정의, 데이터 제어 등이 가능함.
◆DML
- Data Manipulation Language
- 데이터베이스에 데이터를 추가 또는 삭제하거나 내용을 갱신하는 등 데이터를 조작할 때 사용
- 기본
◆ DDL
- Data Definition Language
- 스키마, 테이블, 뷰 등의 "데이터베이스 객체(Object)"를 만들거나 삭제하는 명령어
◆ DCL
- Data Control Language
- Transcaction을 제어하는 명령과 데이터베이스 객체의 접근권한 등을 제어하는 명령어
1.3. 데이터베이스 종류
- RDB가 가장 많이 사용
- 계층형 데이터 베이스 : 계층구조의 저장방식의 데이터베이스
- 관계형 데이터 베이스 : 2차원 구조의 테이블 구조
- 객체 지향 데이터 베이스 : 객체를 처리하기 위하여 개발된 데이터베이스
- XML 데이터베이스 : XML의 마크업 문서를 저장하고 조회하기 위하여 개발, XQuery 사용
- key-value 스토어 : key_Value 구조의 NoSQL을 지하는 데이터베이스
1.4. 데이터베이스 서버
- RDBMS는 다수의 클라이언트를 지원하기 위하여 Client/Server 구조의 아키텍처
- 클라이언트가 SQL을 이용하여 서버에 데이터를 요청
- 서버는 SQL을 처리하여 클라이언트에 결과를 반환
- RDBMS는 사용자별 접근을 인증으로 통제
ID와 Password 필요◆ 3 Tier 구조
2. SQL를 이용한 테이블 검색
2.1. Hello World
◆ select * from 테이블명; 실행
특정 테이블을 선택해서 보여줌.
세미콜론 주의
2.1.1. Select 명령 구문
- select는 DML에 속하는 명령으로 SQL에서 가장 많이 활용
- 이 명령어를 통하여 데이터베이스에서 데이터를 읽어옴
- select 명령은 ‘질의’ 또는 ‘쿼리’라고 불리기도 함
2.1.2. 예약어와 데이터베이스 객체명
예약어 : select * from :
객체 : 테이블 뷰 등 다양하게 존재
- 조회하고자 하는 테이블이 존재하지 않을 경우 에러 발생
- 예약어는 데이터베이스 객체명으로 사용할 수 없음
- 예약어 및 데이터베이스 객체명은 대소문자를 구분하지 않음
2.1.2. 테이블
- select 명령을 실행하여 성공하면 표 형식의 데이터가 출력
- 표 형식의 데이터는 행(레코드)과 열(컬럼/필드)로 구성
- 행은 모두 동일 형태로 되어 있고 열이 옆으로 나열
- 열마다 컬럼명이 지정되고 동일한 자료형으로 구성
- 각각의 행과 열이 만나는 부분은 셀이라 하고 셀은 하나의 데이터 값을 출력
2.1.3. 값이 없는 데이터 = null
아무것도 저장되지 않은 상태를 의미
2.2. desc 명령
- 테이블의 구조를 확인하는 명령어
mysql > desc sample21;
2.2.1. 자료형
- 테이븛은 하나 이상의 컬럼으로 구성되면 desc 명령어로 그 구조를 참조
- 테이블의 각 컬럼은 동일한 자료형 사용
- 정수형 (int)
- 실수형 (float)
- char형 : 고정 길이 문자형
- char(12)
- 12개의 고정길이를 갖는다는 뜻
- 고정 길이 이상의 문자는 저장이 되지 않고, 길이가 짧은 문자는 공백문자를 채운 후 저장
- varchar형 : 가변 길이 문자형
- varchar(30)
- 30개의 최대 저장 길이를 지정하는 것 char형과 같지만 데이터 크기에 따라 저장공간 크기가 변경
- date 형 : 날짜의 데이터 형
- 0000-00-00 ~ 9999-12-31
- time 형 ; 시간의 데이터 형
- 12:09:10
- datetime 형 : 날짜와 시간의 데이터 형
- ’2019-12-25 12:09:10’
- year, timestamp
2.3. 검색 조건 지정하기
select 컬럼 from 테이블명 where 조건식;
- * 또는 컬럼명을 지정할 수 있음
- 테이블의 컬럼에 정의된 순서와 동일하지 않아도 됨.
2.3.1. Where 구
- where 구를 통해 필요한 레코드만 선택해서 지정할 수 있음
- where 뒤에는 조건을 표시
- 생략 시 전제 지정
- 컬럼 연산자 상수로 구성되고 조건이 참인 레코드만 선택
- 문자형과 날짜형의 자료는 싱글 쿼테이션(‘ ‘)으로 상수 지정
- 년월일은 하이픈(-)으로 시간은 콜론(:)으로 구분
- 자료형에 맞게 표시된 상수값을 리터럴(literal)이라 하고, 문자열 리터럴은 싱글 쿼데이션으로 표시
◆ Null 값 검색
'is null' 또는 'is not null'로 비교
◆ 비교 연산자
- = : 좌변과 우변의 값이 같을 경우 참
- <> : 좌변과 우변의 값이 다를 경우 참
- > : 좌변이 우변의 값보다 큰 경우 참
- >= : 좌변이 우변의 값보다 같거나 클 경우 참
- < : 좌변이 우변보다 작은 경우 참
- <= : 좌변이 우변보다 같거나 작을 경우 참
◆ 논리 연산자
And
Or
Not
◆ 패턴 매칭
- like : 문자형 데이터에 대하여 패턴 매칭
- 메타 문자 사용
- % : 임의 문자열
- _ : 임의 문자 하나
※ 검색 대상에 % 있는 경우 이스케이프 문자를 사용
마무리
테이블을 SQL을 통해 read하는 방법에 대해 익힘.
'데이터 > Database' 카테고리의 다른 글
[데이터베이스] MySQL을 통해 데이터베이스 설계를 위한 기초 내용 정리 (1) | 2023.04.21 |
---|---|
[데이터베이스] MySQL에서 복수 개의 테이블 다루는 데 필요 기초 내용 정리 (0) | 2023.04.20 |
[데이터베이스] MySQL 기초 문법 정리(데이터베이스 객체, 테이블 생성/삭제 변경) (0) | 2023.04.20 |
[데이터베이스] MySQL을 이용한 데이터의 추가, 삭제, 갱신에 대한 내용 정리 (0) | 2023.04.19 |
[데이터베이스] MySQL 기초 문법 정리 (정렬과 연산) (0) | 2023.04.19 |
댓글