CS전공 지식/4. 데이터베이스 개론 & SQL
3-1. 데이터베이스 생성하기
본투비곰손
2023. 8. 9. 22:30
728x90
SQL의 기본 개념
- Structured Query Language
- 현업에서 쓰이는 relational DBMS의 표준 언어
- 종합적인 database 언어: DDL+DML+VDL
SQL 주요 용어
SQL에서의 relation 이란?
- multiset(=bag)of tuples @ SQL
- 중복된 tuple를 허용한다.
SQL & RDBMS
SQL이 RDBMS의 표준 언어이지만 실제 구현에 가제가 없기 때문에 RDBMS마다 제공하는 SQL의 스펙(문법)이 조금씩 다르다.
예제를 통한 SQL로 데이터베이스 정의
- IT회사 관련 RDB만들기
- 부서, 사원 프로젝트 관련 정보들을 저장할 수 있는 관계형 데이터베이스를 만들자
- 사용할 RDBMS는 MySQL
SHOW DATABASES; 현재 데이터베이스의 목록을 보여줌
CREATE DATABASE company; company 이름을 가진 데이터 베이스 생성
SELECT database(); 현재 작업 중인 데이터 베이스 확인
USE company; 사용할 데이터 베이스를 지정
DROP DATABASE company; 지정한 데이터베이스를 삭제
DATABASE vs SCHEMA
- MySQL에서는 DATABASE와 SCHEMA가 같은 뜻을 의미
- CREATE DATABASE company = CREATE SCHEMA company
- 다른 RDBMS에서는 의미가 다르게 쓰임
- i.g. PostgreSQL에서는 SCHEMA가 DATABASE의 namespace(명칭 공간)를 의미 한다.
하나의 DATABASE가 여러개의 SCHEMA를 가질 수 있고 TABLE는 SCHEMA에 속한다.
Table 정의 하기
SCHEMA 부터 먼저 정의
DEPARTMENT 정의
mysql> create table DEPARTMENT(
-> id INT PRIMARY KEY,
-> name VARCHAR(20) NOT NULL UNIQUE,
-> leader_id INT
attribute data type: 숫자
attribute data type: 문자
attribute data type: 날짜와 시간
attribute data type: 그외
728x90