반응형

전체 글 221

[ 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를 가지고 있다면 충돌이 될..

[ DB ] Chapter 3. Introduction to SQL

해당 게시물은 건국대학교 김욱희 교수님의 데이터베이스 강의와DATABASE SYSTEM CONCEPTS 7th 원서를 참고하여 작성하였습니다.  1. Data Definition Language (DDL) DDL은 컴퓨터 사용자 또는 응용 프로그램 소프트웨어가 컴퓨터의 데이터를 정의할 수 있는 언어이다. 그중에서도 SQL은 관계형 DB의 구조를 정의한다. SQL에 의해 정의되는 관계형 데이터베이스의 구조는 튜플, attribute, relation, index파일 위치 등 데이터베이스 고유의 특성을 포함하고 있다.또, relation의 스키마와 보안 및 권한, 디스크에 있는 물리적 sorage 구조도 담고 있다.  2. SQL Data Definition Basic TypeSQL에는 기본적으로 탑재되어있..

[ C++ ] #10989 수 정렬하기 3 ( 브론즈 I )

https://www.acmicpc.net/problem/10989 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 출력 이는 원래 하던 merge sort로 하면 메모리 초과가 난다. 여기서 힌트로 봐야할 것은 숫자의 중복이 있다는 것과 입력되는 수는 10,000이하라는 것이다. 이 문제의 풀이는 10,000짜리 배열을 만들어서 각 숫자가 몇개 들어왔는지 세고 출력하는 것이다. #include using namespa..

BOJ/[ BOJ ] C++ 2024.03.11

[ CA ] Chapter1. Computer Abstractions & Technology

해당 게시글은 건국대학교 컴퓨터공학부 박능수 교수님의 강의와 교재를 참고하여 작성하였습니다. Perfomance 사용자의 목적에 따라 중요하다고 생각하는 컴퓨터의 성능이 다르다. 그래서 기기의 특성마다 다른 성능 척도를 사용한다. 그 중에서도 시간은 컴퓨터 성능의 가장 기본적인 척도이다. 같은 작업을 최단시간에 실행하는 컴퓨터가 가장 빠른 컴퓨터이다. 하지만 무작정 시작시간과 끝시간을 재서 구하면 OS의 오버헤드, 메모리접근 등의 시간이 같이 더해질 것이다. 순수하게 프로그램을 실행하기 위해 걸린 시간을 CPU time이라고 한다. 이는 우리가 실제 느끼는 시간과는 다르다. 성능측정을 위해 여러 용어를 알아보자. clock : 하드웨어 이벤트가 발생하는 시점. clock cycle : 이 클럭의 시간 간..

[ DB ] Chapter 2. Introduction to Relational Model

해당 게시물은 건국대학교 김욱희 교수님의 데이터베이스 강의와 DATABASE SYSTEM CONCEPTS 7th 원서를 참고하여 작성하였습니다. 1. Structure of Relational DB ralational database는 unique 한 이름을 가진 table의 모음으로 이루어져있다. 이는 instruct라는 relation이다. 나와있는대로 각 행을 attributes혹은 columns라고 부르고 각 열을 tuples혹은 rows라고 부른다. relation의 domain이란 attribute와 대응하는 열에 대한 데이터 타입(Data Type)과 길이를 의미한다. 이는 atomic 해야한다. 즉, 값을 둘로 나누거나 할 수 없다는 의미이다. 모든 도메인은 null값을 포함 하고 있다. ..

[ DB ] Chapter 1. Introduction to DB

해당 게시물은 건국대학교 김욱희 교수님의 데이터베이스 강의와 DATABASE SYSTEM CONCEPTS 7th 원서를 참고하여 작성하였습니다. 1. Purpose of DB Systems Data reduncy and inconsistency DB 시스템은 데이터의 중복과 모순을 막아준다. 데이터를 다루다보면 데이터가 중복되는 경우가 있다. 하지만 이는 storage 낭비와 access cost를 증가 시킬수 있다. 또 이는 데이터 모순을 불러올 수 있다. 중복된 데이터들 중 하나의 데이터만 바꿨을 때 중복된 모든 데이터를 수정하기 힘들기 때문이다. Difficulty accessing data 기존 시스템으로는 효율적으로 데이터를 검색하고 분류하기 힘들다. 일반적인 사용을 위해서는 응답성이 높은 데이..

[ C++ ] #11728 배열 합치기 ( 실버 V )

https://www.acmicpc.net/problem/11728 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net 문제 정렬되어있는 두 배열 A와 B가 주어진다. 두 배열을 합친 다음 정렬해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거나 같은 정수이다. 출력..

BOJ/[ BOJ ] C++ 2024.03.03
반응형