데이터베이스-SQL 기본 개념/데이터베이스 생성/테이블 생성/attribute data type 소개/primary key 설정/unique constraint 설정/not null constraint 설정/attribute의 default 값 설정/check constraint 설정/foreign key 설정/constraint 이름 명시/테이블 변경(alter table)/테이블 삭제 (drop table) 커리큘럼

snowball moon·2023년 10월 24일
0

DB&SQL

목록 보기
3/3

SQL 기본 개념

SQL이란?

-Structured Query Language
-현업에서 쓰이는 relational DBMS의 표준 언어
(relational database를 만든다고 하면 SQL을 통해서 database를 정의하고 데이터를 수정, 삭제, 조회 활용을 한다.)
-종합적인 database 언어 : DDL+DML+VDL
(SQL은 위의 기능을 종합적으로 제공한다.)

(SQL에서 사용하는 용어들이 따로 있으나 완전히 구분지어 사용하지는 않는다.)

SQL에서 relation이란?

-multiset(=bag) of tuples@SQL
-중복된 tuple을 허용

(relational data model에서의 개념과 조금 다른데 set과 달리 중복을 허용한다. 즉 table에서는 각 tuple이 중복 가능하다.)

SQL & RDBMS

SQL은 RDBMS의 표준 언어이나 실제 구현에 강제가 없기 때문에 RDBMS가 제공하는 SQL의 스펙이 조금씩 다르다.> ex)MySQL과 Oracle에서 제공하는 문법이 조금씩 다름

예제 : IT회사 관련 RDB 만들기

-부서, 사원, 프로젝트 관련 정보들을 저장할 수 있는 RDB
-사용할 RDBMS는 MySQL(InnoDB: MySQL에서 가장 많이 사용하는 엔진)

DATABASE vs SCHEMA

-MySQL에서는 DATABASE와 SCHEMA가 같은 뜻을 의미
(같은 역할을 하기 때문이다.)
-CREATE DATABASE company = CREATE SCHEMA company
-다른 RDBMS에서는 다른 의미
-i.g. PostgreSQL에서는 SCHEMA가 DATABASE의 namespace를 의미
(하나의 DB가 여러 SCHEMA를 가질 수 있고 table은 SCHEMA에 소속된다.)
(다른 RDBMS를 쓸 때에는 SCHEMA의 개념을 알아야 한다. SCHEMA가 정의되고 SCHEMA안에서 table이 정의된다. *MySQL은 DB안에서 table정의)

0개의 댓글

관련 채용 정보