-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[1주차/앨빈] 워크북 제출합니다.
- Loading branch information
Showing
4 changed files
with
83 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
- 외래키 | ||
- 한 테이블의 필드중 다른 테이블의 행을 식별할 수 있는 키 | ||
- 외래키가 포함된 테이블을 자식 테이블이라고 하고, 외래키 값을 제공하는 테이블을 부모 테이블이라 한다. | ||
- 외래키 값은 Null 이거나 참조한 테이블의 기본키값을 가져야 한다. | ||
- 기본키 | ||
- primary key : 테이블의 각행을 식별할수있게 해주는 필드 또는 필드의 조합으로 이루어진 키 | ||
- 유일성과 최소성을 가지며(후보키), 해당 레코드를 식별할때 기준이 되는 반드시 필요한 키이다. | ||
- Null을 가질수 있는 후보키는 부적절하다 | ||
- 하나의 테이블에 반드시 하나의 기본키만 존재해야한다. | ||
- ER 다이어그램 | ||
- Entity-Relationship Diagram : 현실 세계에 존재하는 데이터와 그들 간의 관계를 사람이 이해할 수 있는 형태로 표현하기 위해 사용되는 모델 | ||
→ 개체와 속성, 관계성을 표현 | ||
- 개체(entity) : 표현할 정보를 가지고 있는 독립적인 객체 | ||
- 속성(attribute) : 개체가 가지고 있는 속성을 의미한다. | ||
- 관계성(relationship) : 개체 간의 관계를 의미한다. | ||
- 복합 키 | ||
- 두개 이상의 필드를 묶어 하나의 기본키로 지정하는것. | ||
- 기본키가 만약 복합키라면, 복합키 또한 당연히 유일성과 최소성을 만족해야한다. | ||
- 연관관계 | ||
- One-to-one relationship :한 테이블의 레코드는 다른 테이블의 레코드 하나에만 대응 (레코드가 하나도 대응하지 않을수 있음) | ||
→ 일대일 관계는 보안 목적으로도 유용할 수 있다. ex) 중요한 고객 정보를 별도의 테이블에 저장하고 외래 키를 사용하여 해당 테이블을 기본 테이블에 연결하려는 경우입니다. | ||
- One-to-many relationship : 한 테이블의 레코드는 다른 테이블의 0개, 1개 또는 여러 개의 레코드에 대응 | ||
- Many-to-many relationship : 한 테이블의 여러 레코드가 다른 테이블의 여러 레코드에 대응 | ||
→ rdbms에서 many-to many 생성을 해주지않기 때문에 중간 테이블을 두고 두개의 테이블과 one-to many 관계를 생성하여 해결한다. | ||
- 정규화 | ||
|
||
정규화는 데이터베이스의 구조를 최적화하여 중복을 최소화, 데이터 무결성을 높이는 과정입니다. | ||
|
||
- 제1정규형 (1NF): 모든 속성이 원자값(Atomic Value)을 가져야 하며, 중복된 그룹이 없어야 함. | ||
- 제3정규형 (3NF): a → b in F+ (F+ : functional closure) | ||
|
||
다음중 하나를 만족해야 한다. | ||
|
||
- a → b 는 당연해야 한다. (ex.(a→b)&(b→c)→(a→c)) | ||
- a는 super key이어야한다. | ||
- b-a의 값들은 R의 후보 키 어야한다 | ||
- BCNF (Boyce-Codd Normal Form): a → b 일때, R을 다음으로 분해 할 수 있어야 한다. | ||
- a + b | ||
- (R - (b - a)) | ||
|
||
[정보처리 실기_데이터베이스06강_정규화](https://youtu.be/RXQ1kZ_JHqg?si=f0OPsoOWnJXSbqca) | ||
|
||
- 반 정규화 | ||
|
||
정규화된 데이터베이스 구조를 의도적으로 비정규화하여 성능을 개선하는 과정 | ||
장점 | ||
|
||
1. 복잡한 조인 없이 간단한 쿼리로 데이터를 조회 | ||
2. 데이터 조회 속도를 높일 수 있음 | ||
|
||
단점 | ||
|
||
1. 데이터 업데이트 시 더 많은 작업이 필요할 수 있음 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
- 자바의 접근제어자 4가지 | ||
1. **public**: 어디서든 접근 가능한 접근 제어자. 클래스, 필드, 메소드 등에 선언되면 다른 패키지에서도 자유롭게 사용 가능. | ||
2. **protected**: 같은 패키지 내에서는 자유롭게 접근 가능하며, 다른 패키지에서는 상속받은 하위 클래스에서만 접근 가능. | ||
3. **default** (아무 접근 제어자도 없는 경우): 같은 패키지 내에서만 접근 가능. 다른 패키지에서는 접근 불가. | ||
4. **private**: 해당 클래스 내에서만 접근 가능. 다른 클래스에서는 접근 불가. | ||
|
||
→protected와 default 접근 제어자의 차이는 무엇인가요? | ||
|
||
- 클래스와 인터페이스 | ||
- **클래스**: | ||
- 객체를 생성하기 위한 설계도 역할 | ||
- 필드(속성)와 메소드(기능)를 가짐. | ||
- 클래스를 사용해 인스턴스를 생성하고 상태와 동작을 정의한다. | ||
- **인터페이스**: | ||
- 클래스가 구현해야 하는 추상 메소드의 집합. | ||
- 다중 상속을 제공하며, 메소드의 기본 구조만 정의하고 실제 구현은 클래스에서 해야 한다. | ||
|
||
→클래스가 인터페이스를 구현하는 목적은 무엇인가요? | ||
|
||
- 상속 | ||
- 부모 클래스의 필드와 메소드를 자식 클래스가 물려받아 사용. | ||
- 자식 클래스는 부모 클래스의 기능을 확장하거나 변경할 수 있다. | ||
- 코드의 재사용성을 높일수있다. | ||
|
||
→자바에서 다중 상속이 지원되지 않는 이유는 무엇인가요? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
- 1주차 미션 링크입니다. | ||
- | ||
![2021_04_user_count](./mission.png) | ||
|
||
|
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.