구조적 질의어 (SQL, Structured Query Language) ( 1 )
·
DB
구조적 질의어란?관계형 데이터베이스에 정보를 저장하고 처리하기 위한 질의 언어(Query Language)이다. ☆ 그렇다면 질의 언어(Query Language)와 프로그래밍 언어(Programming Language) 는 뭐가 다른 걸까? ☆크게 나누면 Non Programming Language 에 질의 언어(Qeury Langauge)가 속하고 프로그래밍 언어가 있는 것이다!  질의 언어(Query Language)프로그래밍 언어(Programming Language)목적데이터 베이스와 상호작용 하기 위해서애플리케이션을 개발하기 위해서특징DB에서 정보를 질의 & 관리 용이다양하고 복잡한 로직을 구현하기 용이주 사용 예시SQL, CQLJava, Python, C++  SQL의 역할데이터 베이스에 정..
MySQL - InnoDB
·
DB
1. InnoDB  - MySQL의 Storage Engine 중 하나로, 트랜잭션 지원과 높은 안정성으로 주로 사용되는 엔진 중 하나이다.  - 대용량의 데이터를 다루고, 다른 여러가지 기능을 제공해준다. 2. Architecture  2-1.  In-Memory Structures1) Buffer Pool버퍼풀은 테이블 및 인덱스 데이터를 캐싱하는 메인 메모리 영역이다.쓰기 버퍼링 기능을 제공한다. 즉, 쿼리가 실행됐지만 아직 commit되지 않은 데이터들은 Buffer pool에서 들고 있게 된다는 것이다.쿼리가 실행됐는데, 해당하는 데이터들이 Buffer Pool에 없다면, 디스크에서 읽기/쓰기해서 가져오게 된다. 2) Change Buffer보조 인덱스 (Secondary Index)의 변화를 ..
MySQL Server
·
DB
1. MySQL Server  - 오픈소스 관계형 RDBMS 중 하나로 전세계에서 가장 많이 쓰이는 DBMS 중 하나이다.  - MySQL Server 는 크게 MySQL Engine과 Storage Engine으로 구성되어 있다.   - 여기서 중요한 점은 하나의 쿼리는 여러개의 하위 쿼리로 나뉘는데 이 하위 쿼리가 어느 영역에서 처리되는지 알아야한다.    - ArchitectureMySQL Server는 모든 언어에서 MySQL 서버로 쿼리를 사용할 수 있도록 지원한다. (SQL Interface)Storage Engine 의 경우 여러개를 둘 수 있지만, MySQL Engine은 오직 하나만 사용한다.Storage Engine을 통해 저장되는 실질적인 저장장치는 운영체제 하드웨어의 디스크이다.2...
RDBMS (Relationa DataBase Management System)
·
DB
1. RDBMS관계형 데이터 베이스 관리 시스템으로, 모든 데이터를 2차원 테이블의 형태로 표현하는 데이터베이스이다.RDBMS는 테이블이라는 최소 단위로 구성되며, 테이블은 하나 이상의 행과 열로 이루어져 있다.대표적으로 MySQL, MariaDB 등이 있다. 2. RDBMS 테이블 용어 정의릴레이션 : RDB에서 정보를 구분하여 저장하는 기본 단위이다. => 테이블속성 : 저장하고 싶은 객체의 항목들차수 : 속성의 수튜플 : 레코드이며, 테이블의 각 행들을 튜플이라고 한다.카디널리티 : 튜플의 수를 의미한다.스키마 : 데이터의 구조나 제약조건을 정의한 것인스턴스 : 데이터 베이스에 올라간 실데이터를 인스턴스라고 한다. 3. RDBMS의 종류MySQL, MaraiDB, Oracle...등등이 있다.
데이터 베이스 키(key)
·
DB
키 (key)후보키 (Candidate Key)릴레이션을 구성하는 속성 중에 튜플을 유일하게 식별할 수 있는 속성들의 부분집합을 의미한다.릴레이션은 반드시 하나 이상의 후보키를 가져야 한다.릴레이션에 있는 모든 튜플에 대해서 유일성과 최소성을 충족시켜야 한다.기본키 (Primary Key)후보키 중 선택한 주 키특정 튜플을 구별할 수 있는 유일한 키Null 값을 가질 수 없다(개체 무결성)동일한 값이 중복되어 저장될 수 없다.정수를 지향하고 유효 아이디(String 같은 문자열)을 지양한다.유효 아이디 사용 시 별도의 정렬을 위한 테이블이 필요하다.크기가 커질 가능성이 커서 불필요한 메모리 사용이 늘어난다.해결방안으로 TSID**, snow flake** 등이 있지만, 그래도 정수 사용을 권장한다. 굳이..
3단계 데이터 베이스 구조
·
DB
1. 인스턴스와 스키마스키마 - 데이터 베이스에 저장되는 데이터의 구조와 제약조건을 정의한 것스키마 : 데이터 베이스 : 테이블 = 평면도 : 집 : 방인스턴스(레코드) - 스키마에 따라 실제 데이터베이스에 저장된 값 2. 3단계 데이터 베이스 구조데이터 베이스를 보다 쉽게 이해하고, 이용할 수 있도록 하나의 데이터 베이스를 관점에 따라 세 단계로 나눈 것을 말한다.각 단계별로 다른 추상화(abstraction) 제공단계외부 단계 (외부 스키마 = 서브 스키마) - 개별 사용자 관점데이터 베이스에 여러 외부 스키마가 존재할 수 있다.외부 단계에서 사용자에게 필요한 데이터 베이스를 정의한 것사용자가 생각하는 DB의 모습, 논리적 구조가 다를 수 있다.개념 단계 (개념 스키마 = 스키마) - 조직의 전체적인..
데이터베이스 관리 시스템(DataBase Management System, DBMS)
·
DB
1. DBMS란?DBMS란 DB를 조작하는 별도의 소프트웨어로 DBMS를 통해 DB를 관리하여 응용프로그램들이 데이터를 공유하고, 사용할 수 있는 환경을 제공한다.DB내의 정보를 구성하는 프로그래밍의 집합 -> DB내 데이터를 통합적으로 관리해주는 시스템데이터의 중복성을 제거하고 유용성, 일관성, 무결성을 보장하기위해 자료를 제거하고 관리하는 소프트웨어 체계를 말한다. 2. DBMS의 특징DB 생성시 틀을 제공한다.응용 프로그램이 자료를 공유하도록 한다.응용프로그램이 DB에 접근 시 인터페이스를 제공한다.장애가 있는 데이터를 복구한다.효율적으로 데이터를 저장하고 검색하는 기능을 제공한다.사용자 권한에 따른 보안성 유지기능을 제공한다 3. DBMS의 기능정의 - 데이터의 형식, 구조, 제약조건들을 명시한다..
데이터 베이스 시스템과 파일 시스템
·
DB
1. 파일 시스템데이터를 파일로 저장 및 관리하는 시스템을 일컫는다.OS에 파일 시스템이 내장되어 있어, 주로 OS가 이를 수행한다.하나의 파일은 주로 하나의 응용 프로그램을 수행한다여러 기능을 구현하고 싶다면, 기능에 맞는 파일들이 필요하다.트리구조의 디렉토리들로 파일들을 저장한다.블록 단위로 파일을 저장한다.ex. 10KB의 파일을 4KB 블럭 3개를 할당받아 저장한다.(혹은 남은 블럭 중 2KB 이상을 갖고 있는 거에 저장)파일이 몇 개 없는 초기에는 괜찮을지 모르나, 점점 파일들이 쌓여나가 대용량이 된다면 데이터 중복성이 커져 후에 데이터 불일치가 일어날 수 있다.구현과 조작이 비교적 간편하다. 2. 데이터 베이스 시스템 DBMS를 두어 데이터를 통합 관리하는 시스템을 말한다. 즉, DB Syst..