본문 바로가기

Backend/DB

(16)
컬럼 Column, Row란? DB를 사용하다보면 'Column 컬럼'이라는 용어를 많이 접하게 되는데, 가끔가다가 이 두 가지의 차이점이 헷갈릴때가 있다. 물론 Row가 '행'이라는 개념과, Column이 '열'이라는 것은 알고있지만 이를 정확히 구분해야 DB나 SQL 사용 시에 헷갈림이 없으므로 이번 기회에 정리하고자 한다. 코드상에서는 다음과 같다. CREATE TABLE table_name { column_name1 data_type(size), -- 이거 하나하나가 컬럼 column_name2 data_type(size), column_name3 data_type(size), ... } 참고로, SQL에서 한 줄 라인의 주석은 --을 쓰고, 여러 줄의 주석은 /* ~ */을 사용한다. 결국 n개의 Column들이 모여서 1개..
varchar의 의미 DB ERD를 이제까지는 폼만 만들어서 설계했다면, 이번부터는 제대로 형식에 맞춰서 설계하는 것을 연습하고 있다. 물론 Entity를 ERD에서 간단하게 설계하고 intelliJ로 넘어가서 제대로 된 설계를 시작했지만, 기초부터 잘 다져야 나중에 개발하는데도 큰 변동이 없을 것 같다. 그러던 중 varchar의 의미에 대해서 다시 되새기게 되었다. varchar이라고 하면 일단, 제대로 알아보기 전에 문자열?에 관련된 변수라고 생각을 했었다. varchar 의미 되새기기 - 가변길이 문자열 타입 - MySQL 4.1 버전 이후부터는 char(n), varchar(n)에서 n은 바이트 수가 아니라 글자수를 의미 - char은 고정길이 문자열 타입 / varchar은 가변의 문자열 타입 고정된 크기의 문자열..
Column 이름 짓기 규칙 정리 (+변수명,컬럼명 이름 지어주는 사이트) Entity를 설계하는 과정에 있어 Column의 이름을 짓는데 어려움을 겪었다. Figma 화면 상에 있는 단어 자체가 어렵다보니, 나름 파파고로 번역도 해가며 Column 이름을 지었지만 계속 이름이 길어지는 것 같고, 단어가 어려운 것 같아 Column 이름을 짓는 규칙을 찾아보았다. 1. 대문자를 사용한다 2. 단어와 단어사이는 _ 로 구분한다. 3. 약어를 사용한다 4. 단어는 8자리를 넘을 수 없다 5. Primary Key가 단어에서 가장 우선한다 6. Not Null Column이 우선한다 7. Null Column은 Data, Number, Char 순으로 한다. 추가로, 프로그래머들이(난 프로그래머라고 지칭하긴 아직 아니지만ㅠ) 변수나 컬럼명 등의 이름을 지을 때 가장 힘들어하는데, 이..
차트 데이터 볼 때 유의사항 +) Cron이란? Figma 화면으로 설계된 서비스의 페이지에 차트 데이터가 삽입되어 있었다. 처음의 나의 사고과정은 이랬다. 1) chart.js 같은걸로 따로 차트를 만들어줘서 사용자단에서 보여줘야 하는가? 2) 차트 데이터를 긁어오는 API를 이용해서 프론트 단에서 보여줘야 하는가? 와 같은 생각을 했었다. 하지만 ERD를 설계하고 피드백을 받고보니 아예 다른 접근법이었다. 1) 차트에서 x,y축 데이터를 본다. 2) x축의 기준이 무엇인가? -> 날짜이다. 3) 날짜에서도 1분..N분 주기로 데이터를 긁어오지 않느냐. -> 맞습니다 4) 그럼 그거에 따라 Nest.js에서 cron을 이용하여 주기별로 데이터를 긁어오는 동작을 해야 하지 않겠냐 였다. 결론적으로, 주기별(1분,10분,N분..)로 자동적으로 데이터를 ..
Entity와 Table의 차이점 DB 구조를 작성하던 중에 Entity와 Table 둘 다 같은 개념 아닌가? 헷갈리기 시작했다. 그래서 Entity와 Table의 차이점에 대해 구글링을 해보던 중 둘이 다르다는 것을 알게 되었다. Entity = 논리 모델 -> DB나 SQL상에 존재하지 않는다. 실제로 존재하지 않는 일종의 '개념' Table = 물리 모델 -> DB나 SQL에 실제로 존재한다. ※ SQL을 사용하면 RDBMS에서 데이터를 저장,수정,삭제 및 검색할 수 있다.
RDBMS(Relational Database System)와 ERD Cloud DB를 몇년째 보지 않다가 업무를 위해 RDBMS. 그중에서도 ERD 구조부터 다시 보게 되었다. ERD를 그리는 이유에 대해서부터 다시 인지하고자 하였다. ERD를 그리는 이유? - ERD는 Entity Relationship Diagram의 약자로 DB를 설계하기 전의 미리 구조를 잡는 것을 말한다. 이를 토대로 실제 DB상에서 Entity(table)을 작성하고, 각 Table 간의 관계를 미리 파악한다. 이전에는 ERD가 눈에 잘 들어오지 않았는데, 아래와 같은 방식을 시도해보게 되었다. 1) 해당 페이지에서 어떤 정보를 DB에 넣으면 좋을까? 2) 하나의 정보라도 다른 개체가 이걸 여러 번 쓸 수 있지 않을까? 결국 DB의 테이블도 공통된 기준을 마련하고, 그에 따라 데이터를 저장하는 방식이라는..