학습 로그/c# c++

D+62[C+MySQL] DataBase, EED 에 대한 이해

goodjob^^ 2026. 7. 6. 17:34

ㅇ 일 자 : 2026년 7월 6일(월) 
ㅇ 주 제 : MySQL DataBase & ERD, EED 개념 이해

 
1. 주요 강조 사항

  • Database는 암기가 기본이다. SQL문법을 외우고 시작하라
  • Class를 배울때와 같이 SQL 기본문법을 이해하고 있어야 한다.
  • 백업, 보안 : DBMS가 있어서 회사마다 다른 보안정책이 있다. 그러한 서비스를 유료로 해결 솔루션까지 판매한다. 
  • 실습간 예시 HOST는 000 내에서만 접속이 가능하다.
  • 워크벤치 : + 아이콘 : 새로운 커넥션을 만들어서 다른 팀원의 DB로 접속이 가능하다.  
  • 서버와 데이터베이스를 연동해서 DB를 분석한다.
  • 로그인, 회원가입, DB연동해서 할 수 있어야 한다.
  • 파이참에 AI연동 해서 활용하도록 변화하고 있다.   
  • LLM기반 바이브코딩을 하는 개발자들은 다시 기본부터 로직을 배우고 있다
  •    * 기초지식을 알고 시작해야 원하는 개발을 진행할 수 있다.
  • 지금까지 프로젝트한 내용들과는 다른점은 "테이블"이라고 하는 물리적 공간에 데이터를 넣어서 관리하는 것만 다르다.
  • 프로그래밍언어에 데이터베이스를 연동시키면 된다.
  • 프로그램에서 모델이란 ""데이터""이다.   
  • 테이블 : 표 형태로 구성된 2차원 구조, 열과 행으로 구성됨
  • 물리적인 테이블 DB를 처리하는 것이 DBMS(MySQL)이다.
  • 데이터베이스 모델링 툴이 많이 있다.  (예, MYSQL Workbench)
  • 테이블 만들고 나면 EED다이어그램 자동으로 만들어 준다.


                                                                   
 
2. 데이터 베이스                        
 

2. 1. 엔티티 관계 다이어그램(ERD)
데이터베이스의 구조를 나타내는 시각적 청사진으로 데이터 객체(엔티티)가 시스템 내에서 어떻게 상호 작용하는지를 세 가지 주요 구성 요소, 즉 엔티티 (객체 또는 테이블), 속성 (특성 또는 열), 관계 (연결 및 카디널리티)를 사용하여 설명한다.
ERD는 일반적으로 세 가지 추상화 단계를 거쳐 진행된다.
① 개념적 ERD : 비즈니스 개념과 범위를 논의하는 데 사용되는 고수준 개요
② 논리적 ERD : 기본 키 및 외래 키와 같은 운영 및 트랜잭션 세부 정보를 추가하지만 데이터베이스에 종속되지 않는다.
③ 물리적 ERD : 특정 데이터베이스 관리 시스템에 맞춰 테이블 이름, 데이터 유형, 인덱스 등을 구체적으로 명시한 최종 구현 준비 완료 도면이다.
2.2. 두가지 방식 비교

구    분 워터풀(Waterfall) 방식 애자일(Agile) 방식
계획 방식 초기단계에 고정된 세부 계획 수립 유동적이고 지속적인 계획 수정
진행 흐름 요구분석 - 설계 - 개발 - 테스트 (순차적) 계획 - 개발 - 테스트 - 피드백(반복적)
요구사항 변경 변경이 어렵고 비용이 많이 든다 상시 수용 및 빠른 반영이 가능하다
결과물 확인 프로젝트의 최종 마무리 단계 짧은 주기마다 작동하는 제품 확인

 
2. 2. 데이터베이스(DB) 핵심 개념 요약

  • MySQL 개요 : 데이터를 효율적으로 저장·관리하는 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS)으로, 구조화 질의 언어(SQL)를 통해 제어한다.
  • 핵심 용어 정리       (예) 개발산출물 중 테이블명세서
    • 테이블(Table) : 행(Row)과 열(Column)로 구성된 데이터 저장의 기본 단위
    • 기본 키(PK) : 각 행을 고유하게 식별하는 값 (중복 및 빈 값 불가)
    • 외래 키(FK) : 테이블 간의 관계를 맺기 위해 다른 테이블의 PK와 연결하는 열

 
