728x90
반응형
SMALL

안녕하세요, 혼자 공부하는 SQL을 보고 학습한 자료를 남깁니다.

 

데이터베이스 구축 절차

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

DBMS 설치하기

소프트웨어는 이미 설치를 하였다.

설치 시 원래 갖고 있던 system 데이터베이스 또는 sample 데이터베이스는 들어가 있다.

하지만 우리가 만들 쇼핑몰 데이터베이스는 아직 만들지 않았다.

쇼핑몰 데이터베이스를 만들어야 한다.

실습

 

schemas 는 데이터베이스와 같은 용어이다.

schemas 창을 우클릭 하고 'create schema'를 클릭하면

다음과 같이 데이터베이스를 만들 수 있다.

소문자로 적는 이유는 대문자로 적더라도 어차피 다시 소문자로 변환이 된다.

apply 버튼을 클릭하면

다음과 같은 창이 실행되고 SQL문을 볼 수 있다.

원칙은 우리가 MySQL workbench를 사용하지 않고 SQL문을 사용해서 데이터베이스를 만들어야 한다.

처음에는 우리가 익숙하지 않아서 workbench를 사용하도록 하고 후반부에는 우리가 SQL문을 사용하도록 할게요.

apply 버튼을 클릭하고 성공창을 보고 finish 버튼을 클릭하면

다음과 같이 shop_db가 만들어진 것을 볼 수가 있다.

File > Close Tab 을 클릭해서 Tab들을 모두 닫을 수 있다.

그러면 데이터 베이스를 완성하였고

다음과 같이 데이터베이스 안에 테이블을 만들 차례이다.

모델링을 했다는 가정 하에 표를 보고 테이블들을 만들어보겠습니다.

아이디, 회원 이름 그리고 주소는 전부 다 영어로 작성을 해야 한다.

아이디를 기본 키로 할 것이고 회원 이름은 영문 이름으로 주어야 한다.

테이블을 만들어보겠다.

shop_db를 우클릭하고 'create table' 버튼을 클릭한다.

Table Name에는 member를 소문자로 입력하고

Column에 더블 클릭을 하면 다음과 같이 Column Name과 Datatype 및 PK와 NN등을 설정할 수 있다.

테이블을 다 만들었으면

하단 우측에 Apply 버튼을 클릭하면

다음과 같은 창이 열리는 것을 볼 수 있다.

'Apply' 버튼을 클릭을 하면 테이블이 만들어진 것을 볼 수 있다.

shop_db > Tables > member > Columns 를 더블 클릭을 하면 다음과 같이 만들어진 컬럼들을 볼 수 있다.

다음과 같이 member, product 이렇게 두 개의 테이블을 만들었다.

데이터 입력하기

행은 열 단위로 넣는 것이 아니라 가로 단위로 넣어야 한다.

위와 같이 데이터를 간단하게 넣어볼 예정이다.

member 테이블에 우클릭하고 Select Rows - Limit 1000 을 클릭하면 

다음과 같은 창이 뜬 것을 볼 수가 있다.

result를 보면 데이터가 없어서 null이 나오는 것을 볼 수 있다.

result의 행을 더블 클릭하면 다음과 같이 데이터를 입력하거나 수정할 수 있다.

다음과 같이 창이 부족할 경우 늘려서 창의 크기를 늘릴 수 있다.

member_addr 탭을 늘린 화면이다.

이렇게 더블클릭하여 데이터를 입력할 수 있다.

다음 화면은 데이터 4개를 입력한 것이다.

Apply 버튼을 클릭을 하면

다음과 같은 창이 뜬 것을 볼 수 있다.

'Apply' 버튼을 클릭을 하면 

데이터가 성공적으로 입력이 된 것을 확인할 수 있다.

product 테이블에도 데이터를 입력하였다.

다시 새로운 데이터를 member 테이블에 추가해보겠다.

select rows - limit 1000 버튼을 클릭하고 result 창에서 새로운 행을 더블클릭 한 다음 새로운 데이터를 입력하고 'Apply' 버튼을 클릭을 하면 

다음과 같이 SQL문이 자동 완성되는 것을 볼 수 있다.

머라이어가 '영국 런던 먹자골목'으로 이사를 갔다고 가정을 해보자.

머라이어 행의 member_addr을 더블클릭하고 다음과 같이 데이터를 수정한다.

그리고 'Apply'버튼을 클릭을 하면

만일 회원이 탈퇴를 했어요.

그러면 ▶ 버튼이 있는 곳에 우클릭하고 Delete Row(s) 버튼을 클릭하면 

