본문 바로가기
728x90

전체 글118

DB 개념 3편 - RDB 무결성과 키 📌관계형 모델의 Integrity Rule데이터 무결성이란 데이터의 정확성(accuracy)과 일관성(consistency)이 보장된 상태를 일컫는다.Entity Integrity 개체 무결성Entity는 이 세상에 구분할 수 있는 모든 것이다.일례로 tuple도 개체로서 구분이 가능해야하며, 각각의 key 값으로 개체를 구분한다.개체무결성은 primary key로 참여하는 모든 attributes의 attribute 값은 null이 되어서는 안된다는 조건이다.Referential Integrity 참조 무결성관계형 DB에서 한 테이블의 foreign key 값은 다른 테이블의 primary key 값을 참조할 수있다.※ 주의 : foreign key는 null 값을 가질 수 있다. 하지만 primar.. 2024. 8. 22.
DB 개념 2편 - 데이터 모델 디비디비딥📌Data modelDB 설계를 위한 개념적 도구이다.어떤 Data model로 DB를 설계했는가가 DBMS 선택의 척도가 된다.데이터 모델의 정의다음 3가지 property에 의해 결정된다.Object type 모음관계 테이블, attribute, recordOperator 모음객체로 표현된 정보를 다루는 방식관계대수, 관계해석 등Integrity rule 모음무결성 유지를 위한 규칙 필요데이터 모델의 생성 목적DBMS의 정확성을 보장하고, 구현에 이론적 구성을 제공하는 도구이다.특정 DDL, DML, DCL을 만드는 기반이 된다.ex) 관계대수는 기본 연산자의 조합으로 복합 연산자를 생성한다. 관계대수 기반 모든 쿼리를 생성할 수 있다.DBMS를 평가하고 비교하는 지표이다.📌데이터 모델의.. 2024. 8. 20.
DB 개념 1편 - DB를 사용하는 이유 왜 DB 형상은 항상 원통형 모양인지 아시나요?과거에 사용하던 드럼 메모리 모양을 본따서 이런 모양일것이라고 추측된다네요출처 https://stackoverflow.com/questions/2822650/why-is-a-database-always-represented-with-a-cylinder포스팅시작합니다📌Data, Information, Knowledge의 차이Data : 누구에게나 똑같이 보이는 객관적 사실Information : 주관적인 측면에서 관심있는 데이터로, 의미를 가지는 것이다.Knowledge : Information을 요약, 정리, 가공한 것으로, 지워지더라도 Information으로부터 다시 만들 수가 있다.🛢️DBDatabase DB데이터베이스란?방대한 양의서로 연관된현재 .. 2024. 8. 20.
DP 개념과 문제풀이 방식 이 DP 아님🌟DPDynamic Programming동적 계획법문제를 작은 문제들로 쪼개어 이전에 구해놨던 값을 현재의 풀이에 활용할 수 있을 때 이를 동적계획법이라고 함.📌응용 예시경우의 수(동전들로 금액 만드는 모든 경우의 수) 조합, 순열모든 경우로부터 최대 최소(가장 적은 동전으로 금액 만들기, LIS(O^N), 냅색 문제)수열 문제(피보나치, 카탈린.. 수열의 응용도 결국 경우의 수로 들어가지만)📌구현 방식1. Bottom-up (for문 구현)현재 상태 값의 갱신을 위해, 현재 상태가 될 수 있는 이전 상태들의 값을 본다.바텀업으로 값을 채워주는 것을 Tabulation 이라고 함2. Top-down (재귀함수 구현)현재 상태 값의 갱신을 위해, 현재 상태로부터 될 수 있는 다음 상태들의.. 2024. 8. 20.
포인터, alias 개념과 직접 구현 해시 새내기 때 나를 괴롭히던 포인터&&*보는 이에 따라 별보는 사람 혹은 참조와 포인터로 보일 수 있다.🌟포인터와 Alias📌포인터선언과 초기화포인터는 자료형 뒤에 *를 붙여서 선언한다.p라는 포인터는 int형 변수의 주소를 담을 수 있다.변수의 주소는 변수명 앞에 &를 붙여서 가져온다.int* p; // 포인터 선언int a = 5;p = &a; // a의 주소를 담기printf("%d", p); // a의 주소가 출력됨printf("%d", *p); // 5 (a의 값이 출력됨)값을 가져오는 방법asterisk(*)을 포인터 변수 앞에 붙이면 포인터에 담긴 주소를 가지는 변수의 값을 가져올 수 있다.*p를 print하게 되면 5가 출력된다.📌별명(Alias)alias는 어떤 변수의 주소를 똑같이 가.. 2024. 8. 20.
외판원 순회(TSP) 알고리즘 옥장판 파는 세일즈맨...?🚶🏻‍♂Traveling Salesman Problem외판원순회는 대표적인 CS 문제 중 하나이다.다항 시간에 풀 수 없는 NP 문제로 유명하다. (NP는 다항시간에 풀 수 없으나 다항시간에 검산이 가능함.)최소 비용을 가지는 원순열 을 찾는 문제이다.결론부터 말하자면,💡외판원 순회는 DP + DFS이다.📌조건외판원은 모든 도시를 최소비용으로 한 번씩만 방문하여 처음 도시로 돌아와야 한다.*이는 해밀턴 경로(Hamilton circuit) 라고 부르며, 한붓그리기와 같다.각각의 도시 간의 경로는 방향성이 있고, 비용이 존재하며 어떤 도시들 간에는 경로가 없을 수도 있다.항상 최적의 경로가 존재한다.📌알 수 있는 사실최적의 경로는 어떤 정점에서 시작하든 사이클을 만들어 .. 2024. 8. 20.
728x90