안녕세계

[SK고용디딤돌] MySQL (1/7) - 2주차 본문

[SK고용디딤돌] MySQL (1/7) - 2주차

Junhong Kim 2016. 7. 15. 17:50
728x90
반응형

[상속과제 정답]

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/

http://dev.mysql.com/downloads/mysql/

http://aws.amazon.com/ko/

http://dev.mysql.com/doc/index-other.html

728x90
반응형
Comments