CS
-
is-a 관계와 has-a 관계는 클래스들의 관계를 표현할 때 사용된다.is-ais-a 관계는 말그대로 A는 B이다(A is B) 관계를 나타낸다.예를 들어보자. "사과는 과일이다" 라는 문장은 맞는 말이다. 그렇다면 "과일은 사과이다" 라는 문장은 맞는 말일까? 물론 아니다. 과일에는 사과 외에 다른 과일들도 들어갈 수 있기 때문이다.이러한 관계는 클래스들 사이에서 상속 관계로 나타낼 수 있다. "사과는 과일이다" 라는 문장에서 과일은 사과의 부모 클래스가 되고 다음과 같이 나타낼 수 있다.public class Fruit { int price; String color;}public class Apple extends Fruit { int sweetness_level;}has-ahas-..
is-a 관계와 has-a 관계is-a 관계와 has-a 관계는 클래스들의 관계를 표현할 때 사용된다.is-ais-a 관계는 말그대로 A는 B이다(A is B) 관계를 나타낸다.예를 들어보자. "사과는 과일이다" 라는 문장은 맞는 말이다. 그렇다면 "과일은 사과이다" 라는 문장은 맞는 말일까? 물론 아니다. 과일에는 사과 외에 다른 과일들도 들어갈 수 있기 때문이다.이러한 관계는 클래스들 사이에서 상속 관계로 나타낼 수 있다. "사과는 과일이다" 라는 문장에서 과일은 사과의 부모 클래스가 되고 다음과 같이 나타낼 수 있다.public class Fruit { int price; String color;}public class Apple extends Fruit { int sweetness_level;}has-ahas-..
2024.10.27 -
1. Self - describingdb 시스템은 db 구, 엔티티 타입, constraint에 대해 완전한 definition을 포함하고 있다. 즉 자기 자신에 대한 묘사가 포함되어 있다.2. Insulation between programs and data프로그램과 데이터는 독립적으로 동작한다. 예를 들어 데이터 구조나 저장 방식이 바뀌어도 응용 프로그램은 수정되지 않는다.3. Data abstractionstorage에 대한 detail들은 숨기고 유저에게는 db의 conceptual view만 보여줄 수 있다.4. Support of multiple view of the data각 유저는 DB를 원하는 만큼만 볼 수 있다.5. Sharing of data and multiuser transacti..
DB의 특징1. Self - describingdb 시스템은 db 구, 엔티티 타입, constraint에 대해 완전한 definition을 포함하고 있다. 즉 자기 자신에 대한 묘사가 포함되어 있다.2. Insulation between programs and data프로그램과 데이터는 독립적으로 동작한다. 예를 들어 데이터 구조나 저장 방식이 바뀌어도 응용 프로그램은 수정되지 않는다.3. Data abstractionstorage에 대한 detail들은 숨기고 유저에게는 db의 conceptual view만 보여줄 수 있다.4. Support of multiple view of the data각 유저는 DB를 원하는 만큼만 볼 수 있다.5. Sharing of data and multiuser transacti..
2024.10.27 -
1. Queries데이터와 데이터 스키마를 분명히 분리해주는 강력하고 정교한 query language가 필요2. Integrity일관되고 유효한 데이터만을 저장하기 위해 제약 사항(constraint)을 강제(enforce)하는 것이 필요3. Update데이터를 일관되게 조작하기 위한 방법이 필요4. Multiple users다중 reader, writer를 지원해야 함5. Crashes시스템 충돌이나 오류 발생 시 commit과 rollback 같은 기능을 통해 데이터 일관성을 유지할 수 있어야 함6. Data physically separate데이터의 물리적 분리를 통해 각 유저나 데이터 항목이 고유하게 존재하고, 참조 무결성(referential integrity)을 유지할 수 있어야 함7. Se..
DB를 사용하는 이유는?1. Queries데이터와 데이터 스키마를 분명히 분리해주는 강력하고 정교한 query language가 필요2. Integrity일관되고 유효한 데이터만을 저장하기 위해 제약 사항(constraint)을 강제(enforce)하는 것이 필요3. Update데이터를 일관되게 조작하기 위한 방법이 필요4. Multiple users다중 reader, writer를 지원해야 함5. Crashes시스템 충돌이나 오류 발생 시 commit과 rollback 같은 기능을 통해 데이터 일관성을 유지할 수 있어야 함6. Data physically separate데이터의 물리적 분리를 통해 각 유저나 데이터 항목이 고유하게 존재하고, 참조 무결성(referential integrity)을 유지할 수 있어야 함7. Se..
2024.10.27 -
Data Model데이터 모델은 데이터 추상화를 위해 structure, operation, constraints를 제공한다.structure (구조)데이터베이스의 구조operation (동작)데이터베이스의 구조를 조작하는 동작constraints (제약)데이터베이스가 따라야만 하는 제약데이터가 유효한지에 대해 확인 Categories of Data ModelsConceptual data modelshigh-level(사람이 이해하기 쉽고)이고, semantic, 즉 데이터 모델이 데이터의 의미(entity, attribute, relationship)를 제공한다는 뜻이다.주로 데이터의 의미와 논리적인 구조에 초점을 맞추고 사용자가 데이터를 이해하고 상호작용할 수 있도록 돕는 구조를 제공한다.Physic..
Data Models, Schemas, InstancesData Model데이터 모델은 데이터 추상화를 위해 structure, operation, constraints를 제공한다.structure (구조)데이터베이스의 구조operation (동작)데이터베이스의 구조를 조작하는 동작constraints (제약)데이터베이스가 따라야만 하는 제약데이터가 유효한지에 대해 확인 Categories of Data ModelsConceptual data modelshigh-level(사람이 이해하기 쉽고)이고, semantic, 즉 데이터 모델이 데이터의 의미(entity, attribute, relationship)를 제공한다는 뜻이다.주로 데이터의 의미와 논리적인 구조에 초점을 맞추고 사용자가 데이터를 이해하고 상호작용할 수 있도록 돕는 구조를 제공한다.Physic..
2024.10.27 -
루프 불변성이란?루프 불변성(loop invariant)은 어떤 알고리즘이 잘 동작하는지 증명하기 위해 사용된다.루프 불변성의 단계루프 불변성은 세가지 단계로 이루어진다.1. 초기조건(Initialization)첫 번째 루프가 시작하기 전 루프 불변성이 참이어야 한다.2. 유지조건(Maintenance)루프의 시작 전 루프 불변성이 참이었다면, 그다음 반복에서도 참이 유지되어야 한다.3. 종료조건(Termination)루프가 종료되면 불변량은 알고리즘이 옳다는 것을 보여주는 데 도움이 되는 유용한 속성을 제공해야 한다.한번 예시로 알아보자삽입 정렬_list = [4, 7, 1, 5, 2, 8, 3, 6]def INSERTION_SORT(A): for j in range(1, len(A)): ..
루프 불변성루프 불변성이란?루프 불변성(loop invariant)은 어떤 알고리즘이 잘 동작하는지 증명하기 위해 사용된다.루프 불변성의 단계루프 불변성은 세가지 단계로 이루어진다.1. 초기조건(Initialization)첫 번째 루프가 시작하기 전 루프 불변성이 참이어야 한다.2. 유지조건(Maintenance)루프의 시작 전 루프 불변성이 참이었다면, 그다음 반복에서도 참이 유지되어야 한다.3. 종료조건(Termination)루프가 종료되면 불변량은 알고리즘이 옳다는 것을 보여주는 데 도움이 되는 유용한 속성을 제공해야 한다.한번 예시로 알아보자삽입 정렬_list = [4, 7, 1, 5, 2, 8, 3, 6]def INSERTION_SORT(A): for j in range(1, len(A)): ..
2024.10.27