SNLRWHRW SNLRHSNLRWH의 속성을 갖는 테이블을 아래 처럼 2개의 테이블로 분리 시킨경우 문제점 Joe라는 사람의 월급을 주고 싶을때 시급(H)과 일한시간(W)를 곱해서 계산해야 하는데, W와 H가 서로 다른 테이블에 있기 때문에테이블 조인을 해서 계산해야 함. 1. 정규화를 할수록 테이블을 잘게 쪼개는데, 그럴수록 퍼포먼스가 떨어진다는 단점이 존재한다. 2.무손실 조인쪼갠 두 테이블을 자연조인할 경우 원래의 테이블이 나와야 한다.(새로운 레코드가 추가되면 안됨)무손실 조인을 지키기 위한 테이블 분해RUV R-V이런식으로 테이블을 분해 해야한다. 왜 U는 R에서 빼지 않는가?두 테이블을 다시 조인 하기 위해서 U는 오른쪽 테이블에서 빼지 않아야 한다. SNLRWHRW SNLRH에서 R->W함..
원래 테이블에 있는 속성끼리의 함수 종속성을 F라는 집합으로 나타낸다.그 F에서 암스트롱의 액시엄(원리)를 적용시켜서 추가적인 함수 종속성을 F에 추가시킨것을 F+집합으로 나타낸다. Reflexivity(반사성) Augmentation(증가,추가) Transitivity(이행성) Union(합) Decomposition(분해)5가지를 암스트롱의 원리라고 한다. 기존 테이블에 숨겨져있던 함수 종속성들을 추가적으로 밝혀 내기 위해 암스트롱의 원리를 사용한다. Contracts(cid,sid,jid,did,pid,qty,value) 라는 스키마가 있다.앞글자만 따서 속성을 표현한다.C는 기본키 이기 때문에 CSJDPQV나머지 속성들을 결정한다.C->CSJDPQV 이 스키마에 대한 아래와 같은 규칙이 있다고 하..
도메인 제약조건, 기본키 제약조건, 외래키 제약조건, 참조 무결성 제약 조건, general 제약조건 등이 데이터의 무결성을 위해서 사용되었었다.다시말해서 정확한 데이터가 테이블에 들어가서 유지되도록 하는 제약 조건들이다. Redundancy -> 중복성 테이블을 잘못 설계하면 데이터의 중복이 다수 발생 할 수 있다.데이터 중복성을 없애는것이 좋은 데이터베이스 설계에 가장 중요하다고 할 수 있다. 함수 종속성이라는 또다른 무결성 제약조건을 이용해서 Redundancy를 가지고 있는 스키마를 식별해서 조치를 취할수 있다.같은 데이터가 테이블내의 여러개 존재하면 저장공간을 낭비하게 되며, 여러가지 이상현상을 일으킬수 있다. Schema refinement(스키마 개선)에 제일 중요한것이 데이터 중복을 없애기..
파일 시스템에 비해 데이터베이스를 사용할때 얻을수 있는 장점?1.데이터 독립성 - 데이터를 DBMS에게 던져주기만 하면 알아서 저장시켜주므로 응용프로그램에서 데이터가 어떻게 저장되는지 고려하지 않는다.2.데이터 일관성 - 데이터를 통합한 데이터베이스에서 관리하므로 데이터가 불일치 하는 상황을 제어시켜줌.3.데이터 무결성 - 데이터를 DBMS에게 전달하면 알아서 데이터의 유효성을 검사해서 저장시켜준다.4.보안 - 일반 파일시스템을 사용하는거에 비해 더 좋은 보안을 제공한다.5.동시접근제어 - 한번에 한 사람만 데이터베이스에 접근하게끔 조절해서, 값이 꼬이지 않게끔 해준다.6.응용프로그램 개발 시간 단축 - 파일이 응용에 종속적이었던 파일시스템에서는 응용프로그램에서 파일의 구조를 알아서 데이터를 삽입해야했지..
개념적 설계 : 현실세계의 물체를 사람이 이해할수 있는 개념으로 표현한것(ER다이어그램설계)논리적 설계 : 개념적 설계를 바탕으로 특정DBMS가 지원하는 자료구조의 형태로(테이블) 표현한것 개념적 데이터 모델링이란 현실세계의 코끼리라는것을 개념적인 구조로 다시한번 나타낸 것이다. 코끼리를 세부적으로 관찰해보면 발은4개 귀는 2개 꼬리1개 등등이 있다. 개념적 데이터 모델링의 결과로 개념적 데이터 모델인 ER다이어그램을 많이 사용하고 있다. 논리적 데이터 모델링이란 개념적 데이터 모델링의 결과로 나온 ER다이어그램을 컴퓨터에 저장할수 있는 형태인 구조로 변환하는 과정이다.ER다이어그램을 테이블의 형태로 변환하는 과정이라고 할 수 있다.(특정 DBMS에 종속적이다.DBMS가 테이블을 지원하는지?안하는지?) ..
Q.빨간색 보트와 초록색 보트를 예약한 선원의 아이디를 구하시오둘다 가능하다. 왼쪽에서 보면 Range variable을 이용해서 같은 릴레이션을 2개로 나누었다 B1,B2로 나누었기 때문에 AND연산이 가능한것이다.만약에 2개로 나누지 않고 그냥 Boats B해놓고 B.color='red' AND B.color = 'green'이런식으로 하면 하나의 보트가 빨간색과 초록색을 동시에 가진다는 뜻이다. 바깥 쿼리문을 outer block 안쪽 쿼리문을 inner block이라고 부르며 IN연산자는 =와 같다.inner block부터 처리하게 된다.(조인 대신에 중첩질의를 사용한것)중첩질의는 질의를 2개나 처리하는것과 마찬가지이므로 비싼 연산이다. 오른쪽 쿼리문은 바깥 Sailors의 이름을 하나씩 가져와서..
고객 관리 담당자는 고객 관리 응용프로그램을 통해서 고객 데이터 파일을 관리하게 되고 주문관리 담당자는 주문 관리 프로그램을 사용하게 된다. 근데 이렇게 되면 중복된 내용이 저장 되게 된다.(파일 시스템의 문제점1)고객 데이터 파일에서 수정한 고객의 연락처가 주문 데이터 파일에서는 수정되지 않았으므로 데이터의 일관성이 깨지게 된다.다시 말해서 데이터가 올바르지 않게 저장된다(데이터 무결성 위반) => (파일 시스템의 문제점2) 또한 사용하는 파일에 맞게 프로그램을 짜기 때문에 데이터 파일의 구조가 바뀌면 응용프로그램을 다시 짜야 된다는 문제가 있다(파일 시스템의 문제점3) 고객 관리 프로그램에서 주문관리 프로그램의 파일을 공유 할수 없고 보안,회복 기능이 부족하다 (파일 시스템의 문제점4) 파일에 대한 ..
정답지 Suppliers(sid: integer, sname: string, address: string)Parts(pid: integer, pname: string, color: string) Catalog(sid: integer, pid: integer, cost: real) 9. Find pairs of sids such that the supplier with the first sid charges more for somepart than the supplier with the second sid.10. Find the pids of parts supplied by at least two different suppliers. 11. Find the pids of the most expensive ..
- Total
- Today
- Yesterday
- computed
- webpack
- useEffect
- useRef
- typescript
- reactdom
- state
- Action
- async
- return type
- await
- es6
- Polyfill
- design system
- react hooks
- storybook
- javascript
- rendering scope
- type alias
- atomic design
- hydrate
- reflow
- Babel
- react
- reducer
- props
- Next.js
- server side rendering
- promise
- mobx
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |