[혼공] Ch01~02. 데이터베이스와 SQL

Wilson·2022년 7월 9일

[혼공학습단]SQL

목록 보기
2/2
post-thumbnail

한빛미디어에서 진행하는 혼공학습단!

혼자서 공부하는 SQL 도전!!!




👊🔥1주차 미션을 향해 GOGO~👊🔥



Ch01. 핵심 내용

  • 데이터베이스(DB): 데이터의 집합

  • DBMS: 데이터베이스를 운영&관리하는 프로그램.

    • 여러 명의 사용자나 응용 프로그램과 공유하고 동시 접근이 가능해야함.
    • 파일의 단점을 보완, 대량의 데이터 효율적 관리&운영을 위해 등장.
  • SQL: 데이터베이스를 구축, 관리하고 활용하기 위해서 사용되는 언어

    • DBMS를 통해 정보를 입력,관리,추출.
  • (관계형)RDBMS: 최소 단위인 테이블로 구성되며, 하나 이상의 열과 행으로 이루어짐



Ch02. 핵심 내용

  • 프로젝트: 현실 세계를 컴퓨터 시스템으로 옮겨놓는 일련의 과정. 대규모 소프트 웨어를 작성하기 위한 전체 과정.

  • 폭포수 모델: 소프트웨어 개발 단계 중 하나

    • 장점: 각 단계가 구분되어 프로젝트 진행 단계가 명확하다.
    • 단점: 다시 앞 단계로 돌아가기가 어렵다.
    • 절차: 프로젝트 계획 > 업무 분석 > 시스템 설계 > 프로그램 구현 > 테스트 > 유지보수
  • 데이터베이스 모델링: 테이블의 구조를 미리 설계. 현실 세계에서 사용되는 작업이나 사물들을 DBMS의 테이블로 옮기기 위한 과정.

  • 기본키(primary key): 기본 키 열은 각 행을 구분하는 유일한 열

    • 중복X, 비어있으면 안됨.
    • 테이블에는 열이 여러 개 있지만 기본 키는 1개만 지정해야 함, 일반적으로 1개의 열에 지정.
    • 기본키로 설정한 열이 기준이 되어 오름차순으로 자동 정렬됨.
  • 데이터베이스 구축 절차: 데이터베이스 만들기 > 테이블 만들기 > 데이터 입력/수정/삭제 > 데이터 조회/활용

  • 테이블 설계: 테이블의 열 이름과 데이터 형식을 지정하는 것

    • 테이블 이름, 열 이름은 모두 소문자로 입력하기

명령어
입력INSERT
수정UPDATE
삭제DELETE

💡중요💡 SELECT 열이름 FROM 테이블이름 [WHERE 조건]

ex) SELECT * FROM 테이블이름 WHERE 열이름 = '값';
       => 특정 값에 해당하는 행만 조회



1주차 필수 미션


👉 member테이블에서 아이유에 해당하는 정보만 추출하기.

1주차 선택 미션

  • 데이터베이스 개체는 테이블, 인벡스, 뷰, 스토어드 프로시저, 트리거, 함수, 커서 등이 있다.
  1. 인덱스(INDEX): 책 뒤의 '찾아보기'와 비슷 한 개념.
    • 데이터를 빠르게 찾을 수 있도록 도와줌.
    • 결과가 나오는 시간을 대폭 줄여주는 인덱스 검색(Index Scan).
CREATE INDEX idx_member_name ON member(name)
  1. 뷰(VIEW): '바로 가기 아이콘'과 비슷한 개념. '가상의 테이블'
    • 실제 데이터를 가지고 있지 않으며, 진짜 테이블에 링크된 개념.
    • 뷰의 실체는 SELECT문
    • 장점: 보안 강화, 긴 SQL문을 간략하게 만들 수 있음.
CREATE VIEW member_view
AS
	SELECT * FROM member;
  1. 스토어드 프로시저(STORED PROCEDURE): 여러 개의 SQL을 묶어주거나 프로그래밍 기능을 제공.
    • 호출은 'CALL 프로시저이름';
DELIMITER // CREATE PROCEDURE myPROD() 
BEGIN 
		SELECT * FROM member WHERE name = '나훈아';
        SELECT * FROM member WHERE name = '삼각김밥';
END //
DELIMITER ;

명령어
생성CREATE
삭제DROP
profile
초보 개발자를 꿈꾸며 방황하는 사람

0개의 댓글