반응형

2025/04 4

[ DB ] Chapter 7. Relational Database Design

해당 게시물은 건국대학교 김욱희 교수님의 데이터베이스 강의와DATABASE SYSTEM CONCEPTS 7th 원서를 참고하여 작성하였습니다. 1. Features of Good Relational Designs 위 table은 {ID, name, salary, dept_name}과 {dept_name, building, budget}이 합쳐진 table이다. table를 잘 보면 {dept_name, building, budget}의 정보가 굉장히 중복이 많아 데이터가 낭비되고있다.Decomposition위 테이블처럼 자원을 낭비하지 않기 위해서는 table을 분해하는 것이 좋다.table을 어떻게 나눌지 고민될 때는 functional defendency를 보면된다. 위 테이블에서는 dept_nam..

[ DB ] Chapter 6. Database Design Using the E-R Model

해당 게시물은 건국대학교 김욱희 교수님의 데이터베이스 강의와DATABASE SYSTEM CONCEPTS 7th 원서를 참고하여 작성하였습니다. 1. Entity-Relationship Model ER data model은 데이터베이스의 전체적인 논리적 구조를 나타내기 위한 스키마 표현 기법이다. E-R 모델은 실제 세계의 의미와 상호작용을 개념적 스키마로 매핑하는 데 매우 유용하다.ER 데이터 모델은 엔티티 집합(entity sets), 관계 집합(relationship sets),속성(attributes)이라는 세 가지 기본 개념을 사용하며, 이와 대응하는 ER diagram도 가지고 있다.Entity SetsEntity는 현실 세계에서 다른 모든 물체와 구별 가능한 객체로, 예로는 학생이나 학과가 있..

[ DB ] Chapter 5. Advanced SQL

해당 게시물은 건국대학교 김욱희 교수님의 데이터베이스 강의와DATABASE SYSTEM CONCEPTS 7th 원서를 참고하여 작성하였습니다. 1. Accessing SQL from Programming Language SQL만으로는 범용언어를 완전히 표현하기 힘들기 때문에 모든 쿼리를 SQL만으로 표현하기는 힘들다. 또, print와 같이 쿼리를 GUI로 보내는 작업들은 SQL에서 수행할 수 없다. 따라서 우리는 범용 프로그래밍 언어에 액세스 할 수 있어야한다.이를 위해 데이터베이스 서버와 연결하고 쿼리를 수행하는 표준방식은 Dynamic SQL과 Embedded SQL가 있다.Dynamic SQL일련의 함수 또는 메서드를 사용하면 데이터베이스 서버에 연결하고 통신하는 프로그램을 작성할 수 있다. Dy..

[ DB ] Chapter 4. Intermediate to SQL

해당 게시물은 건국대학교 김욱희 교수님의 데이터베이스 강의와DATABASE SYSTEM CONCEPTS 7th 원서를 참고하여 작성하였습니다. 1. Join Expressions join은 두개의 relation을 합쳐 하나의 relation을 만들어 주는 연산자이다. 이는 from에 서브쿼리로도 많이 쓰인다.Natural Joinnatural join은 relational algebra에서 나온 의미와 동일하다. 같은 attribute의 튜플 값이 같은 attribute끼리만 곱셈연산을 취한다. 아래의 두 쿼리는 같은 결과를 도출한다. 이는 두 테이블 외에도 여러 테이블에 적용할 수 있다. 하지만 이는 오답률이 높다. 두개의 테이블이 이름은 같고 의미는 다른 attribute를 가지고 있다면 충돌이 될..

반응형