[Database] DB 설계시 필수 덕목 (이상현상 -> 정규화)
·
DataBase/Database Modeling
DB 설계시 가장 중요한 대 원칙은 다음과 같다DB 설계의 핵심은 중복(Duplicated) 을 없애는 것이다위와 같이 게시글 데이터가 DB에 있다고 가정하자.이때, 박재성 이란 사람이 박지성으로 개명하게 되어 모든 테이블의 데이터를 변경해야하는 상황이 발생했다.우리는 이럴때 그러면 ctrl+F 로 모든 데이터를 찾아 일일히 수정해줘야한다.열심히 데이터를 수정하다가, 실수로 뒷쪽 순번의 데이터 수정을 누락하게 되어 박재성으로 남겨둔다면 어떻게 될까?시간이 많이 지난후, 만약 132번 게시글에 대한 신고가 접수되어 작성자를 찾으려고 검색해도 박재성이란 사람은 검색되지 않을 것이다.이러한 상황이 발생한 궁극적인 이유는 데이터 중복이 많기 때문인데, 중복되는 데이터가 많으면 많을 수록 데이터 수정시 중복되는 ..
[Database] 데이터 베이스 네이밍 규칙
·
DataBase/Database Modeling
흔히 데이터베이스를 작성할 때 지켜야할 국룰에 대해 알아보자테이블 명, 컬럼 명을 소문자로 작성하자테이블, 컬럼 명은 Java에서 변수를 설정할 때 사용하는 낙타 표기법 처럼 대소문자를 혼용하여 쓰지 않는다 !그 이유는 MySQL 같은 경우, 운영체제 설정에 따라 대소문자를 구분하여 해석하기도 하고, 대소문자를 구분하지 않고 해석하기도 하기 때문이다. -> 즉 그냥 오류를 없애려면 대소문자를 혼용하여 쓰지 말자 snake_case 를 사용하자낙타표기법에서는 우리가 tableName 처럼 대소문자를 구분하여 띄워쓰기를 표현하였는데, 이 대신 _(언더바) 문자를 이용하여 띄워쓰기를 표현하자tableName // 이런거 안됨table_name // 요롷게 쓰자 축약어를 쓰지 말자코드는 팀원 모두가 이해할 수 ..
[Database] Primary Key (PK), Foreign Key(FK)
·
DataBase/Database Modeling
패널티킥, 프리킥 아니다.. 진짜 뒤진다..Primary Key(PK) -> 기본키우리는 서로를 구분할 수 있도록 각자 고유의 주민 번호가 존재한다.주체가 사람이 아닌 다른 객체일 때, 각 객체를 구분하기 위해서 주민등록번호와 같은 PK(기본키)를 사용한다.기본키는 특정 데이터 값을 식별하기 위한 값으로, 반드시 다음과 같은 특성을 가진다기본키는 중복 되어선 안된다기본키의 값은 비어있으면 안된다 현업에선 이렇게 설정한다 카더라~~ 카더라는 공부하며 얻은 지식들을 적어보는 코너이다ㅋㅋ내가 아직 현직자가 아니므로 그냥 그렇다더라~ 하고 넘어가자어느 회사에서 데이터베이스를 관리할 때, 주민번호나 이메일 등을 PK로 설정하는 것을 볼 수 있다.하지만, 주민번호나 이메일은 상황에 따라 변동이 될 가능성이 있다. ..
[Database] 데이터베이스 모델링 (Database Modeling)
·
DataBase/Database Modeling
SQLD 시험을 준비하며, 정말 여러 SQL 구문을 만나고 실습을 해보았다.내 생각에 SQLD 시험을 준비하는 과정이나, SQL을 공부하는 것은 단순히 SQL 해석능력이 있는가를 알아보는 시험으로 느껴졌다.가장 중요한 점은 내가 과연 DB를 직접 설계하고 활용하고 최적화 할 수 있을까? 라는 생각이 늘 들었고, 학사 논문을 준비하는 과정에서 그나마 좀 여유롭게 실제 공부 내용을 적용해 볼 수 있도록 DB 설계에 대해 공부하려고 한다.(사실 말이 여유롭지 빡세게 해야한다 !)실제 설계로 넘어가기 전, 중요한 DB 개념들을 확실히 이해 하고 넘어가고자 한다. 앞으로 몇개의 포스팅은 DB 개념의 관한 것 일것이다.데이터 베이스 모델링 이란? (Database Modeling)우리는 웹 & 모바일 앱 등을 운영..