[혼공SQL] 1주차 (chapter1~2)

Choi Seung Been·2023년 7월 9일
0

혼공단

목록 보기
1/11
post-thumbnail

1주차 미션 시작!!

우선 데이터베이스에 대한 간략한 설명을 하자면

데이터베이스란 업무 수행에 필요한 자료들을 종류(테이블)별로 저장하고 상호 연관 지어 놓은 집합체이다.

특징으로는 실시간 접근성, 지속적인 변화, 동시 공유, 데이터 독립성이 있습니다.

데이터베이스 모델링은 테이블의 구조를 미리 설계하는 개념으로 건축 설계도를 그리는 과정과 유사합니다.

데이터베이스의 설계 단계

요구조건 분석 ➡️ 개념적 설계 ➡️ 논리적 설계 ➡️ 물리적 설계 ➡️ 구현 ➡️ 운영

데이터베이스 모델링

우리가 살고 있는 세상에서 사용되는 사물이나 작업을 DBMS의 데이터베이스 개체로 옮기기 위한 과정이라고 볼 수 있습니다.
➡️ 쉽게 말하자면 현실에서 쓰이는 것을 테이블로 변경하기 위한 작업이라고 볼 수 있습니다.

여기서 DBMS는 DataBase Management System으로 사용자 또는 관리자가 DB를 구축, 조작, 공유, 보호, 유지 및 보수할 수 있게 하고 응용프로그램의 요구를 처리하는 소프트웨어입니다.

테이블 : 데이터를 입력하기 위해 표 형태로 표현한 것

릴레이션(Relation) : 튜플들의 집합인 테이블을 의미

차수(Degree) : 하나의 릴레이션 내에 들어있는 속성의 개수

속성(Attribute) : 릴레이션 내의 하나의 열(column)을 의미. 필드(field)라도함

데이터 타입, 제약 조건(NOT NULL, UNIQUE, PRIMARY KEY, INDEX, CHECK, DEFAULT 등) 지정

데이터베이스 : 테이블이 저장되는 장소

카디널리티(Cardinality) : 하나의 릴레이션이 들어 있는 튜플의 수

튜플(Tuple) : 릴레이션 내의 하나의 행(row)를 의미. Record라고도 함

널(NULL) : 정보 없음의 표시.

[1주차 기본 미션!]

데이터베이스 구축 절차

데이터베이스 만들기 ➡️ 테이블 만들기 ➡️ 데이터 입력/수정/삭제하기 ➡️ 데이터 조회 및 활용하기

설치는 책과 인터넷을 보고 하면 빨라요 구글링~~
제가 참고한 사이트는 요기입니다🔽
MySQL 설치방법 참고!

MySQL 설치 후 접속

접속 후 좌측 하단에 [Administration]과 [Schemas] 둘 중에 [Schemas] 선택 후 우클릭을 누르고 Create Schema 선택한 후 shop_db 생성

shop_db ➡️ Tables➡️ 우클릭 ➡️ Create Table
이 과정을 통해 Table을 생성한다

설명은 끝났구 미션으로 넘어가봅시다

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

코드
결과

[선택미션😉]

1. 인덱스
➡️ 데이터베이스의 테이블에 대한 검색 속도를 향상시켜주는 자료구조이다.

위 코드를 실행했다면 인덱스를 만들지 않았기 때문에 테이블 전체가 조회된다.
또한 검색 시간도 정말 오래걸린다.
Execution Plan을 확인해보면 Full Table Scan이라고 나오는데 이건 전체 테이블을 조회했다는 의미이다.

인덱스 생성


하지만 인덱스를 만들어서 조회를 하면 전체 테이블을 조회하는 것이 아니라 인덱스에 해당하는 열만 조회하도록 하며 검색하는 시간을 단축 시켜준다.

2. 뷰
➡️ '가상의 테이블'이라고 할 수 있다. 관계 데이터베이스의 데이터베이스 언어 SQL에서 하나 이상의 테이블 (또는 다른 뷰)에서 원하는 모든 데이터를 선택하여, 그들을 사용자 정의하여 나타낸 것이다.
💡뷰의 장점💡
➡️ 보안에 도움이 된다.
➡️ 긴 SQL 문을 간략하게 만들 수 있다.

3. 스토어드 프로시저
➡️ 여러 개의 SQL을 묶어주거나, 프로그래밍 기능을 제공해준다.

위 코드를 묶어서 출력하고 싶다면 스토어드 프로시저를 사용하면 된다.


위 코드의 실행 결과를 보면 두 SQL을 실행한 것과 동일한 것을 확인할 수 있다.

profile
const backEnd = require("backEnd");

0개의 댓글