데이터베이스시스템

[데이터베이스시스템] Chapter 4 : Intermediate SQL
챕터 4에서는 계속해서 SQL에 대해 더 살펴볼 것이다. Joined Relations Join operation은 두 개의 릴레이션을 하나의 릴레이션으로 만드는 것이다. from 안에서 subquery로 사용이 가능하다. Join operation은 다음 3가지 타입이 있다. 1. Natural join 2. Inner join 3. Outer join 하나씩 살펴보자. Natural Join in SQL 모든 튜플을 다 연결시켜서 의미없는 정보를 생산시키는 카티션 곱과 다르게, natural join은 join을 수행하는 릴레이션 중에서 공통 속성의 값이 같은 튜플만을 고려한다. 예를 들어 instructor과 teach 테이블로부터 정보를 결합할 때, 보통 일치 조건으로 instructor.ID =..

[데이터베이스시스템] Chapter 3: Introduction to SQL
SQL Parts SQL은 데이터베이스와 상호작용하기 위한 언어로, 기능에 따라 다음으로 나눌 수 있다. DDL(Data Definition Language) : 데이터베이스의 구조를 정의한다. 릴레이션의 스키마, 무결성 제약 조건(integrity), 관련 속성들의 타입, 뷰(View), 액세스 권한, 물리적 저장 구조 등을 정의한다. 릴레이션 삭제/수정하는 기능도 제공한다. DML : database에서 tuple을 수정, 삽입, 제거, 정보 검색이 가능하다. DCL : 데이터의 사용 권한을 관리하는 데에 사용된다. Embedded SQL, Dynamic SQL : SQL이 c++, 자바와 같은 일반 프로그래밍 언어에 내재될 수 있다. Domain Types in SQL 다음과 같은 특징들이 있다. ..

[데이터베이스시스템] Chapter 6: Database Design Using the E-RModel
이번 챕터에서는 데이터 모델링을 하는 방법을 배운다. 데이터 모델링은 건축에서 지반 설계를 하는 작업과 유사하다. 즉, 현실 세계의 복잡한 개념을 단순화하고 추상화시켜 데이터베이스화하는 과정을 의미한다. Design Alternatives database schema를 설계할 때, 두가지 오류를 피해야 한다. 1. Redundancy(중복성) : 좋지 못한 설계는 정보의 반복을 야기할 수 있다. 데이터 중복은 정보의 업데이트가 있을 때 data inconsistency를 초래할 수 있다. 2. Incompleteness (불완전성) : 좋지 못한 설계는 기업의 특정 측면을 수행하기 어렵거나 불가능하게 만들 수 있다. ER model -- Database Modeling ER model은 다음 세가지 개념..

[데이터베이스시스템] Chapter 2: Introduction to Relational Model
**현재 듣고 있는 DB수업에 교재 + 개인적으로 읽고 있는 교재를 합쳐서 정리해보았다.** 다음과 같은 instructor 테이블이 있다고 가정해보자. DB 설계할 때 속성(attribute, column)이 무엇인지를 파악해야한다. Relation model에서 사용하는 단어들을 알아보자. 각 열을 속성(attribute)라고 한다. 각 행을 tuple이라고 한다. 그리고 이 튜플 간 순서는 무의미하다. 만약, 같은 튜플과 속성을 갖고 있는데 순서가 다르더라도 두 테이블은 같은 테이블 일 것이다. 테이블은 relation이라고 한다. relation schema는 릴레이션에 어떤 정보가 담길지를 정의한다. 식으로 나타내면 A1, A2, ..의 attribute가 있을 때 R = (A1, A2 ..)를..

[데이터베이스시스템] Chapter 1: Introduction
Database Systems DBMS (Database Management System)은 다음과 같은 정보를 포함하고 있다. 1. Collection of interrelated data (서로 관계있는 데이터들의 모임) 2. Set of programs to access the data (데이터에 접근하기 위한 프로그램의 집합) 그리고 데이터 베이스는 이러한 데이터들의 모임을 뜻하며, 특히 특정 조직과 관련된 정보들을 포함한다. DBMS의 주 목적은 An environment that is both convenient and efficient to use (사용하기 편리하고 효율적인 환경)을 제공하는 데에 있다. 또한, 데이터베이스시스템은 귀중하거나 복잡하거나 여러 사람이 동시에 접근하는 데이터들을..