DBMS 전체
요구사항 분석 및 데이터베이스 구축 절차
요구사항 분석, 설계, 모델링
정보 시스템의 5가지 단계
- 분석
- 설계
- 구현
- 시험
- 유지보수
1, 2 단계인 분석과 설계는 대부분의 프로젝트에서 전체 공정의 50% 이상을 차지함
분석 : '무엇을(What)' 할 것인지를 결정하는 단계 설계 : 구축하고자 하는 시스템을 '어떻게(How)' 할 것인지를 결정하는 단계
데이터베이스 모델링
현실 세계에서 사용되는 데이터를 SQL Server에 어떻게 옮겨 놓을 것인지를 결정하는 과정
- 우리가 구현하고자 하는 인터넷 쇼핑몰에서는 사람(또는 회원)이 필요함
- 사람의 몸을 컴퓨터에 넣을 수는 없기 때문에 사람을 나타낼 수 있는 특성(속성)들을 추출해서 SQL Server에 넣어야 함
어떤 사람의 신분을 증명하기 위해서 신분증에 이름, 주민번호, 주소 등의 정보를 담는 것과 비슷함
DB 모델링과 필수 용어
- 데이터, 테이블, DB, DBMS, 열(컬럼, 필드), 열 이름, 데이터 형식, 행(로우, 레코드), 기본키, 외래키, SQL
SQL Server를 이용한 데이터베이스 구축 절차
- DBMS 설치
- 데이터베이스 구축
- 데이터베이스 생성
- 테이블 생성
- 데이터 입력
- 데이터 조회/활용
- 테이블 외의 데이터 베이스 개체의 활용 > 데이터 백업 및 관리
응용프로그램에서 구축된 데이터 활용(웹 서비스/애플리케이션)
데이터베이스 개체의 활용
인덱스 개념
대부분의 책에 붙어 있는 '찾아보기(또는 색인)'와 같은 개념
- 인덱스는 실무에서 자주 사용되며, 조심해서 사용해야 한다
- 데이터 양이 적으면 인덱스가 있든 없든 큰 문제는 없음
- 수천만 ~ 수억 건에 이르는 데이터에서 인덱스 없이 전체 데이터를 찾아보는 것은 SQL Server 입장에서 부담스러운 일
- 실무에서도 인덱스를 잘 활용하지 못해서 시스템의 성능이 전체적으로 느린 경우가 아주 흔함
뷰의 개념
가상의 테이블
- DB를 전부 보여주지 않고, 연결된 데이터만 보여줄 수 있도록 하기 위함
- 사용자의 입장에서는 테이블과 같게보이지만 뷰 는 실제 행 데이터를 가지고 있지 않음
- 테이블에 링크(Link)된 개념임
저장 프로시저 실습
SQL 프로그램 안에서 프로그램이 가능
CREATE PROCEDURE 함수명
EXECUTE 함수명
트리거
테이블에 부착되어서 테이블에 insert, update, delete 와 같은 작업이 발생하면 실행되는 코드
- 백업 데이터를 저장하는데 주로 사용한다
CREATE TRIGGER 함수명 ON AFTER + ...
백업과 복원
백업 : 데이터베이스를 다른 매체에 보관하는 작업 복원 : 백업된 데이터를 원상태로 돌려놓는 작업