데이터 베이스 시스템
-
Indexing데이터 베이스 시스템 2022. 6. 11. 14:30
Basic Concepts index는 데이터 검색을 빠르게 하기 위함입니다. Search Key : file안에 있는 record를 찾기 위한 attribute 집합입니다. index file : 아래와 같은 record들을 구성합니다. 일반적으로 index file은 일반적인 file보다 작습니다. index는 크게 Ordered index : search key들은 차례대로 정렬 Hash index : search key들이 "bucket" 이라는 곳에 hash function에 의해 분배 Ordered Index Clustering index(primary index) primary key의 성격과 같습니다. search key가 그대로 순서대로 file을 가리킵니다. clustering inde..
-
Data Storage Structures데이터 베이스 시스템 2022. 5. 29. 20:50
File Organization 데이터 베이스는 file형태로 저장됩니다. 각 file은 record의 일련입니다. record는 field의 일련입니다. simple approach record 사이즈가 고정된다고 가정합니다. (ex 53 byte) 각 file은 하나의 특별한 type을 가지는 record를 가집니다. 서로 다른 relation에는 서로 다른 file이 사용됩니다. 이러한 case는 간단한 구조입니다. 우리는 나중에 variable한 record 형태를 배우게 될 것입니다. 우리는 disk block(ex 512 byte)보다 작은 record를 가정해봅니다. 각 문자는 1 byte를 차지합니다. 그리고 numeric(8, 2)는 8 byte를 차지합니다. 우리는 각 attribute..
-
Normalization데이터 베이스 시스템 2022. 5. 2. 17:13
Features of Good Relational Design instructor 와 department를 in_dep 라는 table로 합쳤다고 가정하면 같은 dept_name 정보가 반복해서 들어가고 중복이 발생합니다. 또는 새로운 학과가 만들어질 경우 교수가 아직 없다면 null 값으로 넣어 추가해야하는 문제도 발생합니다. 따라서 무조건 table을 합친다고 좋은것이 아닙니다. Decomposition (table 쪼개기) 위에서 본 문제를 해결하려면 in_dep relation을 두개로 쪼개야 합니다. (instructor과 department) 하지만 모든 decomposition이 좋은것은 아닙니다. employee(ID, name, street, city, salary)를 employee1(..
-
Intermediate SQL데이터 베이스 시스템 2022. 4. 16. 12:01
Joined Relations join 연산은 두개의 relation을 join해서 새로운 relation을 return하는 것입니다. join 연산은 Cartesian product와 동일합니다. join 연산은 전형적으로 from clause에 사용됩니다. join 의 유형은 총 3가지가 있습니다. 1. Natural join 2. Inner join 3. Outer join Natural Join in SQL natural join은 모든 공통된 attribute를 기준으로 합치고 중복되는 tuple 중 오직 1개만 유지합니다. ex) 교수의 이름과 교수들이 가르치는 course_id를 정렬해라 select name, course_id from students, takes, where student..
-
Introduction to SQL데이터 베이스 시스템 2022. 4. 4. 20:14
SQL Parts sql은 크게 DML과 DDL로 나뉩니다. DML : 데이터베이스에서 정보를 물을 수 있고, tuple을 삽입, 삭제 및 수정할 수 있는 기능이 있습니다. integrity : DDL에는 무결정 제약 조건을 지정하는 명령이 포함되어 있습니다. View definition : DDL에는 view를 정의하는 명령어가 포함되어 있습니다. Transaction control : transaction의 시작과 종료를 지정하는 명령어가 포함되어 있습니다. Embeded SQL and dynamic SQL : 일반적인 프로그래밍 언어에 sql문을 삽입하는 방법을 정의합니다. Authorization : relation 및 view에 대한 access 권한을 지정하는 명령이 포함되어 있습니다. Dat..
-
Database Design Using the E-R Model데이터 베이스 시스템 2022. 4. 2. 13:45
Design Phase Initial phase : 데이터 베이스 사용자가 필요로 하는 데이터를 파악합니다. Second phase : 데이터 모델을 선택합니다. 선택된 데이터 모델의 개념을 적용합니다. 이러한 requirenent들을 conceptual schema로 변환합니다. (ex : E-R 모델) 개발이 완료된 conceptual schema는 기업의 functional requirement을 나타냅니다. (데이터에 대해 수행되는 작업 또는 transaction의 종류를 설명합니다. Final Phase : 추상적인 data model에서 데이터베이스 구현으로 이동합니다. Logical Design : 데이터베이스의 schema 결정, 데이터베이스 설계에서는 relation schema의 경우 ..
-
Intro to Relation Model데이터 베이스 시스템 2022. 3. 20. 22:17
Structure of Relation Databases 위의 데이터베이스는 instructor 테이블입니다. Relation Schema and Instance A1, A2, A3,.....An 들은 attributes(속성)들입니다. R = (A1, A2, A3,.....An) 은 relation schema입니다. ex) instructor = (ID, name, dept_name, salary) Schema R위에 정의된 relation instance r을 r(R)로 표현합니다. relation r 의 요소 t는 tuple이라고 하며 table내의 행으로 표현합니다. Attributes 각 attribute에 대해 허용되는 값의 집합을 attribute의 domain이라고 합니다. 속성 값은 쪼..
-
Introduction데이터 베이스 시스템 2022. 3. 7. 20:27
Purpose of Database System 1) Data redundancy and inconsistency (데이터 중복 및 불일치) 예를 들어 학생이 복수전공(ex 음악, 수학)을 가지고 있는 경우, 해당 학생의 주소 와 전화번호는 음악학과 학생들의 학생 기록으로 구성된 파일과 수학과 학생들의 기록으로 구성된 파일에 나타날 수 있습니다. 이러한 redundancy(이중화)로 인해 저장공간 및 access 비용이 높아집니다. 이는 데이터 inconsistency(불일치)로 이어집니다. 예를 들어 변경된 학생 주소는 음악 부서 기록에는 반영되지만 시스템의 다른 곳에는 반영되지 않을 수 있습니다. 2) Difficulty in accessing data 데이터 베이스가 없으면 자신이 원하고 필요한 데..