백엔드 도전기 15일차

홍성준·2022년 11월 20일
0

오늘 배운 내용

오늘 오전에는 금요일마다 보는 알고리즘 테스트가 있다. 그 전에 알고리즘 수업을 통해 내 알고리즘 머리를 일깨우고, 시험을 봤다. 전에도 1문제가 어렵고 나머지 문제가 쉬운 형식으로 나왔는데, 이번에도 마찬가지였다. 2차원배열에 관한 문제였는데, 배열과 2중 for문에 대해 제대로 알고 있다면, 무리없이 풀 수 있는 문제였다.

오후에는 타입스크립트의 유틸리티 타입과 제네릭 타입에 대해 배우고, 간단한 실습을 통해 이해를 해보는 시간을 1교시로 가지고, 그 후에는 정규화를 하는 방벅과 ERD를 만드는 방법을 배웠다. 스타벅스 메뉴를 가지고 테이블을 구성하고, 중복된 데이터를 없애는 것을 3단계로 해서 정규화를 진행했다. 나눠진 테이블을 보면서 1대1, 1대다, 다대다 관계를 생각하면서 erd를 구성했다.

Schema

스키마를 검색해보면, DB의 구조와 제약에 대해 기술해놓은 메타데이터의 집합이고 개체, 속성, 관계를 정의, 유저의 관점에 따라 외부, 개념, 내부스키마로 나뉜다고 나온다. 특징은 특정 데이터 모델을 이용해서 만들어진다. 시간이 흘러도 불변이다. 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정된다는 3가지 특징을 가지고 있다.

외부스키마는 사용자가 보는 관점에 따른 것이다. 즉 사용자나 프로그래머가 개인의 입장에서 필요로 하는 데이터베이스의 모습으로 구조를 정의한 것이다. 개념스키마는 DB의 전체적인 논리적 구조로서, 시스템의 전체를 볼 수 있는 스키마로 하나만 존재한다. DB 파일에 저장되는 데이터의 형태를 나타내고, 스키마라고 하면 이 개념스키마를 의미한다. DBA에 의해 구성된다. 마지막으로 내부스키마는 저장장치의 입장에서 본 DB의 구조이며 저장장치와 밀접한 스키마이다. 시스템 프로그래머나 시스템 설계자가 보는 관점에서의 스키마이다.

ERD

ERD는 개체 관계 모델로 테이블간의 관계를 보여주는 일종의 그림이다. 그래서 ERD를 통해 DB의 구조를 한눈에 파악할 수 있다는 장점이 있다.

ERD는 주로 관계형DB에서 주로 사용이 된다. 관계에는 1대1, 1대다, 다대다 관계가 있다. 1대1은 관계가 있는 엔티티의 값이 서로 하나의 관계를 갖는 것, 1대다는 한쪽에 하나의 엔티티 값이 다른 엔티티의 여러 값을 참조하는 것, 다대다는 양쪽 엔티티의 값들이 서로 1대다의 관계를 갖는 것을 의미한다,

profile
안녕하세요

0개의 댓글