혼공SQL 1주차

PDJ4·2023년 7월 9일
0
post-thumbnail

Chapter 1

데이터베이스 DB : 데이터의 집합소.
DBMS Database Management System : 데이터베이스 관리 소프트웨어. DBMS는 여러 사용자 혹은 응용 프로그램과 공유하고 동시 접근이 가능해야 함.
DBMS Ex) MySQL / MariaDB / Oracle / SQL Server / SQLite / PostgreSQL

DBMS는 대량의 데이터를 효율적 관리 및 운영을 위한 프로그램이며, DBMS에 데이터를 구축, 관리하고 이를 활용하기 위해 사용하는 언어가 SQL Sturctured Query Language.

『DBMS의 분류』
1. 계층형 DBMS = Hierarchical DBMS : 시초의 DBMS 개념. 트리의 형태를 보임. 수정하기 어려움.
2. 망형 DBMS = Network DBMS : 기존 계층형에서 트리 하위 구성원끼리도 연결되어 있기에 상대적으로 정보수정에 있어 이점이 있음.
3. 관계형 DBMS = Relational DBMS = RDBMS : 대부분의 DBMS 형태.
RDBMS의 데이터베이스는 테이블 Table의 최소 단위로 구성되고, 이 Table은 하나 이상의 열 Column과 행 Row로 이뤄짐.

위와 같이 테이블이 만들어진다.
Column : ID(PK),이름,나이,소속,연락처
3 rows
자세한 내용은 하단에 정의와 함께 기록.

본 혼공SQL교재는 MySQL을 활용하며, 직접적인 설치 과정은 생략합니다.

MySQL Server가 DBMS를 의미하고, 이를 활용하기 위해선 서버에 접속해야하는데 MySQL Workbench가 이를 위한 도구로 보면 된다. 구글 웹서버와 크롬같은 웹 브라우저의 관계로 보면 딱 맞다.

해당 화면은 Workbench 초기 화면에서 instance에 접속 후 나오는 창이다. (프로그램을 설치 시 초기에 만든 password는 반드시 까먹으면 안되며, 해당 경우 서버에 접속할 수 없다.)

가운데 SQL문을 적을 수 있는 '쿼리 창', 우측엔 'SQL Addictions', 좌측엔 'Navigator 창', 하단에는 'Output 창'임을 볼 수 있으며

해당 기능을 통해 해당 위치의 창에 대해 온오프가 가능하다.

chapter 2

건축설계도처럼 데이터베이스 또한 그 내부를 설계해야 한다. 이를 데이터베이스 모델링 Database Modeling 이라고 부르며 대표적으로 폭포수 모델 waterfall model을 사용한다.
좀 더 자세하게는 살고 있는 세상에 사용되는 사물이나 작업을 DBMS의 데이터베이스 개체로 옮기기 위한 과정이라고 판단하면 된다.

프로젝트 project : 현실 세계에서 일어나는 업무를 컴퓨터 시스템으로 옮기는 과정. 대규모 소프트웨어를 작성하기 위한 전체 과정.

소프트웨어 개발 단계 ( using 폭포수 모델 ) : 1. 프로젝트 계획 - 2. 업무 분석 - 3. 시스템 설계 - 4. 프로그램 구현 - 5.테스트 - 6.유지보수

