///////
Search

DB (Database)

DB 이론

DB (Database)

일정한 규칙, 규약을 통해 구조화되어 저장되는 데이터 모음

스키마(Schema)

전체적인 데이터베이스의 골격 구조를 나타내는 메타데이터의 집합

엔터티(Entity)

속성을 지닌 명사 (ex. 사람, 장소, 물건 등)

릴레이션(Relation)

DB에서 정보를 구분하여 저장하는 기본 단위

속성(Attribute)

릴레이션에서 관리하는 구체적이며 고유한 이름을 갖는 정보 (ex. 자동차 번호 ‘car_number’ )

도메인(Domain)

하나의 속성이 취할 수 있는 동일한 타입의 원자값들의 집합 (ex. 성별 → {여성, 남성})

ERD(Entity Relationship Diagram)

데이터베이스 구조를 한 눈에 알아보기 위해 ‘엔터티 개체’ 와 'Relationship 관계를 중점적으로 기술한 다이어그램

키(Key)

테이블 간의 관계를 더 명확하게 하고 테이블 자체 인덱스를 위해 설정된 장치
기본키(PK: Primary Key)
외래키(FK: Foreign Key)
그 밖에 ‘후보키’, ‘대체키’, ‘슈퍼키’ 등이 있습니다.
키 종류 보기

SQL(Structured Query Language)

데이터베이스에서 데이터를 조회, 입력, 수정, 삭제, 저장하는데 사용되는 언어

쿼리(Query)

데이터베이스에 정보 요청하는 행위

관계형 데이터베이스(RDBMS)

행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스 (ex. MySQL, PostgreSQL, 오라클)

NoSQL 데이터베이스(Not only SQL)

SQL을 사용하지 않는 비관계형 데이터베이스. 데이터 모델에 따라 유형이 다양하다. (ex. MongoDB, redis)

인덱스(Index)

데이터를 좀 더 빠르게 검색하도록 하는 객체

MySQL 문법

CREATE (DDL)
INSERT (DML)
UPDATE (DML)
SELECT (DML)
DELETE (DML)
더 많은 문법은 TCP SCHOOL 을 참고해보시면 좋아요!

DB 실습

실습 ERD

도서 정보 테이블 준비
데이터의 중복이 존재
각 엔티티 정보를 테이블에 나누어 ERD 설계
Book Table
Publisher Table
Author Table
테이블을 나누고 Key로 연결하여, 출판사 테이블에서만 수정
ERD 생성

WorkBench 실습

스키마 생성
work bench 사용
CREATE SCHEMA `likelion-db`;
SQL
복사
` 사용 해야 함! (작은 따음표 아님)
DB사용 선언
use `likelion-db`;
SQL
복사
` 사용 해야 함! (작은 따음표 아님)
테이블 생성하기
work bench 사용
CREATE TABLE `likelion-db`.`book` ( `bookid` INT NOT NULL, `book_name` VARCHAR(45) NOT NULL, `publisher_id` INT NOT NULL, PRIMARY KEY (`bookid`));
SQL
복사
Foreign Key 걸기
work bench 사용
ALTER TABLE `likelion-db`.`book` ADD CONSTRAINT `publisher_id` FOREIGN KEY (`publisher_id`) REFERENCES `likelion-db`.`publisher` (`publisher_id`) ON DELETE NO ACTION ON UPDATE NO ACTION;
SQL
복사
테이블에 데이터 넣기
work bench 사용
INSERT INTO `likelion-db`.`book` (`bookid`, `book_name`, `publisher_id`) VALUES (0, 'Do It! 자바 프로그래밍 입문', 0);
SQL
복사
문자 insert 사용 시 ' 사용 해야 함! (작은 따음표 맞음)
테이블 조회 하기
work bench 사용
select * from book;
SQL
복사