일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- 구현
- 깊이우선탐색
- 스택
- 백트래킹
- 문자열
- 그래프 이론
- 다익스트라
- 너비우선탐색
- 파이썬
- 오라클
- DFS
- 너비 우선 탐색
- 백준 알고리즘
- SW Expert Academy
- 그리디 알고리즘
- 다이나믹 프로그래밍
- 자바스크립트
- 브루트포스
- 프로그래머스
- BFS
- oracle
- 그래프 탐색
- SWEA
- 브루트포스 알고리즘
- 백준알고리즘
- 완전탐색
- 데이터베이스
- javascript
- DP
- Today
- Total
목록데이터베이스 (44)
민규의 흔적
데이터 무결성(Data Integrity) 데이터의 정확성 또는 유효성을 의미한다. 일관된 데이터베이스 상태를 정의하는 규칙들을 묵시적 또는 명시적으로 정의하며, 데이터베이스가 갱신될 때 DBMS가 자동적으로 일관성 조건을 검사하므로 응용 프로그램들은 일관성 조건을 검사할 필요가 없다. 무결성 제약조건의 종류로는 도메인 무결성 제약조건, 엔티티 무결성 제약조건, 참조 무결성 제약조건이 존재한다. 도메인 무결성 제약조건 ( Domain Constraint ) 각 애트리뷰트 값이 반드시 원자값이어야 하며 릴레이션 내의 튜플들이 각 속성의 도메인이 지정된 값 만을 가져야 한다는 조건이다. SQL 문에서 데이터 형식을 통해 값들의 유형을 제한하고 널(NULL, NOT NULL), 기본 값(DEFAULT), 체크..
릴레이션의 키 릴레이션에서 각 튜플을 유일하게 식별할 수 있는 하나 이상의 애트리뷰트들의 집합을 의미한다. 릴레이션 키의 특성 1. 유일성(Uniqueness) 하나의 키 값으로 각 튜플을 유일하고 식별할 수 있어야 한다. 2. 최소성(Minimality) 각 튜플을 유일하게 식별할 수 있는 키는 꼭 필요한 애트리뷰트로만 구성되어야 한다. 만약 키의 애트리뷰트 중, 하나의 애트리뷰트를 제거하면 더 이상 식별할 수 없어야 함을 의미한다. 릴레이션 키의 종류 슈퍼 키(super key) 한 릴레이션 내의 특정 튜플을 고유하게 식별하는 하나의 애트리뷰트 또는 애트리뷰트들의 집합으로, 가장 넓은 의미를 지닌다. 예를 들어 신용카드 회사의 고객 릴레이션에서 (신용카드번호, 주소) 애트리뷰트 쌍 또는 (주민등록번호..
릴레이션의 특성 릴레이션의 특성으로는 5가지 존재한다. 1. 속성의 원자성 속성은 서로 다른 이름을 가지며 각 릴레이션에서만 고유하다. 한 튜플의 각 애트리뷰트는 원자값을 가지며 정의한 도메인 값만 가질 수 있다. 속성 값은 논리적으로 더 이상 분리될 수 없기 때문에, 위 예시와 같은 다치 애트리뷰트를 직접 표현할 수 없다. 2. 속성의 유일성 속성은 서로 다른 이름을 가지며 각 릴레이션에서만 고유함 즉, 같은 릴레이션에서는 같은 이름의 애트리뷰트가 2개 이상 존재할 수 없다. 3. 속성의 무순서 애트리뷰트들의 순서는 무의미하다. 4. 튜플의 유일성 동일한 튜플이 두 개 이상 존재하지 않는다. 각 튜플을 고유하게 식별할 수 있는 적어도 한 개 이상의 애트리뷰트의 집합(키)가 존재한다. 5. 튜플의 무순서..
관계 데이터 모델 지금까지 제안된 데이터 모델들 중에서 가장 개념이 단순한 데이터 모델 중 하나이다. 1980년대 후반부터 다양한 데이터 모델들이 새로 등장했지만, 관계 DBMS는 여전히 가장 널리 사용되는 DBMS이다. IBM 연구소의 E.F. Codd가 1970년에 관계 데이터 모델을 제안하였으며, 4가지의 제안 목적을 지닌다. Codd가 관계 데이터 모델을 제안한 4가지 목적 1. 데이터 독립성 향상 : 데이터베이스 관리의 논리적인 면과 물리적인 면을 명확하게 구분 2. 단순한 데이터 모델 3. 한 번에 다수의 레코드들의 집합을 조작할 수 있는 기능 제공 4. 데이터베이스 관리 분야에 튼튼한 이론적인 근거 제공 최초로 구현한 관계 DBMS 시제품은 1970년 대에 IBM 연구소에서 개발된 Syste..
데이터 모델링 여기서 말하는 '모델링'이란 복잡한 것을 단순히 한다는 의미를 지닌다. 현실 세계에 존재하는 데이터를 컴퓨터 세계의 데이터베이스로 옮기는 변환 과정으로, 데이터베이스 설계의 핵심 과정이다. 2단계 데이터 모델링 개념적 데이터 모델링(conceptual modeling) 현실 세계의 중요 데이터를 추출하여 개념 세계로 옮기는 작업 논리적 데이터 모델링(logical modeling) 개념 세계의 데이터를 데이터베이스의 구조로 표현하는 작업 데이터 모델 (Data Model) 데이터 모델링의 결과물을 표현하는 도구 개념적, 논리적 데이터 모델이 존재한다. 개념적 데이터 모델 사람이 이해할 수 있도록 현실 세계를 모델링하여 개념적 구조로 표현하는 도구 예) 개체 - 관계 (ER : Entity ..
데이터베이스 언어 사용자와 데이터베이스 관리 시스템(DBMS) 간의 통신 수단을 의미한다. 데이터베이스 언어로는 크게 3가지가 존재한다. 데이터 정의어(DDL : Data Definition Language) DBMS는 정의된 스키마에 대한 명세를 시스템 카탈로그 또는 데이터 사전에 저장한다. DDL은 데이터베이스 스키마를 정의 또는 수정, 삭제하기 위해 사용한다. 데이터 정의어의 기본적인 기능은 다음과 같다. 1. 데이터 모델에서 지원하는 데이터 구조를 생성 예) SQL에서 CREATE TABLE 2. 데이터 구조의 변경 예) SQL에서 ALTER TABLE 3. 데이터 구조의 삭제 예) SQL에서 DROP TABLE 4. 데이터 접근을 위해 특정 애트리뷰트 위에 인덱스를 정의 인덱스를 정의하는 이유는..
ANSI / SPARC 아키텍쳐 대부분의 DBMS 아키텍쳐는 1978년에 미국 표준화 기관인 ANSI/SPARC에서 제안하였다. ANSI/SPARC 아키텍쳐는 내부, 개념, 외부 3단계로 구성된다. 데이터베이스를 관점에 따라 3계층으로 분리하여 사용자에게 복잡한 데이터베이스를 단순화된 관점으로 제공하며 궁극적으로 데이터 독립성을 제공하기 위한 목적이다. ANSI / SPARC 3단계 아키텍쳐 ANSI/SPARC 3단계 아키텍쳐는 단계별 추상화를 제공한다. 외부 단계(external level): 개별 사용자 관점 뷰 개념 단계(conceptual level): 조직 전체의 관점 뷰 내부 단계(internal level): 물리적 저장 장치 관점 뷰 일반적으로 내부 단계에서 외부 단계로 갈수록 추상화 레벨..
데이터 모델 데이터베이스의 구조를 기술하는데 사용되는 개념들의 집합인 구조(데이터 타입과 관계), 이 구조 위에서 동작하는 연산자들, 무결성 제약조건들 데이터 모델의 예로는 트리 구조를 지니는 계층 데이터 모델(hierarchical data model), 그래프 형식의 네트워크 데이터 모델(network data model), 2차원의 테이블 모델인 관계 데이터 모델(relational data model)이 존재한다. DBMS의 발전 과정 1세대 계층 DBMS 1960년대 후반에 최초의 계층 DBMS가 등장하였다. (예. IBM 사의 IMS) 트리 구조를 기반으로 하는 계층 데이터 모델을 사용한 DBMS로, 계층 데이터 모델은 네트워크 데이터 모델의 특별한 사례이다. 네트워크 DBMS 1960년대 초..