일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SWEA
- 문자열
- 깊이우선탐색
- Python
- 데이터베이스
- javascript
- SW Expert Academy
- oracle
- 오라클
- 프로그래머스
- BFS
- DFS
- 구현
- 그래프 이론
- 너비우선탐색
- 다익스트라
- 브루트포스 알고리즘
- 자바스크립트
- 백준 알고리즘
- 그리디 알고리즘
- 다이나믹 프로그래밍
- 파이썬
- 백트래킹
- 그래프 탐색
- 백준알고리즘
- 너비 우선 탐색
- 완전탐색
- 스택
- 브루트포스
- DP
- Today
- Total
목록오라클 (45)
민규의 흔적
File을 파일 또는 화일이라고 읽는데, 여기서는 파일로 읽겠다. 파일(File) 조직의 유형 히프 파일(Heap File) 순차 파일(Sequential File) 인덱스된 순차 파일(Indexed Sequential File) 직접 파일(Hash File) 히프 파일(비순서 파일) 가장 단순한 파일 조직으로, 레코드들이 삽입된 순서대로 파일에 저장된다. 정렬되어있지 않으며, 맨 마지막에 저장된 레코드는 맨 마지막에 저장되는 방식이다. 삽입 : 새로 삽입되는 레코드는 파일의 가장 끝에 첨부됨(빠름) 검색 : 원하는 레코드를 찾기 위해서는 모든 레코드들을 순차적으로 접근해야 함(모든 레코드를 검색하지 않는다면 느림) 삭제 : 원하는 레코드를 찾은 후에 그 레코드를 삭제하고, 삭제된 레코드가 차지하던 공간..
릴레이션 분해 하나의 릴레이션을 두 개 이상의 릴레이션으로 나누는 것으로, 릴레이션의 분해는 필요한 필요한 경우에는 분해된 릴레이션들로부터 원래의 릴레이션을 다시 구할 수 있음을 보장해야 한다는 원칙을 기반으로 한다. 릴레이션 분해 후의 잠재적인 문제 릴레이션이 분해되기 전에는 조인이 필요 없는 질의가 분해 후에는 조인을 필요로 하는 질의로 바뀔 수 있다. 즉, 분해를 했을 때 성능상에 문제가 있는지(테이블 수 증가에 따른 성능 저하) 체크하고 분해를 결정해야 한다. 분해를 잘못하면 두 개의 릴레이션으로부터 얻을 수 있는 정보가 원래의 릴레이션이 나타내던 정보보다 적을 수도 있다. 즉, 정보의 손실을 의미하며 이런 경우에는 분해된 릴레이션들을 사용하여 원래 릴레이션을 재구성하지 못할 수도 있다. 무손실 ..
릴레이션 정규화(Normalization) 정규화의 정의는 다음과 같다. 원래의 릴레이션을 무손실 분해함으로써 중복과 갱신 이상을 최소화하여 일관성과 정확성을 유지하는 과정으로, 주어진 릴레이션 스키마를 함수적 종속성과 기본 키를 기반으로 분석한다. 릴레이션 정규화가 필요한 이유는 다음과 같다. 부주의한 데이터베이스 설계로 인해, 제어할 수 없는 데이터 중복을 야기하여 여러 가지 갱신 이상(update anomaly)을 유발함. 정규화에 대해 자세히 설명하기 전, 갱신 이상에 대한 개념을 숙지할 필요가 있다. 갱신 이상(Update Anomaly) 데이터베이스의 데이터를 수정, 삽입, 삭제하는 과정에서 발생하는 문제로, 각각 수정 이상, 삽입 이상, 삭제 이상이 존재한다. 수정 이상(modificatio..
(개념적 설계 단계) 데이터베이스 설계 사례에 알고리즘 적용 아래는 개념적 설계 단계의 산출물인 개념 스키마 예시이다. 해당 개념 스키마 예시를 이용해 논리적 설계를 진행하여보자. 1단계 : 정규 엔티티 타입과 단일 값 애트리뷰트 정규(강한) 엔티티 타입과 해당 엔티티 타입의 각 단일 속성들을 릴레이션으로 사상한다. EMPLOYEE 엔티티 타입의 복합 애트리뷰트인 ADDRESS 애트리뷰트 대신, 해당 애트리뷰트를 구성하는 City, Ku, Dong 애트리뷰트 각각을 사상한다. 또한 각 엔티티 타입의 기본 키는 릴레이션의 기본 키로 그대로 사상한다. EMPLOYEE(Empno, Empname, Title, City, Ku, Dong, Salary) PROJECT(Projno, Projname, Budget..
논리적 설계 단계에서는 ER 스키마를 관계 데이터 모델의 릴레이션들로 사상한다. ER 스키마를 관계 모델의 릴레이션으로 사상 ER 스키마에는 엔티티 타입과 관계 타입이 존재하지만, 관계 데이터베이스에는 엔티티 타입과 관계 타입을 구분하지 않고 릴레이션만 존재한다. ER 모델을 릴레이션들로 사상하는 과정에는 총 7단계로 이루어져 있다. 단계 사상할 대상 알고리즘 구분 1단계 엔티티 타입과 단일 값 애트리뷰트 정규(강한) 엔티티 타입 2단계 약한 엔티티 타입 3단계 관계 타입 2진 1:1 관계 타입 4단계 2진 1:N 관계 타입 5단계 2진 N:M 관계 타입 6단계 N진 관계 타입 7단계 다치 애트리뷰트 다중 값 애트리뷰트 1단계 : 정규 엔티티 타입과 단일 값 애트리뷰트 ER 스키마의 각 정규 엔티티 타입..
지적 및 질문은 언제나 환영입니다 ! 2023년 10월 24일 문제 링크 : 프로그래머스 - 조건에 맞는 도서 리스트 출력하기 문제 설명 다음은 어느 한 서점에서 판매중인 도서들의 도서 정보(BOOK) 테이블입니다. BOOK 테이블은 각 도서의 정보를 담은 테이블로 아래와 같은 구조로 되어있습니다. 문제 BOOK 테이블에서 2021년에 출판된 '인문' 카테고리에 속하는 도서 리스트를 찾아서 도서 ID(BOOK_ID), 출판일(PUBLISHED_DATE)을 출력하는 SQL문을 작성해주세요. 결과는 출판일을 기준으로 오름차순 정렬해주세요. 입력 예시 출력 예시 SQL을 실행하면 다음과 같이 출력되어야 한다. TABLE 생성 CREATE TABLE BOOK( BOOK_ID NUMBER NOT NULL, CAT..
다음은 가상의 기업에서 볼 수 있는 요구사항에 관한 내용이다. 데이터베이스 설계 요구사항 기업에는 다수의 사원들이 재직한다. 각 사원에 대해서 사원번호(고유함), 이름, 직책, 급여, 주소를 저장한다. 주소는 시, 구, 동으로 세분하여 나타낸다. 각 사원은 0명 이상의 부양가족을 가질 수 있다. 한 부양가족은 두 명 이상의 사원에게 속하지 않는다. 각 부양가족에 대해서 부양가족의 이름과 성별을 저장한다. 회사는 여러 개의 프로젝트들을 진행한다. 각 프로젝트에 대해서 프로젝트번호(고유함), 이름, 예산, 프로젝트가 진행되는 위치를 나타낸다. 한 프로젝트는 여러 위치에서 진행될 수 있다. 각 프로젝트마다 여러 명의 사원들이 일을 한다. 각 사원은 여러 프로젝트에서 근무할 수 있다. 각 사원이 해당 프로젝트에..
IE 표기법 (새발 표기법) Chen 표기법(ER 표기법)은 수십 개 이상의 애트리뷰트가 엔티티 타입에 연결된 다이어그램을 나타내려면 매우 불편하고 공간을 많이 차지하는 단점을 지닌다. 이에, ERWing 등의 많은 CASE 도구들은 새발(crow-feet) 표기법 또는 IE 표기법을 사용한다. ER 표기법과 IE 표기법 ER 표기와 IE 표기의 차이점을 하나씩 알아보자. 1:1 관계 A와 C의 관계 B에 대해서, 1. C 엔티티 타입은 A 엔티티 타입의 각 엔티티와 최소 1, 최대 1의 관계를 가진다. 2. A 엔티티 타입은 C 엔티티 타입의 각 엔티티와 최소 0, 최대 1의 관계를 가진다. 1:N 관계 A와 C의 관계 B에 대해서, 1. C 엔티티 타입은 A 엔티티 타입의 각 엔티티와 최소 0, 최대..