안녕세계
[SK고용디딤돌] MySQL (1/7) - 2주차 본문
[SK고용디딤돌] MySQL (1/7) - 2주차
Junhong Kim 2016. 7. 15. 17:50[상속과제 정답]
function inherits(constructorFn, superconstructorFn) {
constructorFn.prototype = new superconstructorFn();
constructorFn.prototype.constructor = constructorFn;
constructorFn.prototype.superconstructor = superconstructorFn;
}
function Parent() {}
Parent.prototype.method1 = function() { console.log ("method1()")};
Parent.prototype.method2 = function() { console.log ("method2()")};
function Child() {
this.superconstructor();
}
inherits(Child, Parent);
Child.prototype.method2 = function() { console.log("child's method()")};
var childObj = new Child();
childObj.method1();
childObj.method2();
/** MySQL **/
- MySQL은 세계에서 가장 많이 쓰이는 오픈 소스의 관계형 데이터베이스 관리 시스템(- RDBMS)이다
- 다중 스레드, 다중 사용자 형식의 구조 질의어 형식의 데이터베이스 관리 시스템이다.
* Methodology(방법론)
1) 프로젝트 관리 방법론
2) 소프트웨어 개발 방법론
3) 데이터베이스 개발 방법론 등..
Meta-data , Meta-info
방법론은 여러개의 Phase로 이루어져 있고 여기에는 Task가 있음 그 태스크 밑에는 Procedure이라는 절차들이 존재
어떠한 task를 수항하면 Artifact를 얻게 되는데 이를 산출물이라고 한다.
산출물은 Procedure과 관련되어있다. 의존성을 갖고있음.
각 단계마다 수행해야할 작업들이 있다.
다양한 방법론이 존재하는데 현재는 Agile Process 방법론이 대세이다
방법론이 필요한 이유? 업무의 표준
[Meta Model]
Methodology - Phase - Task - Procedure
ㄴ Artifact
* 관계형 데이터 모델링
- 관계형 데이터 모델?
: 문제 도메인(domain) => 업무 영역 , 엔티티(entity) , 릴레이션십(realationship)
현업에서는 정규화를 BCNF까지 한다
정규화 |
정규화 내용 |
1차 정규화 |
복수의 속성값을 갖는 속성을 분리 |
2차 정규화 |
부분종속성 제거 |
3차 정규화 |
이진종속성 제거 |
BCNF |
|
4차 정규화 |
다치종속성 제거 |
5차 정규화 |
결합종속일 경우는 두 개 이상의 N개로 분리 |
DB
↙ ↘
개발 분석/설계
↓ ↓
SQL Modeling (( 신입은 Query문만 잘 써도 Good!! ))
* 우리는 Non-stop data modeling 사용할 것 임 - 1,2,3 건너뛰고 바로 BCNF
정규화를 하면 entity가 증가함. 늘어난 entity의 정보를 합쳐서 볼 때는 join이라는 operation을 사용해야하는데 cost가 많이듬.
역정규화 -> 중복을 허용, entity가 일부 증가할 수 있다. -> 성능을 높일수 있다.
/* 1. 서론 - 데이터베이스의 개요 */
● 데이터베이스의 네 가지 만족 조건
1) 통합 데이터
2) 저장 데이터
3) 운영 데이터
4) 공용 데이터
● 데이터베이스의 특성
1) 실시간 접근성
2) 계속적인 변화
3) 동시 공유
4) 내용에 의한 참조
● 데이터베이스의 구성요소
1) 개체(entity)
2) 속성(attribute)
3) 관계(relationship)
● DBMS
1) DMBS는 사용자에게 데이터베이스를 생성하고 유지할 수 있게하는 프로그램의 집합
2) DBMS는 데이터베이스 언어를 가지고 있으며 데이터베이스에 있는 데이터를 삽입하거나 삭제, 수정할 수 있다.
3) DBMS는 데이터베이스 데이터의 무결성(integrity)을 유지
- 첫째 : DB의 데이터는 실세계를 적용하는 규칙을 항상 만족
- 둘째 : 서로 다른 부분에 있는 두개의 데이터가 서로 모순되지 않아야 한다 이는 또한 데이터 일관성(consistency)이 오류
● DBMS의 3가지 특성
1) 데이터의 논리적 독립성
2) 개체 무결성과, 참조 무결성
- 개체 무결성(Entity Integrity) : 식별자(기본키)의 값이 null 값이 들어갈 수 없고 unique 해야 한다. => No Nulls & Unique
- 참조 무결성(Referential Inegrity) : 참조 속성(외래키)은 참조되는 table의 entity 값만을 유효 값으로 사용할 수 있다.
=> 때에 따라 null도 허용
3) 비정규 질의
● 모델의 종류
1) 계층 데이터 모델
2) 망 데이터 모델
3) 관계 데이터 모델
4) 객체지향 데이터 모델
5) 객체관계 데이터 모델
● 관계형 모델의 용어
: 테이블, 열, 행, 무결성 규칙(No Nulls & Unique), 기본키, 후보키, 대체키, 외래키
● 데이터 사전(Data dictionary)
: 메타데이터를 가지고 관리하는 곳
● 절차언어 : 흐름제어가 존재
SQL은 CRUD 4가지 오퍼레이션이다.
C : Create → INSERT
R : Read → SELECT
U : Update → UPDATE
D : Delete → DELETE
★ 표준 SQL ≒ ANSI SQL
/** MySQL 설치 **/
http://dev.mysql.com/downloads/mysql/
☞ 링크로 들어가서 다운로드
▶ .exe 실행 → Execute (오류 뜨면 '무시하기', 추후 오류 발생하면 재부팅) → 중간에 modify → 계속 기다리면 완료 됨
[ 그림을 코드로 바꿔주는 기능 ]
[ MySQL Connections 를 통해서 새로운 DB 연결 완료 → 데이터베이스 SQL문 작성하여 사용하면 됨!!]
DROP DATABASE, TABLE, INDEX, VIEW .. USER // Database Objects
DDL(Database Definition Language) vs DML(Database Manipulation Language)
/** AWS(Amazon Web Service) **/
☞ http://aws.amazon.com/ko/
아마존 가입하려면 VISA 카드 결제로 $1 해야 함
[RDS
// ---------- AWS RDS 생성 완료 --------- //
[RDS -> Instance]
※ Endpoint 뒤에 :3306을 지워야 함
//----- 이제 AWS DB 작업을 시작해 보아요^_^ -----//
☞ http://dev.mysql.com/doc/index-other.html
MySQL DB 예제모음
[링크]
http://dev.mysql.com/downloads/mysql/
http://aws.amazon.com/ko/
http://dev.mysql.com/doc/index-other.html
'My Trace > SK고용디딤돌2기' 카테고리의 다른 글
[SK고용디딤돌] MySQL (3/7) - 3주차 (0) | 2016.07.21 |
---|---|
[SK고용디딤돌] MySQL (2/7) - 3주차 (0) | 2016.07.18 |
[SK고용디딤돌] 자바스크립트 (7/7) - 2주차 (0) | 2016.07.13 |
[SK고용디딤돌] 자바스크립트 (6/7) - 2주차 (0) | 2016.07.12 |
[SK고용디딤돌] 자바스크립트 (5/7) - 2주차 (0) | 2016.07.11 |