3-2/데이터베이스시스템 19

[DB06] ER schema를 relational schema로 바꾸기

* 10.13 업데이트 해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요! ● 해당 강의의 목표1. Relational database design에 대해 공부한다. (Logical data model)· ER model to relational model mapping· ER Schema -> relational Schema ◆ Relational Database Design by ER-to-Relational Mapping· relational database schema를 design한다. - conceptual design(conceptual schema, ER schema)를 토대로 한다.· ER m..

[DB05] Relational data model 이해하기

* 10.10 업데이트 해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요!● 해당 강의의 목표1. relational data model에 대해서 이해한다.· Relational model의 개념 (logical model 중 대표적인 모델)· Relational model의 표기법(기호)· Relational model의 제약 ◆ Relational Model Concepts· Database: relations(or tables)의 집합· Relation: tuples(or rows)의 집합  데이터베이스는 relation들의 집합이고, 하나의 relation은 tuple들의 집합이다.· Tuple: 실세..

[DB04] ER model

* 10.24 업데이트 해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요!● 해당 강의의 학습 목표1. Entity-Relationship (ER) model을 통해서 conceptual modeling을 어떻게 하는지 배운다.· Concepts of the entity-relationship model· Entity-relationship diagram· Conceptual data modeling ◆ Constraints on Relationship Types (Binary Relationship Type)Relationship: Entity와 Entity간의 연관관계Relationship instance..

[DB03] 데이터베이스 디자인 프로세스 (Database Design Process)

* 10.07 업데이트 해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요!● 해당 강의의 학습 목표1. Conceptual design을 하는 Conceptual model을 Entity-Relationship model(ER)으로 배운다. - Database design process - Entity-relationship model - Conceptual data modeling ◆ Database Design Process 오른쪽 Miniworld에 있는 세로 줄은 Database Design Process이고 왼쪽 줄은 Software Design Process인데 해당 과목에서는 오른쪽 라인만 다룬다..

[DB02] Database system에서 사용되는 개념들

* 10.06 업데이트  해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다.오류가 있다면 언제든 알려주세요!● 해당 강의의 학습 목표1. 데이터 베이스 시스템과 관련된 중요한 개념과 구조에 대해 이해한다.· Data models · Schemas and instances· Data independence (데이터와 application program은 서로 독립적이다. -> DBMS를 씀으로써 사용자 데이터의 구조가 metadata의 형태로 저장되어 있기 때문이다.) · Database languages and interfaces ◆ Data Models- data: 실세계에 나타나는 어떤 fact- data model: data의 특성을 ..

[DB01] 데이터베이스의 이해, 용어, 장점

해당 게시물은 한양대학교 컴퓨터소프트웨어학부 김상욱 교수님 데이터베이스시스템 온라인 강의를 듣고 정리한 자료입니다. 교수님 온라인 수업을 듣자... 잘 가르치신다고 유명하다 기대중...! ● 해당 강의의 목표1. 데이터베이스의 기본적인 개념을 잘 이해한다.2. 관련된 용어들을 잘 이해한다. · Database / DBMS / Database system· Characteristics of a database· Users of database systems· DBMS features  ◆ OverviewData란?컴퓨터 시스템 내에 의미를 가지고 저장될 수 있는 사실이다.ex) names, addresses, phone numbers... Database란?논리적으로 관련된 data끼리의 집합ex) pho..

B+ Tree 이해하기

드디어 B+ Tree까지 왔다. 이제 이것만 하면 코딩 시작...!!!! 빨리 이해해야지 .. 후...  B+ Tree는 B Tree의 변형된 버전으로 데이터베이스 인덱스 구조에서 매우 많이 사용되는 자료 구조이다. B Tree와 유사하지만 몇가지 차이점이 있어서 대용량 데이터 검색에 최적화된 특성을 가지고 있다. B+ Tree는 균형 다진 트리(Balanced Multiway Tree)로 B Tree와 마찬가지로 데이터를 효율적으로 관리하고 검색하기 위한 트리 구조이다. 하지만 B Tree와 달리 모든 실제 데이터는 리프 노드에만 저장되고 내부 노드는 오직 인덱스 역할만 한다. B+ Tree의 구조 및 특징· 리프 노드실제 데이터를 저장하고 각 리프 노드에는 다음 리프 노드로의 포인터가 존재한다. 이를..

B Tree 이해하기

이진트리에 대해 알아보았으니 이제 균형 이진 탐색 트리의 한 종류인 B Tree에 대해 공부해 보도록 하겠다. B Tree는 데이터 베이스와 파일 시스템에서 사용되는 트리 구조이다. DB에 트리 구조가 사용된다는 생각을 해본적이 없어서 선배들이 데베시에서 과제 B+ Tree 구현이 정말 어렵다고 했을 때 자료구조에 나오는 걸 DB에서 과제로 나오는거지 했었던 기억이 있다. 그 이유의 즉슨! DB에 B Tree, B+ Tree가 쓰이기 때문이다! 앞서 공부했든 이진 탐색 트리의 일반화를 통해 만들어졌다. B Tree는 노드가 2개 이상의 자식을 가질 수 있어 트리의 높이를 낮게 유지하고 디스크 I/O를 최소화할 수 있다. 또한 하나의 노드에 많은 수의 정보를 담을 수 있어서 높이를 낮게 유지하는데 도움이 ..

[데이터베이스시스템] 이진트리 이해하기

B+ Tree를 구현하라는 과제가 나왔다. 우리학교 데베시는 상당한 난도를 자랑한다. 자료구조를 2-1때 배웠기 때문에 당장 B Tree도 기억이 나지 않는 상황 ...! 과제를 하지 못하면 가장 코어 과목을 드랍해야하는 상황에 놓이기 때문에 빠르게 트리 구조를 복습해보기로 하였다. B-Tree를 시작하기 전 이진트리 개념부터 공부하고 넘어가자. 이진트리 종류는 생각보다 다양하다. 그 종류들을 정리해 보도록 하겠다. 1. 이진트리(Binary Tree)트리 중에서 각 노드가 최대 2개의 자식을 가지는 트리이다. 이 두 자식 노드를 왼쪽 자식(Left Child)과 오른쪽 자식(Right Child)이라 부른다. 같은 루트에 같은 자식 노드를 하나 가지고 있더라도 왼쪽과 오른쪽 놓인 위치에 따라 다른 자식..