다음과 같이 행이 지워지는 것을 볼 수가 있다.

'Apply' 버튼을 클릭하면

다음과 같이 SQL문이 나오고 'Apply' 버튼을 클릭을 하면 

행이 완전히 삭제가 된 것을 볼 수 있다.

이렇게 다음 표와 같이 데이터 베이스 구축을 완전히 완료를 했다.

안에 테이블을 만들었고, 데이터를 입력했고, 수정도 했고 삭제도 했다. 이렇게 데이터베이스 구축을 완전히 끝냈다.

데이터의 활용이 더 중요하다.

SELECT문이라는 아주 중요한 쿼리문을 배워볼 것이다.

데이터를 다 만들었으니 데이터를 다 조회하는 것을 해보겠다.

SELECT 문을 소문자로 입력할 수도 있지만 대문자로 입력을 했다.

예약어이기 때문이다.

예를 들어 CALL을 입력하면 안 된다.

예약어가 아니기 때문이다. 약속된 것이 아니기 때문이다.

SELECT * INTO 이렇게도 입력하면 안 된다.

예약어가 아니기 때문이다. 약속된 것이 아니기 때문이다.

* 를 통해서 모든 테이블의 열들을 볼 수 있다.

SQL문을 실행하기 위해서 shop_db를 더블클릭을 하면 다음과 같이 좌측 창에 shop_db가 조금 두꺼워졌다.

지금부터 SQL문에 작성한 member 테이블은 shop_db안에 있다.

그리고 이 SQL문은 shop_db한테 적용시킨다는 의미가 된다.

드래그 해서 번개버튼을 누르면

다음과 같이 result가 나타나는 것을 볼 수가 있다.

보고 싶은 데이터를 특정하고 싶다면

열을 직접 입력하여 SELECT문을 작성할 수도 있다.

member_name과 member_addr 이렇게 보시면

이 두개의 열만 볼 수 있다.

출력을 해보면

다음과 같이 두 개의 열이 출력되는 것을 볼 수 있다.

또 다른 예제로 member_name이 '아이유'인 데이터만 보고 싶다

그러면 WHERE절에 member_name='아이유' 절을 추가해서

다음 result에 나오는 것과 같이 아이유 데이터만 볼 수 있다.

만일 다음과 같이 두개의 SQL문을 작성을 해서 실행을 하면

member5, member6 이렇게 두 개의 탭으로 나누어서 result가 나오는 것을 볼 수가 있다.

쿼리문을 두개를 동시에 날리는 경우는 드물다.

그래서 보통 선택해서 쿼리문을 실행을 한다.

SCHEMAS창에서 shop_db를 우클릭하고 'Drop Schema...' 버튼을 클릭을 하면 

shop_db를 지우고 다시 만들어서 연습해 볼 수 있다.

아니면 shop_db2를 만들어서 작업을 해도 된다.

이 내용에 대해 자세히 이해하면 좋다.

 

감사합니다.

https://www.youtube.com/watch?v=EftIRlr6rPI&list=PLVsNizTWUw7GCfy5RH27cQL5MeKYnl8Pm&index=5

 

728x90
반응형
LIST
728x90
반응형
SMALL

안녕하세요, 혼자 공부하는 SQL을 보고 학습한 자료를 남깁니다.

 

데이터베이스 모델링

데이터베이스 모델링은 건축 설계도와 같다.

프로젝트 진행 단계

프로젝트 - 현실 세계에서 일어나는 업무를 컴퓨터 시스템으로 옮겨놓는 과정이다.

더 쉽게는 '대규모 소프트웨어'를 작성하기 위한 전체적인 과정이라고 볼 수 있다.

간단한 프로젝트는 한 두명이 작업 가능하다.

복잡한 프로젝트는 한 두명이서 작업하는 것은 불가능하다.

대표적인 모델은 '폭포수 모델'이다.

폭포수가 떨이지듯이 작업을 하는 것이다. 단계별로 프로젝트를 진행하는 것이다.

1. 프로젝트 계획, 2. 업무 분석, 3. 시스템 설계, 4. 프로그램 구현, 5. 테스트, 6. 유지보수

 

일반적으로 데이터 베이스 모델링은 시스템 설계에 속한다.

우리가 살고 있는 세계를 데이터베이스에 넣기 위한 작업

데이터베이스 안에는 테이블들이 필요하다. 현실세계에서 테이블이 오는 것이다.

예를 들어 회원 테이블, 직원 테이블, 구매 테이블, 물품 테이블

