[DB] 5

[DB] 기본키가 두 개일 수 있나?

사용자가 추천하는 식당을 저장하는 테이블을 설계하면서 기본키를 설정할 때 문제가 생겼다. 테이블은 행을 구분할 수 있는 기본키가 필요하다. ‘사용자 - 식당’ 테이블에서 행을 구분하려면 사용자 ID와 식당 ID가 동시에 사용되어야 한다. 이때 기본키는 두 개가 될 수 있나?라는 의문이 들었다. 정답은 아니다. 기본키는 하나인 게 맞고 기본키를 구성하는 열이 두 개인 것이다. 기본키가 하나라는 말이 기본키를 구성하는 열이 하나여야 한다는 뜻은 아니다. ‘사용자 - 식당’ 테이블처럼 하나의 열만으로는 행을 특정하기 어려울 수 있다. 이때는 복합키를 만들어 기본키로 사용하면 된다. 참고 https://hoon93.tistory.com/57

[DB] 2022.07.07

[DB] UUID를 Primary Key로 사용하기

UUID UUID는 범용 고유 식별자로 네트워크 상에서 서로 다른 개체들을 구별하기 위해 만들어진 방법이다. 32개 문자, 4개의 하이픈으로 이루어져 있어 생성할 수 있는 값은340,282,366,920,938,463,463,374,607,431,768,211,456개이다. 고유성을 완벽하게 보장할 수는 없지만, 실제 사용할 때 중복될 가능성이 거의 없다 UUID는 생성 방법에 따라 5가지 vertion이 존재한다. TimeStamp 기반의 v1/v2, 완전 Random 기반의 v4, Hashing 기반의 v3/v5가 존재한다. 실제로는 v1/v4/v5가 주로 이용된다. Random한 UUID를 생성하기 위해서는 v1/v4를 이용하고, 고정된 UUID를 생성하기 위해서는 v5를 이용한다. PK를 생성할 ..

[DB] 2022.07.07

[DB] 데이터 모델링은 어떻게 하는걸까?

먼저 데이터 모델이란? 데이터 모델은 현실의 정보를 컴퓨터로 표현한 개념적 모형이다. 데이터베이스 설계 과정에서 데이터의 구조(Schema)를 논리적으로 묘사하기 위해 사용한다. 그럼 데이터 모델링은? DB의 골격을 이해하고 SQL문을 효율적으로 작성하기 위해 필요한 과정이다. 정보시스템 구축의 대상이 되는 업무 내용을 분석하고 약속된 표기법에 의해 표현하는 걸 의미한다. 분석된 모델은 실제 데이터베이스 생성하고 개발 및 데이터 관리 시 사용된다. 데이터 모델링 절차 데이터 모델링은 업무 파악 → 개념적 데이터 모델링 → 논리적 데이터 모델링 → 물리적 데이터 모델링 순으로 이루어진다. 업무 파악 주어진 업무를 정확하게 파악하는 단계이다. 어떤 기능들이 필요한 지 개념을 잡는다. 개념적 데이터 모델링 현..

[DB] 2022.07.07

[DB] RDB 관계형 데이터베이스란 무엇일까?

DB 유형 DB의 유형에는 Hierarachical 계층형, Network 망형, Relational 관계형, Object-Oriented 객체지향형, Object-Relational 객체관계형 등이 있다. 그중 가장 많이 사용되는 유형은 관계형 데이터베이스 RDB이다. RDB RDB는 Relational Database로 관계형 데이터 모델에 기초를 둔 데이터베이스다. 관계형 데이터 모델은 모든 데이터를 2차원 테이블로 표현한다. 테이블은 이름을 가지고 있고, 행(row)과 열(column) 그리고 거기에 대응하는 값을 가진다. RDB는 서로 다른 테이블이 관계를 맺고 모여있는 집합체로 이해할 수 있다. RDB 장점 데이터의 분류, 정렬, 탐색 속도가 빠르다. 스키마가 명확하게 정의되어 있다. 오래 사..

[DB] 2022.06.22

[DB] DataBase 이해

DataBase란 Database는 한마디로 정의하면 ‘데이터의 집합’이다. 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합을 말한다. 자료항목의 중복을 없애고 자료를 구조화하여 저장하고 자료 검색과 갱신 효율을 높인다. 왜 DataBase를 쓸까? DataBase는 다수의 사용자가 사용하는 데이터들의 공유와 운영을 위해 저장해놓은 공간이다. DataBase 이전에는 데이터들을 파일 단위로 관리하고 사용했다. 파일 기반으로 데이터를 관리하면 데이터 중복성, 종속성 등의 문제가 발생한다. 응용 프로그램별로 파일을 유지하여 같은 데이터가 여러 파일에 저장되는 중복 문제. 사용하는 파일의 구조가 변경되면 응용 프로그램도 영향을 받아 변경되는 종속 문제. 이 문제들을 보완하기 위해 데..

[DB] 2022.06.20