표준 SQL 및 데이터베이스 입문
이제 SQL이 무엇인지 어느 정도 이해했으니, 테이블 설계에 대해 생각해 봅시다. 왜 이렇게 세분화된 테이블로 나뉘어 있는지등에 대해 설명합니다.
그것은 관계형 데이터베이스에서는 데이터를 열x행의 2차원 표 형태로 관리합니다. 즉 테이블도 열x행이었고, SELECT문의 결과도 열x행입니다. 그리고 SELECT문은 뷰(View)로 이름을 붙여서 사용할 수 있습니다.
그리고 사용할 때 '이런 테이블이 있으면 좋겠다'라는 생각을 떠올릴는 것은 대개 뷰쪽인 경우가 많습니다. 테이블을 만들 때 원하는 항목들을 나열하면 된다고 생각하는데 그것은 사실 뷰에 해당하는 것입니다.
관계형 데이터베이스에서는 데이터를 열x행의 표 형식으로 저장합니다. 이를 '테이블(table)' 또는 '기본표(base table)'이라고 합니다. 테이블로부터 새로운 테이블을 만들 수 있는데, 데이터 조작의 결과로 만들어진 표는 '도출표(derived table)' 또는 '가상표(virtual table)'라고 부릅니다. 도출표에는 이름을 붙여서 사용할 수 있으며, '뷰테이블(view table)'이라고 합니다.
이외에도, SQL-92에서는 최초의 표준 규격에 없었던 '임시테이블(temporary table)'이 규정되었습니다. 일시 테이블은 SELECT문의 결과를 메모리 내에 보관하고 싶을 때 사용하는 것으로 'CREATE TEMPORARY TABLE 테이블명 (...);'와 같이, CREATE TABLE문에서 TABLE앞에 TEMPORARY를 지정합니다.
테이블은 'CREATE TABLE'문으로 생성합니다. 여기서는 어떤 열이 있으며, 어떤 데이터형인지를 정의합니다. 뷰는 'CREATE VIEW'문으로 생성하는 것을 기억하는지요?
우선 SELECT문이 있고 그것에 이름을 붙여두는 것이 'CREATE VIEW'입니다. 굳이 만들지 않아도 되지만, 같은 조건을 여러번 사용해야 할 경우 만들얻두면 편리합니다. 테이블은 CREATE TABLE문으로 뷰는 CREATE VIEW문으로 생성하며 기본적인 구문은 아래와 같습니다.
테이블설계에서는 뷰가 아니라, 테이블, 즉, 기본표(base table)를 고려해야 합니다. 설명을 들으면 이해하고 있어도, 실제로 만들기 시작하면 잊어버리기 쉽습니다. 이 구분은 항상 생각해 둡시다.
©2024-2025 GAEBAL AI, Hand-crafted & made with Damon JW Kim.
GAEBAL AI 개발사: https://gaebalai.com
AI 강의 및 개발, 컨설팅 문의: https://talk.naver.com/ct/w5umt5