이런식으로 테이블을 만들 수 있습니다.

 

데이터 모델링은 정답은 없다.

현실세계에서 추출을 할 때 사람에 따라서 다르게 추출을 할 수 있다.

하지만 모범답안 정도는 있다.

설계도를 잘 못 그리면 건축물이 안 예쁘거나 위험할 수 있다.

그렇듯이 데이터베이스 모델들도 좋은 모델링과 나쁜 모델링도 존재한다.

데이터 모델링이 완료된 작업은 다음과 같다.

전체 데이터베이스 설계도의 모습이다.

컴퓨터의 폴더와 약간 비슷하다. 파일들이 들어갈 수 있다. 그게 테이블이라고 볼 수 있다.

우리가 관심을 갖을 것은 쇼핑몰 데이터 베이스이다. 슈퍼마켓을 옮겨놓은 것이라고 볼 수 있다.

ID는 중복이 되면 안 된다.

id는 문자로 해야 된다. 회원 이름도 문자 그리고 주소도 문자로 넣어야 한다.

하지만 가격은 숫자로 넣어야 한다. 정확한 숫자가 적혀있어야겠죠.

제조일자는 날짜가 적혀있어야겠죠.

이것이 바로 데이터 타입입니다.

 

감사합니다.

https://www.youtube.com/watch?v=j2DAiY-OXGs&list=PLVsNizTWUw7GCfy5RH27cQL5MeKYnl8Pm&index=4

 

728x90
반응형
LIST
728x90
반응형
SMALL

안녕하세요, 혼자 공부하는 SQL을 보고 학습한 자료를 남깁니다.

 

MySQL은 교육용은 무료 (Community)

상용은 유료입니다. (Standard, Enterprise, Cluster CGE)

 

MySQL 설치를 위한 컴퓨터 환경

64bit Windows 10 (또는 11)

 

MySQL 다운로드 및 설치

msi는 그냥 설치할 수 있는 프로그램입니다.

허용이 나오면 예를 누르시면 됩니다.

Custom으로 설치합니다. (우리가 필요한 것만 설치하면 됩니다.)

- MySQL Server > MySQL Server 8.0.21

- Application >  MySQL Workbench

- Documentations > Sample and Examples 8.0.21 (샘플 데이터를 사용할 예정)

이렇게 세 가지를 설치를 합니다.

- Product Configuration > Standalone mysql 체크 > config type 확인 및 TCP/IP 체크 > Authentication Method > Use Legacy Authentication Method  선택 > Accounts and Rules 에서 password 설정 > mysql service name 설정 > execute 클릭

- Sample 데이터베이스 다운로드 > username과 패스워드 입력 > execute 클릭

 

#mysql workbench

mysql server에 접속을 해서 sql 작동을 주고 받고 주고 받고 한다.

root는 현재 내 컴퓨터에 있는 mysql에 접속하겠다는 의미이다.

 

#workbench 사용 방법

오른쪽에 있는 파란색 네모들을 보고 좌단, 하단, 우측단을 켜거나 끌 수 있다.

가운데 있는 창은 메모장과 같은 창이다. 이를 통해 SQL문 작성이 가능하다.

SHOW DATABASES; 는 자바의 Hello, World와 같은 문구이다.

DBMS는 데이터베이스를 관리하는 소프트웨어이다.

한 개가 아니라 여러개의 데이터베이스가 있다.

그 데이터베이스들이 바로 조회된 목록이다.

메모창을 닫으려면 탭에 SQL File4 옆에 x를 누르면 닫힙니다.

새창을 열고 싶으시면

File > New Query Tab 을 클릭하면 새창이 열리는 것을 볼 수 있다.

File > Exit 를 클릭하면 MySQL Workbench가 닫히는 것을 볼 수가 있다.

 

감사합니다.

https://www.youtube.com/watch?v=8r1W_7nuo2U&list=PLVsNizTWUw7GCfy5RH27cQL5MeKYnl8Pm&index=3

 

728x90
반응형
LIST
728x90
반응형
SMALL

안녕하세요, 혼자 공부하는 SQL을 보고 학습한 자료를 남깁니다.

 

MySQL은 교육용은 무료 (Community)

상용은 유료입니다. (Standard, Enterprise, Cluster CGE)

 

MySQL 설치를 위한 컴퓨터 환경

64bit Windows 10 (또는 11)

 

MySQL 다운로드 및 설치

msi는 그냥 설치할 수 있는 프로그램입니다.

