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)
DB 실습
실습 ERD
Book Table
Publisher Table
Author Table
WorkBench 실습
work bench 사용
CREATE SCHEMA `likelion-db`;
SQL
복사
` 사용 해야 함! (작은 따음표 아님)
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
복사
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
복사