2. 3. 핵심 SQL 문법 (CRUD 및 확장)
가.  DML (데이터 조작어) 기본

  • 조회 (SELECT) : SELECT 컬럼 FROM 테이블 WHERE 조건;
  • 삽입 (INSERT) : INSERT INTO 테이블 (컬럼) VALUES (값);
  • 수정 (UPDATE) : UPDATE 테이블 SET 컬럼 = 새값 WHERE 조건;
  • 삭제 (DELETE) : DELETE FROM 테이블 WHERE 조건;

나.  자주 쓰는 확장 문법 및 실습 규칙

  • 조건절 (WHERE): LIKE '%김%' (패턴 매칭), BETWEEN A AND B (범위), IN (값1, 값2) (포함) 활용
  • 정렬 (ORDER BY): DB는 기본적으로 정렬되지 않은 상태로 데이터를 저장하므로 조회 시 정렬이 중요
    • DESC: 내림차순 정렬
    • ASC: 오름차순 정렬 (생략 시 기본값으로 적용)
  • 그룹화 (GROUP BY): 특정 기준별 집계 데이터를 도출 (COUNT, SUM 등과 연계).
  • 테이블 결합 (JOIN): INNER JOIN(교집합 데이터만)과 LEFT JOIN(왼쪽 테이블 기준 전체 출력)으로 다중 테이블 연계

 
3. IT 기술 및 시장 트렌드 분석

3.1.  RDBMS 시장 동향

  • ORACLE : 전 세계 대기업, 금융권, 공공기관의 핵심 시스템을 독점하는 1위 DB. 강력한 트랜잭션 및 보안성을 자랑하지만  라이선스 비용이 매우 고가임.
  • SQL Server (T-SQL) : 마이크로소프트(MS)의 자산, Windows 서버 환경과 최고의 호환성을 가진 엔터프라이즈급 고가 DB
  • MySQL & MariaDB : 오라클이 MySQL을 인수하자, 오픈소스 정신을 지키려던 핵심 개발자들이 MySQL을 기반으로 분가(Fork)하여 만든 것이 MariaDB. 두 DB는 상호 높은 호환성을 가진다.

 

3.1.  ERD & EED

  • ERD(Entity-Relationship Diagram)는 데이터베이스 설계의 핵심 도구이며, EED는 일반적인 IT 문서 체계에서 다루어지는 전기·전자 분야 문서(Electrical Engineering Document) 또는 특수한 엔터티 구조도(예: E-R 모델의 확장인 EER 등)를 의미한다.  

    1. ERD (개체-관계 다이어그램)
        ERD(Entity-Relationship Diagram)는 데이터베이스 설계의 가장 기초이자 핵심적인 모델링 도구. 복잡한 데이터 구조를 직관적으로 시각화하여 개발자, 기획자, 이해관계자 간의 원활한 의사소통을 돕는다.
    - 엔티티 (Entity): 저장할 가치가 있는 사람, 장소, 물건 등 데이터의 기본 단위 (예: 회원, 상품)
    - 속성 (Attribute): 엔티티가 가지는 세부 정보 및 특성 (예: 회원의 이름, 이메일)
    - 관계 (Relationship): 엔티티 간의 연결 상태로 데이터의 흐름을 정의 (예: 고객은 주문을 '한다')

    2. EED (전기·전자 문서 체계)
       일반적인 IT 및 엔지니어링 문서 체계에서 EED(Electrical and Electronic Documentation)는 전기 및 전자 하드웨어 설계의 핵심 요소와 관련된 표준화된 기술 문서 및 도면을 의미.
    - 회로도 (Schematic Diagram): 전기·전자 부품 간의 연결과 회로의 동작 원리를 기호와 선으로 표현한 도면.
    - 부품 명세서 (BOM, Bill of Materials): 회로를 구성하는 데 필요한 모든 전기, 전자 부품의 품명, 규격, 수량 등을 정리한 문서
    - PCB 레이아웃 (PCB Layout): 회로도를 실제 인쇄 회로 기판(PCB) 위에 구현하기 위해 부품의 배치와 구리 배선의 경로를 설계한 문서
    - 블록 다이어그램 (Block Diagram): 복잡한 시스템의 전체적인 구조와 신호 흐름을 단순한 사각형 블록으로 나누어 계층적으로 표현한 기술 문서
    - 데이터시트 (Datasheet): 개별 전자 부품의 전기적 특성, 동작 전압, 핀 배열, 성능 한계 등을 명시한 기술 사양 문서.