[혼공S] 1주차_데이터베이스와 SQL

서민지·2025년 7월 6일
0

폭포수 모델: 소프트웨어 개발 단계중 하나로, 폭포가 떨어지듯 개발단계가 진행된다.
인터넷 쇼핑몰을 구축하려한다.
이때 단계는 아래와 같다.
1.프로젝트 계획: 물건들을 온라인으로 판매하기 위한 계획
2.업무분석: 업무가 어떻게 돌아가는지 파악
3.시스템설계: 업무분석을 컴퓨터에 적응시키기 위해 다듬는 과정
4.프로그램구현:설계의 결과를 프로그래밍 언어로 코딩하는 단계
5.테스트: 오류 확인 과정
6.유지보수: 실제로 운영하면서 문제점 보완 및 기능 추가

위 단계의 단점은 폭포에서 내려가기는 쉬워도 거슬러 올라가기는 힘든 것처럼 문제가 발생할 경우 앞 단계로 돌아가기가 어렵다는 점이다.
하지만, 각 단계자체는 명확하기 때문에 지금도 많이 사용되고 있다.

우리가 진행할 데이터베이스 모델링은 폭포수 모델에서 업무분석과 시스템설계단계에 해당한다.

<데이터베이스 모델링>
데이터베이스 모델링: 사물이나 작업을 DBMS의 데이터베이스 개체로 옮기기위한 과정

<전체 데이터베이스 구성도>

그렇다면 이번엔 위와 같은 구조로 쇼핑몰 데이터 베이스를 만들어보자.
<데이터베이스 구축 절차>
데이터베이스 만들기--> 테이블만들기-->데이터입력/수정/삭제-->데이터 조회/활용
1. DBMS설치하기
기존에 설치한 MYSQL을 활용할 예정이다

2.데이터베이스 만들기

스키마(=데이터베이스)를 보면 기본적으로 들어있는 3개의 데이터베이스가 보인다.
여기서 create schema를 해서, 'shop_db'라는 데이테베이스를 만든다.

<테이블 만들기>
전체 데이터베이스 구성도를 보면 2개의 테이블이 보일것이다.
이 두개의 테이블을 만들어보자.

테이블을 생성하기 위해서도 설계가 필요하다.
열이름, 영문이름, 데이터형식, 문자의 최대길이, 널허용할건지안할건지를
설계한 후에 테이블을 생성하면 된다.

테이블이름은 member이고,
열은 id, name, address 가 있으며 데이터형식과 pk(기본키여부),NN(널허용)을 결정하여 테이블을 만든다.

실제로는 위와 같은 SQL코드로 테이블을 제작하게 된다.
product테이블도 위와 같은 방법으로 만든다.


<데이터 입력하기>
그다음엔 실제로 데이터를 입력한다.
회원테이블엔 4건, 제품테이블엔 3건의 데이터를 입력하였다.
스키마 패널에서 [shop_db]-[Tables]-[member]를 선택하고
마우스 오른쪽 버튼 클릭후 [selectRows-Limits 1000]을 선택한다.
그리고 데이터를 입력한다.


저장을 하게 되면, 기본키로 설정한 열을 기준으로 하여 오름차순으로 자동정렬된다.
product 테이블도 위와같은 방법으로 데이터를 입력한다.

+여기서 데이터를 삭제하거나, 추가하게 되면 SQL문으로 추가시에는 UPDATE문이 뜨고 삭제시에는 DELETE문이 뜬다.

<데이터 활용하기>
작업할 데이터베이스를 선택하기 위해 스키마 패널의 'shop_db'를 더블 클릭한다.
-->앞으로 입력할 SQL이 선택된 'shop_db'에 적용된다는 의미이다.


member테이블에서 이름과 주소 모두 출력하기

그 다음은 이번 과제인, 아이유회원에 대한 정보만 추출해 보자.
아이유 회원에 대한 모든 정보를 추출해야 됨으로 SELECT *를 활용한다.
결과 화면은 아래와 같다.

여기서 추가적으로 필요한 부분만 마우스로 드래그하여 실행하면 하나의 결과 탭만 생성되게 된다.

profile
컴공생의 전공 기록장

0개의 댓글