전체 데이터베이스 구성도 ( 내부 크기 순으로 나열 )

  1. DBMS : DB 관리 시스템 or 소프트웨어.
  2. 데이터베이스 Database = DB : 테이블이 저장되어있는 장소. 쇼핑몰 데이터베이스, 학생 정보 데이터베이스 등.
  3. 테이블 = Table : 회원이나 제품의 데이터를 표 형태로 표현한 것.
    (Table과 DB의 관계는 파일과 폴더의 관계로 보면 이해하기 쉽다.)
  4. 열 = Column : 테이블 내 세로를 의미하며, 컬럼마다의 각각의 이름이 해당 컬럼의 속성을 보여준다. ex) 이름, 전화번호, id, 물품 구매 여부 등
  5. 데이터 data : 하나하나의 단편적인 정보. 예시로 테이블 안에 들어있는 하나의 전화번호 (ex. 010-1234-5678)를 의미한다.
  6. 행 = Row( = Record ) : 실질적인 진짜 데이터. 테이블 내 하나의 row에는 테이블 내 여러 컬럼마당 속성값을 하나씩 갖고있기에 행 데이터라고도 한다. ex) 세윤/010-1234-5678/Abc123/Y
  7. 데이터 형식 : row에 저장될 데이터의 형식. 이는 테이블을 생성 시 열 이름과 함께 지정해줌.
  8. 기본 키 = Primary Key = PK : 컬럼 중에 각 row를 구분해주는 유일한 열을 의미. ID, 학번 등이 이에 해당하고, PK는 이에 따라 중복값이 있을 수 없고, 비어 있을 수도 없다.
  9. SQL : DBMS에서 작업하는 언어.

DB 구축 절차 : 0. DBMS(MySQL etc) 설치 - 1. DB만들기 - 2. 테이블 만들기 - 3. 테이블에 데이터 편집 - 4. 데이터 조회 및 활용

  1. DB만들기

MySQL Workbench -> Navigator 창에 Schemas(= 데이터베이스) -> Create Schema 선택 -> Name 명명하고, apply 실행 ( 본 글에선 책의 내용 따라 shop_db로 설정 ) -> DB 완성.

  1. 테이블 만들기

테이블 설계 및 구상 ->

원하는 DB ( 여기선 shop_db ) Schemas 패널에서 Tables 클릭 후 Create table 클릭 ->

구상한 테이블을 바탕으로 컬럼을 추가하고 Column Name, Datatype, PK, NN(Not Null) 등 설정 후 apply 누르면 끝.

상단에 사진으로 보이는 것은 member 회원 테이블이고, 추가적으로 제품 테이블인 product도 만들고 그 내용은 아래와 같다.

  1. 테이블에 데이터 편집

편집하고자 하는 데이터베이스 및 테이블 선택 후 마우스 오른쪽 버튼으로 select rows-limits 10000 선택 -> Result Grid 창에 NULL로 되어있는 곳들에 내용 추가

-> 우측 하단 Apply 버튼 클릭 시 SQL문으로 입력 내용을 생성해주고 추가적으로 Apply 클릭 시 끝.

product 테이블 row에 데이터 추가한 모습.

Result Grid 내 데이터의 추가와 수정은 직접 클릭하고 내용 수정하면 되는 간단한 작업이고, 삭제의 경우 Row의 삭제를 원하면 삭제를 원하는 Row의 제일 앞 부분을 클릭시 파란색으로 선택되는데 여기서 마우스 오른쪽 버튼 클릭 후 [Delete Row] 선택.

  1. 데이터 조회 및 활용

데이터베이스를 만들고, 데이터베이스 내부 테이블을 설계하고 데이터들을 채워넣은게 현재까지의 과정이다. 이후로는 SQL문을 활용해 데이터베이스 내 원하는 테이블의 원하는 row를 여러 조건을 통해 얻어내는 과정을 공부하며, 즉 앞으로는 데이터의 조회와 활용을 위한 SQL문을 공부한다.

간단한 맛보기 겸 혼공SQL 1주차 기본 미션을 진행한다.
1주차 기본 미션 : p.80의 shop_db의 회원 테이블에서 아이유 회원에 대한 정보만 추출한 후 결과 화면 인증하기.

답안 :

SELECT FROM member where member_name = "아이유";
( select 이후 row 가 들어가는데
는 all을 의미.
from 이후 table을 가리킴.
where 이후 조건문으로 이름이 아이유인 사람을 찾는 것이니 위 와 같은 코드가 작성. SQL작성이 끝나면 세미콜론은 필수! )

profile
STFOAJDI

0개의 댓글