상세 컨텐츠

본문 제목

3-1. 데이터베이스 생성하기

CS전공 지식/4. 데이터베이스 개론 & SQL

by 본투비곰손 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로 데이터베이스 정의

  1. IT회사 관련 RDB만들기
    1. 부서, 사원 프로젝트 관련 정보들을 저장할 수 있는 관계형 데이터베이스를 만들자
    2. 사용할 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

관련글 더보기