본문 바로가기

데이터베이스

(11)
PostgreSQL 비밀번호 없이 비밀번호 재설정하기 분명 맞는데.. 왜 틀리지..? 암튼,, 비밀번호를 재설정 해야 할 듯 싶으니 비밀번호 없이 trust모드로 잠깐 바꿔서 재설정을 해보자,, 1. pg_hba.conf 파일 위치 찾기보통 여기에 있음C:\Program Files\PostgreSQL\15\data\ 2. 암호화 방식을 trust로 바꾸기pg_hba.conf에 가면 이렇게 저장되어 있을텐데,IPv4와 IPv6의 메소드를 trust로 바꾸고서 저장(로컬은 건드리면 ㄴㄴ) 3. cmd 관리자권한으로 ㄱㄱ해서 돌아가고 있는 PostgreSQL 서버 다시시작 해주기net stop postgresql-x64-15net start postgresql-x64-15 4. 폴더로 이동해서 접속하기cd "C:\Program Files\PostgreSQL\15..
2. 실전 SQL 해시태그를 통한 책의 검색서브쿼리(혹은 조인)을 통해서 관계를 따라가며 찾음예시에선 hash_tag → book_hash_tag → book 순으로 따라감페이징(paging) : 데이터베이스 자체에서 끊어서 가져오는 것Offset based 페이징 : 직접 페이지 번호를 찾아 이동하는 페이징단점 : 페이지가 뒤로 갈수록 넘어가는 데이터가 많아져 성능상 이슈 | 내가 1페이지에서 5개를 보고서 다음 페이지로 넘어갔는데, 그새 10개 글이 추가됨 → 글이 밀려남(중복)-- limit: 한 페이지에서 보여줄 데이터 개수-- offset: 몇 개를 건너뛸지-- 페이지 x번에 대해 한 페이지에 y개를 보여준다면?select * from bookorder by likes desclimit y offset(x - 1..
DataGrip IDE 설치하기 1. 아래 링크 접속해서 다운로드DataGrip: JetBrains가 만든 데이터베이스 및 SQL용 크로스 플랫폼 IDE DataGrip: JetBrains가 만든 데이터베이스 및 SQL용 크로스 플랫폼 IDE www.jetbrains.com유료이며, 30일 무료 체험이 가능하다.그리고 학생 인증을 하면 1년간 무료로 이용 가능함!학생인증은 밑으로,,, 2. 설치 3. 필요한 설치 옵션을 누른 후 [다음] - [설치] 4. 설치 후 재부팅을 한다. 5. 재부팅 후 Datagrip을 실행한다. 6. 라이선스가 없다면 [30일 무료 체험],라이선스가 있다면 [라이선스 활성화]를 하면 된다. 7. 하면 일단 설치는 끗 DB 접속8. 새 프로젝트를 만들어 좌측 상단 [데이터소스]를 눌러사용할 언어를 선택한다. ..
MySQL 설치하기 1. 홈페이지 접속https://www.mysql.com/ MySQLOver 2000 ISVs, OEMs, and VARs rely on MySQL as their products' embedded database to make their applications, hardware and appliances more competitive, bring them to market faster, and lower their cost of goods sold. Learn More »www.mysql.com 2. [Downloads] > [ MySQL Community (GPL) Downloads] 3. [MySQL Installer for Windows] 클릭(mac 이라면 MySQL Community Serve..
1. 데이터베이스 설계 ERD는 언제 설계하는 것이 좋을까? 프로젝트 시작과 동시에 설계하는 것이 좋음 | 모두가 공통된 데이터베이스에 대해 인지한 후 작업하는 것이 좋음데이터베이스 설계이름 설정테이블&컬럼 이름은 모두 소문자 | 단어구분은 대소문자가 아닌 밑줄이 좋음각 엔티티 정보 중 유일한 값을 기본키로 설정하기 보다 인덱스를 따로 두는 것이 편하다.book_id, member_id → id기본 키 타입은 int가 아닌, 추후 서비스 확장을 고려해 bigint로,,,create_at, updated_at에서 datatime(6)은 밀리초 소수점 6자리까지 구분한다는 의미 (MySQL은 6자리가 최대)더보기member(회원) 테이블의 경우, status와 inactive_date를 두는 것이 좋음status : 활성/비활성 ..
물리적 모델링 물리적 모델링: 실제 만들 DB에 가장 가깝게 데이터 모델을 만드는 과정 네이밍: 어떤 규칙을 정하는 것 보다 정해진 규칙을 따르는 것이 중요단수/복수 정하기대문자/띄어쓰기 정하기줄임말 정하기데이터 타입: 각 컬럼이 어떤 데이터를 저장하는지에 대한 내용 | DB의 가장 기본적인 제약사항숫자형 타입정수형타입: TINYINT(-128~127) | SMALLINT(-32768~32767) | MEDIUMINT(-8388608~8388607) | INT( -2147483648 ~ 2147483647) | BIGINT(-9223372036854775808 ~ 9223372036854775807)실수형타입: DECIMAL(M, D) | FLOAT | DOUBLE날짜 및 시간 타입DATE: YYYY-MM-DDDATE..
정규화 데이터베이스 이상현상(anomaly): DB에서 삽입, 삭제, 업데이트를 제대로 할 수 없게 되는 경우 | 데이터 모델링을 제대로 하지 않았기에 발생삽입이상) 새로운 데이터를 자연스럽게 저장할 수 없는 경우업데이트이상) 데이터 업데이트시 정확성을 지키기 어려워지는 경우삭제이상) 원하는 데이터만 자연스럽게 삭제할 수 없는 경우정규화(Normalization): 테이블을 정규형에 맞게 만들어나감 | DB에서 삽입, 삭제, 업데이트 이상을 없앨 수 있음 1NF(제1정규형): 테이블 내 모든 로우의 모든 컬럼 값들은 나눌 수 없는 단일 값이어야 함한 컬럼에 같은 종류의 값을 여러 개 저장하고 있을 때: 해당 컬럼을 하나의 테이블로 분리해 모델링한 컬럼에 서로 다른 종류의 값을 여러 개 저장하고 있을 때: 한 컬..
논리적 모델링 비즈니스 룰) 특정 조직이 운영되기 위해 따라야 하는 정책, 절차, 원칙에 대한 간단 명료하한 설명비즈니스 룰에서 개체, 속성, 관계 후보 찾기모든 명사는 개체 후보다모든 동사는 관계 후보다하나의 값으로 표현할 수 있는 명사는 속성 후보다여러 값을 갖는 속성세번째 규칙에 대한 예외 경우 => 값으로 표현할 수 있는 명사여도 속성이 아닌 개체로 만듦왜? NULL이 많이 생길 수 있음 | 컬럼 개수를 정하기가 애매 | 조회가 비효율적식별자(Identifier): DB 내의 각 엔티티를 구별하는 속성이나 속성의 조합주식별자와 보조식별자주식별자(Primary): 엔티티에서 유일하게 식별할 수 있는 가장 중요한 속성최소성 | 대표성 | 유일성 | 불변성 | 존재성보조식별자(Secondary): 주식별자 외 엔티티..