본문 바로가기
Study/혼공학습단

[혼공단9기] 혼공학습단 9기 1주차 - 데이터베이스, SQL 기초 맛보기(feat. 혼자 공부하는 SQL, 혼공S, 혼공스)

by 잇포에듀 2023. 1. 5.
반응형

[혼공단9기] 혼공학습단 9기 1주차 - 데이터베이스, SQL 기초 맛보기(feat. 혼자 공부하는 SQL, 혼공S, 혼공스)

 

이번 주 스터디 내용 요약

이번 주에는 혼자 공부하는 SQL 책의 1장 '데이터베이스와 SQL', 2장 '실전용 SQL 미리 맛보기'를 공부하였습니다.

 

 

먼저 1장에서는 데이터베이스의 개념을 익히고, 컴퓨터에 MySQL을 설치하였습니다.

  • 데이터베이스 (Database, DB) : 데이터의 집합
  • DBMS (Database Management System) : 데이터베이스를 관리하고 운영하는 소프트웨어
  • SQL (Structured Query Language) : 관계형 데이터베이스에서 사용되는 언어로, '에스큐엘' 또는 '시퀄'로 읽음.

MySQL은 책에 나온 그대로 MySQL Community 8.0.21 버전을 설치하였습니다. 다운로드 받으러 갔을 때는 8.0.30 버전이 최신이었지만 일단 책에 있는 버전으로 설치를 진행하였고 책에 나온 그대로 무리 없이 설치하였습니다. (컴퓨터가 혼자 한 번 꺼진 것 말고는...)

 

 

2장에서는 데이터베이스를 생성하고, 테이블을 생성하고, 자료를 입력, 수정, 삭제, 검색하는 과정들을 간단하게 경험해볼 수 있었습니다. 아직은 SQL 문법을 공부하기 전이라 MySQL Workbench에서 마우스를 클릭해가며 눈으로 확인하는 정도로 공부를 했습니다. 

 

그리고 아래 선택 미션에도 후술하겠지만 데이터베이스 개체 몇 가지에 대한 개념도 가볍게 익혀보았습니다. 

 

 

 

자~ 이제 이번 1주차의 미션을 소개하겠습니다.

# 진도 기본 미션 선택 미션
1주차
(1/2 ~ 1/8)
Chapter 01 ~ 02 p. 80의 shop_db의 회원 테이블(member)에서 아이유 회원에 대한 정보만 추출한 후 결과 화면 인증하기 데이터베이스 개체 3가지 설명하기

 


기본 미션

p. 80의 shop_db의 회원 테이블(member)에서 아이유 회원에 대한 정보만 추출한 후 결과 화면 인증하기

 

먼저 기존에 만든 회원 테이블(member)을 살펴보았습니다.

SELECT * FROM member;

 

이렇게 입력하면 아래와 같은 테이블을 확인할 수 있습니다.

 

 

여기에서 아이유 회원에 대한 정보만 추출하기 위해 WHERE를 이용합니다.

 

SELECT * FROM member WHERE member_name = '아이유';

 

 

어때요, 참 쉽죠?

 

 

 

선택 미션

데이터베이스 개체 3가지 설명하기


인덱스 INDEX

인덱스(index)는 책의 제일 뒤에 수록되는 '찾아보기'와 비슷한 개념. 많은 양의 데이터를 조회할 때 인덱스를 사용하면 결과가 나오는 시간을 대폭 줄여줌.

 

예시) member 테이블의 member_name 열에 인덱스를 지정하라.

CREATE INDEX idx_member_name ON member(member_name)

인덱스는 6장에서 구체적으로 공부할 예정.


뷰 VIEW

뷰(view)는 테이블과 상당히 동일한 성격의 데이터베이스 개체로 '가상의 테이블'. 실제 데이터를 가지고 있지 않으며, 진짜 테이블에 링크된 개념으로 이해할 수 있음. 뷰를 활용하면 보안도 강화하고, SQL 문도 간단하게 사용할 수 있음.

 

예시) 회원 테이블(member)과 연결되는 회원 뷰(member_view)를 만들어라.

CREATE VIEW member_view
AS
	SELECT * FROM member;

뷰는 7장에서 구체적으로 공부할 예정.


스토어드 프로시저 STORED PROCEDURE

스토어드 프로시저(stored procedure)는 MySQL에서 제공하는 프로그래밍 기능. 기본적인 형태의 일반 프로그래밍 로직을 코딩할 수 있음.

 

예시) 두 문장의 SQL을 하나의 스토어드 프로시저로 만들어라.

DELIMITER //
CREATE PROCEDURE myProc()
BEGIN
	SELECT * FROM member WHERE member_name = '나훈아';
	SELECT * FROM product WHERE product_name = '삼각김밥';
END //
DELIMITER ;

 

예시) 앞에서 만든 스토어드 프로시저를 호출하라.

CALL myProc();

 

스토어드 프로시져는 7장에서 구체적으로 공부할 예정.

 


데이터 베이스 개체는 이 외에도 트리거, 스토어드 함수, 커서 등도 있습니다.

 

6주간의 스터디 일정 중에 첫 주를 무사히 완료하였습니다. 이번 9기도 무사히 완주할 수 있기를!!

 

그리고...

 

혼자 공부하겠다는 결심을 꾸준히 실천하기가 참 어렵더라구요. 그래서 스스로에게 동기부여를 하고자 유튜브 라이브를 켜 놓고 공부를 해보고 있습니다. 아무런 준비없이 시작한거라 책상도 어수선하고, 고정적으로 진행하고 있지는 않습니다. 혹시라도 혼자 공부하느라 적적하신 분들 계시면 함께 공부해요^^

 

요일은 정해지지 않았고, 보통 밤 9시에서 12시 사이에 공부하려고 합니다. (2023년도의 계획이에요!!)

 

https://www.youtube.com/watch?v=sWtPlr9RSMk 

 

구독, 알림설정... 부탁은 해요...

 

 

http://bit.ly/3GlGmdm

 

혼자 공부하는 SQL - YES24

혼자 해도 충분하다! 1:1 과외하듯 배우는 데이터베이스 자습서(MySQL Community 8.0 지원)이 책은 아무런 사전 지식 없는 입문자가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있도록 구성했다. ‘무엇을

www.yes24.com

 

반응형

댓글