본문 바로가기

IT Study/SQL14

[SQLD] 데이터 모델링의 이해 (모델링,주요요소 트랜젝션) 모델링이란모델링 (Modeling) : 현실세계를 대상으로 일종의 모델(Model)을 만드는 것현실을 데이터베이스 구조로 만드는 것 약속된 표기법을 따라야 한다모델링의 특징 ("단추명")1. 추상화 (Abstraction)2. 단순화 (Simpification)3. 명확화 (Clarify)기타 (유연성, 유일성, 일관성)- 중복(Duplication) 최소화- 비유연성(Inflexibility) 최소화 - 데이터 정의와 데이터의 사용 프로세스를 분리해야 한다 - 데이터 독립성 : 데이터를 사용하는 사용자 영역과 데이터를 저장하는 디스크나 메모리 영역을 서로 분리하는 것- 비일관성(Inconsistency) 최소화 모델링의 세가지 관점1. 데이터 관점(대상, What)2. 프로세스 관점(처리방법.. 2025. 10. 16.
데이터 베이스의 기초 (용어 정리) 프로젝트를 진행하기 위해서는 대표적으로 폭포수 모델(Waterfall Model)을 사용프로젝트 계획 -> 업무 분석 -> 시스템 설계 -> 프로그램 구현 -> 테스트 -> 유지보수(여기에서 데이터베이스 모델링은 업무 분석과 시스템 설계 단계에 포함된다)용어 정리데이터 베이스 모델링 (DataBase Modeling)세상에 사용되는 사물이나 작업을 DBMS의 데이터베이스 개체로 옮기는 것 데이터베이스 (DataBase, DB) : 데이터의 집합 DBMS(Database Management System) :데이터베이스를 운영하고 관리하는 소프트웨어여러 사람이 동시에 접근이 가능해야 한다지원 SW : MySQL, Oracle, SQL Serve, MariaDB 등이 있음종류 : 주로 사용하는 것은 관계형 D.. 2025. 9. 5.
[생활코딩 SQL][Database] 관계형 데이터 모델링(part1,2) 데이터 모델링의 순서업무파악 -> 개념적 데이터 모델링 -> 논리적 데이터 모델링 -> 물리적 데이터 모델링 관계형 데이터 베이스 : 정보를 표에 담는 것을 목표로 한다 즉, 데이터 모델링 : 복잡한 현실을 컴퓨터에 담는법 데이터 모델링의 순서1. 업무파악 : 우리가 하려고 하는 일이 뭐냐 (기획서를 뱉는다)2. 개념적 데이터 모델링 : 어떤 개념이 있고 어떻게 상호작용하는지를 파악 (ERD를 뱉는다)3. 논리적 데이터 모델링 : 관계형 데이터 모델링에 맞는 표로써 개념을 전환하는 것 (표를 뱉는다)4. 물리적 데이터 모델링 : 어떤 데이터 베이스제품을 선택할 것인지 (코드를 작성)데이터 모델링이란"데이터를 현실로 부터 뜯어내서 고도의 추상화 과정을 거쳐서 컴퓨터에 담는 것" 업무파악실무자들과 정확.. 2022. 11. 28.
[생활코딩 SQL][MYSQL] JOIN 테이블 분할데이터 규모가 커지면 하나의 테이블로 정보를 담으면 너무 복잡해 져서테이블을 분할하고 테이블 간의 관계성을 부여하는 것이 일반적임. DROP TABLE IF EXISTS student;CREATE TABLE student ( id tinyint(4) NOT NULL, name char(4) NOT NULL, sex enum('남자','여자') NOT NULL, address varchar(50) NOT NULL, distance INT NOT NULL, birthday datetime NOT NULL, PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO student VALUES (2, '박재숙', '남자', '.. 2022. 11. 19.
[생활코딩 SQL][MYSQL] order by, group by 아래의 예시로 실습해보자DROP TABLE IF EXISTS student;CREATE TABLE student ( id tinyint(4) NOT NULL, name char(4) NOT NULL, sex enum('남자','여자') NOT NULL, address varchar(50) NOT NULL, distance INT NOT NULL, birthday datetime NOT NULL, PRIMARY KEY (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO student VALUES (2, '박재숙', '남자', '서울', 10, '1985-10-26 00:00:00');INSERT INTO student VALUES (1, '이숙.. 2022. 11. 19.
[생활코딩 SQL][10~13] MYSQL의 CRUD CRUD (데이터베이스가 무엇이든 반드시 가지고 있는 작업)Create : 생성(필수)Read : 읽기(필수)Update : 수정Delete : 삭제 => ex) 어떤 정보는 Update , Delete를 막음 (회계나 역사 같은거) 확인 하고 싶을 떄SHOW DATABASES;SHOW TABLES; 1. [Create Part] InsertINSERT INTO table_name (columns1, columns2, columns3, ...)VALUES (value1, value2, value3, ...)나 근데 내 Table의 columns가 뭐였는지 헷갈려...이때 사용하는 코드 : DESC (describe)DESC Table명;id -> 입력 안하면 auto_increment 된다. (그래서 .. 2022. 11. 14.