일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백트래킹
- 백준 알고리즘
- 백준알고리즘
- 그래프 탐색
- DFS
- oracle
- BFS
- Python
- 그리디 알고리즘
- 브루트포스
- 너비우선탐색
- SW Expert Academy
- 너비 우선 탐색
- 완전탐색
- 구현
- 다익스트라
- 브루트포스 알고리즘
- DP
- javascript
- 스택
- 그래프 이론
- 데이터베이스
- 다이나믹 프로그래밍
- 자바스크립트
- 오라클
- 파이썬
- 문자열
- 깊이우선탐색
- 프로그래머스
- SWEA
- Today
- Total
목록데이터베이스 (41)
민규의 흔적
데이터 정의어(DDL) 릴레이션, 애트리뷰트, 뷰, 인덱스를 생성 및 제거하는 역할을 수행한다. 설계 기반의 구축을 담당한다고 생각하면 된다. 데이터 정의어 종류 CREATE DOMAIN 도메인을 생성 TABLE 테이블을 생성 VIEW 뷰를 생성 INDEX 인덱스를 생성 ALTER TABLE 테이블 구조를 변경 DROP DOMAIN 도메인을 제거 TABLE 테이블을 제거 VIEW 뷰를 제거 INDEX 인덱스를 제거 릴레이션 제거 예) DEPARTMENT 릴레이션을 제거하는 경우 DROP TABLE DEPARTMENT; 테이블 수정 예) EMPLOYEE 릴레이션에 "PHONE" 애트리뷰트를 추가함 ALTER TABLE EMPLOYEE ADD PHONE CHAR(13); 인덱스 생성 SQL의 표준은 아니지만..
SQL 비절차적 언어(선언적 언어)이므로 사용자는 자신이 원하는 바(What)만 명시하며, 원하는 것을 처리하는 방법(How)은 명시할 수 없다. 관계 DBMS는 사용자가 입력한 SQL문을 번역하여 사용자가 요구한 데이터를 찾는데 필요한 모든 과정을 담당한다. SQL의 2가지 인터페이스는 다음과 같다 대화식 SQL(interactive SQL) DBMS에서 질의를 넣으면 바로 화면에 결과가 나오는 방식 내포된 SQL(embedded SQL) C++, Java 등 고급언어를 기반한 소프트웨어에서 SQL문 작성 및 CRUD 구현 SQL의 역사 SQL (Structured Query Language)은 현재 DBMS 시장에서 관계 DBMS가 압도적인 우위를 차지하는데 중요한 요인 중 하나이다. IBM 연구소에..
Q. 다음 릴레이션 스키마를 보고 질의에 관계 대수식으로 표현하시오. CUSTOMER(CUSTOMER_ID, NAME, ADDRESS, PHONE) VIDEO(VIDEO_ID, TITLE, GENRE) RESERVED(CUSTOMER_ID, VIDEO_ID, DATE) Q1. 제목이 ‘Avartar’인 비디오 테이프의 장르를 검색하시오. 비디오 릴레이션에서 제목이 'Avartar'인 영화를 추출해 결과 릴레이션을 도출하고, 해당 결과 릴레이션의 장르 애트리뷰트로 구성된 튜플을 구하면 된다. Q2. 예약되지 않은 비디오 테이프의 ID를 검색하시오. 비디오 릴레이션에서 VIDEO_ID 애트리뷰트로 구성된 모든 튜플을 뽑은 릴레이션에서, 예약 릴레이션에 존재하는 모든 VIDEO_ID 애트리뷰트로 구성된 모든 ..
관계 대수 연산자 관계 대수 연산자는 크게 일반 집합 연산자와 순수 관계 연산자로 구분된다. 이 포스팅에선 일반 집합 연산자에 대해 알아보도록 하겠다. 일반 집합 연산자 연산자 기호 표현 의미 합집합 ∪ R ∪ S 릴레이션 R과 S의 합집합을 반환 교집합 ∩ R ∩ S 릴레이션 R과 S의 교집합을 반환 차집합 - R - S 릴레이션 R과 S의 차집합을 반환 카티션 프로덕트 x R x S 릴레이션 R의 각 튜플과 릴레이션 S의 각 튜플을 모두 연결하여 만든 새로운 튜플을 반환 피 연산자인 두 릴레이션은 집합 연산이 가능하기 위해 합집합 호환(union compatible)이어야 한다. 합집합 호환 조건 두 릴레이션 R1(A1, A2, ..., An)과 R2(B1, B2, ..., Bm)이 합집합 호환일 필..
관계 데이터 모델 관계 데이터 모델에서 지원되는 두 가지 정형적인 언어가 존재한다. 관계 해석 (Relational calculus) 원하는 데이터만 명시하고 질의를 어떻게 수행할 것인가는 명시하지 않는 선언적인 언어 관계 대수 (Relational algebra) 원하는 결과를 얻기 위해 어떻게 질의를 수행할 것인가를 명시하는 절차적 언어 관계 대수는 상용관계 DBMS에서 널리 사용되는 SQL의 이론적인 기초 개념이다. SQL 상용 관계 DBMS들의 표준 질의어이다. 관계 데이터베이스에 릴레이션을 정의하고 ,정보를 검색하고, 또한 갱신할 수 있음. 그리고 여러 가지 무결성 제약조건들을 명시할 수 있음. 관계 대수 또는 관계 해석으로 기술한 질의를 SQL 언어로 기술할 수 있다면 관계적으로 완전(rela..
데이터 무결성(Data Integrity) 데이터의 정확성 또는 유효성을 의미한다. 일관된 데이터베이스 상태를 정의하는 규칙들을 묵시적 또는 명시적으로 정의하며, 데이터베이스가 갱신될 때 DBMS가 자동적으로 일관성 조건을 검사하므로 응용 프로그램들은 일관성 조건을 검사할 필요가 없다. 무결성 제약조건의 종류로는 도메인 무결성 제약조건, 엔티티 무결성 제약조건, 참조 무결성 제약조건이 존재한다. 도메인 무결성 제약조건 ( Domain Constraint ) 각 애트리뷰트 값이 반드시 원자값이어야 하며 릴레이션 내의 튜플들이 각 속성의 도메인이 지정된 값 만을 가져야 한다는 조건이다. SQL 문에서 데이터 형식을 통해 값들의 유형을 제한하고 널(NULL, NOT NULL), 기본 값(DEFAULT), 체크..
릴레이션의 키 릴레이션에서 각 튜플을 유일하게 식별할 수 있는 하나 이상의 애트리뷰트들의 집합을 의미한다. 릴레이션 키의 특성 1. 유일성(Uniqueness) 하나의 키 값으로 각 튜플을 유일하고 식별할 수 있어야 한다. 2. 최소성(Minimality) 각 튜플을 유일하게 식별할 수 있는 키는 꼭 필요한 애트리뷰트로만 구성되어야 한다. 만약 키의 애트리뷰트 중, 하나의 애트리뷰트를 제거하면 더 이상 식별할 수 없어야 함을 의미한다. 릴레이션 키의 종류 슈퍼 키(super key) 한 릴레이션 내의 특정 튜플을 고유하게 식별하는 하나의 애트리뷰트 또는 애트리뷰트들의 집합으로, 가장 넓은 의미를 지닌다. 예를 들어 신용카드 회사의 고객 릴레이션에서 (신용카드번호, 주소) 애트리뷰트 쌍 또는 (주민등록번호..
릴레이션의 특성 릴레이션의 특성으로는 5가지 존재한다. 1. 속성의 원자성 속성은 서로 다른 이름을 가지며 각 릴레이션에서만 고유하다. 한 튜플의 각 애트리뷰트는 원자값을 가지며 정의한 도메인 값만 가질 수 있다. 속성 값은 논리적으로 더 이상 분리될 수 없기 때문에, 위 예시와 같은 다치 애트리뷰트를 직접 표현할 수 없다. 2. 속성의 유일성 속성은 서로 다른 이름을 가지며 각 릴레이션에서만 고유함 즉, 같은 릴레이션에서는 같은 이름의 애트리뷰트가 2개 이상 존재할 수 없다. 3. 속성의 무순서 애트리뷰트들의 순서는 무의미하다. 4. 튜플의 유일성 동일한 튜플이 두 개 이상 존재하지 않는다. 각 튜플을 고유하게 식별할 수 있는 적어도 한 개 이상의 애트리뷰트의 집합(키)가 존재한다. 5. 튜플의 무순서..