허용이 나오면 예를 누르시면 됩니다.

Custom으로 설치합니다. (우리가 필요한 것만 설치하면 됩니다.)

- MySQL Server > MySQL Server 8.0.21

- Application >  MySQL Workbench

- Documentations > Sample and Examples 8.0.21 (샘플 데이터를 사용할 예정)

이렇게 세 가지를 설치를 합니다.

- Product Configuration > Standalone mysql 체크 > config type 확인 및 TCP/IP 체크 > Authentication Method > Use Legacy Authentication Method  선택 > Accounts and Rules 에서 password 설정 > mysql service name 설정 > execute 클릭

- Sample 데이터베이스 다운로드 > username과 패스워드 입력 > execute 클릭

 

#mysql workbench

mysql server에 접속을 해서 sql 작동을 주고 받고 주고 받고 한다.

root는 현재 내 컴퓨터에 있는 mysql에 접속하겠다는 의미이다.

 

 

 

 

 

 

 

감사합니다.

https://www.youtube.com/watch?v=8r1W_7nuo2U&list=PLVsNizTWUw7GCfy5RH27cQL5MeKYnl8Pm&index=3

 

728x90
반응형
LIST
728x90
반응형
SMALL

안녕하세요 혼자 공부하는 SQL을 공부하고 학습한 자료를 남깁니다.

+ MySQL Community 8.0 지원

+ DB와 소통하는 언어

데이터베이스는 우리 삶에 가까이에 있다.

우리 일상 생활 속의 정보가 저장되는 것입니다.

많은 것들이 데이터베이스에 저장되어 있다.

데이터의 집합이라고 표현을 할 수가 있다.

예를 들어, 카톡의 메시지, 커피의 가격

이 모든 것이 다 모여있는 것을 데이터베이스 (데이터의 집합)이라고 할 수 있습니다.

 

DBMS는 Database Management System입니다.

엑셀도 비슷하지만, 엑셀은 DB라고 불리우지는 않습니다.

그 이유는 대용량이 아니기 때문입니다.

데이터베이스는 대용량을 관리할 수 있어야 하기 때문입니다.

 

엑셀로 DB 만들어보기 

서로 동시에 엑셀에 데이터를 저장할 수는 없다.

하지만 데이터베이스는 여러명이 동시에 데이터를 읽고 쓰는 등 관리를 할 수가 있다.

 

DBMS의 종류

문서를 작성하고 싶다면 아래아 한글 또는 워드 프로그램을 사용을 하면 됩니다.

표 계산을 위해서는 엑셀 또는 한셀 등의 프로그램을 사용을 해야 합니다.

사진 편집을 하려면 포토샵 등의 프로그램을 사용을 하면 됩니다.

DB를 사용을 하고 싶어요. 그러면 mariadb 또는 mysql 등 여러 프로그램을 사용해도 무방하다.

mariadb는 완전 무료이다.

오픈 소스는 무료라고 보시면 됩니다.

 

대용량 데이터 처리는 Oracle이 많이 사용됩니다.

 

DBMS의 발전과정 

- 종이에 팬으로 기록

- 컴퓨터에 파일로 저장 (예를 들어 메모장)

엑셀은 각각 따로 따로 엑셀을 갖고 있어야 해요.

파일이 덮어 쓰일 수도 있고

그래서 엑셀은 한명이 작업하기에는 너무나도 편리한 툴인데 

대용량 그리고 여러명이 동시에 사용하려면 어려움이 많이 생겨요.

 

그래서 출현한 것이 바로 DBMS이다.

대용량이며 동시에 사용할 수 있다.

SQL은 Structured Query Language라고 부른다.

 

계층형 DBMS 그리고 망형 DBMS가 있다.

관계형 DBMS이다.

테이블은 열과 행으로 이루어졌습니다.

 

DBMS에서 사용되는 언어:SQL

표준 SQL을 통해서 여러 DBMS를 사용할 수 있다.

그리고 다른 자신들의 특징을 추가시킨다.

Oracle, SQL Server, MySQL

그래서 표준적인 SQL을 가능하면 지켜서 하려고 한다.

향후에 실무에서나 다른 DBMS를 공부했을 때 표준 SQL을 사용한다면 다른 DBMS를 사용하게 되더라도 굉장히 익숙할 것이다.

 

감사합니다.

https://www.youtube.com/watch?v=0cRhit1EJM0&list=PLVsNizTWUw7GCfy5RH27cQL5MeKYnl8Pm

 

728x90
반응형
LIST

+ Recent posts