Index

 

1. 데이터베이스 모델링

2. 데이터베이스 생성

3. 데이터베이스 개체

 


 

 

 

 

1. 데이터베이스 모델링

 

(1) 데이터베이스란?

데이터를 저장하는 공간

데이터베이스는 구조화된 정보 또는 데이터의 조직화된 모음으로서

일반적으로 컴퓨터 시스템에 전자적으로 저장된다. 

 

 

(2) 데이터베이스 모델링이란?

현실 세계에서 사용되는 작업이나 사물들을 DBMS의 테이블로 옮기기 위한 과정

즉, 직원, 고객, 물품, 구매 등 현실 세계 마트에서 일어나는 것들을

DBMS의 테이블로 변경하기 위한 과정이다.

 

 

 

 

2. 데이터베이스 생성

 

회사의 공용 냉장고에 들어있는 식자재를 효율적으로 관리하기 위해

데이터베이스에 저장하려고 한다.

다음 실습을 통해 데이터베이스와 테이블을 생성하여

데이터를 입력하는 방법에 대해 자세히 알아보도록 하자. (mysql 사용)

 

(1) 데이터베이스 생성하기

SCHEMAS 창 빈 공간에서 마우스 오른쪽 버튼을 클릭하고, Create Shema를 클릭한다.

 

Name에 데이터베이스의 이름을 입력하고, Apply를 클릭한다.

 

다시 한번 Apply를 클릭하고, 다음 창에서 Finish를 클릭하면 데이터베이스가 생성된다.

 

SCHEMAS 창에 'refrigerator_db' 데이터베이스가 생긴 것을 확인할 수 있다.

 

 

(2) 테이블 생성하기

테이블을 생성하기에 앞서, 어떤 테이블을 만들 것인지 설계해 보도록 하자.

테이블 명: user

열 이름(한글) 열 이름(영문) 데이터 형식 최대 길이 Not null
사번 (기본 키) user_id INT   O
사용자 이름 user_name CHAR 4 O
직급 rank CHAR 3 X

테이블 명: food

열 이름(한글) 열 이름(영문) 데이터 형식 최대 길이 Not null
식품 이름(기본 키) food_name CHAR 10 O
보관 방법 keep_method CHAR 4 O
보관 일자 keep_date DATE   O
수량 count INT   X

위의 테이블 정보들을 활용해 refrigerator_db 데이터베이스 안에 두 개의 테이블을 만들어보자.

 

SCHEMAS 창에서 refrigerator_db의 ▶를 클릭하여 펼쳐 준 다음, Tables 위에서 우클릭을 하고 Create Table을 선택한다.

 

테이블명, 컬럼명, 데이터형식, 기본키, Not null 등 테이블의 정보를 입력해 주고 Apply를 클릭한다.

 

Apply SQL Script to Database 창에서 Apply를 선택해준다.

 

마지막으로 Finish를 클릭해 주면, 테이블이 만들어진다.

 

위와 마찬가지로 테이블의 정보를 입력해 food 테이블도 만들어준다.

 

refrigerator_db에 food, user 두 개의 테이블이 존재하는 것을 확인할 수 있다.

 

 

(3) 데이터 입력하기

다음의 데이터를 이용하여 위에서 생성한 테이블에 내용을 입력해 보자.

테이블 명: user

사번 사용자 이름 직급
12341111 김부장 부장
12342222 박대리 대리
12343333 최사원 사원

테이블 명: food

식품 이름 보관 방법 보관 일자 수량
콜라 냉장 2023-10-01 2
우유 냉장 2023-10-05 3
김치 냉장 2023-10-06 4
아이스크림 냉동 2023-10-11 5

 

food 테이블 위에서 우클릭을 하고, Select Rows - Limit 1000을 선택한다.

 

Result Grid 창에 위와 같이 테이블의 내용을 입력해 주고 Apply를 클릭한다.

 

Apply SQL Script to Database 창에서 Apply를 선택한다.

 

마지막으로 Finish를 클릭해 주면 테이블에 데이터가 입력된다.

 

user 테이블도 마찬가지로 데이터를 입력해 준다.

 

 

 

 

3. 데이터베이스 개체

 

데이터베이스는 테이블 외에도 인덱스, 뷰, 스토어드 프로시저 등의 개체로 구성되어 있다.

그중 인덱스, 뷰, 스토어드 프로시저가 무엇인지 간단하게 알아보도록 한다.

 

(1) 인덱스

user 테이블에서 직급이 부장인 데이터를 조회한다고 해보자.

user 테이블에는 3개의 행 밖에 없기 때문에 비교적 쉽게 조회가 가능하다.

하지만 실무에서 수천만 건에 다다르는 테이블에서 데이터를 찾는다면,

너무 많은 시간이 소요될 뿐만 아니라 시스템 성능에 문제가 생길 수도 있다.

인덱스는 이러한 문제를 해결해 줄 수 있는 기능으로,

인덱스를 사용한다면 데이터를 찾는 시간을 단축할 수 있다.

 

 

(2) 뷰

뷰는 실제 테이블이 아닌 '가상의 테이블'을 말한다.

뷰는 실제 테이블이 아닌 실제 테이블에 링크된 가상의 테이블을 사용한다.

뷰를 사용하면 보안에 도움이 되고, SQL문을 간략하게 만들 수 있다는 장점이 있다.

 

 

(3) 스토어드 프로시저

스토어드 프로시저는 자주 사용하는 SQL 문을 하나로 묶어서 편리하게 사용할 수 있는 기능과

MySQL에서 C, 자바, 파이썬과 같은 프로그래밍 로직을 코딩할 수 있는 기능을 제공한다.

 

 

 

 


 

Reference 

 

📙 우재남, 한빛미디어, 혼자 공부하는 SQL

🔗 https://www.oracle.com/kr/database/what-is-database/

 


 

 

'📖 STUDY > SQL' 카테고리의 다른 글

[EP.03] ORDER BY, GROUP BY  (0) 2023.10.16
[EP.02] SELECT, FROM, WHERE  (1) 2023.10.12
[EP.00] SQL 공부 다시 시작하기  (2) 2023.10.11
[SQL] 윈도우 함수  (0) 2022.04.07
[SQL] 서브쿼리  (0) 2022.03.31

+ Recent posts