데이터아키텍처90 리버스 엔지니어링, Erwin 논리 모델 컬럼 한글명 표시하기 모델링 툴을 어떤 것을 사용하시나요? 저는 Er-win이 편해서 자주 사용하는데요. erwin으로 모델링하다 보면 물리/논리명이 존재해서 두 네이밍을 맞추기가 여간 번거롭지 않습니다. 그래서 오늘은 어떻게 하면 쉽게 변환해서 산출물 제출할 수 있는지 알아보도록 하겠습니다. 공식 산출물로는 엔티티정의서, 테이블정의서만 제출해도 되지만, 서로 업무적인 이해를 위해 erd도 요구하는 경우가 있습니다. 그러면 기존에 데이터베이스에 테이블은 생성되어 있는데, 추가적으로 작업을 하는 수고를 해야 하죠. 이런 상황에서 사용하면 좋은 팁입니다. 사실 erwin에 모든 메타정보(속성명, 속성정의, 도메인, 테이블 정의 등) 업데이트하는 메크로를 만들었었는데요. 요즘은 보안 환경이기 때문에 메크로를 사용할 수 없기도 합니.. 2024. 7. 4. MySQL 성능 개선 3원칙: 데이터 타입 편 MySQL에서 어떻게 하면 성능을 좋게 할 수 있을까요? 아무래도 오라클 같은 상용 dbms보다 성능이 떨어진다는 점을 생각할 때 이 고민은 중요합니다. MySQL에서 데이터 타입의 선택은 Database 성능과 효율성에 중요한 역할을 합니다. 이번 글에서는 타입 결정을 내리는 데 도움이 되는 몇 가지 기본 원칙을 살펴보겠습니다. 사실 프로젝트에서 발생한 경험을 공유할까 합니다. Oracle의 테이블을 동일한 구조로 MySQL로 인터페이스를 해야 했는데요. 이럴 때는 대응되는 데이터 타입으로 변경이 필요합니다. 처음에 단순하게 아래와 같은 변환 방식을 생각했습니다. Oracle 타입MySQL 타입비고 NUMBER DECIMAL 숫자 타입VARCHAR, VARCHAR2 VARCHAR문자 타입CLOBL.. 2024. 7. 3. PostgreSQL vs MySQL, 오픈소스 db 뭐가 더 좋을까? 최근에 있었던 일입니다. 오픈소스 database를 선택에 대한 고객의 문의였죠. MySQL을 사용할지, PostgreSQL을 사용할지 모르겠다는 이야기였죠. 나는 프로젝트에서 두 database 모두 사용해 봤지만 그 장단점에 대해서는 생각해 보지 않았습니다. 오픈소스이기 때문에 상용 dbms 보다 성능이 좋지 않은 정도로 알고 있었던 같습니다. 하지만 요즘에는 Oracle보다 PostgreSQL이나 MySQL 데이터베이스 기반으로 프로젝트를 많이 하게 됩니다. 그래서 다른 시니어 컨설턴트에게 전화를 해서 물어보았죠. 나 : 저번 프로젝트에서 PostgreSQL을 사용한 걸로 아는데 왜 선택했나요?그 : Oracle에서 PostgreSQL 전환 프로젝트라 SQL 구문 유사도 때문에 사용했어요.그는 P.. 2024. 7. 2. MySQL 명령어 완벽정리, 누구나 쉽게 따라하기 MySQL의 database와 Oracle의 database의 개념부터가 다릅니다. MySQL의 database는 거의 스키마에 가깝습니다. 이런 측면에서 사용하는 방법이 약간은 다릅니다. 일부 다른 구문을 정리해 놓았으니 유용하게 사용하시기 바랍니다. 그러면 MySQL에서 자주 사용하는 구문들 바로 보시죠. 데이터베이스 관련 명령어1. 데이터베이스 접속mysql> mysql -u계정 -p비밀번호 데이터베이스명mysql> mysql -udatalib -p1234 mysql_db2. 데이터베이스 생성mysql> create database 데이터베이스명; mysql> create database mysql_db1;3. 사용자 생성 및 권한 부여mysql> create user 'myuser'@'%' ide.. 2024. 6. 27. Oracle(오라클) vs MySQL: 타입, 문법, SQL 쿼리 구문 차이 요즘에는 오픈소스 Database를 많이 사용하는 데요. 저도 오라클에서 MySQL로 데이터를 수집하는 프로젝트를 했는데요. 과거에는 거의 오라클 위주의 사용이었다면 PostgreSQL, MySQL도 많이 경험하게 됩니다. 이번 글에서는 두 데이터베이스인 Oracle과 MySQL 간의 데이터 타입, 문법, SQL 구문 차이점에 대해 알아 보려고 합니다. 이렇게 정리해 두면 프로젝트에서도 잘 활용할 수 있을 거라 생각합니다. 1. 데이터 타입Oracle과 MySQL은 일부 데이터 유형은 이름과 동작이 다릅니다. 만약 오라클에 생성한 테이블들을 MySQL 데이터베이스로 인터페이스 해야 한다면 대응되는 타입으로 대체해야 할 건데요. 아래를 참고하셔서 MySQL 생성 스크립트를 작성하면 되겠습니다. 구분Orac.. 2024. 6. 22. 정규화 과정과 원칙: 쉬운 예시로 1, 2, 3정규형 이해하기 데이터 모델링 강의 중 이해가 가장 어려운 부분이 있습니다. 바로 정규화입니다. 사실 듣고 있으면 이해는 되는데요. 금방 잊어버린다는 사실이죠. 이 글에서는 쉬운 예시로 정규화를 접근 해 보도록 하겠습니다. 정규화는 1~5정규화, 그리고 BCNF까지 있습니다. 다 알려고 하면 머리만 복잡합니다. 가장 많이 사용되는 1, 2, 3정규형까지만 확실히 알아놓자고요. 사실 3정규형까지만 알아도 모델링하는데 아무 문제가 되지 않습니다. 정규화 과정과 원칙실제 모델링을 할 때 정규화 과정을 Task로 만들지는 않습니다. 대부분 논리 모델링을 할 때 정규화에 맞게 모델러들이 알아서 설계합니다. 그리고 물리 모델링 때 반정규화 할 부분을 도출하죠. 예를들어, 모델링 이후 1정규형 → 2정규형 → 3정규형 거치는 방식으.. 2024. 6. 20. NULL의 개념, 공백 문자(" "), NA, NaN과 차이점은 뭘까? NULL에 대한 개념이 헷갈리는 분들 많지 않나요? 데이터 분석이나 데이터베이스 관리를 하다 보면 NULL, 공백문자(" "), NA, NaN과 같은 용어를 자주 접하게 됩니다. 유사해 보일 수도 있지만 각각은 의미와 활용은 다릅니다. 이 용어들의 차이점을 살펴보고 NULL의 사례를 통해 정확히 이해해 보겠습니다. NULL과 “ ”의 차이NULL은 사전적으로 ‘존재하지 않음’을 뜻합니다. 0, 빈 문자열 또는 절대 공백이 아닙니다. 대신, 이는 어떤 값도 없음을 의미하는데요. “ ”는 공백 문자가 들어가 NULL과는 다른 의미입니다. 데이터베이스에서 NULL은 ‘아직 정해지지 않은’으로 해석을 더 많이 합니다. 한편 데이터 분석에서는 값이 없으면 NA라고 해서 결측값이라고 생각합니다. 그런데 데이터베.. 2024. 6. 19. 데이터베이스 정규화 목적, 왜 해야할까? 데이터베이스를 설계할 때 자주 등장하는 용어 중 하나가 정규화입니다. 그런데 왜 데이터베이스를 정규화해야 할까요? 오늘은 데이터모델링에서 정규화의 목적과 데이터베이스 정규화의 이점을 알아보겠습니다. 데이터베이스 정규화?정규화는 데이터 중복성을 줄이고 데이터 무결성을 향상하기 위한 방법입니다. 설계를 통해 엔터티를 분리하고나 속성을 재 구성하는 과정입니다. 여기에는 집합이 모호한 엔티티는 더 작게 나누고 이들 간의 관계를 정의하여 데이터 일관성을 보장하는 작업이 포함됩니다. 1. 정규화(Normalization)함수적 종속성(FD: Functional Dependency) 등과 같은 이론에 근거한 방법론입니다.관계형 데이터베이스 테이블의 삽입·삭제·갱신 이상(Anomaly) 현상 발생을 최소화 기법인데요... 2024. 6. 15. 메가커피 vs 매머드커피 상품 모델링 비교 분석 최근 메가커피에 대한 기사를 봤는데요. 매장을 3000점이 넘어 국내 매장수 1위를 차지했다는 소식이었습니다. 요즘에는 메가, 매머드 등 저가 커피 매장을 많이 이용하실텐데요. 여러분은 매장을 방문할때 마다 어떤 생각을 하세요? 데이터 쟁이들은 실생활에서도 데이터 모델링에 대한 여러가지 잠념들이 생깁니다. 나라면 이 비즈니스를 어떻게 모델링 했을까 하는 생각 말입니다.메가커피의 구조적 문제그래서 말인데요. 메가커피를 방문할 때마다 불편한 점이 있었습니다. 키오스크의 메뉴가 너무 많이 뜬다는 점이었죠. 실제로 이 부분 때문에 많은 사람들이 주문 오류가 발생하기도 했습니다. 따듯한 아메리카노를 주문하려 했는데, ICE를 주문하는 식이죠. 이건 꼭 메가커피에서 개선해야 할 문제라고 생각했죠. 그런데 매머드에 .. 2024. 6. 14. 이전 1 2 3 4 5 6 7 8 ··· 10 다음