Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- falsePosition
- secant
- 알고리즘
- Perceptron Convergence theorem
- 1차예선
- 로지스틱 회귀
- Fisher discriminant analysis
- Numerical optimization
- 개발순서
- directed graphical model
- MySQL
- SCPC
- graphical models
- vector미분
- 이것이 MySQL이다
- 스터디
- CH01
- chapter02
- bisection
- 알고리즘대회
- 선형판별분석
- 2018
- undirected graphical model
- 인공지능
- 자바ORM표준JPA프로그래밍
- 선형분류
- chapter01
- 근구하기
- 5397번
- 델타 rule
Archives
- Today
- Total
computer_study
[MySQL] 03.MySQL 전체 운영 실습 본문
MySQL을 이용한 데이터베이스 구축 절차
모델링 이후에 데이터베이스 구축이 진행된다.
1. 데이터베이스 생성
2. 테이블 생성
- 데이터베이스 모델링(물리적 모델링) 시에 각 열의 영문 이름 및 데이터 형식을 결정한다.
- CREATE TABLE로 생성 가능
- 테이블 이름을 띄어쓰고싶을 때 `` (backtick)으로 묶어줘야한다.
3. 데이터 입력
4. 데이터 조회/활용
- 보통 SELECT를 많이 사용하여 데이터를 활용
테이블 외의 데이터베이스 개체의 활용
인덱스
- 색인(찾아보기)과 같은 역할
- 테이블의 열 단위에 생성된다
- 인덱스를 사용하지 않을경우 Full Table Scan을 수행한다.
- 인덱스를 사용하면 Non-Unique Key Lookup
- 인덱스 생성 예시
- indexTBL의 first_name열에 인덱스 생성
CREATE INDEX inx_indexTBL_firstname ON indexTBL(first_name);
뷰
- 가상의 테이블
- 실제 행 데이터를 가지고있지 않다. (진짜 테이블에 링크된 개념)
- ex) 아르바이트생에게 회원의 아이디를 보고 주소만 변경하라 하는 경우
- 전체 테이블을 보여주면 개인정보 유출의 위험이 있고, 새로운 테이블을 만들면 무결성에 문제가 생길 수 있다
- 아이디와 주소만 있는 뷰를 생성하여 거기에만 접근 권한을 주는 식으로 해결 가능
- ex) 회원이름과 주소만 존재하는 뷰(uv_memberTBL) 생성 예시
CREATE VIEW uv_memberTBL AS SELECT memberName, nemberAddress FROM memberTBL;
스토어드 프로시저
- MySQL에서 제공해주는 프로그래밍 기능
- SQL문을 하나로 묶어서 편리하게 사용할 수 있게 해준다.
- ex) 두가지 SELECT문을 한꺼번에 작성 할 경우
DELIMITER //
CREATE PROCEDURE myProc()
BEGIN
SELECT * FROM memberTBL WHERE memberName = '당탕이';
SELECT * FROM productTBL WHERE productName = '냉장고';
END //
DELIMITER;
-- DELIMITER는 구분문자를 의미
-- (뒤에 //가 나오면 기존의 세미클론을 //로 대신한다)
- 실행방법
CALL myProc();
-- CALL [스토어드 프로시저이름]() 으로 실행 가능
트리거
- INSERT, UPDATE, DELETE 작업 발생 시 실행되는 코드
- ex) 회원이 삭제된 경우 백업테이블에 데이터를 이동시키는 트리거가 존재할 수 있다.
- ex) memberTBL에 DELETE작업이 일어나고 deletedMemberTBL에 데이터가 기록되는 트리거
DELIMITER //
CREATE TRIGGER trg_deletedMemberTBL
AFTER DELETE
ON memberTBL
FOR EACH ROW
BEGIN
INSERT INTO deleteMemberTBL
VALUES (OLD.memberID, OLD.memberName, OLD.memberAddress, CURDATE() );
END //
DELIMITER ;
데이터베이스 백업 및 관리
백업
- 현재의 데이터베이스를 다른 매체에 보관하는 작업
- Workbench의 Data Export 버튼 사용
복원
- 다른 매체에 백업된 데이터를 이용해 원상태로 돌려놓는 작업
- Workbench의 Data Import/Restore 버튼 사용
'스터디 > 이것이MySQL이다' 카테고리의 다른 글
[MySQL] 06. SQL 기본 (0) | 2022.04.04 |
---|---|
[MySQL] 05. MySQL 유틸리티 사용법 (0) | 2022.04.04 |
[MySQL] 02.MySQL 설치 (0) | 2022.03.29 |
[MySQL] 01.DBMS 개요와 MySQL 소개 (0) | 2022.03.24 |
[MySQL] 00.스터디 개요 (0) | 2022.03.24 |
Comments