본문 바로가기

부트캠프 개발일기/Database3

33일차: 데이터베이스 설계 및 SQL 심화 ❯ 데이터베이스 설계 관계형 데이터베이스의 설계에서 중복이 최소화 되도록 데이터를 구조화하는것을 정규화(Nomalization) 이라고 한다. 크게 아래 세가지를 고려하여 설계하여야 한다. Data Redundancy(데이터 중복) : 동일한 데이터가 여러곳에 중복되어 위치하는 현상을 말한다. 동일한 데이터가 중복되어있을경우 저장 공간이 낭비되며 데이터 효율성이 감소하고, 일관된 자료 처리를 어렵게한다. 따라서 중복을 최소화하는것이 유리할 수 있다. Data Integrity(데이터 무결성) : 데이터가 우연하게 혹은 의도적으로 변경되거나 파괴되지 않고 보존되는 특성을 말한다. 정규화를 통해 데이터 무결성을 강화할 수 있다. 입력된 데이터가 오염되지 않고 입력된 그대로 사용할 수 있는것을 의미한다. An.. 2023. 3. 30.
32일차: 데이터베이스 설계 ❯ Relational database (관계형 데이터베이스) 관계형 데이터베이스는 테이블(table)들이 다른 테이블과 관계를 맺고 모여있는 집합체로 이해할 수 있다. 여기서 테이블은 사전에 정의된 열의 데이터 타입에 맞는 데이터가 행으로 저장된 것을 의미한다. 열(column, field) : 테이블의 한 열을 나타내며 정해진 타입을 갖는다. 필드 또는 속성이라고도 불린다. 행(row) : 관계된 데이터의 묶음을 의미한다. 한 테이블은 같은 수의 열을 가지며 튜플, 레코드라고도 불린다. 값(value) : 각각 행과 열에 대응하는 값을 가진다. 열의 타입에 맞는 값을 가져야한다. 키(key) : 테이블에서 행의 식별자로 이용되는 열을 키(key) 또는 기본키(Primary key)라고 한다. 기본키는.. 2023. 3. 29.
31일차: SQL, ACID, MySQL 설치 및 실행 ❯ SQL(Structured Query Language) SQL이란, 관계형 데이터베이스에 사용되는 데이터베이스 언어이다. MySQL, Oracle, SQLite, PostgreSQL 등 다양한 데이터베이스에서 SQL 구문을 사용할 수 있다. 영어 해석 그대로 구조화된 쿼리 언어를 의미하는데 이 때 쿼리란 '질의문' 이라는 뜻을 가진다. 즉 쿼리를 통해 원하는 데이터를 필터링하거나 수정, 추가하는 등 원하는 동작을 수행할 수 있다. 이 때 SQL을 사용하기 위해서는 데이터 구조가 고정되어 있어야 한다. ❯ ACID ACID에 앞서 트랜잭션(Transaction)에 대해 이해해야한다. 트랜잭션이란 여러 작업을 하나로 묶어놓은 실행 유닛이다. 은행 계좌이체를 예로 들어보자. 한 계좌에서 인출은 되었으나 다.. 2023. 3. 28.