CS Life(15)
-
Week 13 - BigData and Distributed Database
Motivation Very Large volumes of data being collected Web Log (Early source of data) 와 같은 데이터들이 가치가 생김 Big data : 이전 세대 데이터베이스에서 처리하는 데이터와 차별화 Volume : Much larger amounts of data stored Velocity : Much higher rates of insertions Variety : many types of data, beyond relational data Querying big data 매우 큰 Scalability 를 필요로 하는 Transaction Processing System 많은 애플리케이션들이 높은 확장성을 얻을 수 있다면 ACID 특성과 다른 ..
2024.02.02 -
Week 12 - Transaction and Recovery
Transaction 다양한 데이터 항목에 Access 하고 Update 할 수 있는 프로그램 실행 단위 2가지 주요 문제 Failure of various kinds, such as hardware failures and system crashes concurrent execution of multiple transactions (다중 트랜잭션의 동시 실행) Atomicity requirement System 은 partially executed transaction 의 업데이트가 데이터베이스에 reflect 되지 않도록 보장 → 트랜잭션의 모든 작업이 성공적으로 완료되거나 전혀 실행되지 않도록 보장하는 속성 → 즉, 트랜잭션의 한 부분이 실패하면 전체 트랜잭션이 롤백되고 변경 사항이 취소 Durabi..
2024.02.02 -
Week 11 - Data Storage Structure
File Organization MySQL → InnoDB : Function calls InnoDB → Linux : System call Linux → File System : Ext4_file_Write_iter File System → HDD : SATA_commands Database 는 파일 collection 으로 저장 각 파일은 레코드들의 sequence 각 File 은 하나 이상의 Page 로 구성 각 Page 는 하나 이상의 Record 로 구성 Record 는 Field 의 sequence [!note] Data Size 일반적으로 레코드 - 페이지 - 파일 순으로 크기가 커집니다. 레코드는 데이터베이스에서 가장 작은 단위 레코드는 데이터베이스 테이블의 한 행 페이지는 레코드가 저장되..
2024.02.02 -
Week 14 - Normalization
Normalization Creating Good relation design Instructor 와 Department 테이블을 In_dep 으로 합치면서 data 의 repetition 이 발생 Need to use null values (if we add a new department with no instructors) Decomposition 반복 문제를 피하는 방법 : 스키마를 두개로 나누느 것 하지만 모든 분해가 좋은 것은 아니다 해당 방식으로 분해한다고 가정하면 원본의 직원 관계를 복원할 수 없음 → 이것이 Lossy Decomposition Level of Normalization 데이터베이스에서 중복이 얼마나 일어나는지에 따라서 레벨이 달라짐 First Normal Form (1NF) ..
2023.12.10 -
Week 10 - Physical Storage Systems
Database 는 essentially Data storage system Classfication of Physical Storage Media Storage Volatile (휘발성) : 전원이 꺼지면 콘텐츠 소실 Non-Volatile (비휘발성) : 전원이 꺼져도 콘텐츠 유지 보조 나 이차 저장소 포함, 전원 유지된 메인메모리 Storage 선택에 미치는 영향 데이터 접근 속도 데이터 단위 당 비용 신뢰성 (Reliability) Primary : 가장 빠르지만 휘발성이다 (cache, main memory) Secondary : 비휘발성이고 중간 정도의 access 시간 (on-line storage : flash memory, magnetic disks) Teriary : 최하위 수준, 비휘..
2023.12.10 -
Week 8 - Database Design Using E-R Model
Design Phase Initial Phase 잠재적으로 해당 데이터베이스 사용자의 요구사항을 파악하는 단계 ex : 도서관 데이터베이스 구축 → 사서,도서관 이용자 → 필요 데이터 : 책 관련 데이터 도서관에 있는 모든 책(제목, 저자, 장르, ISBN, 이용 가능 여부)을 추적합니다. 고객 정보(이름, 연락처, 도서관 카드 번호)를 관리합니다. 거래(도서 대출, 반납, 기한, 벌금)를 기록합니다. → 도서관 데이터에 시장 데이터가 필요없는 것처럼 필요한 데이터와 그에 대한 관계를 정립 Second Phase 데이터 모델 선택 및 데이터 모델 개념 적용 ex : 관계형 모델 개념을 적용하여 테이블과 관계를 정의하겠습니다: 1.도서 테이블: 도서 정보를 포함합니다. 2. 후원자 테이블: 후원자 정보를 ..
2023.12.10 -
WHERE-HAVING 절 차이
기능 둘 다 데이터셋 검색을 필터링할 때 사용하는 절이다 Two clauses are used for filtering when you search the dataset to get the data what you want Having 절 그룹을 나타내는 결과 집합의 행에만 적용 → 그룹을 필터링하는데 사용 Where 절 개별 행에 적용 → 행을 필터링하는데 사용 동작 Having 절 Group by 절 뒤에 사용 → 그룹화 또는 집계 함수가 발생한 후 레코드를 필터링한다 SELECT NAME, COUNT(NAME) AS "Count" FROM ANIMAL_INS GROUP BY NAME HAVING COUNT(NAME) > 1; → 내가 갖고 있는 ANIMAL_INS 테이블을 GROUP BY 로 NAM..
2023.10.25 -
Week 5 - Introduction to SQL (1)
SQL Parts Week 2 - Introduction#Summary For Language DDL DML DCL TCL DDL Data Definition Language a syntax similar to a computer programming language for defining data structures, especially database schemas Create, Modify, and Remove Database objects such as tables, indexes, and Users CREATE, ALTER, DROP DML Provide the ability to query information from the database Integrity View Definition Tr..
2023.10.24 -
[프로그래머스] SELECT 문제풀이
Programmers SQL Hackerrank 0. 1. 재구매가 일어난 상품과 회원 리스트 구하기 SELECT USER_ID, PRODUCT_ID FROM ONLINE_SALE GROUP BY USER_ID, PRODUCT_ID Where 절은 굳이 쓰지 않음 ONLINE_SALE 테이블에서 → FROM ONLINE_SALE 동일한 회원이 동일한 상품을 재구매한 데이터를 구하여, WHERE절 사용하지 않는다 GROUP BY USER_ID, PRODUCT_ID 로 그룹 묶은 다음 GROUP BY GROUP BY USER_ID, PRODUCT_ID HAVING count(*) > 1` 재구매한 회원 ID와 재구매한 상품 ID를 출력 SELECT USER_ID, PRODUCT_ID 하는 SQL문을 작성해주..
2023.10.23