본문 바로가기
728x90

데이터베이스8

[데이터베이스] MySQL 엔진 처리 동작 과정 쿼리파서쿼리파서는 쿼리를 요청 받았을 때 가장 먼저 작동하는 구간입니다. 사용자의 요청으로 들어온 SQL구문을 토큰으로 분리해 트리형태의 구조로 변경합니다. 쿼리파서는 쿼리를 파싱한후 SQL 구문의 문법오류 여부 확인합니다. 이후 전처리기로 보내게 됩니다. 전처리기전처리기는 SQL 쿼리의 유효성을 검증하는 중요한 단계입니다. 먼저, Parser가 만든 트리를 기반으로 SQL 구문의 유효성을 검사합니다. 각 토큰을 테이블이나 컬럼명, 내장 함수 등의 개체와 매핑하여 해당 객체의 존재 여부와 접근 권한을 확인합니다. 이 과정에서 권한이 없는 개체의 토큰은 걸러지게 됩니다. 옵티마이저옵티마이저는 SIUD와 같은 쿼리를 최적으로 실행하기 위한 실행 계획을 수립하는 프로세스입니다. 이때 비용 기반 최적화와 규칙 .. 2024. 5. 9.
[데이터베이스] MySQL의 구성 요소: 엔진과 스토리지 엔진 MySQL은 관계형 데이터베이스 관리 시스템(RDBMS)으로, 데이터의 저장, 관리, 접근을 담당하는 여러 구성 요소로 구성되어 있습니다. MySQL의 구성요소를 알면 쿼리문 하나 하나 날릴 때마다 어떤 식으로 동작하는 지 조금더 자세히 할수 있게 되고, 오류를 더 쉽게 수정할수 있을 듯합니다. 이 글에서는 MySQL의 핵심 구성 요소인 MySQL 엔진과 스토리지 엔진에 대해 살펴보겠습니다.MySQL 엔진MySQL 엔진은 클라이언트의 접속과 SQL 요청을 처리하는 역할을 합니다. 이를 위해 다음과 같은 논리적인 절차를 거칩니다. 일종의 사람에게서 두뇌와 같은 역할을 하며, 논리적인 절차로 결정을 내립니다.쿼리 파싱 및 전처리: 클라이언트로부터 받은 SQL 쿼리를 분석하여 문법적으로 올바른지 확인하고, 실.. 2024. 5. 8.
정보처리기사 실기 2020년 1회 : 데이터베이스, 네트워크, 알고리즘 1. 다음 ( ) 안에 들어갈 단어를 쓰시오. ( )은(는) 웹브라우저 간 HTML 문법이 호환되지 않는 문제와 SGML의 복잡함을 해결하기 위하여 개발된 다목적 마크업 언어이다. XML 2. 다음 ( ) 안에 들어갈 단어를 쓰시오. ( )은 속성-값 쌍(attribute-value pairs)으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷이다. AJAX에서 많이 사용되고 XML을 대체하는 주요 데이터 포맷이다. 언어 독립형 데이터 포맷으로 다양한 프로그래밍 언어에서 사용되고 있다.​ JSON 3. 다음은 릴리즈 노트의 구성 항목에 관한 설명이다. 설명하는 항목은 무엇인가? 릴리즈 노트 이름, 소프트웨어 이름, 릴리즈 버전, 릴리즈 날짜, 릴리즈 노트 날짜, 릴리즈 노트 버전 등.. 2024. 3. 30.
정보처리기사 실기 2020년 3회 1. 리팩토링의 목적에 대한 설명을 작성하시오. 소프트웨어를 보다 이해하기 쉽고, 수정하기 쉽도록 개선함 2. 다음의 출력 결과를 쓰시오. #include void main() { int c=0; int i=0; while(i 2024. 3. 26.
정보처리기사 실기 2020년 4회 : 네트워크 프로토콜, 소프트웨어 개발, 데이터베이스 관리, 암호화 기술, 컴퓨터 프로그래밍 1. 현재 IPv4의 확장형으로 IPv4가 가지고 있는 주소 고갈, 보안성, 이동성 지원 등의 문제점을 해결하기 위해서 개발된 128비트 주소체계를 갖는 차세대 인터넷 프로콜은 무엇인가? IPv6 2. 목적에 따른 디자인 패턴의 유형에는 생성(Creational) 패턴, 구조(Structural) 패턴, ( 괄호 ) 패턴이 있다. 괄호에 들어갈 알맞은 패턴 유형을 쓰시오. 행위(Behavioral) 3. 다음은 어떤 UML 다이어그램에 관한 예시이다. 어떤 종류의 다이어그램인가? 패키지 다이어그램 4. 데이터베이스의 회복(Recovery) 기법 중 Rollback 시 Redo, Undo가 모두 실행되는 트랜잭션 처리법으로 트랜잭션 수행 중 갱신 결과를 바로 DB에 반영하는 기법은 무엇인가? 즉시갱신 회복.. 2024. 3. 24.
정보처리기사 실기 2021년 1회 : 정보기술 관련 객관식 문제와 답안 1. 물리 네트워크(MAC) 주소에 해당하는 IP 주소를 알려주는 프로토콜로 역순 주소 결정 프로토콜을 무엇이라고 하는지 쓰시오. RARP (Reverse Address Resolution Protocol) 2. 다음은 DB 설계 절차에 관한 설명이다. 다음 빈칸에 들어갈 알맞은 용어를 쓰시오. ( A )은/는 특정 DBMS의 특성 및 성능을 고려하여 데이터베이스 저장 구조로 변환하는 과정으로 결과로 나오는 명세서는 테이블 정의서 등이 있다. ( B )은/는 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 과정으로 주요 산출물에는 E-R 다이어그램이 있다. ( C )은/는 목표 DBMS에 맞는 스키마 설계, 트랜잭션 인터페이스를 설계하는 정규화 과정을 수행한다. [보기] : .. 2024. 3. 21.
정보처리기사 실기 2021년 2회: 핵심 개념 정리 및 예시 문제 풀이 1. 네트워크 장치를 필요로하지 않고 네트워크 토폴로지가 동적으로 변화되는 특징이 있으며 응용 분야로는 긴급 구조, 긴급 회의, 전쟁터에서의 군사 네트워크에 활용되는 네트워크는? ad-hoc Network 2. 다음에서 설명하는 개념을 쓰시오. (1) 사람의 감정이나 경험을 나타내는 개념 (2) 사용자 인터페이스. 예로는 CLI이 있다. 1) UX 2) UI 3. 트랜잭션의 특징 중, 원자성(Atomicity)에 대해 약술하시오. 모두 반영되거나 반영되지 않아야하는 특성 4. 다음은 제 ( ) 정규형으로 부분 함수적 종속성 제거하여 완전 함수적 종속을 만족하는 정규형이다. 괄호안에 들어갈 답안을 쓰시오. [수강강의 테이블] 학생번호강좌이름강의실성적 501 데이터베이스 공학관 110 3.5 401 데이터베.. 2024. 3. 20.
Laravel에서 Eloquent 모델과 데이터베이스 테이블의 이름 일치시키기 소개: Laravel은 PHP 개발을 위한 강력한 프레임워크로, Eloquent ORM을 통해 데이터베이스와의 상호 작용을 간소화합니다. 그러나 때로는 Eloquent 모델과 데이터베이스 테이블 간의 이름이 일치하지 않아 문제가 발생할 수 있습니다. 이 글에서는 이러한 문제가 발생하는 이유와 해결 방법에 대해 알아보겠습니다. 문제 상황: 가령, Laravel에서 make:model 명령어를 사용하여 모델을 생성할 때, 해당 모델과 연결된 테이블은 기본적으로 복수형으로 끝나는 이름을 가집니다. 예를 들어, Flight 모델은 flights 테이블과 매핑됩니다. 하지만 때로는 개발자가 이러한 기본 규칙을 따르지 않고 테이블을 생성할 수 있습니다. 이 때문에 모델과 테이블 간의 이름이 일치하지 않는 상황이 발.. 2024. 3. 14.
728x90