8. • 테이블(table) : 데이터로 이루어진 표
• 열(column) : 이름과 데이터형. 속성, 필드
• 행(row) : 레코드, 튜플
• 값 : 열에 대응되는 값
• 기본 키 : 식별을 위한 키
• 외래 키 : 참조되는 키
• 스키마 :
- 데이터베이스에서 테이블의 디자인.
- 데이터베이스의 청사진(계획).
- 개체-관계 다이어그램
개념 및 용어
9. 한꺼번에 수행되어야 할 일련의 연산
<트랜잭션의 요구사항 ACID>
1. Atomicity(원자성) : 트랜잭션은 나누는 것이 불가능. 실행 or 실행X
2. Consistency(일관성) : 데이터베이스는 일관성을 유지해야한다.
3. Isolation(독립성) : 트랜잭션 수행 도중 다른 연산작업은 끼어들 수 없다.
4. Durability(영속성) : 사용자에게 commit응답을 했을 경우, 그 결과는 완전히 반영되어
야 한다.
트랜잭션
10. • 중복 데이터를 피해야 한다.
- 저장 공간의 낭비
- 잘못된 업데이트(update, insert, delete)
• 하나의 항목에 하나의 데이터
- 각 항목들을 파싱/처리 후 검색(처리의 어려움)
• 알아보기 쉬운 키
- ex) mb_id (O) / mb_name (X)
데이터베이스 디자인 시 주의점
15. • 데이터 입력
• insert into 테이블 이름 (컬럼1, 컬럼2, ...) values (‘데이터1’, ‘데이터2’, ...)
INSERT 구문
16. • 데이터 조회
• select 컬럼 as 별칭 from 테이블
where : 조건
group by : 특정 열을 키로 정의하여 그룹을 짓는 옵션
having : group by로 집계된 값을 통해 연산 결과를 얻고 싶을 때
order by : 결과를 순서대로 정렬
limit 2, 3 : 결과값을 2번째 행으로부터 3개까지만 리턴해준다.
SELECT 구문
17. 연산자 예 설명
= price=3 같은지 비교
> price>3 큰지 비교
< price<3 작은지 비교
>= price>=3 같거나 큰지 비교
<= price<=3 같거나 다른지 비교
!= 또는 <> price!=3 또는 price<>3 두 값이 다른지 비교
IS NOT NULL price is not null 이 필드에 값이 들어있는지
BETWEEN price betweeb 0 and 30 값이 최소값 이상 최대값 이하인지
IN name in (“염규완”, “원
빈”)
값이 특정 집합 안에 있는지
LIKE name like (“염%”) 값이 특정 패턴에 맞는지
REGEXP name regexp 값이 정규표현식과 일치하는지
where 구문에서 자주 사용하는 비교 연산자
18. 통계함수
이름 설명
AVG(칼럼) 특정 열에있는 값들의 평균
COUNT(칼럼) 특정 열이 주어졌을 때 null이 아닌 항목의 개수
MIN(칼럼) 특정 열의 최소값
MAX(칼럼) 특정 열의 최대값
STD(칼럼) 특정 열의 값의 표준편차
STDDEV(칼럼) ‘’
SUM(칼럼) 특정 열의 값들의 합
19. • 여러개의 테이블에서 데이터를 불어올 때
• full join, cross join : 조인에 쓰인 모든 테이블을 조합, where 사용 X
• inner join : ‘,’ 이나 inner join을 명시하여 사용. where 사용 O
• left join, right join : 왼/오른쪽을 기준으로 잡은 뒤 결과값으로 기준이 되는 테이블은
모두 출력. 기준이 되지 않는 테이블이 값이 없다면 null로 출력
JOIN 구문
20. • 저장된 데이터 변경
• update 테이블 이름 set 컬럼 = ‘데이터’
where : 조건
order by : 순서
limit : 개수 제한
UPDATE 구문
21. • ALTER TABLE 테이블이름 수정구문
• 수정구문 – add / modify / drop
테이블 구조 변경
• 데이터 삭제 : delete from 테이블이름 where 조건
• 테이블 삭제 : drop table 테이블 이름
• 데이터베이스 삭제 : drop database 데이터베이스이름
삭제