데이터베이스 설계 : 개념적 설계와 물리적 설계로 구분 - 개념적 : 실제로 데이터베이스를 어떻게 구현할 것인가와는 별개로 독립적으로 정보 사용의 모델을 개발하는 과정 -> 전체 업무에 관련된 엔티티와 릴레이션십(관계)으로 이루어진 설계 도면을 만드는 것 - 물리적 : 물리적인 저장 장치와 접근 방식을 다룸 -> 적절한 인덱스를 만들거나 불필요한 인덱스를 지우는 것 - 엔티티 : 서로 구분되는 데이터베이스에 나타나는 객체 - 개념적 수준의 모델 : 특정 데이터 모델(ex. 객체 데이터모델)과 독립적으로 응용세계를 모델링 -> DB 구조나 스키마를 탑-다운 방식으로 개발할 수 있는 틀을 제공 -> ER 모델과 같은 개념적 데이터 모델을 다수의 구현 데이터 모델로 사상(관계 구현단계에서)시킴. 설계 단계 :..
- 트리거 : 명시된 이벤트가 발생할 때 마다 DBMS가 자동으로 수행하는 프로시저 -> 사용자 정의대로 수행되고, DB의 무결성 유지를 위한 일반적이고 강력한 도구임 - ECA(이벤트-조건-동작) 규칙이라고도 부름 - 트리거를 활성화 시키는 사건인 이벤트, 활성화 되었을 때 수행되는 조건, 활성화 되고 조건이 참일 때 수행되는 프로시저인 동작을 표현해야 함(조건이 만족되는지 테스트 후 만족되면 트리거 동작 수행) - AFTER : 이벤트 수행 후 트리거, BEFORE : 이벤트 수행 전 트리거 -> 활성화는 무조건 이벤트 수행 전에 됨. - 조건 : 임의의 프레디키트(논리적 식, 표현) - 50만원이라면, 늘어도 55만원 -> 완벽한 트리거는 아님 -> 앞의 문법과 조금 다름.. AFTER도 없다! F..
- 집합연산 : UNION, EXCEPT, INTERSECT, UNION ALL, EXCEPT ALL, INTERSECT ALL -> 합집합 호환성을 가져야 집합 연산 가능 -> ALL : 중복 허용, UNION : 중복 비허용 - 중복이 없어야한다 : 릴레이션의 투플들의 집합에서나 제한된 것. 테이블에 레코드를 집어넣을 때 막을 필요가 없다. -> 오히려 성능저하가 일어날 수 있음 : bag이라고 함. 중복된 값이 여러 테이블에 존재 가능. 김창섭의 부서번호 : 2, 개발부의 부서번호 3 -> 두 릴레이션의 컬럼 수가 같고, 도메인이 같으니까 합집합 가능. - 조인 : 관계 데이터 모델의 핵심 연산 -> 이걸 쓰지 않고는 못배긴다! - FROM절에서 보통 2~3개 정도의 릴레이션을 JOIN함. - WH..
- SQL : 1974 IBM R 시제품을 연구할 때 관계 대수 및 해석 기반으로 집단 함수, 그룹화, 갱신 연산 등을 추가하여 개발된 언어 -> 1986 ANSI에서 SQL 표준을 채택 SEQUEL 이름으로 논문 발표 후 이름을 SQL로 바꿈 - SQL은 비절차절 언어이므로 내가 무엇을 원하는지만 DBMS에 알려줄 수 있음. - DBMS는 SQL문을 내부적으로 관계대수들의 트리로 만들어서 밑에서부터 위로 올라가면서 수행 - 호스트언어 : JAVA, C 등 - SQL의 구성요소 DCL = 데이터 제어어 + 트랜젝션 제어 DML = 데이터 검색어 + 데이터 조작어 DDL = 데이터 정의어 제일 자주 쓰이는것 -> SELECT문. 여기서는 프로젝션으로 쓰임. 이 SELECT와 실렉션을 혼..
- 관계 해석 : 데이터만 명시, 질의 수행 방법은 명시 X : 선언적 언어 - 관계 대수 : 질의 수행 방법도 명시 : 절차적 언어 -> DBMS에서 널리 사용되는 SQL의 이론적 기초, SQL의 구현과 최적화를 위해 DBMS의 내부언어로도 사용. - 쿼리트리 : 브랜치에서 무언가를 골라내고 조인, 최상위에서는 customer name만 뽑아냄. -> 연산자들의 수행 순서가 정해져 있다! -> 내부적으로 SQL을 이런식으로 표현함. ex) 어카운트 테이블에서 잔액이 1000이상인 것을 골라낸다 : 브랜치의 개수를 줄이는 것 -> 이후 조인하면 실행시간이 빨라짐. - 관계 대수의 특징 1. 기존의 릴레이션들로부터 새로운 릴레이션 생성 -> 관계대수 적용시 새 릴레이션이 만들어짐 2. 릴레이션or관계대수식..
- 가장 높은 시장 점유율과 신뢰성 - 대부분 운영체제 및 HW 지원 - 전자상거래와 데이터 웨어하우징을 위한 고성능 인터넷플랫폼 제공 -OLTP : 온라인 트랜잭션 처리 -> 소수의 레코드만 접근하여 트랜잭션이 끝남 -OLAP : 어마어마하게 쌓이는 데이터로부터 요약된 것. - 응용 서버(오라클 인스턴스)와 데이터베이스 분리, 프레젠테이션은 클라이언트가 맡음. - SQL : if, 반복, 입출력 등 고급 프로그래밍 언어가 가진 기능이 없음 -> PL + SQL인 PL/SQL 구문 사용. 오라클에서만 가능. - 오라클 서버는 인스턴스와 데이터베이스루 구성. 오라클 인스턴스는 백그라운드 프로세스 + 메모리 구조로 구성. - 오라클 SQL 디벨로퍼 : 오라클에다 SQL을 던질 때 PLSQ..
게임 이론에서 2가지 중요한 컨셉 : 베스트 리스폰스, 도미넌트 스트래터니 - 베스트 리스폰스 : 다른플레이어가 어떤 선택을 할 지를 고려했을 때의 한 플레이어의 입장에서 최선의 선택 S : 플레이어 A의 전략 T : 플레이어 B의 전략 P1(S,T) : 플레이어A가 S, T일 경우 받을 보상 (PayOff) P2(S,T) : 플레이어B가 S, T일 경우 받을 보상 (PayOff) 이때 Best Response란 P1(S,T) >= P1(S', T)일 때의 플레이어 A가 선택할 S를 말한다. 즉, 플레이어B가 T를 고른다고 가정했을 때 플레이어 A가 B를 이기거나 비길 수 있도록 택하는 전략이다. 혼자 결정하는 것이 아니기 때문에, 전략이 조합이 모든 것을 결정함. -> 상대의 전략 t를 확인했을 때, ..