데이터 분석가:Applied Data Analytics/SQL

혼자 공부하는 SQL-2장-2 데이터베이스

데이터분석 2025. 1. 5. 19:00
320x100
728x90

Project : 현실세계의 업무를 컴퓨터 시스템으로 옮겨 놓는 일련의 과정
데이터베이스 모델링(database modeling)
- 데이터베이스 구축 전 테이블의 구조를 미리 설계하는 과정.
- 폭포수 모델의 업무 분석과 시스템 설계 단계에 해당한다.

※ 데이터베이스 모델링에는 정답은 없다. 단지 좋은 모델링과 나쁜 모델링은 분명 존재한다.


폭포수 모델(waterfall model)
- 소프트웨어 개발 절차 중 하나, 위에서 아래로 폭포가 떨어지듯 개발 단계가 진행되기 때문에 붙여진 이름이다. (각 단계가 명확하다는 장점이 있으나 문제발생시 다시 앞단계로 돌아가기가 어렵다)


데이터 형식 (data type) 테이블의 열에 저장될 데이터의 형식.
- 문자형(CHAR), 정수형(INT), 날짜형(DATE) 등이 있다.
열(column) 테이블은 여러 개의 열로 구성되며 각 열을 구분하기 위해 열 이름을 사용한다.
행(row) 테이블의 가로, 실질적인  데이터(행 데이터)를 의미
스키마(schema) : MySQL 안에 들어 있는 데이터베이스
예약어(reserved word) : 기존에 약속된 SQL, SELECT, FROM, WHERE 등이 있다. 쿼리 창에서 입력시 파란색으로 표시
널(Null) : 비어 있는 값
널 허용 안함 : Not Null, NN (빈 값을 허용할지 않는 반드시 입력해야 하는 값)

 

소프트웨어 ≒ 프로그램 (프로그램은 좀더 작은 단위이나 구분없이 사용함)

소프트웨어 개발 절차중 폭포수 모델(waterfall model)이 있음.

소프트웨어 개발단계 : 프로젝트 계획 - 업무 분석 - 시스템 설계(업무 분석을 컴퓨터에 적용시키기 위해 다듬는 과정) - 프로그램 구현(프로그래밍 언어로 코당하는 단계) - 테스트 - 유지보수(운영하면서 문제점 보완 기능 추가 과정)

 

용어정의 

데이터(data) : 하나하나의 단편적인 정보

테이블(table) : 회원, 제품의 데이터를 입력하기 위해 표 형태로 표현한 것.

데이터베이트(Database, DB) : 테이블이 저장되는 저장소

DBMS(Database Management System) : 데이터베이스 관리 시스템 또는 소프트웨어(MySQL설치가 바로 DBMS이다)

열(column) : 테이블의 세로, 각 테이블은여러 개의 열(컬럼, 필드)로 구성.

열 이름 : 각 열을 구분하기 위한 이름, 열 이름은 각 테이블 내에서 서로 달라야 한다.(열이름은 영문으로 표현해야됨.)

데이터 형식 : 열에 저장될 데이터의 형식(숫자, 정수, 문자, 등)

행(row) : 실질적인 진짜 데이터

기본 키(Primary Key, PK) : 각 행을 구분하는 유일한 열을 말한다.(기본 키는 중복되거나 비어있으면 안된다)

SQL(Structured Query Language) : 구조화된 질의 언어 (사람과 DBMS가 소통하기 위한 언어)

 

MySQL 에서 테이블 Test1을 구성할 수 있다.

데이터베이스는 데이터를 저장하는 공간이다.

MySQL 설치후 → 데이터베이스 준비 → 데이터베이스 안에 테이블 생성 → 데이터 입력/수정/삭제 → 데이터 조회/활용

DBMS안에  데이터베이스를 만들 차례

 

좌측 하단 Schemas와 데이터베이스는 동일한 용어이다.

 

Schemas패널의 빈 부분에서 마우스의 오른쪽 버튼을 클릭한 후 Create Schema를 선택한다.
Name에 shop_db를 입력 이후 Apply

 

Apply클릭 후 SQL문이 자동 생성된다.
Schemas패널 목록에 shop_db가 추가됨.

 

Schemas패널의 Table 마우스 우클릭 후 Create Table
Table Name에 member입력후 Column Name의 첫번째 항목을 더블클릭
테이블 작성후 Apply

 

동일하게 Table을 만들고 Apply 하면 두개의 테이블을 만들수 있다 Schemas패널에 테이블생성 여기까지가 데이터를 입력하기 위한 테이블 구성이 완료된 상태

 

member 마우스 우클릭후 Select Rows - Limit 1000을 선택한다.

 

데이터를 입력하고 Apply Finish 버튼을 클릭하면 데이터가 입력된다.
테이블의 행을 삭제시 제일 앞에서 마우스 우클릭 후 Delete Row선택후 Apply 삭제이기 때문에 DELETE문이 생성된다.

 

데이터베이스 활용

SQL에서는 데이터베이스를 활용하기 위해 주로 SELECT문을 사용한다.

쿼리 창을 열지 않은상태에서 새SQL을 입력하기 위해 툴바의 Create a new SQL tab for executing queries아이콘을 클릭한다.

※ SQL을 입력할 수 있는 빈 창을 "SQL 탭" 또는 "쿼리 창"이라고 한다.

 

Schemas패널의 shop_db를 더블클릭하면 진하게 변경되는데 입력할 SQL이 선택된 shop_db에 적용된다는 의미임.
Query / Execute (All or Selection) 메뉴를 선택하거나 Ctrl+Shift+Enter 키를 눌러도 SQL을 실행할 수 있다.
SQL의 제일 뒤에는 세미콜론( ; )이 꼭 있어야 된다
회원 테이블 중에 이름과 주소만 출력한 화면.
필요한 SQL만 실행 할때는 마우스로 드래그 해서 선택한 후 실행하면 된다.